ARP

1. ARP(Address Resolution Protocol)란?

  • IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜
  • 주소 확인 프로토콜은 MAC 주소를 IP 주소에 매핑하는 데 사용되는 계층 2 프로토콜
    1. 호스트가 LAN(Local Area Network)에서 IP 주소 10.5.5.1과 같은 다른 호스트로 패킷을 보내려고 할 때 먼저 ARP 패킷을 보냄(브로드캐스트).
    2. ARP 패킷에는 간단한 질문이 포함되어 있음
    • IP 주소 10.5.5.1에 해당하는 MAC 주소는 무엇입니까?
    1. IP 주소를 사용하도록 구성된 호스트는 MAC 주소가 포함된 ARP 패킷으로 응답
  • RARP를 통해 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 함
    • 이 매핑 절차는 IP 주소와 MAC 주소의 길이가 다르기 때문에 중요하며, 시스템이 서로를 인식할 수 있도록 변환이 필요함
    • MAC 주소는 데이터 링크 계층이라고도 하며, 물리적으로 연결된 두 장치 간의 연결을 설정하고 종료하여 데이터 전송이 이루어질 수 있도록 함
    • IP 주소는 네트워크 계층 또는 다른 라우터를 통해 데이터 패킷을 전달하는 역할을 하는 계층이라고도 함
    ⇒ ARP는 이러한 계층 사이에서 작동함

2. ARP 동작방식

동작과정

  1. 새 컴퓨터가 근거리 통신망(LAN)에 연결되면 식별 및 통신에 사용할 고유한 IP 주소를 받게 됨
  2. 데이터 패킷은 특정 호스트 시스템을 대상으로 하는 게이트웨이에 도착함
  3. 게이트웨이 또는 데이터가 한 네트워크에서 다른 네트워크로 흐르도록 하는 네트워크의 하드웨어는 ARP 프로그램에 IP 주소와 일치하는 MAC 주소를 찾도록 요청함
  4. 장치가 LAN에 연결된 다른 장치로 데이터를 보내기 위해 MAC 주소를 요청할 때마다 장치는 IP-MAC 주소 연결이 이미 완료되었는지 확인하기 위해 ARP 캐시를 확인함
  5. 캐시가 존재하는 경우 새 요청이 필요하지 않지만, 아직 변환이 수행되지 않은 경우 네트워크 주소에 대한 요청이 전송되고 ARP가 수행됨
    1. 사용자의 장치가 대상 호스트의 하드웨어 주소를 모르는 경우 장치는 이 주소를 요청하는 네트워크의 모든 호스트에 메시지를 보내고  적절한 대상 호스트가 요청을 알게 되면 하드웨어 주소로 응답한 다음 ARP 디렉토리 또는 테이블(ARP 캐시)에 저장됨

[예제]

PC1은 동일한 LAN 및 동일한 서브넷 10.1.1.0/24에 있는 PC3에 ping을 시도함

사용자가 ping 10.1.1.3 명령을 실행하면 PC1은 ICMP 요청(ping)을 네트워크를 통해 보내기 전에 이더넷 프레임에 캡슐화하기 시작함

  • PC가 프로토콜 데이터 단위(PDU)를 구성하는 방법
    • 계층 4에서
    PC1은 ICMP 에코 요청을 보내 ping이 작동한다는 것을 알고 ICMP 에코 응답을 기다림⇒ 따라서 이 계층에 필요한 모든 것을 사용할 수 있음
    • 계층 3
    PC1에서 대상 IP 주소를 알고 있으며 ping 10.1.1.3 명령에서 사용자가 명시적으로 언급하므로 대상 IP 필드에 넣음⇒ 따라서 이 계층에 필요한 모든 것을 사용할 수 있음
    • 계층 2
    PC1은 자신의 구성된 MAC 주소를 알고 소스 필드에 넣음따라서 목적지 MAC 주소는 PC1에서 사용할 수 없으며 ARP 를 사용해야 함
  • 그러나 PC1이 LAN의 어떤 최종 클라이언트에 10.1.1.3이 구성되어 있고 MAC 주소가 무엇인지 알 수 있는 방법은 없음
  • PC1은 자체적으로 구성된 IP 주소 10.1.1.1을 알고 이를 소스 필드에 넣음
  • 이에, 레이어 4의 프로토콜을 에코 요청 플래그가 설정된 ICMP로 설정

ARP 캐시?

  • ARP 캐시는 각 IP 주소 및 일치하는 MAC 주소 목록을 유지함
  • ARP 캐시는 동적이지만 네트워크의 사용자는 IP 주소와 MAC 주소가 포함 된 고정 ARP 테이블을 구성할 수도 있음
  • ARP 캐시는 IPv4 이더넷 네트워크의 모든 운영 체제에 보관됨
  • ARP 캐시 크기는 설계에 따라 제한되며 주소는 캐시에 몇 분 동안만 유지되는 경향이 있음
  • 공간을 확보하기 위해 정기적으로 제거됨
  • 이 디자인은 또한 사이버 공격자가 IP 주소를 도난당하거나 스푸핑하는 것을 방지하기 위한 개인 정보 보호 및 보안을 위한 것임
  • ARP 캐시(Windows 운영 체제에서)를 보려면 명령 프롬프트를 열고 명령 —' arp -a '(따옴표 제외)를 입력하면 되고 ARP 테이블은 아래와 같음

ARP 요청/응답 메시지

  • MAC 주소가 ARP 테이블에 없으면 소스 장치는 ARP 요청 메시지를 생성하고 요청 메시지에서 소스는 자신의 MAC 주소, IP 주소, 대상 IP 주소 및 대상 MAC 주소를 소스가 찾으려고 하므로 공백으로 남겨둠
  • ARP 응답 메시지에는 보내는 장치의 MAC 주소 가 포함되어 있고 대상 장치는 ARP 테이블을 업데이트하고 곧 소스에 연결해야 하므로 소스의 MAC 주소를 저장함 이제 소스가 이 장치의 대상(대상)이 되고 ARP 응답 메시지가 전송됨
  • 요청 메시지 예제
    • 대상 MAC 주소가 비어 있음(예 : 00:00:00:00:00:00 ).
    • 요청 메시지에는 다음과 같은 다양한 다른 필드가 포함됨
    1. 하드웨어 종류 - ARP 메시지를 전송할 때 사용하는 하드웨어의 종류를 지정함. 대부분의 하드웨어 유형은 이더넷임
    2. 프로토콜 유형 - IPv4 각 프로토콜에 번호가 할당되며 여기에서는 IPv4가 사용되었음
    3. 프로토콜 크기 - IPv4 주소의 길이(여기서는 4바이트).
    4. Opcode - ARP 메시지의 특성을 지정(ARP 요청용 1개 등)
    5. 소스 IP 주소 - 10.10.10.2
    6. 대상(대상) IP 주소 - 10.10.10.1
    7. 소스 MAC 주소 - 00:1a:6b:6c:0c:cc

  • ARP 응답 메시지 의 샘플 예입니다 .
    • 응답 메시지에는 소스에서 요청한 MAC 주소가 포함됨 (MAC 주소 00:1d:09:f0:92:ab는 ARP 응답 메시지에서 전송됨)

