ARP 프로토콜

  • ARP 프로토콜같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC 주소IP 주소를 이용해서 알아오는 프로토콜

ARP 프로토콜의 구조

  • 총 28Byte 
  • Source Hardware Address : 출발지의 MAC 주소 ( 6Byte )
  • Source Protocol Address : IP 주소 ( 4Byte )
  • Destination Hardware Address : 목적지의 MAC 주소 ( 6Byte )
  • Destination Protocol Address  : 목적지의 IP 주소 ( 4Byte )
  • Hardware type : 2계층에서 사용하는 프로토콜의 타입 ( Ethernet 프로토콜 : 0x 0001  ) 
  • Protocol type : Source Protocol Address의 프로토콜 타입 ( IPv4 : 0x 0800
  • Hardware Address Length : MAC주소의 길이 ( 6Byte : 06 )  
  • Protocol Address Length : IP주소의 길이 ( 4Byte : 04 )
  • Opcode : Operation Code, 어떻게 동작하는지 나타내는 코드
    => 수행하는 동작이 요청인 경우( 0001 ), 응답인 경우( 0002

ARP 프로토콜을 사용하여 MAC 주소를 알아오는 과정

  • 같은 네트워크 대역에서 A컴퓨터가 C컴퓨터의 MAC을 알고 싶은 상황. ( ACIP 알고 있는 상황 (192.168.0.30) )

(1) AARP 요청 프로토콜을 만들고 앞에 2계층 프로토콜인 Ethernet 프로토콜을 캡슐화 ( 앞에 붙임 )

참고사항 : Ethernet의 구조 ( 목적지 MAC, 출발지 MAC, 상위 프로토콜 타입 ) 

A가 만든 ARP 요청 프로토콜 
( 요청이므로 Opcode가 1이고, 목적지의 MAC 주소는 모르기 때문에 0으로 비워둠 ) 

A가 만든 ARP 요청 프로토콜

ARPEncapsulation 하는 2계층의 Ethernet 프로토콜 

  • 목적지 MAC주소가 0xFFFFFFFFFFFF (전부 1)인 상황 : 이런 식으로 MAC 주소를 1로 꽉 채우는 경우 Broad Cast 
  • 즉, 같은 네트워크 대역에 있는 모두에게 보냅니다.

(2) 2계층 장비인 SwitchMAC주소를 확인하여 보내는 역할을 수행

  • Ethernet 프로토콜을 디캡슐화해서 보고 목적지 MAC 주소 확인하고 보냄
  • 2계층 장비 2계층까지 확인( 3계층ARP는 까보지 않음 )
  • MAC 주소가 Broad Cast이므로 같은 네트워크 대역 모두에게 전송

(3) 받은 모든 곳에서 Decapsulation 과정을 거침

  • 2계층인 Ethernet을 까보니 도착지가 Broad Cast로 제대로 온 것이 맞음
  • 따라서 3계층까지 Decapsulation해서 확인 ( A가 보낸 ARP 요청 프로토콜 )
  • 자기의 IP 주소와 목적지 IP 주소가 일치하지 않는 곳은 패킷을 버림 ( C를 제외한 모두 )

(4) CARP 응답 프로토콜은 만들고 Ethernet 프로토콜Encapsulation해서 다시 보냄

  • ARP 응답 프로토콜 
    • 응답이므로 Opcode2
    • 출발지 MAC 주소에 CMAC 주소를 써서 보냄
    • 목적지 MAC 주소는 보낸 주소를 씀 ( A의 MAC 주소 :: Ehternet에 보낸 MAC 주소 정보가 있으니 활용 )
  • Ethernet 프로토콜
    • 브로드캐스트를 할 필요가 없으니 목적지 MAC 주소로 AMAC 주소를 입력
    • 출발지 MACCMAC 주소
    • 상위 프로토콜 타입은 ARP이므로 0806

C가 응답을 위해 보내는 ARP 프로토콜과 Ethernet 프로토콜

(5) Switch는 2계층인 Ethernet까지 Decapsulation하고 목적지인 A에게 전달 

(6) A는 받은 패킷을 Decapsulation하여 c의 MAC 주소가 cc cc cc cc임을 알고 ARP 캐시 테이블에 이 내용을 저장합니다.

  • ARP 캐시 테이블IP주소MAC주소를 저장한 구조
  • 통신했던 컴퓨터들의 주소는 ARP 캐시 테이블에 남음

ARP 캐시 테이블에 c의 ip와 MAC 주소 저장

 


다음 강의를 정리한 내용입니다.

https://www.youtube.com/watch?v=LDsp-Xb168E&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=8&ab_channel=%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B4%EC%84%9C%EB%B0%B0%EC%9A%B0%EB%8A%94IT

+ Recent posts