CS/Network

ARP : address resolution protocol

WakaraNai 2021. 12. 6. 15:54
728x90
반응형

next hop으로 가려면 LAN을 통과해야 하는데

LAN을 통과하기 위해 link layer에서

IP 주소를 MAC 주소로 변환하는 과정이 필요

 

그럼 IP 주소를 알고 있을 때 interface의 MAC 주소를 결정하는 방법은?

ARP table을 이용

IP 주소와 MAC 주소를 일시적으로 맵핑

TTL만큼 유지 (보통 20분)

 

 

ARP plug-and-play 방식

플러그 앤 플레이(Plug and Play) 또는 줄여서 PnP는 꽂으면 실행된다는 뜻으로,

컴퓨터 실행 중에 주변 장치를 부착해도 별다른 설정 없이 작동함을 뜻함

 

ex) A가 B에게 datagram을 보내려 할 때 

B의 MAC 주소가 A의 ARP table에 없다면?

(A가 B의 MAC주소를 자신의 ARP table에 기록하기 위해)..

A는 ARP query packet을 LAN 전체에 broadcast함

  • 목적지 MAC 주소를 = “FF-FF-FF-FF-FF-FF”로 설정해둠
  • 그 LAN에 물려있는 모든 노드를 반환받음

B는 ARP packet을 받고 A에게 자신의 MAC 주소로 응답

ARP query 속에 A의 MAC 주소가 있기 때문에 unicast로 전달함

A는 받고나면 일정시간 동안 그 IP-MAC 주소를 ARP table에 저장 

- 일정 시간 동안만 유지하니 “soft state”

 

 

Addressing : routing to another LAN

walkthrough : A->R->B

IP(datagram)과 MAC layer(frame)의 주소에 집중

  • A는 B의 IP 주소를 알고 있어야 하고
  • A는 first hop router인 R의 IP 주소를 알고 있어야 하고 (by DHCP)
  • A는 first hop router인 R의 MAC 주소를 알고 있어야 하고 (by ARP)

  

 

IP address VS MAC address

IP 주소

- IP 주소는 네트워크 통신에 있어서 각각의 통신기기(컴퓨터, 노트북, 스마트폰 등)에 할당된 식별번호를 나타낸다. 

쉽게 말하면 편지를 주고 받기 위한 집 주소라고 이해하면 된다.

- 이 IP 주소는 통신기기마다 고유하게 할당되어 있는 것이 아니라,

대부분 통신사에 일정 금액을 지불하고 받아오는 것이기 때문에 경우에 따라 바뀔 수 있다

 

- 호스트(개인)들 간의 네트워크 통신(편지의 교환)은 

같은 네트워크 주소/네트워크 대역(같은 국가) 내에서만 이루어 진다고 생각하면 된다. 


다른 네트워크 대역의 호스트들과 연결하는 방법은 라우팅(Routing)에 관련이 있다.

 

MAC 주소

- MAC 주소는 통신기기의 하드웨어 자체에 부여된 고유한 식별번호를 나타낸다.

제품의 시리얼 넘버라고 생각할 수 있다.

세상에 단 하나밖에 없는 유니크한 값을 가지며, 변경될 수 없다. (일부 해킹툴에 의해 변경되는 것은 예외.) 

 

- 이러한 특성 때문에, MAC 주소는 외부에서 내부의 사설 아이피로 통신 요청을 할 때 중요한 역할을 한다.

사설 아이피는 외부에서 볼 수 없기 때문에

외부에서는 어떤 사설 아이피가 최종 목적지인지 알 수가 없는데,

이 때 최종 목적지의 MAC주소를 알고 있다면

아이피 주소에 구애받지 않고 원하는 목적지까지 도달할 수 있게 된다. 

- 자세한 원리는 라우팅과 포트포워딩 관련이 있다.

- MAC 주소는 콜론(:)으로 구분된 6개의 부분으로 구성된다. 

각 부분은 알파벳 또는 숫자의 조합으로 되어 있다.

 


출처: https://www.crocus.co.kr/1515 [Crocus]

728x90
반응형