Notice
Recent Posts
관리 메뉴

Hacking Arts

ARP(Addres Resolution Protocol) 본문

Network/Protocol

ARP(Addres Resolution Protocol)

Rakehell 2014. 8. 23. 02:55

<ARP>

-ip주소에 대응되는 이더넷 카드의 하드웨어 주소(MAC Address)를 알아내는 프로토콜

-논리적 주소를 물리적 주소로 변환

-주소 변환 방법 : 1)Static Mapping(정적 변환) : 관리자가 수동 설정

                         2)Dynamic Mapping(동적 변환) : ARP , RARP


※ARP를 쉽게 설명하자면 우리가 컴퓨터를 처음 OS를 깔았다고 하자 그리고 연결을 다 하고 인터넷을 하면 아직 되지않는다. ip주소,netmask,gateway주소 등을 세팅 해주어야 한다. 그러면 이제 디폴트 루트가 생성되고 이제 패킷이 글로 나갈려고한다. 그런데 아직 GATEWAY의 MAC주소를 모른다 그래서 ARP를 이용해서 패킷을 보내고 GATEWAY는 내 ip인데 이러면서 MAC주소를 말해달라는 구나 하고 보내주는 것이다. 이렇게 되면 ARP TABLE에 등록이 되고 통신이 시작된다.


<ARP Packet의 구성>

-Hardware Type(HRD)

   1)2Byte로 ARP가 수행되고 있는 네트워크 유형을 정의

   2)Ethernet의 경우 값은 1

출처 : http://www.iana.org/assignments/arp-parameters/arp-parameters.xml#hardware-type-rules


-Protocol Type(PRO)

   1)2Byte로 상위 프로토콜 정의

   2)상위 프로토콜이 IPv4일 경우는 0x0800값이 들어감

   3)Ethernet에 Length or Type을 같이 공유하는 것을 알 수 있음


출처 : http://www.iana.org/assignments/ethernet-numbers


-Hardware Address Length(HLN)

   1)1Byte로 물리 주소의 길이를 Byte 단위로 정의

   2)Ethernet의 경우 6이 들어감


-Protocol Address Length(PLN)

   1)1Byte로 논리 주소의 길이를 Byte 단위로 정의

   2)IPv4의 경우 4가 들어감 


-Opcode(OP)

   1)2Byte로 패킷의 유형을 정의

   2)ARP Request - 1, ARP Reply - 2


-Sender Hardware Address(SHA)

   1)송신자의 물리주소를 나타내는 필드

   2)IPv4의 경우 4Byte의 값을 가짐


-Target Hardware Address(THA)

   1)목적지의 물리주소를 나타내는 필드

   2)Ethernet의 경우 6Byte의 값을 가짐

   3)ARP Request인 경우 송신자는 목적지 시스템의 물리주소를 모르므로 0으로 설정


-Target Protocol Address(TPA)

   1)목적지의 논리주소를 나타내는 필드

   2)IPv4의 경우 4Byte의 값을 가짐


<ARP작동 과정>

1)송신자는 목적지 IP주소를 지정해 패킷 송신

2)IP가 ARP에게 ARP Request 메시지를 생성하도록 요청(송신자의 물리주소와 IP주소 그리고 타겟의 IP주소는 채워지지만 타겟의 물리주소 필드는 0으로 채워짐)

3)메시지는 2계층으로 전달되고 Ethernet 프레임으로 Encapsulation 됨

4)모든 호스트와 라우터는 프레임을 수신 후 자신의 ARP에게 전달

5)목적지 IP주소가 일치하는 시스템은 자신의 물리주소를 포함하고 있는 ARP Reply 메시지를 보냄

6)최초 송신 측은 지정한 IP주소에 대응하는 물리주소를 획득

※ARP Request - Broadcast, ARP Reply - Unicast




ARP 추가자료 : http://www.networksorcery.com/enp/protocol/arp.htm#Protocol address length

'Network > Protocol' 카테고리의 다른 글

Wireless - 1  (0) 2014.08.23
IP(Internet Protocol)  (0) 2014.08.23
RARP(Reverse Addres Resolution Protocol)  (0) 2014.08.23
Ethernet(Data-link layer)  (0) 2014.08.23
NAT(Network Address Translation) and PAT(Port Address Translation)  (0) 2014.08.23