본문 바로가기

[Network] Beginner

ARP (주소결정프로토콜)

ARP (Address Resolution Protocol)

 

ARP를 그대로 풀어서 해석하면 주소결정프로토콜 이라는 뜻이다. 


일반적으로 통신은 사용자가 어떤 값을 생성하여 전달하거나 어떤 정보를 요청하기 위해 동작을 시킬때 발생된다. 

즉, 통신을 위해 필요한 일련의 값들을 사용자가 결정하여 입력을 시켜준다는 뜻이다. 4계층에서 필요한 서비스 구분번호는 어플리케이션을 동작시키면서 입력이 되고, 3계층에서 사용하는 IP주소까지는 사용자가 통신하기 위해서 디바이스에 입력하기 때문에 어렵지 않게 Encapsulation 가능하다하지만 2계층에서 필요한 목적지 주소는 따로 입력이 되지 않아서 주소를 디바이스 스스로 결정해주어야 한다. 이 때 사용하는 프로토콜이 ARP이다. 


정리하면,

ARP 논리적인 IP주소를 기반으로 (데이터링크 계층의)물리적인 MAC주소로 바꾸어 주는 주소해석 프로토콜이다.

2계층에서 물리적 주소를 사용하여 통신하는 경우 목적지 주소를 알아와 Encapsulation  완성하기 위한 목적으로 쓴다.

 

  

 

 

IP 이용하여 MAC주소를 알아내기 위해 연결된 모든 장비에게 Request 메시지를 보내고, ARP Request 메시지를 받은 장비들은 누구에게 전달된 Request인지 IP주소를 확인하여 자신의 IP 경우 Reply 보내준다.

 

ARP 프로토콜은 Request 보내기 위해 브로드캐스트 방식을 사용한다.

목적지 IP주소가 같은 네트워크일 경우에는 해당 장비를 직접 찾는 Request 메시지를 브로드캐스트로 보내고,

다른 네트워크일 경우에는 직접 브로드캐스트를 보낼수 없으니 Gate-way 데이터를 전달하기 위해 GW에게 Request 보낸다.


, 브로드캐스트가 도달할 없는 다른 네트워크에는 ARP 직접 보낼 수가 없다.

 

 

 

ARP Header

 

 

Hardware

사용 중인 물리 주소나 데이터 링크 유형을 정의

사용 가능한 전체 물리주소 유형 필드값

Protocol

사용 중인 프로토콜 주소 유형의 정의

Hardware Address Length

해당 패킷에 사용되는 물리 주소의 길이(byte)를 정의

Protocol Address Length

패킷에 사용되는 프로토콜 주소의 길이를 정의

Opcode

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

Sender Hardware Address

요청하는 장비의 L2 계층의 물리 주소를 표현

Sender Protocol Address

요청하는 장비의 L3 계층의 논리 주소를 표현

Target Hardware Address

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

Target Protocol Address

수신하는 장비의 L3계층의 논리 주소를 표현

 

 

ARP Cache Table

 

ARP MAC주소를 알아오는 과정에서 브로드캐스트 방식을 사용하는데, 브로드캐스트는 많이 일어날 수록 장비의 과부하와 성능저하를 가져오기 때문에 좋지 못하다. 그래서 한번 알아온 정보는 ARP table 일정시간 동안 저장하고, 통신하고자 하는 목적지의 MAC주소가 ARP table 저장되어있는 경우에는 ARP 프로토콜이 동작되지 않는다.

 

WIN7 이전버전들은 캐시에 저장된 정보들이 2분동안 유지되고 2분씩늘어나 최대 10분간 저장된다

   WIN7은 기본으로 10분 동안 유지되고, 유닉스는 5.

 

 

arp -a 라는 명령어를 사용하여 저장되어 있는 ARP Mapping 정보를 확인할 있고, ARP 프로토콜을 사용하여 알아온 동적인 정보는 Dynamic (또는 동적) 이라고 표시된다브로드캐스트의 단점을 보완하기 위해 관리자가 직접 명령어를 이용하여 수동 입력할 있고, 그런 경우에는 Static (또는 수동) 이라고 표시된다.

 


 

ARP의 종류

1. ARP (위에서 설명되어진 ARP 프로토콜)


2. RARP

RARP는 ARP의 반대 개념으로, MAC주소로 IP주소를 가져오는 것을 말한다.

일반적으로 IP주소는 하드디스크 내의 구성파일에 의해 설정되지만, 하드디스크가 없는 X터미널이나 워크스테이션의 경우, 초기 가동될 자신의 MAC주소를 담아 RARP Request 보내서 IP주소 정보를 받아오게 하기 위해 사용했다.


3. Proxy ARP

Proxy ARP는 호스트에 게이트웨이가 설정되어 있지 않은 경우에 사용된다.

이는 라우터가 ARP 프레임을 수신했을 때, 해당 네트워크가 자신의 라우팅 테이블에 있으면 라우터 자신의 MAC주소를 알려주는 기능을 말한다.


4. Inverse ARP

Frame-Relay 환경에서 송신지 IP와 목적지 DLCI를 맵핑하여 FR MAP에 저장하는데, 처음연결을 한 경우 해당 목적지 IP에 대한 정보가 없으므로 자신과 연결된 모든 선로로 멀티플렉싱을 해 목적지 IP를 알아내는 것을 말한다.


5. Gratuitous ARP

같은 네트워크에서 IP주소가 중복되는지 확인하고 다른 장치들이 자신의 IP 주소를 갱신하도록 주기적으로 IP주소를 알려주는 역할을 한다.



'[Network] Beginner' 카테고리의 다른 글

4계층(Transport) 세부설명  (8) 2019.08.20
ICMP (Internet Control Message Protocol)  (0) 2014.12.08
Wildcard-Mask (와일드카드 마스크)  (6) 2014.07.26
서브넷팅 (Subnetting)  (5) 2014.07.22
Subnet-Mask (서브넷 마스크)  (0) 2014.07.21