Hacking Arts
ARP(Addres Resolution Protocol) 본문
<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 |