ARP 프로토콜 - Address Resolution Protocol
MAC 주소를 알아내기 위해 사용되는 프로토콜
IP 주소 체계와 MAC 주소와 전혀 연관성이 없는 두 주소를 연계시켜 주기 위한 매커니즘
물리적 주소와 논리적 주소 연결
호스트에서 처음 통신할 때 MAC 주소를 알 수 없어 2계층 캡슐화를 하지 못하여 ARP 브로드캐스트를 이용하여 전체 상대방의 MAC 주소를 질의, 목적지는 ARP 프로토콜을 이용해 자신의 MAC 주소를 응답 - 이 과정을 통해 인캡슐레이션하여 전달 가능
ARP 브로트캐스트를 수행하면 네트워크의 통신 효율성이 저하되여 메모리에 저장하여 재사용 - 논리주소는 언제든 바뀔 수 있어 일정시간 통신 없으면 삭제
ARP 작업은 CPU에서 수행하여 부하로 작용 가능
ARP 테이블 저장 기간을 길게 / 많은 요청이 들어오면 필터링 / 천천히 처리하는 방식 / 수동으로 처리 등 안전하게 운영
MAC를 모를때 IP를 통해 MAC를 알아내기 위한 목적
ARP 동작
송신자 하드웨어 MAC 주소 / 송신자 IP 프로토콜 주소 / 대상자 MAC 주소 / 대상자 IP 프로토콜 주소 이 4개의 필드가 가장 중요함
1. MAC 주소를 알기 위해 ARP 요청을 네트워크에 브로드캐스트함
2. 대상자 IP가 자신이 맞는지 확인 후 버릴지 말지 결정 - 맞으면 그에 대한 응답을 보냄 - 유니캐스트
3. 서버는 응답을 받아 ARP 캐시 테이블을 갱신 / 일정 시간동안 유지
GARP - Gratuitous ARP
대상자 IP 필드에 자신의 IP 주소를 채워 ARP 요청
자신의 IP와 MAC 주소를 알리는 목적으로 사용 브로드캐스트 MAC 주소 사용
대상자 MAC 주소는 00:00:00:00:00:00 / 대상자 IP를 자신의 IP 넣음
사용 이유 - IP 주소 충돌 감기 / 상대방의 ARP 테이블 갱신 / HA 용도의 클러스터링, VRRP, HSRP
IP 주소 충돌 감지
IP를 이미 사용하고 있는지 확인
단말이 네트워크에 연결되면 GARP를 통해 현재 설정된 IP 주소를 네트워크에서 사용하고 있는지 확인
GARP에 대한 응답이 오면 네트워크 상에서 해당 IP를 이미 사용 중인 단말이 있다는 것을 알 수 있음
상대방의 ARP 테이블 갱신
가상 MAC 주소를 사용하지 않고 데이터베이스 HA(High Availability) 솔루션에소 주로 사용
HA는 1개의 IP로 두 대의 데이터베이스 사용 - 1대는 동작 1대는 대기 상태(액티브 - 스탠바이 상태)
두 대의 데이터베이스 가상 IP는 같고 MAC 주소는 다름
한쪽이 준비중이거나 고장이 났을때를 예방하기 위해 스탠바이 장비가 액티브 상태가 되면 GARP 패킷을 네트워크에 보내 장비가 변경되었음을 알려줌
클러스터링, FHRP(VRRP, HSRP)
네트워크에 있는 스위치 장비의 MAC 테이블 갱신 목적
RARP - Resverse ARP
GARP와 구조는 같지만 내용이 다르고 반대 목적으로 사용됨
자신의 MAC 주소는 알지만 IP가 할당되지 않아 IP를 할당해주는 서버에 어떤 IP를 써야되는지 물어볼때 사용
현재는 BOOTP와 DHCP로 대체
BOOTP
네트워크 부팅 시스템에서 IP 주소와 부팅 파일 이름을 할당해주는 프로토콜
고정적인 IP를 할당하는데 사용
DHCP
동적으로 IP를 할당하고 이를 통해 IP 주소 효율적 관리