ARP header

2022. 4. 16. 15:52Network

○what is ARP

주소결정프로토콜[Address Resolution Protocol]이라고 불리며 같은 네트워크상에서 통신을하기 위해 필요한 MAC주소를 IP주소를 이용해서 알아오는 프로토콜이다.

즉 ip주소만 입력하더라도 컴퓨터가 자동적으로 상대방의 MAC주소를 알아올 수 있으며 같은 네트워크대역에서 가져온 MAC주소로 통신을 하게한다.

윈도우 cmd창에서 arp -a라고 입력하면 ip주소[인터넷주소]와 MAC주소[물리적주소]의 대응관계를 확인할 수 있다.

 

○ARP header

 

-Hardware type[2byte] : 네트워크 유형을 의미함. 16진수 1개가 4bit이므로 일반적인 이더넷환경에서 16진수의 이더넷프로토콜[0x0001]으로 세팅됨

-Protocol type[2byte] : 프로토콜타입을 정의하고 일반적인 16진수의 ipv4프로토콜[0x0800]으로 세팅됨[ipv6프로토콜은 거의 사용되지않기 때문에 ipv4프로토콜로 거의 고정임]

-Hardware Address Length : MAC주소의 길이를 byte단위로 나타내고 일반적인 이더넷환경에서 6byte로 세팅됨[0x06]

-Protocol Address Length : ipv4의 주소의 길이를 byte단위로 나타내고 일반적인 이더넷환경에서 4bytes로 세팅됨[0x04]

-Opcode : ARP프로토콜의 요청 응답을 나타냄. 요청은 1로 세팅을하고 응답은 2로 세팅을 함

-Source Hardware Address[6byte] : 출발지 MAC 주소

-Source Protocol Address[4byte] : 출발지 IP 주소

-Destination Hardware Address[6byte] : 목적지 MAC 주소

-Destination Protocol Address[4byte] : 목적지 IP 주소 

 

wireshark로 일부 arp프로토콜을 확인해 봤는데 info부분에서 ?로 된 부분이 요청이고 없는 것은 응답이다.

 

응답부분의 arp프로토콜을 확인해보니 상위프로토콜에 apr프로토콜이 위치하고 하위프로토콜에 ethernet프로토콜이 위치한 것을 확인할수있다. 그리고 arp크기가 28byte 인것을 확인하였다.

위에서본 각각의 arp 헤터 프로토콜을 확인할수있고 첫번째 Hardware type이 이더넷 환경에서 0001(16)로 고정된것을 확인할수있다.

2번째 protocal type이 ipv4로 되어있고 0800(16)인 것을 확인할수있다.

 지금 ?가 표시된 요청 arp프로토콜을 확인하고 있어 Opcode에서 요청값인 0001로 설정된것을 확인할수있다. 응답이라면 해당부분은 0002로 나타날 것이다.

출발지 MAC주소를 나타내도 10번 ip를 쓰는 누군가 브로드캐스트를 한 표시가 나타난다.

출발지 IP주소이고 16진수로 변경이 되어 표시가 된다.

Target MAC address는 알고싶은 상대방의 목적지 MAC주소인데 목적지 주소를 모른다면 00:00:00_:00:00:00으로 채워진다.

목적지 ip주소이고 마찬가지로 16진수로 변환되어 나타난다.

 

 

'Network' 카테고리의 다른 글

Firewall[inbound & outbound]  (0) 2022.04.19
Ethernet header  (0) 2022.04.18
Encapsulation & Decapsulation  (0) 2022.04.14
ICMP Header  (0) 2022.04.11
DNS  (0) 2022.04.08