ARP Protocol [네트워크]

SnowCat·2022년 12월 22일
0

CS - Network

목록 보기
5/11
post-thumbnail

ARP Protocol?

  • 네트워크에서 통신을 하기 위해서는 IP주소와 MAC주소가 필요함
  • 이 때 IP주소는 알지만 MAC주소는 모르는 경우가 생기는데, 이러한 경우에 3계층인 ARP Protocol을 사용해 MAC주소를 알아낼 수 있음

ARP Protocol의 구조

  • Hardwate type: 2계층에서 사용하는 프로토콜을 지정하는 값, 보통 이더넷 프로토콜의 값인 0001이 들어감
  • Protocol type: 프로토콜 주소로 어떤것을 사용했는지 지정하는 값, 보통 IPv4값인 0800이 들어감
  • Opcode: 프로토콜의 요청 여부를 작성하는 부분, 프로토콜을 요청하는 경우 0001, 요청한 프로토콜에 응답하는 경우 0002가 들어감
  • Hardware Address Length: 하드웨어 주소의 길이값, 그림에서는 06
  • Protocol Address Length: 프로토콜 주소의 길이값, 그림에서는 04
  • Source Hardware Adress: 출발지의 MAC 주소
  • Destination Hardware Adress: 목적지의 MAC 주소
  • Destination Protocol Adress: 목적지의 IP 주소

ARP Protocol의 작동 과정

  • A에서 C로 통신을 한다 가정
  • A에서 형식에 맞추어 ARP 프로토콜 작성, 이 때 상대방의 MAC주소를 모르기 때문에 MAC주소는 00:00:00:00:00:00으로 비워서 보냄
  • ARP 프로토콜을 이더넷 프로토콜로 capsulization 시행, 목적지의 MAC주소 값은 브로드캐스트 주소(FF:FF:FF:FF:FF:FF)로 작성
  • 작성한 패킷을 스위치를 통해 내부 네트워크 전체에 전달
  • 호스트는 데이터를 확인해 IP주소가 일치하지 않으면 패킷을 버리고, 일치할 경우 요청에 응답하는 패킷을 보냄

ARP 캐시 테이블

  • ARP Protocol을 통해 알게된 MAC Adress를 IP주소와 함께 별도의 캐시 테이블에 보관하게 됨
  • 이후 같은 IP주소로 통신하게 되는 경우 MAC주소를 캐시 테이블에서 가져오게 됨
profile
냐아아아아아아아아앙

0개의 댓글