3학년 2학기/네트워크 (Network)

[ ( 자습 ) 네트워크 ] 9. ARP(Address Resolution Protocol)

쫑알bot 2024. 8. 13. 13:35
728x90

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 주소를 모를 경우 )

 

 

 

(출처)

유튜브 한빛미디어 - 혼자 공부하는 네트워크