ARP 스푸핑?

  • ARP 스푸핑은 ARP 포이즌 라우팅 또는 ARP 캐시 포이즈닝이라고도 함
  • 이것은 사이버 범죄자가 네트워크 내의 합법적인 장치 또는 서버의 IP 주소와 MAC 주소를 연결할 의도로 가짜 ARP 메시지를 대상 LAN에 보내는 일종의 악의적인 공격임
  • 링크를 통해 피해자 컴퓨터의 데이터를 원래 대상 대신 공격자의 컴퓨터로 보낼 수 있음

⇒ ARP 스푸핑 공격은 피해자가 모르는 사이에 컴퓨터 간에 민감한 정보가 전달될 수 있으므로 위험할 수 있음

참고사항

  • MAC 주소는 고정되어 있지만 IP 주소는 지속적으로 업데이트됨
    • 사용자에게 보안과 개인정보보호를 제공하기 위해 지속적으로 변경됨
    • 제거 프로세스에서 사용되지 않는 주소는 삭제됨
    • 네트워크에 연결되지 않았거나 전원이 켜져 있지 않은 컴퓨터와의 통신 시도 실패와 관련된 모든 데이터도 마찬가지임

요약

  • ARP(Address Resolution Protocol)는 LAN: IP-to-MAC 바인딩 에서 주어진 논리적 주소( IP )의 물리적 주소( MAC)를 확인하는 메커니즘
  • ARP 요청 은 브로드캐스트 프레임일대일에 캡슐됨 ⇒ 따라서
  • 통신이며 LAN의 모든 호스트는 ARP 요청의 복사본을 받고 대상 IP의 소유자만 응답
  • ARP 응답은 유니캐스트 프레임 에 캡슐화됨⇒  따라서  요청자와 응답자 간의 일대일 통신임
  • 장치가 IP의 물리적 주소를 수신하면 **ARP 테이블(ARP 캐시)**에 항목을 생성하고 모든 후속 통신은 캐시된 항목을 사용함
  • ARP 테이블의 모든 항목은 기본적으로 일정 시간 동안 보관됩니다. 이것을 ARP Time Out이라고 함

3. 다양한 ARP

Proxy ARP

어떤 네트워크의 Proxy device가 해당 네트워크에 없는 IP 주소에 대한 ARP 요청에 응답하는 기술

즉, 네트워크 프록시가 네트워크 외부에 있는 IP 주소에 대한 ARP 쿼리에 응답할 수 있음

⇒ 이렇게 하면 패킷이 한 하위 네트워크에서 다른 하위 네트워크로 성공적으로 전송될 수 있음

Gratuitous ARP

네트워크 상의 호스트가 IP-to-MAC 주소를 안내하거나 갱신하는 방법을 수행하는 관리 절차와 같음

IP주소를 MAC주소로 변경하라는 ARP 요청을 통해 발생되지는 않음

Reverse ARP(RARP)

자신의 IP주소를 모르는 Host 기기가 이를 찾기위해 사용 가능

Inverse ARP(IARP)

ARP는 MAC주소를 찾기 위해 IP주소를 이용하지만, IARP는 IP주소를 찾기위해 MAC 주소를 활용함

라우팅 테이블

1. 라우팅 테이블?

  • IP 주소를 기반으로 라우터의 위치를 저장하는 테이블 또는 데이터베이스로서, 이 테이블은 다양한 네트워크에 대한 주소 맵 역할을 함
  • 송신지에서 수신지까지 도달하기 위해 사용되며, 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 리스트
  • 라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있음
    • (참고) 게이트웨이 : 한 네트워크(segment)에서 다른 네트워크로 이동하기 위하여 거쳐야 하는 지점으로서, 서로 다른 네트워크 상의 통신 프로토콜을 변환해주는 역할을 하기도 함
  • 라우터는 패킷을 수신하면 대상 IP 주소를 검사하고 라우팅 테이블 을 조회하여 어떤 인터페이스 패킷을 보낼지 알아냄

2. 라우팅 테이블 요소

라우팅 테이블에 있는 각 항목의 기본 구성 요소

  • 목적지 주소: 목적지 네트워크의 IP 주소
  • 서브넷 마스크/넷마스크: 대상 주소의 클래스 또는 범위로, 대상 주소를 올바른 네트워크에 매핑하는 데 사용됨
  • 게이트웨이/다음 홉: 패킷이 전달되는 다음 IP 주소
  • 인터페이스: 목적지에 연결되는 outgoing 인터페이스
  • Metric: 패킷 전송을 위해 최적의 경로가 선택되도록 각 경로에 값을 할당하며, 경우에 따라 Metric은 대상 네트워크에 도달하기 위해 건너야 하는 홉 수 또는 라우터 수가 되기도 함. 경로가 여러 개 있는 경우 일반적으로 메트릭이 가장 낮은 경로가 선택됨

라우터가 저장할 수 있는 경로 유형

  • 직접 연결된 네트워크 ID
  • 원격 네트워크 ID
  • 호스트 경로
  • 기본 경로
  • 목적지

3. 라우팅 테이블 관리

직접 연결된 네트워크는 자동으로 추가됨

정적 라우팅 사용

정적 네트워크 장치에 대한 테이블은 네트워크 관리자가 수동으로 변경하지 않는 한 변경되지 않음

동적 라우팅 사용

동적 라우팅 에서 장치 는 라우팅 프로토콜을 사용하여 주변 네트워크 토폴로지에 대한 정보를 교환함으로써 라우팅 테이블을 자동으로 구축하고 유지함

동적 라우팅 테이블을 사용하면 장치가 네트워크를 "수신"하고 장치 오류 및 네트워크 혼잡과 같은 발생에 응답할 수 있음

4. 라우팅 테이블 작동방식

라우터 는 자신의 올바른 서브넷 (서브넷 ID, 보안을 유지하기 위해 더 큰 네트워크를 더 작은 네트워크로 나누는 것을 서브넷이라고 함)을 찾기 위해 데이터 패킷에 언급된 목적지 IP 주소와 모든 서브넷 마스크를 하나씩 Bitwise AND를 수행

  • 일치하는 항목이 하나만 있는 경우 라우터는 해당 인터페이스에 데이터 패킷을 전달
  • 둘 이상의 일치가 발생하면 라우터는 가장 긴 서브넷 마스크에 해당하는 인터페이스의 데이터 패킷을 전달
  • 일치하는 항목이 없으면 라우터는 기본 항목에 해당하는 인터페이스의 데이터 패킷을 전달

예제를 통해 알아보자

[1번째 항목]

PC1이 101.25.67.0에 있는 대상의 PC3에 패킷을 보내려고 함

그러나 PC3은 PC1의 네트워크에 없으므로 PC1은 이 패킷을 라우터 A로 전달

라우터 A에 도착하면 라우터는 대상 101.25.67.0에 대한 경로에 대한 라우팅 테이블을 확인

경로가 존재하므로 패킷은 라우터 A의 인터페이스 eth3을 통해 10.0.0.2의 게이트웨이로 전달

[2번째 항목]

PC1의 사용자가 네트워크 200.0.2.0의 PC25로 패킷을 보내려고 함

라우터 A는 라우팅 테이블에서 PC25가 있는 주소에 대한 항목을 확인

