09.주소 변환 프로토콜(ARP)
wireshark로 배우는 컴퓨터 네트워크
다음 홉의 IP 주소를 참조하기 위해서는 라우팅 테이블을 참조함
다음 홉의 물리 주소를 알기 위해서는? ARP
주소 변환
호스트와 라우터는 네트워크 레벨에서 논리주소(Logical Address)로 인식
논리 주소는 unique address
물리적인 레벨에서는 물리 주소로 인식, Local Address
Local Address는 로컬에서만 유일함
호스트와 라우터로 패킷을 전달하기 위해서는 논리 주소와 물리 주소가 모두 필요함
물리적인 네트워크를 통과해야만하기 때문에 당연하게 모두를 필요로 함
하나의 물리적인 네트워크 상에 두 개이상의 프로토콜이 동작할 수 있고, 네트워크층에서의 패킷이 서로 다른 물리적 네트워크를 통과할 수도 있음
주소 변환은 동적 변환을 사용함(쌍 중 하나의 주소만 알고 있을 때, 다른 하나를 알 수 있음)
RARP(물리 -> 논리)는 다른 프로토콜로 대체됨
ARP
IP 데이터그램이 프레임에 캡슐화 될때, 수신자의 물리적 주소를 필요로 함
논리 주소를 물리 주소로 동적으로 변환하는 프로토콜
송신자가 요청 패킷을 네트워크상에 broadcast
라우터 상의 모든 호스트와 라우터는 패킷을 수신하지만, 해당 수신자만 응답을 유니캐스트함
ARP 요청, 응답 이후 송신자와 수신자는 ARP 캐시 테이블에 상대방의 논리,물리 주소를 저장해둠
외부 네트워크로의 요청은 디폴트 라우터의 MAC주소를 요청하게 됨
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