[ ( 자습 ) 네트워크 ] 9. ARP(Address Resolution Protocol)
ARP
: IP 주소를 통해 MAC 주소를 알아내는 프로토콜
(= IP 주소는 알지만 MAC 주소는 모를 때 사용)
동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낸다.
- 동작
1. ARP Request
2. ARP Reply
3. ARP 테이블 갱신
> 예시
⚫️ 동일 네트워크에 있는 호스트 A, B
⚫️ A는 B의 IP는 알지만 MAC 주소는 모른다.
B의 MAC주소를 알아내보자
1. ARP Request
- A : 브로드캐스트 메시지 전송
- 메시지 내용은 ARP Request 라는 ARP 패킷
그냥 네트워크에 있는 애들한테 ###.##.#.# 주소인 사람?? 이라고 소리지르는 그림을 생각하면 된다.
2. ARP Reply
- B 이외에 나머지 호스트 : 자신의 IP가 아니므로 응답하지 않는다.
- ARP 응답이라는 ARP 패킷을 유니캐스트 방식으로 [ B ➡️ A ] 로 보낸다.
➡️ 이 메시지를 받은 A는 B의 MAC주소를 알게 된다.
* ARP 패킷에서 데이터는
1. OPcode : ARP 요청 =1 / ARP 응답 = 2
2. 송신지/수신지 하드웨어 주소
3. 송신지/수신지 프로토콜 주소
3. ARP Table 갱신
- ARP Table : ARP 요청 - 응답을 통해 알게 된 IP 주소와 MAC 주소의 연관 관계
➡️ 테이블에 등록되어 있는 호스트에 대해서는 ARP 요청을 다시 보낼 필요가 없다.
-> 일정 시간이 지나면 (임의)삭제도 가능함
다른 네트워크에 속해있는 호스트들끼리는 어떨까?
Host를 컴퓨터라고 봐도 되고 라우터라고 봐도 된다.
- A가 1번 네트워크에 속해있고
- B가 2번 네트워크에 속해있고
- 1번 2번 네트워크가 라우터 x,y를 통해 이어져 있다고 한다면
1. 우선 Host A가 라우터 x의 IP를 가지고, ARP를 통해 MAC 주소를 알아낸다.
( 라우터 x의 MAC 주소를 모를 경우 )
2. 라우터 x가 라우터 y의 IP를 가지고, ARP를 통해 MAC 주소를 알아낸다.
( 라우터 y의 MAC 주소를 모를 경우 )
3. 라우터 y가 Host B의 IP를 가지고, ARP를 통해 MAC 주소를 알아낸다.
( Host B의 MAC 주소를 모를 경우 )
(출처)
유튜브 한빛미디어 - 혼자 공부하는 네트워크