기록된 항목이 없기 때문에 라우터 A는 이 패킷을 eth0 인터페이스를 통해 10.0.0.1의 기본 게이트웨이에 연결된 다른 네트워크로 전달

기본 게이트웨이 경로는 항상 모든 라우팅 테이블에 있음

라우팅 테이블에 특정 네트워크에 대한 항목이 없을 때 사용함

기본 게이트웨이는 일반적으로 다른 원격 네트워크에 연결함

예를 들어 가정 환경에서 기본 게이트웨이는 인터넷에 연결됨

[3번째 항목]

첫 번째 항목과 마찬가지로 마지막 항목에서는 대상 192.25.67.0으로 주소가 지정된 패킷이 인터페이스 eth5를 통해 10.0.0.3의 게이트웨이로 전달됨

IP 주소체계

1. 클래스 기반(IPv4)

일반적으로 IP 주소를 쓰는 표기법에는 점으로 구분된 10진수 표기법과 16진수 표기법의 두 가지 표기법이 있음

[점+10진수 표기법 주의사항]

  1. 모든 세그먼트(바이트)의 값은 0에서 255(둘 다 포함) 사이임
  2. 어떤 세그먼트에서도 값 앞에 0은 없음(054 : X , 54 : O)

32비트 IP 주소는 5개의 하위 클래스로 나뉨 (클래스 A, 클래스 B, 클래스 C, 클래스 D, 클래스 E)

이러한 각 클래스에는 유효한 IP 주소 범위가 있음

클래스 D 및 E는 각각 멀티캐스트 및 실험 목적으로 예약되어 있음

첫 번째 옥텟의 비트 순서는 IP 주소의 클래스를 결정

IPv4 주소는 두 부분으로 나뉨

  • 네트워크 ID
  • 호스트 ID

IP 주소의 클래스는 네트워크 ID 및 호스트 ID에 사용되는 비트와 해당 특정 클래스에서 가능한 총 네트워크 및 호스트 수를 결정하는 데 사용

각 ISP 또는 네트워크 관리자는 네트워크에 연결된 각 장치에 IP 주소를 할당

[참고사항]

  • IP 주소는 IANA(Internet Assigned Numbers Authority) 및 RIR(지역 인터넷 레지스트리)에서 전 세계적으로 관리
  • 모든 네트워크의 첫 번째 IP 주소는 네트워크 번호이고 마지막 IP 주소는 브로드캐스트 IP용으로 예약되어 있으므로 호스트 IP 주소의 총 수 산출 시에, 2개의 IP 주소는 계산에서 제외

클래스 A

클래스 A에 속하는 IP 주소는 호스트가 많은 네트워크에 할당됩니다.

클래스 A에 속하는 IP 주소 범위는 1.xxx – 126.xxx입니다.

클래스 B

클래스 B에 속하는 IP 주소는 중대형 네트워크에 이르는 네트워크에 할당됩니다.

클래스 B에 속하는 IP 주소 범위는 128.0.xx – 191.255.xx입니다.

클래스 C

클래스 C에 속하는 IP 주소는 소규모 네트워크에 할당됩니다.

클래스 C에 속하는 IP 주소의 범위는 192.0.0.x – 223.255.255.x입니다.

클래스 D

클래스 D에 속하는 IP 주소는 멀티캐스팅을 위해 예약되어 있습니다.

클래스 D에는 서브넷 마스크가 없습니다. 클래스 D에 속하는 IP 주소의 범위는 224.0.0.0 – 239.255.255.255입니다.

클래스 E

클래스 E에 속하는 IP 주소는 실험 및 연구 목적으로 예약되어 있습니다. 클래스 E의 IP 주소 범위는 240.0.0.0 – 255.255.255.254입니다. 이 클래스에는 서브넷 마스크가 없습니다.

특수 IP 주소 범위

  • 169.254.0.0 – 169.254.0.16 : 링크 로컬 주소
  • 127.0.0.0 – 127.0.0.8 : 루프백 주소
  • 0.0.0.0 – 0.0.0.8 : 현재 네트워크 내에서 통신하는 데 사용

호스트 ID 할당 규칙

호스트 ID는 네트워크 내에서 호스트를 식별하는 데 사용됩니다. 호스트 ID는 다음 규칙에 따라 할당

  • 모든 네트워크 내에서 호스트 ID는 해당 네트워크에 대해 고유해야 함
  • 모든 비트가 0으로 설정된 호스트 ID는 이 호스트 ID가 IP 주소의 네트워크 ID를 나타내는 데 사용되기 때문에 할당할 수 없음
  • 모든 비트가 1로 설정된 호스트 ID는 이 호스트 ID가 해당 특정 네트워크에 있는 모든 호스트에 패킷을 보내기 위한 브로드캐스트 주소로 예약되어 있기 때문에 할당할 수 없음

네트워크 ID 할당 규칙

동일한 물리적 네트워크에 있는 호스트는 동일한 물리적 네트워크에 있는 모든 호스트에 동일한 네트워크 ID가 할당되므로 네트워크 ID로 식별됨. 네트워크 ID는 다음 규칙에 따라 할당됨.

  • 127은 클래스 A 주소에 속하고 내부 루프백 기능을 위해 예약되어 있기 때문에 네트워크 ID는 127로 시작할 수 없음
  • 1로 설정된 네트워크 ID의 모든 비트는 IP 브로드캐스트 주소로 사용하기 위해 예약되어 있으므로 사용할 수 없음
  • 0으로 설정된 네트워크 ID의 모든 비트는 로컬 네트워크의 특정 호스트를 나타내는 데 사용되며 라우팅되지 않으므로 사용되지 않음

Classful 주소 지정 요약

Classful 주소 지정 문제

이 클래스 주소 지정 방법의 문제는 수백만 개의 클래스 A 주소가 낭비되고 클래스 B 주소의 많은 부분이 낭비되는 반면 클래스 C에서 사용할 수 있는 주소의 수가 너무 적어 조직의 요구를 충족할 수 없다는 것임.

클래스 D 주소는 멀티캐스트 라우팅에 사용되므로 단일 블록으로만 사용할 수 있음.

클래스 E 주소는 예약되어 있음.

⇒ 이러한 문제가 있기 때문에 Classful 네트워킹은 1993년 CIDR(Classless Inter-Domain Routing)로 대체됨

2. CIDR(Classless Inter-Domain Routing)

                        (예) **192.168.10.70/26**

CIDR?

  • 네트워크 정보를 여러개로 나누어진 Sub-Network들을 모두 나타낼 수 있는 하나의 Network로 통합해서 보여주는 방법
  • 클래스가 없다는 뜻은 네트워크 구분을 아래와 같이 Class로 하지 않는다는 것
  • 도메인간의 라우팅에 사용되는 인터넷 주소를 원래 IP주소 클래스 체계를 쓰는 것보다 더욱 능동적으로 할당하여 지정하는 방식
  • Class 체계보다 더 유연하게 IP주소를 여러 네트워크 영역으로 나눌 수 있게 됨
  • 서브네팅 뿐만아니라 서브넷을 합치는 슈퍼네팅 역시 CIDR의 일환이며, 정리하자면, 서브네팅, 슈퍼네팅 이러한 IP나누고 합치는 기법이 모두 CIDR

  • Intra-Domain과 같이 각 네트워크 대역을 구분 짓고 Inter-Domain 과 같이 구분된 네트워크간 통신을 위한 주소 체계

