[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/네트워크

[Network] ARP

inu 2021. 3. 17. 01:41
반응형

ARP 프로토콜

ARP가 하는 일

  • 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC주소를 IP주소를 이용해 알아오는 프로토콜
  • 따라서 보안 상 중요하게 여겨진다.

ARP의 구조

  • Hardware type : 2계층에서 사용하는 프로토콜의 타입 (이더넷 : 0x0001)
  • Protocol type : 'Protocol Address'의 타입 (IPv4 : 0x0800)
  • Harware address length : 'Harware Address'의 길이 (MAC주소의 길이 : 0x06)
  • Protocol address length : 'Protocol Address'의 길이 (주로 IPv4주소의 길이 : 0x04)
  • Opcode : 어떻게 동작하는지 나타내는 코드 (요청(0x0001)인지 응답(0x0002)인지 구분)
  • Source Hardware Address : 출발지의 MAC주소 (물리적주소)
  • Source Protocol Address : 출발지의 IPv4 주소
  • Destination Hardware Address : 목적지의 MAC주소 (물리적주소)
  • Destination Protocol Address : 목적지의 IPv4 주소

ARP 프로토콜의 통신 과정

  • ARP 프로토콜 작성시, 요청을 보낼 때는 아직 목적지의 MAC주소를 알 수 없기 때문에 00 00 00 00 00 00으로 작성하여 보내게 된다. 목적지의 IP주소는 작성한다.
  • 이더넷 프로토콜에서는 FF FF FF FF FF FF로 작성하게 보낸다. (FF FF FF FF FF FF는 브로드캐스트를 의미하기 때문에 해당 요청이 같은 네트워크의 전 기기로 전송된다.)
  • 전 기기는 디캡슐레이션과정에서 ARP 프로토콜을 확인한다. 이 때 목적지 IP주소가 일치하지 않을 경우 패킷을 버린다.
  • 목적지 IP주소가 일치한 기기는 응답 프로토콜에 본인의 MAC주소를 작성하여 보내준다. 이 때 이더넷 프로토콜에서는 브로드 캐스트를 하지 않고 목적지의 정확한 MAC주소를 작성할 수 있게 된다.
  • 결과적으로 요청을 보낸 기기가 응답을 보낸 기기의 MAC주소를 알게되고, 이를 ARP 캐시 테이블이라는 곳에 저장해두고 활용한다. 이렇게 ARP 캐시 테이블에는 나와 통신했던 기기의 MAC주소가 휘발적으로 저장된다.

참고 : https://www.youtube.com/watch?v=LDsp-Xb168E&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=7&t=1s

반응형

'💻 CS > 네트워크' 카테고리의 다른 글

[Network] 포트  (0) 2021.04.04
[Network] IPv4 프로토콜 / ICMP 프로토콜  (0) 2021.04.01
[Network] IP주소  (0) 2021.03.13
[Network] Ethernet 프로토콜  (0) 2021.03.08
[Network] 네트워크 모델  (0) 2021.03.04