라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
ARP header (1)
ARP Header

 

ARP Header

 

 

 

ARP (Address Resolution Protocol)
논리적 주소(IP Address)를 기반으로 물리적 주소(MAC Address)를 알아오는 프로토콜.
Host는 MAC 주소가 없는 패킷을 받으면 2계층(Datalink-Layer)에서 폐기해버린다.

때문에 상대방의 MAC주소를 알아야 프레임이 만들어져서 통신을 할수 있게 된다.


ARP Request 패킷을 Broadcast 한다.

목적지에서는 자신의 MAC 주소를 채워서 Unicast로 보내는 ARP Reply를 수행한다.

 

 

Hardware Type (2Byte): 네트워크 유형, 이더넷의 경우 0x0001로 셋팅
Protocol Type (2Byte): IP 프로토콜 버전 4의 경우 0x0800
Hardware Length (1Byte): MAC 주소의 길이를 정의하며, 이더넷의 경우 6바이트 셋팅
Protocol Length (1Byte): 프로토콜의 길이를 정의하며, IPv4의 경우 4바이트 셋팅

Operation (2Byte): 패킷유형, ARP Request 는 1, ARP Reply는 2 셋팅
Sender Hardware Address (6Byte): 발신자 MAC 주소
Sender IP Address (6Byte): 발신자 IP 주소
Target Hardware Address (6Byte): 목적지 MAC 주소이나 ARP Request의 경우 알 수 없으므로 0 셋팅
Target IP Address (6Byte): 목적지 IP 주소 셋팅

 

 

ARP Cache (ARP Table)

ARP Reply를 수신하면 대상 시스템의 MAC과 IP Address를 로컬 Chche에 저장.

중복 요청을 줄여 로컬 네트워크 트래픽을 줄임. 상대시스템도 동일하게 ARP정보를 저장

 

ARP가 사용되는 경우

호스트 - 호스트 (송신자 - 수신자)

호스트 - 라우터

라우터 - 라우터

라우터 - 호스트

 

 

'Network > Network based' 카테고리의 다른 글

OS TTL vlaues  (0) 2012.08.10
ICMP Header  (0) 2012.05.11
IP Header  (0) 2012.05.11
Ethenet Hader  (0) 2012.05.11
Collision Domain & Broad Cast Domain  (0) 2012.05.10
IP 주소, 클래스 범위  (1) 2012.05.10
  Comments,     Trackbacks