본문 바로가기
Network tech/ARP

[ARP] ARP(Address Resolution Protocol) 패킷(packet)

by 어깨 :) 2023. 11. 19.
728x90

 

-Preamble & SFD (Start Frame Delimiter)

  PreambleSFD는 헤더로 인식되지 않으며 단지 Frame의 시작을 알려주기 위한 정보이다.

크기는 항상 7byte(Preamble)1byte(SFC)로 고정되어 있다.

 

- Ethernet Header

  Destination Address : 목적지(송신) MAC 주소

                                        FF-FF-FF-FF-FF-FF(브로드캐스트 주소)로 설정

 

  Source Address : 출발지(수신)MAC 주소, ARP 패킷을 송신하는 호스트 MAC 주소

   * 다른 프로토콜 구조와 다르게 목적지 MAC 주소가 출발지 MAC 주소보다 앞에 있음

 

 - Length

   상위 계층에 사용된 프로토콜이 무엇인지에 대한 정보 유형 (IP : 0x0800, ARP : 0x0806)

 

- Data

  상위 계층에서 전달받은 데이터 (46 byte – 1500 byte의 크기를 가질 수 있음)

 

-Tailer

  Frame Check Sequence (CRC) : 프레임의 오류 확인 (Checksum과 비슷한 역할로 2계층에서만 존재)

 

 


 

 

 

 

DATA(ARP Request, ARP Reply)

1. Hardware Type (2 byte = 16bit)

> 사용 중인 물리 주소(MAC)나 데이터 링크 유형을 정의한다

> 사용 가능한 전체 물리 주소 유형 필드 값 (이더넷은 1)

 

 

2. Protocol Type (2 byte = 16bit)

> 상위 계층에서 어떤 유형의 프로토콜을 사용하는지 정의

> 일반적으로 IPv4를 사용한다 (상위 프로토콜이 IP일 경우 0x0800으로 설정)

 

 

3. Header length: IP 프로토콜 헤더의 길이 (word 단위)

4. Protocol Address Length (1 byte = 8bit)

> 상위 계층 프로토콜의 주소 길이

> 8bit로 논리주소의 길이를 바이트단위로 정의

> IPv44

 

 

5. Opcode (2 byte = 16bit)

> 요청이나 응답 패킷과 발생하는 주소 해결 유형을 정의

> ARP의 구체적인 동작을 나타냄

> 16bit로 패킷의 유형을 정의

- ARP Request : 1, ARP Reply : 2

 

 

 

 

6. Sender Hardware Address (SHA) (6 byte = 48bit)

> 출발지(송신)MAC 주소

> 요청하는 장비의 1,2계층의 물리 주소를 표현

 

7. Sender Protocol Address (4 byte = 32bit)

> 출발지(송신)IP 주소

> 요청하는 장비의 1,3계층의 논리 주소를 표현

 

8. Target Hardware Address (THA) (6 byte = 48bit)

> 목적지(수신)MAC 주소 = 도착 mac 주소

> ARP 요청의 경우 브로드캐스트로 인해 0으로 설정 (FF:FF:FF:FF:FF:FF)

> 수신하는 장비의 하드웨어 주소를 표시

 

9. Target Protocol Address (4 byte = 32bit )

> 목적지(수신)IP 주소 = 도착 mac 주소

> 수신하는 장비의 1,3계층의 논리 주소를 표현

 

 

728x90