CIDR를 계산해보자

[예제1] 143.7.65.203/24

CIDR이 "/24" 라면 아래 그림과 같이 앞에서부터 24비트 이후에 오는 4번째 옥텟(파란색 부분)을 전부 사용할 수 있다는 표현

하나의 옥텟은 8비트로 2의8승 인 256개 이기 때문에,  143.7.65.203/24 일때 143.7.65.0 ~ 143.7.65.255 까지 사용이 가능한 것

이렇게 CIDR값이 각 자리의 옥텟을 전체를 포함하는 /8, /16, /24, /32 일 경우는 계산하기 쉬움.

0부터 그자리에 해당하는 255 까지 라고 보면되기 때문

⇒ 결국 143.7.65.203/16 이라면 143.7.0.0 ~ 143.7.255.255 가 됨

[예제2] 143.7.65.203/23

사이더 값이 23일경우 아래와 같이 노란색과 파란색 두개의 옥텟에 걸치게 되므로 바로 계산하기가 애매해 짐 이 경우 애매하게 걸친 옥텟을 2진수로 표현하고 최소 값과 최대값을 찾아 내야 함

예를들어 143.7.65.203/23 일때, 4번째 옥텟(파란색 부분) 전체와 3번째 옥텟(노란색 부분)영역의 1비트가 포함됨

그럼 애매하게 걸친 3번째 옥텟을 2진수로 표현해보면,  65로 01000001 가 됨.

사이더에 의해 마지막 자리 1비트를 0 또는 1을 사용할 수 있게 되면 01000000, 01000001 이기 때문에 64, 65가 됨.

여기서 64가 3번째 옥텟에서 사용할 수 있는 최소값이 되며 최대값은 65가 됨.

나머지 4번째 옥텟(파란색 부분)은 전체를 사용할 수 있기 때문에 최소값 0, 최대값 255가 됨.

⇒ 따라서 143.7.65.203/23 는  143.7.64.0 ~ 143.7.65.255 대역을 사용할 수 있는 것

[예제3] 143.7.65.203/22

01000000, 01000001,  01000010, 01000011 총 4개를 사용할 수 가 있을 것이며, 이를 10진수로 표현하면 최소값인 64부터, 65, 66, 최대값인 67 가 됨.

즉  143.7.65.203/22 는  143.7.64.0 ~ 143.7.67.255 임.

[예제4] 143.7.65.203/25

4번째 옥텟(파란색 부분)을 2진수로 고쳐서 표현할 수 있는 최소값 최대값을 찾아 내야 함.

십진수 203은 2진수로 11001011 입니다. 여기서 최소 값은  10000000 인 128이고, 최대값은 11111111인 255 임

⇒ 따라서 143.7.65.128 ~ 143.7.65.255 가 됨.

[예제5] 192.168.10.70/26

  • 192.168.10.70/26 에서 "/26"이 사이더 표기법임(이 숫자는 비트 단위이며 0~32 까지 표현이 가능)
  • 192.168.10.70/26 풀이법

[참고 : 서브넷 마스크와 IP 주소 간에는 &연산이 일어남]

  • 서브넷마스크의 1의 갯수가 26개
  • 네번째 옥텟의 최상위 2개의 비트가 1이고, 나머지 6비트를 호스트ID로 할당
  • 그러면 서브넷마스크는 255.255.255.192
  • 256 - 192 = 64 (특수목적 IP - 2) = 62 이므로 62개의 호스트를 가질 수 있게 된다.
  • 256 / 64 = 4이므로 4개의 서브넷 네트워크를 가진다는것도 알수 있다.
  • 그래서 사용할 수 있는 IP의 대역에 대한 정보는 다음과 같이 된다.

  • 단, 각 네트워크의 첫번째와 마지막 IP는 사용이 불가능
  • 정리하자면, 192.168.10.70/26 은 이렇게 분리된 4개의 네트워크와 각 62개의 호스트를 가진 네트워크를 사용한다는 것을 의미하며, 자신이 두번째 네트워크에 속해 있다

장점

  • 단 한줄만으로 네트워크 범위를 추측 또는 측정가능
  • /24의 숫자를 필요에따라 더 쓰거나 적게 사용하여 IP를 적절하게 할당할 수 있음 : 서브넷팅(더 적게 쓰기) 와 슈퍼넷팅 (더 많이 쓰기)
    • 서브넷 마스크를 호스트ID 방향(오른쪽)으로 움직이면(값 증가) 서브네팅이고 네트워크 방향(왼쪽)으로 움직이면(값 감소) 슈퍼네팅임
    • 만일 서브네팅을 추가적으로 더 해야 되면 /24를 증가시켜 /25로 표기해 제공 해주면 되고, 반대로 슈퍼네팅을 해야된다면 /24를 감소시켜 /23으로 표기해 제공해주면 됨
  • 이진 배수를 통해 효율적으로 주소 공간 할당 가능
  • 클래스 불균형 제거를 통해, 주소 공간의 일부를 널리 사용할 수 있음

단점

  • 클래스를 기반으로 하는 이전 시스템의 주요 이점은 단순성이었음(첫 번째 옥텟을 보고 IP 주소의 몇 비트가 네트워크 ID를 나타내고 호스트 ID가 몇 비트인지 결정할 수 있었음)
  • CIDR의 주요 단점은 복잡성임

3. DHCP

DHCP(Dynamic Host Configuration Protocol)?

네트워크의 각 호스트가 효율적으로 통신할 수 있도록 IP 주소 및 기타 정보를 동적으로 할당하는 데 사용되는 네트워크 관리 프로토콜

DHCP는 네트워크 관리자의 작업을 용이하게 하는 IP 주소 할당을 자동화하고 중앙에서 관리

인터넷 프로토콜(IP) 호스트에 해당 IP 주소와 서브넷 마스크 및 기본 게이트웨이와 같은 기타 관련 구성 정보를 자동으로 제공하는 클라이언트/서버 프로토콜

DHCP는 IP 주소 외에도 서브넷 마스크, 기본 게이트웨이 및 DNS(Domain Name Server) 주소 및 기타 구성을 호스트에 할당하여 네트워크 관리자의 작업을 보다 쉽게 만들어 줌

DNS, NTP와 같은 네트워크 서비스 외에도, UDP 또는 TCP 기반의 모든 통신 프로토콜을 사용할 수 있음

DHCP 서버는 다른 IP 네트워크와 통신할 수 있도록 네트워크의 각 장치에 IP 주소 및 기타 네트워크 구성 매개변수를 동적으로 할당함

DHCP는 BOOTP라고 하는 이전 프로토콜의 향상된 기능임

