백엔드/os 및 일반 지식

네트워크 - ARP

JerryTheSWEngineer 2023. 1. 22. 23:36
반응형

ARP란?


데이터 통신을 위해 2계층 물리적 주소인 MAC 주소와 3계층 논리적 IP 주소 2개가 사용.

이 두 주소 사이에 관계가 없는 프로토콜에서 ARP 프로토콜과 같은 메커니즘을 이용해 서로를 연결한다. 

ARP 브로드캐스트를 통해 네트워크 전체에 상대방의 MAC 주소를 질의해야 한다. 

arp -a를 통해 질의 가능

매번 질의는 못 하기에 메모리에 이 정보를 저장해두고 사용. 

ARP동작


서버 a > 서버 b 로의 전송 과정

서버 a는 목적지 서버 b의 MAC 주소름 모르기 때문에 ARP 요청을 네트워크에 브로드캐스트한다. 

모든 단말은 ARP 프로토콜 내용을 확인하는데 ARP 프로토콜 필드의 대상자 IP가 자신이 맞는지 확인하고 아니면 패킷을 버린다. 

서버 b는 arp 요청을 처리하고 응답을 보내는데 이떄 송신자와 대상자의 위치가 바뀐다.

이 떄 모든 arp 필드를 채워 응답할 수 있다. 

따라서 이 때는 처음 보낼 때와 다르게 브로드캐스트가 아니라 유니캐스트이다.

 

GARP


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

garp는 대상자 ip 필드에 자신의 ip 주소를 채워 arp 요청을 보낸다. 자신의 ip와 mac 주소를 알릴 목적으로 사용된다.

garp를 사용해 동일 네트워크에 자신의 ip 주소와 mac 주소를 알려주는 이유는 다음 3가지이다

- IP 주소 충돌 감지

- 상대방의 arp 테이블 갱신

- HA (고가용성) 용도의 클러스터링, VRRP, HSRP

 

 

RARP


reverse arp의 줄임말.

반대로 동작하는 arp.

MAC 주소에서 IP주소로 변환할 때 사용.

IP를 할당해주는 서버에 어떤 IP 주소를 써야하는지 물어볼 때 사용.

반응형