뭉게뭉게 엔지니어

L3 - ARP와 ICMP 본문

☁ 네트워크 기초 따라가기/OSI 7 & TCP IP

L3 - ARP와 ICMP

어푸어푸🌊 2022. 6. 20. 19:37

아직 PDU에 대해 잘 이해를 못한 상태에서

ARP, ICMP 등을 보니 머릿 속에 태풍이 휘몰아치는 느낌이다..^^..

특히나 ARP는 따로 정리가 필요하다고 느껴져 정리해본다..


ARP란?

Address Resolution Protocol

- 간단히 말해, 논리적인 주소(IP주소)를 기반으로 물리적인 주소(MAC)를 알아오는 기술!!!이다.

- L3 프로토콜 이지만 IP 하위에서 동작하는 프로토콜이며, 특정 프로그램에 호출 되었을 때만 동작한다.

- 주로 목적지 MAC 주소를 확인할 때 사용한다.

-  동작: Request ➡ Broadcast / Reply ➡ Unicast

- type : 0x0806

 

 

🔽이러한 ARP의 header를  자세히보면 아래와 같다.🔽 

ARP header

ARP 헤더에서 가장 눈여겨 봐야 할 부분은 Opcode이다. 

 

Opcode 란?

- ARP packet의 종류로, ARP packet이 수행하는 동작이 지정된다. 

- ARP의 종류에 따라 9가지의 코드로 나뉘는데, 그 중 잘 알아두어야 하는 것은 1 (ARP Request), 2 (ARP Reply)이다.

 

 ARP의 동작 과정을 Wireshark와 간단한 구성도로 살펴보면 아래와 같다.

 

L3 프로토콜 이지만 IP 하위에서 동작

 

 

그러니까 아주아주 쉽게 생각하자면,,

[데이터 보낼거야! ➡ IP주소는 알아! 근데 MAC주소는 몰라ㅠㅠ! ➡ ARP 가동!!!!!] 이 되겠다...

이렇게 알아온 MAC주소 정보는 ARP Cache Table에 저장된다. 

                                                     ┖ 시스템에서 사용할 IP의 MAC주소를 일시적으로 저장하는 기능.

                                                          통신속도 향상을 위해 사용하며, 일정시간이 지나면 사라진다. 

 

 

그렇다면

ICMP는 또 뭘까?

Internet Control Message Protocol

- 직역하면 인터넷 제어 메세지 이다.

- 네트워크 관리 및 오류 보고를 위해 사용되며,

- IP 의 단점(비신뢰성, 비연결성)을 보완하고자 사용되는 IP Supported Protocol 이다. 

   ┖ 3계층의 IP header가 할 수 없는 일들(통신 오류 찾아주기 등)을 하기 위해 만들어짐.

        data를 보내려는 목적이 아니라, 통신이 잘 이루어지게 하기 위한 sidekick!

- L3 프로토콜 이지만 IP보다 상위에서 동작한다. 

- 특정 프로그램에 의해 호출되었을 때만 동작한다. ex) ping, tracert

- Message 형식으로 정보를 알린다.

    ┖ Type 필드 값을 통해 종류가 구분되며, 그 종류는 아래와 같다.

- protocol : 0x1

 

 

🔽이러한 ICMP의 header를  자세히보면 아래와 같다.🔽

  ⓐ Type - ICMP 메시지의 종류를 알려주는 값

       ┖ 8 : ICMP Echo Request Message / 0 : ICMP Echo Reply Message / 나머지 타입 번호들은 Error Message용

  ⓑ Code - 메시지 종류에 따라 상세원인이나 세부 정보가 필요한 경우 추가 값

        ┖ 기본값 : 0 (type의 세부 code가 있으면 code 값 0을 의미, 없으면 null을 의미)

   ⓒ Checksum : ICMP header의 오류를 검사하기 위한 값 

   ⓓ Other message spcific Information : 선택적 추가 정보가 부여되는 필드

'☁ 네트워크 기초 따라가기 > OSI 7 & TCP IP' 카테고리의 다른 글

Network model 정리본!  (0) 2022.07.16
L4 - Transport Layer  (0) 2022.06.20
L3 - Network / Internet  (0) 2022.06.20
L2 - Data Link / Network Interface(Network Access)  (0) 2022.06.20
L1 - Physical / Hardware  (0) 2022.06.20
Comments