DHCP 왜 쓰는데?

  1. 운영 작업 감소
  • 네트워크 관리자는 더 이상 네트워크를 사용하기 전에 각 클라이언트를 수동으로 구성할 필요가 없음
  • 중복되거나 잘못된 IP 할당이 없으므로 IP 주소 충돌이 없음
  • TCP/IP 기반 네트워크의 모든 장치에는 네트워크와 해당 리소스에 액세스할 수 있는 고유한 유니캐스트 IP 주소가 있어야 함
  • DHCP가 없으면 한 서브넷에서 다른 서브넷으로 이동하는 새 컴퓨터 또는 컴퓨터의 IP 주소를 수동으로 구성해야 함
  • 네트워크에서 제거된 컴퓨터의 IP 주소는 수동으로 회수해야 함 DHCP를 사용하면 이 전체 프로세스가 중앙에서 자동화되고 관리됨
  1. IP 주소 지정 계획이 최적화됨.
  • 더 이상 사용되지 않는 주소가 해제되고 연결하는 새 클라이언트에서 사용 가능
  • IP 주소는 고정(영구 할당)이 아닌 동적(임대)이므로 더 이상 사용하지 않는 주소는 재할당을 위해 자동으로 풀로 반환됨
  1. 사용자 이동성을 쉽게 관리할 수 있음
  • 관리자는 네트워크 액세스 포인트가 변경될 때 클라이언트를 수동으로 재구성할 필요가 없음
  • 무선 네트워크의 다른 위치로 이동하는 휴대용 장치와 같이 자주
  • 업데이트해야 하는 클라이언트의 IP 주소 변경을 효율적으로 처리

DHCP의 구성 요소

  1. DHCP 서버
  2. 일반적으로 네트워크 구성 정보를 보유하는 서버 또는 라우터
  3. DHCP 클라이언트
  4. 다른 컴퓨터나 모바일과 마찬가지로 서버에서 구성 정보를 가져오는 끝점
  5. DHCP 릴레이 에이전트(DHCP 패킷이 라우터를 통해 이동할 수 없기 때문에, DHCP 서버가 모든 네트워크의 요청을 처리할 수 있도록 릴레이 에이전트가 필요)
  6. 여러 LAN에 대해 하나의 DHCP 서버만 있는 경우 모든 네트워크에 있는 DHCP 릴레이 에이전트가 DHCP 요청을 서버로 전달
  7. IP 주소 풀
  8. 클라이언트에 할당할 수 있는 IP 주소 목록을 포함
  9. 서브넷 마스크
  10. 현재 존재하는 네트워크를 호스트에게 알려줌
  11. 임대 시간
  12. 클라이언트가 IP 주소를 사용할 수 있는 시간임.  이 시간이 지나면 클라이언트는 IP 주소를 갱신해야 함.
  13. 게이트웨이 주소
  14. 게이트웨이 주소는 호스트가 게이트웨이가 인터넷에 연결할 위치를 알려줌.

DHCP는 어떻게 동작할까?

  • 기본 흐름
    • (요약) 응용 프로그램 계층에서 작동하여 IP 주소를 클라이언트에 동적으로 할당하며 이는 DHCP 트랜잭션 또는 DHCP 대화라고 하는 일련의 메시지 교환을 통해 발생
    • DHCP 서버가 관리자의 정책에 따라 구성 데이터를 요청하는 클라이언트에 전달
    • 요청된 공통 네트워크 매개변수( " DHCP 옵션 " )에는 서브넷 마스크, 라우터, 도메인 이름 서버, 호스트 이름 및 도메인 이름이 포함됨
    • 요청하는 클라이언트는 네트워크에 가입할 때 IP 주소가 없으므로 요청을 브로드캐스트함
    ⇒ 따라서 프로토콜은 IP 통신의 초기 단계에서 사용됨
    • 이러한 동적 프로토콜이 IP 주소를 가져오는 데 사용되지 않는 경우 클라이언트는 일반적으로 "고정 IP 주소"라고 하는 미리 정의된 IP 주소를 사용해야 함.
    • 이 주소는 구성 파일 또는 특정 명령으로 클라이언트 네트워크 인터페이스에서 수동으로 구성됩니다.

DHCP 동작 예제

  • DHCP 검색 DHCP 클라이언트는 DHCP 서버를 검색하기 위해 메시지를 브로드캐스트함 클라이언트 컴퓨터는 기본 브로드캐스트 목적지(255.255.255.255) 또는 설정된 특수 서브넷 브로드캐스트 주소와 함께 패킷을 보냄
    • 255.255.255.255 : “현재 네트워크” 로서, 이 주소를 사용하면 연결된 네트워크에 브로드캐스트 패킷을 보낼 수 있음.

  • DHCP Offer:
  • DHCP 서버가 DHCP Discover 메시지를 수신하면 클라이언트에게 DHCP 제안 메시지를 전송하여 클라이언트에게 IP 주소(IP 주소 풀 형식)를 제안함 이 DHCP 제안 메시지에는 DHCP 클라이언트에 대해 제안된 IP 주소, 서버의 IP 주소, 클라이언트의 MAC 주소, 서브넷 마스크, 기본 게이트웨이, DNS 주소 및 임대 정보가 포함됨

  1. DHCP 클라이언트에 대해 제안된 IP 주소 : 192.168.1.11
  2. 네트워크를 식별하기 위한 서브넷 마스크 : 255.255.255.0
  3. 서브넷의 기본 게이트웨이 IP : 192.168.1.1
  4. 이름 번역을 위한 DNS 서버의 IP : 8.8.8.8
  • DHCP 요청그러나 클라이언트는 하나의 DHCP 제안만 수락나머지 DHCP 서버에서 제공되는 다른 모든 IP 주소는 철회되고 사용 가능한 IP 주소 풀로 반환됨
  • 제안에 대한 응답으로 클라이언트는 DHCP 서버 중 하나에서 제안된 주소를 요청하는 DHCP 요청을 보냄
  • 대부분의 경우 클라이언트는 네트워크에 많은 DHCP 서버가 있기 때문에(결함에 대한 용인을 제공하므로), 한 서버의 IP 주소 지정이 실패하면 다른 서버가 백업을 제공할 수 있음

  • DHCP Acknowledgement서버는 클라이언트가 요청할 수 있는 다른 설정을 보낼 수도 있음
  • 이 단계에서 IP 구성이 완료되고 클라이언트는 새 IP 설정을 사용할 수 있음
  • 그런 다음 서버는 클라이언트에 대한 DHCP 임대를 확인하는 Acknowledgement를 클라이언트에 보냄

DHCP는 장점만 있나? 단점은 뭐지?

  1. 보안 위험성 DHCP 서버에는 클라이언트 인증을 위한 보안 메커니즘이 없으므로 모든 새 클라이언트가 네트워크에 참여할 수 있음 ⇒ 이는 승인되지 않은 클라이언트에 IP 주소가 부여되고 승인되지 않은 클라이언트로부터 IP 주소가 고갈되는 것과 같은 보안 위험이 있음
  2. 실패의 Single Point가 될 수 있음 네트워크에 DHCP 서버가 하나만 있는 경우 DHCP 서버는 실패의 Single Point가 될 수 있음

