GARP란 ?
대상자 IP 필드에 자신의 IP 주소를 채워 ARP 요청을 보내는 것
자신의 IP와 MAC 주소를 알릴 목적으로 사용한다.
ARP 요청과 다른 점은 송신자와 대상자 IP 주소가 자신으로 동일하다는 것이다.
왜, GARP를 사용하는가 ?
- IP 주소 충돌 감지
- 상대방(동일 서브넷 상의 다른)의 ARP 테이블 작성
- HA(고가용성) 용도의 클러스터링, VRBP, HSRP
IP 주소 충돌 감지
송신자에서 자신의 IP 주소를 대상자 IP 주소로 한 뒤 ARP 요청을 보낸다.
만약 GARP에 대한 응답이 오면 네트워크상에서 해당 IP를 이미 사용 중인 단말이 있다는 것을 알 수 있다.
상대방(동일 서브넷 상의 다른)의 ARP 테이블 작성
한마디로 정리하면 스탠바이 → 액티브 로 변경된 단말을 알리기 위해 사용한다.
가상 MAC 주소를 사용하지 않는 데이터베이스 HA 솔루션에서 주로 사용한다.
데이터베이스 HA는 주로 두 데이터베이스 서버가 하나의 가상 IP 주소로 서비스하며 액티브-스탠바이로 동작한다.
액티브 상태인 서버가 가상 IP 주소 요청에 응답해 서비스하지만 MAC 주소는 가상 주소가 아닌 실제 MAC 주소를 사용한다.
두 DB 장비 A, B가 있다고 해보자
- IP: 1.1 (가상 IP를 같이 사용)
- A: 1.2
- B: 1.3
- MAC
- A: AA-AA-AA
- B: BB-BB-BB
서비스 IP인 1.1과 통신하기 위해 브로드캐스트로 1.1에 대한 ARP 요청을 보낸다.
DB-A(AA-AA-AA)와 DB-B(BB-BB-BB) 장비 모두 1.1에 대한 ARP 요청을 수신하고 액티브인 A가 요청에 응답한다.
이제부터 단말은 IP 주소 1.1이 A의 AA-AA-AA MAC 주소를 가진 것으로 학습한 후 통신한다.
이때 DB-A에 장애가 발생해 이제부터 DB-B가 액티브 역할을 한다고 해보자
액티브로 변경된 B와 처음 통신하는 단말은 변경된 액티브의 MAC 주소인 BB-BB-BB로 학습해 통신이 가능해지지만 기존에 A를 액티브 장비로 인식하고 통신하던 단말은 새로 변경된 액티브인 DB-B의 MAC 주소가 아닌 기존 DB-A의 MAC 주소가 ARP 캐시 테이블에 남아 있어 단말은 계속 AA-AA-AA로 패킷을 보낸다.
기존 정보가 남아있는 단말이 보낸 패킷은 정상적으로 동작하지 않아 네트워크에서 응답이 불가능하거나 스탠바이 상태인 A쪽으로 패킷이 보내지므로 정상적인 서비스를 받을 수 없게된다.
이러한 현상을 예방하기 위해 스탠바이 장비가 액티브 상태가 되면 GARP 패킷을 네트워크에 보내 액티브 장비가 변경되었음을 알린다.
HA(고가용성) 용도의 클러스터링, VRBP, HSRP
네트워크에 있는 스위치 장비의 MAC 테이블 갱신이 목적이다.
클러스터링에서 가상 MAC 주소를 사용하는 경우 단말은 ARP 정보를 가상 MAC 주소로 학습하므로 단말의 ARP 테이블을 갱신할 필요가 없다.
하지만 클러스터링 중간에 있는 스위치의 MAC 테이블은 마스터가 변경되었을 때 가상 MAC 주소의 위치를 적절히 찾아가도록 업데이트 해야 하므로 마스터가 변경되는 시점에 MAC 테이블의 갱신이 필요하다.
따라서 슬레이브가 마스터로 역할이 변경되면 GARP를 전송하고 스위치에서는 이 GARP를 통해 MAC 주소에 대한 포트 정보를 새로 변경해 MAC 테이블을 갱신한다.
'CS > 네트워킹' 카테고리의 다른 글
VLAN이란 ? (0) | 2022.10.04 |
---|---|
서브넷과 게이트웨이 (0) | 2022.10.03 |
ARP(Address Resolution Protocol) (0) | 2022.10.03 |
인캡슐레이션과 디캡슐레이션 (0) | 2022.09.28 |
OSI 7 Layer - 데이터 플로 계층 (1) | 2022.09.27 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!