지기(ZIGI) 2024. 3. 6. 21:39

Today Keys : IP주소, MAC주소, ARP, 프로토콜, address, resolution, protocol, Gratuitous

본 포스팅은 'IT 엔지니어를 위한 네트워크 입문' [길벗] 서적에 포함된 '3. 네트워크 통신하기'의 내용  3.5.3장의 내용입니다.


GARP  

일반적인 ARP 외에도 ARP 프로토콜 필드를 그대로 사용하지만 내용을 변경해 원래 ARP 프로토콜의 목적과 다른 용도로 사용하는 GARP, RARP와 같은 프로토콜이 있습니다.

 GARP와 RARP 가 대표적인 예로 Gratuitous ARP의 약자인 GARP는 대상자 IP 필드에 자신의 IP 주소를 채워 ARP 요청을 보냅니다.

 ARP가 상대방의 MAC 주소를 알아내기 위해 사용되는 반면, GARP는 자신의 IP와 MAC 주소를 알릴 목적으로 사용됩니다.

 GARP는 로컬 네트워크에 자신의 IP와 MAC 주소를 알릴 목적으로 사용되므로 GARP의 목적지 MAC 주소(2계층 Destination MAC)는 브로드캐스트 MAC 주소를 사용합니다.

 GARP의 패킷을 살펴보면 송신자 MAC(Sender MAC)은 자신의 MAC 주소, 송신자 IP(Sender IP) 주소는 자신의 IP 주소, 대상자 MAC(Target MAC) 주소는 모두 0으로 표기해 00:00:00:00:00:00, 대상자 IP(Target IP) 주소도 자신의 IP 주소로 넣어 네트워크에 브로드캐스트합니다.

 아래의 그림 예제는 네트워크에서 패킷을 수집해 시각화해주는 와이어샤크 화면입니다.

 GARP를 실제로 잡아 ARP 헤더와 데이터 내용을 확인해 192.168.0.11 IP에서 내보낸 GARP 내용을 확인할 수 있습니다. 위의 설명과 같이 2계층 출발지 MAC 주소, 자신의 MAC 주소(78:bc:30:60:c8:74), 도착 지 MAC 주소는 브로드캐스트입니다.

 ARP 필드의 송신자 MAC 주소는 자신의 MAC 주소 (78:bc:30:60:c8:74), 송신자 IP는 자신의 IP인 192.168.0.11, 대상자 MAC 주소를 모두 0(00:00:00:00:00:00)으로 채우고 대상자 IP를 자신의 IP(192.168.0.11)로 다시 채웁니다.

GARP: 출발지 IP 주소와 목적지 IP 주소가 동일하다

 

 다른 ARP 요청과 같은 점은 대상자 MAC 주소가 00:00:00:00:00:00으로 채워진 것이고 다른 점은 송신자와 대상자 IP 주소가 자신으로 동일하다는 것입니다.

 GARP를 사용해 동일 네트워크에 자신의 IP 주소와 MAC 주소를 알려주는 이유는 다음 3가지입니다.

 

1. IP 주소 충돌 감지

2. 상대방(동일 서브넷 상의 다른)의 ARP 테이블 갱신

3. HA(고가용성) 용도의 클러스터링, VRRP, HSR