09.주소 변환 프로토콜(ARP)

wireshark로 배우는 컴퓨터 네트워크

  • 다음 홉의 IP 주소를 참조하기 위해서는 라우팅 테이블을 참조함

  • 다음 홉의 물리 주소를 알기 위해서는? ARP

주소 변환

  • 호스트와 라우터는 네트워크 레벨에서 논리주소(Logical Address)로 인식

    • 논리 주소는 unique address

  • 물리적인 레벨에서는 물리 주소로 인식, Local Address

    • Local Address는 로컬에서만 유일함

  • 호스트와 라우터로 패킷을 전달하기 위해서는 논리 주소와 물리 주소가 모두 필요함

    • 물리적인 네트워크를 통과해야만하기 때문에 당연하게 모두를 필요로 함

    • 하나의 물리적인 네트워크 상에 두 개이상의 프로토콜이 동작할 수 있고, 네트워크층에서의 패킷이 서로 다른 물리적 네트워크를 통과할 수도 있음

  • 주소 변환은 동적 변환을 사용함(쌍 중 하나의 주소만 알고 있을 때, 다른 하나를 알 수 있음)

  • RARP(물리 -> 논리)는 다른 프로토콜로 대체됨

ARP

  • IP 데이터그램이 프레임에 캡슐화 될때, 수신자의 물리적 주소를 필요로 함

  • 논리 주소를 물리 주소로 동적으로 변환하는 프로토콜

  • 송신자가 요청 패킷을 네트워크상에 broadcast

  • 라우터 상의 모든 호스트와 라우터는 패킷을 수신하지만, 해당 수신자만 응답을 유니캐스트함

  • ARP 요청, 응답 이후 송신자와 수신자는 ARP 캐시 테이블에 상대방의 논리,물리 주소를 저장해둠

  • 외부 네트워크로의 요청은 디폴트 라우터의 MAC주소를 요청하게 됨

ARP 패킷 형식

ARP 패킷

Hardware Type

  • 16bits, ARP가 수행되고있는 네트워크 유형

  • 각 LAN은 유형에 따라 정수로 할당(이더넷의 경우 1)

Protocol Type

  • 16bits, 프로토콜을 정의

Hardware Length

  • 8bits, 물리 주소의 길이를 바이트 단위로 정의(이더넷의 경우 6)

Protocol Length

  • 8bits, 논리 주소의 길이를 바이트 단위로 정의(IPv4의 경우 4)

Operation

  • 16bits, Request는 1, Reply는 2

Sender Hardware Address

  • 가변 길이 필드, 송신자의 물리주소

Sender Protocol Address

  • 가변 길이 필드, 송신자의 논리주소

Target Hardware Address

  • 가변 길이 필드, 수신자의 물리주소

  • Request의 경우, 0

Target Protocol Address

  • 가변 길이 필드, 수신자의 논리주소

프록시 ARP

  • 서브넷팅 효과를 만드는 데 사용됨

  • 호스트 집합을 대행하여 수행하는 ARP

  • 프락시 ARP를 역할하는 라우터가 ARP 요청이 들어오면, 자신의 물리주소를 응답

  • 이 후, IP 패킷을 받으면, 이 패킷을 적절한 호스트에게 보내는 형태

프록시 ARP는 라우팅 또는 기본 게이트웨이를 설정할 필요 없이 서브넷의 시스템이 원격 서브넷에 연결되도록 지원할 수 있다. https://www.cisco.com/c/ko_kr/support/docs/ip/dynamic-address-allocation-resolution/13718-5.html

ARP 덤프 분석

  • Request

  • Reply


  • arp 캐시 테이블 조회

Last updated