Software Lab

1. ARP(Address Resolution Protocol) 본문

네트워크/2 Layer

1. ARP(Address Resolution Protocol)

아임코더 2022. 10. 25. 14:55

ARP는 LAN(Local Area Network)에 있는 다른 호스트의 MAC을 얻기 위한 목적의 프로토콜이다. 그림에서 1.1.1.10의 출발 호스트가 1.1.1.12의 목적 호스트의 MAC을 얻어 오려고 한다.

먼저 출발 호스트는 ARP Request 패킷을 구성한다. 패킷에서 2계층에는 출발 MAC과 목적 MAC 들어가야 한다. 출발 MAC은 출발 호스트의 MAC이 들어가면 된다. 그런데 목적 MAC은 아직 모르기 때문에 특별히 Broadcast 용으로 지정해 놓은 ~FF로 값이 들어간다. Body는 "특정 IP의 호스트는 너의 MAC 알려줘!"라는 의미가 들어간다. 이렇게 구성된 ARP Request 패킷은 출발하여 L2 스위치에 도착한다.

다음은 L2 스위치의 동작 원리이다.
  • 수신된 패킷의 출발 MAC과 그 Port를 Forwarding table에 등록한다.
  • 수신된 패킷의 목적 MAC을 Forwarding table에서 찾아서 해당 Port로 패킷을 송신한다. 만약 목적 MAC이 ~FF이면 수신 Port를 제외한 나머지 모든 Port로 Broadcast 한다.


L2 스위치의 동작에 따라 패킷의 출발 MAC과 수신 Port가 Forwarding table에 등록이 되고 다음으로 ARP Request 패킷은 Broadcast 되어 1.1.1.11, 1.1.1.1, 1.1.1.12 호스트가 각각 받는다. 1.1.1.12의 목적 호스트를 제외한 나머지 호스트에서는 그 ARP Request 패킷에 응답할 의무가 없으므로 패킷을 그냥 버린다. ARP Request 패킷을 받은 1.1.1.12의 목적 호스트는 ARP Response 패킷을 구성한다. 패킷에서 2계층에는 출발 MAC과 목적 MAC이 들어간다. Body는 "특정 IP의 호스트의 MAC은 OOO 입니다"라는 의미가 들어간다. 이렇게 구성된 ARP Response 패킷은 출발하여 L2 스위치에 도착한다.

 


패킷을 수신한 L2 스위치는 출발 MAC과 수신 Port를 Forwarding table에 등록된다. 다음으로 목적 MAC을 Forwarding table에서 찾아 해당 Port(예제에서는 1번)로 패킷을 송신한다. ARP Response 패킷을 받은 출발 호스트는 패킷을 검사하여 목적 호스트의 IP와 MAC을 ARP Table에 저장한다.

ARP에 대한 추가 설명이다.
  • ARP Request는 L2 스위치를 통해 LAN에서만 Broadcast 된다. 때문에 WAN에 있는 다른 호스트의 MAC은 알 수 없다.
  • ARP는 언제 동작하는가? 만약 TCP나 ICMP 같은 패킷의 구성에 필요한 목적 MAC이 ARP Table에 등록되어 있지 않다면 ARP Request를 먼저 송신하도록 운영체제가 개발된다.
  • ARP Table은 휘발성이다. 컴퓨터가 재부팅 하거나 네트워크 환경이 바뀌면 사라진다.

 

다음 명령어로 ARP table을 확인 할 수 있다.

'네트워크 > 2 Layer' 카테고리의 다른 글

3. L2 스위치 vs 공유기(Broadband Router)  (0) 2022.10.26
2. L2 스위치  (0) 2022.10.26
Comments