- 네트워크 계층의 IP 주소를 링크 계층인 MAC 주소로의 변환을 도와주는 프로토콜이다
- 네트워크 계층과 링크 계층 사이에 있는 프로토콜
- 링크 계층 주소를 포함하는 필드들이 있을 뿐만 아니라 네트워크 계층 주소를 포함하는
필드들도 있기 때문이다.
- 데이터를 전송시에는 IP 뿐만 아니라 MAC 주소 또한 입력해줘야 한다.
- MAC 주소는 16진수로 되어있는 호스트 고유 주소
1. 같은 서브넷에 있는 경우
- 호스트에 있는 ARP 모듈을 활용하여, ARP 테이블에서 맞는 목적지 MAC주소를 찾아 프레임에 넣는다.
- 만약 arp에 해당 IP주소의 MAC 주소가 없는 경우
- 해당 서브넷 내에 브로드케스팅을 하여 해당 IP를 갖고 있는 노드들의 arp들이 응답을 보낸다.
- 응답을 받는데 이때 해당 MAC주소는 목적지 MAC 주소가 아닌 응답을 준 노드의 MAC주소를 준다.
2. 같은 서브넷에 없는 경우
- host에게 아무리 arp 를 이용한 질의를 해도 오류가 나온다
- 같은 서브넷에 없는 IP주소이기 때문이다.
- 그리고 없다면 서브넷 안 에서 찾기 때문에 안 나온다. → 결국 네트워크에서 사라짐
- 최종 목적지 경로상에 있는 첫 번째 홉 라우터를 이용한다.
- 먼저 A에서 외부 서브넷으로 전송을 하려면 첫 번째 홉 라우터 R의 IP주소와 MAC 주소를 알아야한다.
- IP 주소는 DHCP를 이용하여 알아낸다 (111.111.111.110)
- MAC주소는 ARP를 이용하여 알아낸다. (E6-E9-00-17-88-48)
- IP주소가 있는 데이터 그램을 캡슐화 하여 프래임으로 R에게 전송
- 라우터 R은 포워딩 테이블을 참고하여 IP 주소에 맞게 전송
(역캡슐화 → 캡슐화, IP 주소로 prefix 체크)
