컴퓨터공학/컴퓨터망

[컴퓨터망] Address Resolution Protocol (ARP)

NIMHO 2022. 7. 2. 11:50
728x90

복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.

Address Mapping

  • host 또는 router에 packet을 전달하려면 logicalphysical 두 가지 수준의 주소가 필요하다.
  • logical address를 해당 physical address에 mapping 할 수 있어야 하며, 그 반대의 경우도 마찬가지이다.
  • 이러한 작업은 static 또는 dynamic mapping을 사용하여 수행할 수 있다.
  •  
  • host나 router가 다른 host나 router에 보낼 IP datagram을 가질 때마다, 수신기의 logical(IP) address를 갖는다.
  • 그러나 IP datagram은 physical 네트워크를 통과할 수 있도록 frame에 캡슐화되어야 한다.
  • 이것은 송신자가 수신자의 physical address가 필요하다는 것을 의미한다.
  • mapping은 physical address에 logical address를 대응한다.
  • ARP는 IP protocol로부터 logical address를 받아 해당 주소를 해당 physical address에 mapping 하고 data link layer에 전달한다.

Position of ARP in TCP/IP protocol suite (MAC 알려준다.)

ARP protocol은 IP 주소를 전달하면, physical address (MAC 주소)로 반환한다는 개념이다.

ARP operation

A에서 B로 정보를 전달하는 상황에서 B의 IP address는 알지만 MAC address가 필요한 상황이다.
ARP는 request로 같은 network 상 모든 컴퓨터(broadcast)에 찾으려는 IP 주소의 MAC 주소를 찾는다는 신호를 보낸다.
해당 사항이 없는 컴퓨터에서는 request를 무시하고, IP에 해당하는 컴퓨터인 B만 A에게 reply 한다.

ARP packet

  • Hardware Type : 하드웨어 주소(MAC)의 유형을 나타내며 이더넷 통신 시 항상 1로 설정한다.
  • Protocol Type : 매핑 대상인 프로토콜 주소의 유형을 나타내며 IPv4의 경우 0x0800으로 설정한다.
  • Hardware length : 하드웨어의 길이, Byte로 표시한다. 이더넷상에서는 0x06으로 설정한다.
  • Protocol length : 프로토콜 주소 길이, Byte로 표시한다. IPv4의 경우 0x04로 설정한다.
  • Operation code : ARP의 구체적인 동작을 나타낸다.

Encapsulation of ARP packet

LAN 안에서 MAC정보
Data에는 IP datagram이 들어간다.
이를 IP단에서 처리해야 하는지 ARP단에서 처리해야 하는지에 대한 정보가 Type에 들어간다.
ARP 요청은 broadcast로 모든 네트워크 컴퓨터에 전송하고, ARP 응답은 특정 컴퓨터에서만  unicast로 보낸다.

Four cases using ARP

  • case 1 : sender와 receiver가 같은 네트워크에 있는 경우, 전송을 위한 MAC 주소가 필요하므로 ARP가 사용된다.
  • case 2 : 다른 네트워크로 넘어가야 하는 경우, router의 MAC 주소가 필요하므로  ARP가 사용된다.
  • case 3 : router에서 router로 보내는 경우, MAC 주소가 필요하므로 ARP가 사용된다.
  • case 4 : router에서 receiver로 전송하는 경우, MAC 주소가 필요하므로  ARP가 사용된다.
  • hop-to-hop이 필요한 경우에는 모두 ARP가 사용된다.

Proxy ARP

proxy ARP가 ARP기능을 대신해준다.
router or host는 added subnetwork에 직접 통신할 수 없다.
Proxy ARP router를 통해서 대신 통신한다.

 

ARP package

  • 이 섹션에서는 단순화된 ARP 소프트웨어 package의 예를 보여 준다.
  • 목적은 가상 ARP 패키지의 구성 요소와 구성 요소 간의 관계를 보여주는 것이다.
  • 아래 그림은 이러한 구성 요소와 그 상호작용을 보여준다.
  • ARP 패키지가 캐시 테이블, 큐, 출력 모듈, 입력 모듈, 캐시 제어 모듈의 다섯 가지 구성 요소를 포함한다.

ARP components
ARP table

728x90