네트워크/데이터통신_데이터링크 계층

[데이터링크 계층] ARP (Address Resolution Protocol)

4Legs 2020. 11. 17. 20:53

ARP (Address Resolution Protocol)

한 노드가 IP 데이터그램을 링크를 통해 다른 노드로 보내고자 할 때, 데이터그램은 수신 노드의 IP 주소를 포함한다.

하지만 IP 주소는 네트워크 계층의 주소이기 때문에, 데이터링크 계층에서 링크를 통해 프레임을 전달하는 데에는 그다지 유용하지 않다. 따라서 우리는 다음 노드(수신 노드)의 데이터링크 계층 주소가 필요하다.

ARP는 네트워크 계층에 존재한다.

ARP는 네트워크 계층에 속해 있으며, IP 주소를 그에 상응하는 MAC 주소로 변환해준다. 다음은 Alice와 Bob이 통신하는 과정을 통해 ARP가 어떻게 동작하는지를 그림으로 나타낸 것이다. 그림에서 N으로 표현된 것이 네트워크 계층의 주소, 즉 IP주소이고 L로 표현된 것이 데이터링크 계층의 주소이다. 

송신 측(Alice)의 컴퓨터에서 패킷의 흐름

네트워크 계층에서 전달된 두 데이터그램의 IP주소 NA, NB 중 목적지 주소인 NB로 향하기 위한 다음 라우터의 IP주소를 확인하기 위해 Forwarding Table을 확인한다. Forwarding Table에서 다음 경로인 라우터 R1에 대한 IP 주소 N1을 반환하고, N1에 대한 MAC주소를 ARP에서 검색한다. NA에 대한 MAC주소는 현재 라우터의 인터페이스 내에 저장되어 있으므로 그대로 사용한다. (Note 내용 참고)

이후 MAC주소 L1, LA를 프레임에 추가해 R1에 전송한다.

라우터 R1에서 패킷의 흐름

R1에 도착한 패킷은 분해되어 다시 목적지 IP 주소인 NB에 대해 Forwarding Table을 참조해 다음 경로를 찾는다. 이 그림에서 다음 경로는 라우터 R2로, ARP를 통해 라우터 R2의 MAC주소 L3을 반환받는다.

라우터 R2에서 패킷의 흐름
수신 측(Bob)의 컴퓨터에서 패킷의 흐름

이와 같은 과정을 통해 마침내 패킷이 수신 측의 컴퓨터에 도착하면, 패킷을 분해하여 데이터를 획득한다.

 

* ARP 패킷

 

 

※ 본 게시글은 『Data Communication and Network』 를 참고하여 작성되었습니다.