4. NAT(Network Address Translation)

  • NAT는 네트워크 주소 변환 을 나타냄
  • NAT의 개념은 여러 장치가 단일 공용 주소를 통해 인터넷에 액세스할 수 있도록 하는 것임
  • 이를 위해서는 사설 IP 주소를 공인 IP 주소로 변환해야 함 ⇒ 주어진 개인 IP 주소 세트를 게이트웨이 장치에 연결된 단일 공용 IP 주소로 변환함
  • 로컬 호스트에 인터넷 액세스를 제공하기 위해 하나 이상의 로컬 IP 주소를 하나 이상의 글로벌 IP 주소로 또는 그 반대로 변환하는 프로세스임즉, 대상으로 라우팅될 패킷에서 호스트의 포트 번호를 다른 포트 번호로 마스킹하고 NAT 테이블에 해당하는 IP 주소 및 포트 번호 항목을 만듦.
  • 또한 포트 번호 변환을 수행함
  • NAT는 일반적으로 라우터 또는 방화벽에서 작동
  • 일반적으로 경계 라우터가 NAT용으로 구성됨패킷이 로컬(내부) 네트워크 외부를 통과하면 NAT는 해당 로컬(개인) IP 주소를 글로벌(공용) IP 주소로 변환하고 패킷이 로컬 네트워크에 들어오면 글로벌(공용) IP 주소가 로컬(사설) IP 주소로 변환됨
  • NAT에 주소가 부족한 경우, 즉 구성된 풀에 주소가 남아 있지 않으면 패킷이 삭제되고 ICMP(Internet Control Message Protocol) 호스트에 연결할 수 없는 패킷이 대상으로 전송됨
  • 즉, 로컬(내부) 네트워크에 하나의 인터페이스가 있고 글로벌(외부) 네트워크에 하나의 인터페이스가 있는 라우터.
  • 예를 들어, 조직의 홈 모뎀 또는 방화벽 장치임그러나 문제는 사설 IP 주소를 가진 장치가 있는 사설 네트워크가 있을 때 대상 서버가 사설 IP 범위로 응답을 라우팅할 수 없기 때문에 트래픽을 공용 인터넷으로 라우팅할 수 없다는 것또한, 사설 네트워크를 외부 네트워크로부터 안전하게 보호할 수 있음
  • ⇒ 여기에서 NAT이 이용됨.  공용 주소로 ISP에 연결된 가정이나 조직의 게이트웨이 장치가 Nating을 수행함. AWS, Azure 또는 Google 클라우드와 같은 클라우드 플랫폼의 경우 NAT 게이트웨이는 프라이빗 서브넷의 서버가 외부 세계와 통신할 수 있도록 퍼블릭 서브넷에 배포됨
  • IPV4 고갈 문제를 해결하기 위해 사설 IP 범위가 도입되었으며 조직은 수만 대의 컴퓨터와 서버에 대해 사설 IP 범위를 사용할 수 있었음

NAT는 어떻게 작동할까?

예제를 통해 알아보자

다음은 NAT 장치(라우터)를 통해 전달되는 요청의 상위 수준 아키텍처임

1단계 사설 네트워크에 있는 컴퓨터가 공용 웹사이트에 액세스를 시도함.  이 예에서는 google.com으로 가정

2단계 요청 패킷이 먼저 라우터에 도달함.  라우터에는 public IP 주소가 있음.  아래 이미지와 같이 public address를 요청 IP 패킷 헤더에 소스 IP 주소로 추가하고 요청을 전달함.  (이 과정을 "masquerading"이라 부르기도 함)

3단계 요청이 서버(google.com)에 도달하고 소스를 서버 IP로 변경하고 대상을 라우터 공용 IP로 변경하여 웹페이지를 응답으로 보냄

4단계

응답이 라우터에 도달하면 대상 주소를 요청된 컴퓨터의 사설 IP 주소로 수정

라우터는 **NAT 테이블(**NAT 지원 장치에서 관리하는 고유한 테이블)을 통해 요청을 추적함

라우터는 NAT 테이블 정보를 사용하여 요청이 시작된 장치와 응답을 다시 보내야 하는 장치를 알고 있음

NAT은 뭐가 좋지?

NAT는 IPV4 고갈과 관련된 문제를 해결

RFC1918 (사설 IP 범위)은 NAT로 인해 가능

RFC1918 서브넷의 범위는 다음과 같음.

  1. 10.0.0.0/8
  2. 172.16.0.0/16(172.16/12 접두사)
  3. 192.168.0.0/16

NAT FAQ

  • NAT는 MAC 주소를 매핑합니까?
  • 아니오. NAT는 패킷을 처리하는 네트워크 계층(계층 3)에서 작동합니다. MAC 주소는 데이터 링크 계층에 속합니다.
  • 공용 IP 및 인터넷 연결이 있는 서버에 NAT가 필요합니까?
  • 아니오. NAT는 사설 IP 범위가 있는 장치가 인터넷에 연결할 수 있도록 설계되었습니다.
  • 포트 번호를 마스킹하는 이유는 무엇입니까?
  • 네트워크에서 두 호스트 A와 B가 연결되어 있다고 가정합니다. 이제 둘 다 호스트 측에서 동일한 포트 번호(예: 1000)에서 동일한 대상을 동시에 요청합니다. NAT가 IP 주소만 변환하는 경우 패킷이 NAT에 도착하면 두 IP 주소가 모두 네트워크의 공용 IP 주소로 마스킹되어 대상으로 전송됩니다. 대상은 라우터의 공용 IP 주소로 응답을 보냅니다. 따라서 응답을 수신하면 어떤 응답이 어느 호스트에 속하는지 NAT에 명확하지 않습니다(A와 B의 소스 포트 번호가 동일하기 때문). 따라서 이러한 문제를 피하기 위해 NAT는 소스 포트 번호도 마스킹하고 NAT 테이블에 항목을 만듭니다.

NAT Types(3종류)

  1. Static NAT

로컬주소가 공용 주소로 변환될 때, NAT은 같은 것을 선택함.

이것은, NAT 장치나 라우터에 연관된 일관성있는 공용 IP가 있다는 것을 뜻함.

  1. Dynamic NAT

매번 같은 IP 주소를 선택하는 것 대신에, 이 NAT은 공용 주소 풀을 지남.

이것은 라우터가 로컬 주소를 공용 주소로 변환할 때마다 라우터나 NAT 장치가 다른 주소를 얻는 결과를 낳음.

  1. PAT

PAT은 port 주소 변환을 위해 있음.

dynamic NAT의 종류이지만, 몇 가지 로컬 IP 주소들을 하나의 공용 주소로 묶음

모든 직원들의 활동이 하나의 IP를 사용하길 원하는 조직들은 때때로 네트워크 관리의 감시 아래 PAT을 사용함

 

IPv4 vs. IPv6

  • 오늘날 시스템에 널리 구현되는 IP 프로토콜에는 IPv4와 IPv6의 두 가지 버전이 있음
  • Pv6은 프로토콜의 개선과 IPv4 주소 공간의 제한으로 인해 천천히 IPv4를 대체하고 있음  ⇒ 간단히 말해서, 현재 세계에는 IPv4를 통해 사용할 수 있는 주소의 양에 비해 너무 많은 인터넷 연결 장치가 있음
  • IPv4 주소는 32비트 주소입니다. 주소의 각 바이트 또는 8비트 세그먼트는 마침표로 나뉘며 일반적으로 숫자 0-255로 표시됨
  • 이러한 숫자는 일반적으로 인간의 이해를 돕기 위해 10진수로 표시되지만, 각 세그먼트는 일반적으로 8비트의 표현이라는 사실을 표현하기 위해 옥텟 (octet)이라고 함

