네트워크 엔지니어 & 개발자 로엘이

ARP와 ICMP

2021. 8. 13. 16:37

ARP(Adress Resolution Protocol)

ARP는 Adress Resolution Protocol의 약자로 IP 주소를 통해 MAC 주소를 알아내기 위한 프로토콜이다.

LAN(Local Area Network) 통신을 위해서 사용자는 IP주소를 사용하지만, 장비에서 처리하기 위해서는 IP주소와 함께 MAC 주소를 사용한다. 이를 다르게 표현하면 동일한 IP 대역을 공유하는 LAN에서 장비와 장비가 통신하기 위해서는 MAC 주소를 이용해 목적지를 찾는 것이다.

ARP를 사용하는 이유는 목적지 IP의 장비가 소유한 MAC 주소를 알아내어 해당 장비로 전송하기 위함이다.

 

ARP Header

Hardware Type : 네트워크 유형을 정의하며, Ethernet 환경의 경우 0x0001 세팅

Protocol Type : 프로토콜을 정의하며, IPv4의 경우 0x0800 세팅

Hardware Length : MAC 주소의 길이를 정의하며, Ethernet 환경의 경우 0x06 세팅

Protocol Length : 프로토콜의 길이를 정의하며, IPv4 의 경우 0x04 세팅

Opcode  : 패킷의 유형으로, ARP 요청(ARP Request) 1, ARP 응답 (ARP Reply) 2 세팅

Sender Hardware Address : 발신자의 MAC 주소 세팅

Sender Protocol Address : 발신자 IP 주소 세팅

Target Hardware Address : 목적지 MAC 주소, 그러나 ARP Request의 경우 알 수 없으므로 브로드케스트 세팅

Target Protocol Address : 목적지 IP 주소 세팅

 

ARP Cache

ARP로 MAC 주소를 알아내는 과정에서 브로드캐스트를 전송한다, 브로드캐스트는 LAN의 전체 장비에 전송하여 많이 사용하면 장비의 과부하와 성능 저하를 일으킬수 있기 때문에 ARP 응답을 수신하면 IP 주소와 MAC 주소를 캐시에 저장한다. 장비에서 다음 전송을 수행할 때 캐시를 검사하여 ARP를 전송하지 않고 즉시 응답할 수 있게 된다.

 

Static ARP Table

특정 IP 주소에 대해서는 ARP를 묻지 않고 바로 전송할 수 있도록 IP 주소와 MAC 주소를 수동으로 등록할 수 있다.

 

ICMP(Internet Control Message Protocol)

IP 프로토콜이 동작하는 과정에서 다양한 메시지를 전송하는데 사용되는 프로토콜이다. ICMP는 메시지 전송을 위한 별도의 헤더 구조를 가진다.

 

ICMP Utility

ICMP 메시지를 전송하여 목적지 장비에 도달할 수 있는지를 테스트 할 수 있으며, Windows에서 제공하는 대표적인 명령으로 ping과 tracert가 있다.

 

728x90
반응형
250x250

공유하기

facebook twitter kakaoTalk kakaostory naver band