IPv4 형태?

  • 일반적인 IPv4 주소는 다음과 같음
192.168.0.5
  • 각 옥텟에서 가장 낮은 값은 0이고 가장 높은 값은 255임
  • 이것을 이진법으로 표현하여 4개의 옥텟이 어떻게 보일지 더 잘 알 수 있음. 가독성을 위해 각 4비트를 공백으로 구분하고 점을 대시로 대체함.
1100 0000 - 1010 1000 - 0000 0000 - 0000 0101

⇒ 이 두 형식이 동일한 숫자를 나타낸다는 것을 인식하는 것은 나중에 개념을 이해하는 데 중요

IPv6 형태?

  • IPv4 및 IPv6의 프로토콜 및 백그라운드 기능에는 몇 가지 다른 차이점이 있지만 가장 눈에 띄는 차이점은 주소 공간임.
  • IPv6은 주소를 128비트 숫자로 표현함.⇒ 이 확장된 주소 범위를 표현하기 위해 IPv6은 일반적으로 4자리 16진수의 8개 세그먼트로 작성됨
  • 16진수는 숫자 0-9를 사용하여 숫자 0-15를 나타내고 더 높은 값을 나타내는 숫자 a-f를 사용함
  • ⇒ 이를 고려하면 IPv6에는 IPv4 주소 양의 28 배에 해당하는 7.9×10 이상의 공간이 있음.
  • 일반적인 IPv6 주소는 다음과 같음
1203:8fe0:fe80:b897:8990:8a7c:99bf:323d
  • 압축 형식으로 작성된 이러한 주소를 볼 수도 있음
  • IPv6 규칙을 사용하면 각 옥텟에서 선행 0을 제거하고 0으로 채워진 단일 그룹 범위를 이중 콜론(::)으로 바꿀 수 있음

IPv4의 특징

  • 비연결 프로토콜
  • 다양한 장치에 간단한 가상 통신 계층 생성 허용
  • 메모리가 덜 필요하고 주소를 기억하기 쉬움
  • 수백만 개의 장치에서 이미 지원되는 프로토콜
  • 비디오 라이브러리 및 회의 제공

IPv6의 특징

  • 계층적 주소 지정 및 라우팅 인프라
  • 상태 저장 및 상태 비저장 구성
  • 서비스 품질(QoS) 지원
  • 인접 노드 상호 작용을 위한 이상적인 프로토콜

IPv4와 IPv6의 주요 차이점

  • IPv4는 32비트 IP 주소이고 IPv6은 128비트 IP 주소
  • IPv4는 숫자 주소 지정 방법인 반면 IPv6은 영숫자 주소 지정 방법
  • IPv4 바이너리 비트는 점(.)으로 구분되는 반면 IPv6 바이너리 비트는 콜론(:)으로 구분
  • IPv4는 12개의 헤더 필드를 제공하는 반면 IPv6은 8개의 헤더 필드를 제공
  • IPv4는 브로드캐스트를 지원하지만 IPv6은 브로드캐스트를 지원하지 않음
  • IPv4에는 체크섬 필드가 있지만 IPv6에는 체크섬 필드가 없음
  • IPv4와 IPv6을 비교할 때 IPv4는 VLSM(Variable Length Subnet Mask)을 지원하지만 IPv6은 VLSM을 지원하지 않음
  • IPv4는 ARP(Address Resolution Protocol)를 사용하여 MAC 주소에 매핑하는 반면 IPv6은 NDP(Neighbour Discovery Protocol)를 사용하여 MAC 주소에 매핑

IPv4 주소와 IPv6 주소의 차이점 요약

차이점의 근거  IPv4 IPv6
IP 주소의 크기 IPv4는 32비트 IP 주소입니다. IPv6은 128비트 IP 주소입니다.
주소 지정 방법 IPv4는 숫자 주소이며 이진 비트는 점(.) IPv6은 이진 비트가 콜론(:)으로 구분되는 영숫자 주소입니다. 16진수도 포함합니다.
헤더 필드 수 12 8
헤더 파일의 길이 20 40
체크섬 체크섬 필드가 있음 체크섬 필드가 없습니다.
예시 12.244.233.165 2001:0db8:0000:0000:0000:ff00:0042:7879
주소 유형 유니캐스트, 브로드캐스트 및 멀티캐스트. 유니캐스트, 멀티캐스트 및 애니캐스트.
Class 수 IPv4는 5가지 클래스의 IP 주소를 제공 합니다. 클래스 A에서 E. lPv6은 무제한의 IP 주소를 저장할 수 있습니다.
구성 새로 설치된 시스템이 다른 시스템과 통신하려면 먼저 구성해야 합니다. IPv6에서 구성은 필요한 기능에 따라 선택 사항입니다.
VLSM 지원 IPv4는 VLSM(가변 길이 서브넷 마스크)을 지원합니다. IPv6은 VLSM을 지원하지 않습니다.
분열 단편화는 경로를 보내고 전달하여 수행됩니다. 조각화는 발신자가 수행합니다.
라우팅 정보 프로토콜(RIP) RIP는 routed 데몬에서 지원하는 라우팅 프로토콜입니다. RIP는 IPv6을 지원하지 않습니다. 정적 경로를 사용합니다.
네트워크 구성 네트워크는 수동으로 구성하거나 DHCP를 사용하여 구성해야 합니다. IPv4에는 더 많은 유지 관리 노력이 필요한 인터넷 성장을 처리하기 위한 여러 오버레이가 있습니다. IPv6은 자동 구성 기능을 지원합니다.
최고의 기능 단일 NAT 주소를 허용하는 NAT(네트워크 주소 변환) 장치를 광범위하게 사용하면라우팅할 수 없는 수천 개의 주소를 마스킹하여 종단 간무결성을 달성할 수 있습니다. 방대한 주소 공간 으로 인해 직접 주소 지정이 가능 합니다.
주소 마스크 호스트 부분에서 지정된 네트워크에 사용합니다. 사용되지 않습니다.
SNMP SNMP는 시스템 관리에 사용되는 프로토콜입니다. SNMP는 IPv6을 지원하지 않습니다.
이동성 및 상호 운용성 이동이 제한되는 상대적으로 제한된 네트워크 토폴로지는 이동성과 상호 운용성 기능을 제한합니다. IPv6은네트워크 장치에 내장된 상호 운용성 및 이동성 기능을 제공합니다.
보안 보안은 애플리케이션에 따라 다릅니다. IPv4는 보안을 염두에 두고 설계되지 않았습니다. IPSec(Internet Protocol Security)은 IPv6 프로토콜에 내장되어적절한 키 인프라와 함께 사용할 수 있습니다.
패킷 크기 패킷 크기 576바이트 필요, 조각화 선택 사항 조각화 없이 1208바이트 필요
패킷 단편화 라우터 및 전송 호스트에서 허용 호스트만 보내기
패킷 헤더 체크섬 옵션을 포함하는 QoS 처리를 위한 패킷 흐름을 식별하지 않습니다. 패킷 헤드에는 QoS 처리를 위한 패킷 흐름을 지정하는 흐름 레이블 필드가 포함됩니다.
DNS 레코드 주소(A) 레코드, 호스트 이름 매핑 주소(AAAA) 레코드, 호스트 이름 매핑
주소 구성 수동 또는 DHCP를 통해 ICMPv6(Internet Control Message Protocol 버전 ​​6) 또는 DHCPv6을 사용한 상태 비저장 주소 자동 구성
IP 대 MAC 해상도 브로드캐스트 ARP 멀티캐스트 이웃 요청
로컬 서브넷 그룹 관리 인터넷 그룹 관리 프로토콜 GMP) 멀티캐스트 수신기 검색(MLD)
선택 필드 선택적 필드가 있음 선택적 필드가 없습니다. 그러나 확장 헤더를 사용할 수 있습니다.
IPSec 네트워크 보안과 관련된 IPSec(인터넷 프로토콜 보안)은 선택 사항입니다. IPSec(Internet Protocol Security) 네트워크 보안 관련 필수
동적 호스트 구성 서버 클라이언트는 네트워크에 연결하려고 할 때마다 DHCS(동적 호스트 구성 서버)에 접근합니다. 클라이언트는 영구 주소가 제공되므로 이러한 서버에 접근할 필요가 없습니다.
매핑 ARP(Address Resolution Protocol)를 사용하여 MAC 주소에 매핑 NDP(Neighbour Discovery Protocol)를 사용하여 MAC 주소에 매핑
모바일 장치와의 호환성 IPv4 주소는 점-10진수 표기법을 사용합니다. 그렇기 때문에 모바일 네트워크에는 적합하지 않습니다. IPv6 주소는 콜론으로 구분된 16진수로 표시됩니다. IPv6은 모바일 네트워크에 더 적합합니다 .

듀얼 IP?

  • IPv4와 IPv6은 서로 통신할 수 없지만 동일한 네트워크에 함께 존재할 수 있고 이것을 듀얼 스택이라 함
  • Dual-IP 스택을 사용하면 컴퓨터, 라우터, 스위치 및 기타 장치가 두 프로토콜을 모두 실행하지만 IPv6이 기본 프로토콜임

IPv6는 어떤 점이 좋을까?

  • 더 이상 NAT(네트워크 주소 변환)는 필요하지 않음
  • 자동 구성
  • 더 이상 개인 주소 충돌이 없음
  • 더 나은 멀티캐스트 라우팅
  • 더 간단한 헤더 형식
  • 간소화되고 더 효율적인 라우팅
  • "흐름 레이블 지정"이라고도 하는 진정한 서비스 품질(QoS)
  • 내장된 인증 및 개인 정보 보호 지원
  • 유연한 옵션 및 확장
  • 더 쉬운 관리(더 이상 DHCP 필요 없음)
  • 더 많은 주소를 지원
    • IPv4는 인터넷 주소로 32비트 주소를 사용.⇒ 많은 것처럼 보일 수 있지만 현재 42억 9천만 개의 IP 주소가 모두 할당되어 오늘날 우리가 직면한 주소 부족 문제로 이어짐⇒ IPv6 주소의 수는 IPv4 주소의 수보다 1028배 더 많기 때문에, 인터넷 장치가 매우 오랫동안 확장될 수 있도록 충분한 IPv6 주소가 있음.
    • ⇒ IPv6은 128비트 인터넷 주소를 사용하기 때문에, 2^128개의 인터넷 주소(정확히 340,282,366,920,938,463,463,374,607,431,768,211,456)를 지원 가능
    • ⇒ 즉, 총 2^32개의 IP 주소(약 42억 9천만 개)를 지원

 

 

부탁드리는 사항

혹시 잘못된 내용이나, 인용/차용 등에 있어 문제의 소지가 되는 내용이 있다면 언제든 알려주시면 큰 도움이 될 것 같습니다!

긴 글 읽어주셔서 감사합니다 :)

 

 

 

출처
정의들 (책) 면접을 위한 CS 전공지식 노트
ARP란? & ARP 작동방식
https://www.fortinet.com/resources/cyberglossary/what-is-arp https://www.techtarget.com/searchnetworking/definition/Address-Resolution-Protocol-ARP https://www.ibm.com/docs/en/zos-basic-skills?topic=layer-address-resolution-protocol-arp https://www.networkacademy.io/ccna/ethernet/what-is-arp
https://www.geeksforgeeks.org/how-address-resolution-protocol-arp-works/ https://www.juniper.net/documentation/en_US/junose15.1/topics/concept/ip-arp-understanding.html https://afteracademy.com/blog/what-is-arp-and-how-does-it-work
라우팅테이블 요소
https://www.geeksforgeeks.org/routing-tables-in-computer-network/
https://ipwithease.com/ip-routing-table-and-its-components/
https://www.baeldung.com/cs/routing-table-entry
라우팅테이블 작동방식
https://www.grandmetric.com/2018/01/20/how-does-routing-table-work/
https://www.routerfreak.com/what-is-ip-routing-how-does-it-work/
라우팅테이블과 홉바이홉
https://www.techopedia.com/definition/2447/next-hop
라우팅테이블과 게이트웨이
https://docs.freebsd.org/doc/6.0-RELEASE/usr/share/doc/handbook/network-routing.html
IP주소체계-클래스기반
https://www.geeksforgeeks.org/introduction-of-classful-ip-addressing/
https://docs.oracle.com/cd/E19504-01/802-5753/planning3-78185/index.html https://www.meridianoutpost.com/resources/articles/IP-classes.php
https://study-ccna.com/classes-of-ip-addresses/ https://www.tutorialspoint.com/ipv4/ipv4_address_classes.htm
클래스기반 IP주소의 단점/한계
https://service.snom.com/display/wiki/Limitations+of+class-based+IP+addressing https://public.support.unisys.com/framework/publicterms.aspx?returnurl=%2Faseries%2Fdocs%2FClearPath-MCP-20.0%2F37877693-226%2Fsection-000021665.html
CIDER
https://www.digitalocean.com/community/tutorials/understanding-ip-addresses-subnets-and-cidr-notation-for-networking
https://kim-dragon.tistory.com/9 https://inpa.tistory.com/entry/WEB-🌐-CIDR-이-무얼-말하는거야-⇛-개념-정리-계산법
https://www.geeksforgeeks.org/cidr-full-form/
DHCP
https://www.efficientip.com/what-is-dhcp-and-why-is-it-important/
https://learn.microsoft.com/en-us/windows-server/networking/technologies/dhcp/dhcp-top https://afteracademy.com/blog/what-is-dhcp-and-how-does-it-work
NAT
https://www.comptia.org/content/guides/what-is-network-address-translation https://www.geeksforgeeks.org/network-address-translation-nat/
https://devopscube.com/what-is-nat-how-does-nat-work/
IP주소와 위치추적
https://www.iplocation.net/
IPv4의 단점
https://www.hitechwhizz.com/2020/08/6-advantages-and-disadvantages-drawbacks-benefits-of-ipv4.html
IPv4 vs. IPv6
https://www.geeksforgeeks.org/differences-between-ipv4-and-ipv6/ https://www.thousandeyes.com/learning/techtorials/ipv4-vs-ipv6 https://www.guru99.com/difference-ipv4-vs-ipv6.html

 

'Network' 카테고리의 다른 글

Network기기-스위치와 라우터(L2, L3 중심)  (6) 2022.11.05

+ Recent posts