본문 바로가기
Network

ARP(Address Resolution Protocol)

by PeterC 2021. 2. 23.

# IP 주소를 MAC(Media Access Control) 주소로 매칭해주는 프로토콜.

# RFC 826 '이더넷 주소 변환 프로토콜'에 정의되어 있다.

 

ㅁ ARP

IP 주소체계는 가상 네트워크의 모양을 만들도록 설계된 논리적 주소 체계이다. 실제 네트워크의 통신은 MAC 주소를 통해 이루어진다. 물리적 네트워크에서 IP 데이터그램을 실제로 전송하려면 IP 데이터그램을 데이터 링크계층 프레임으로 Encapsulation(캡슐화)해야 한다.

 이더넷이나 토큰링과 같은 데이터링크 계층 프레임은 그 프레임의 일부로 하드웨어 주소를 요구하는데, 하드웨어 주소와 IP 주소를 연계시키는데 필요한 프로토콜이 ARP(Address Resolution Protocol) 이다.

ㅁ ARP 동작

! ARP 패킷은 IP  헤더를 포함하지 않기 때문에 라우팅이 되지않는 패킷이다.

 

1. 자신의 라우팅 테이블을 확인한다. 목적지의 IP 주소가 라우팅 테이블에 없는 경우 서브넷의 기본 게이트웨이로 프레임을 전송하여 Next Hop(다음에 거칠 서브넷 경계)의 IP 주소를 확인한다.

 

2. RAM에 보관되어 있는 ARP 캐시 테이블에서 게이트웨이의 MAC 주소를 확인한다.

 - ARP 캐시 테이블에서 목적지의 IP주소가 발견되면 해당 하드웨어 주소를 ARP 모듈에게 되돌려 준다.

 

3. 요청 메시지는 '데이터 링크 계층'(L2)으로 전달되고 이더넷 프레임으로 Encapsulation되어 ARP Request Frame 패킷을 서브넷 전체에 브로드캐스트 한다.

 - 이때 수신자의 MAC 주소는 'FF:FF:FF:FF:FF:FF' 로  "브로드캐스트 한다!"를 의미한다. 

 

4. ARP Request Frame에  요청한 것과 같은 IP 주소를 가진 호스트만 응답한다. 

 - 응답은 *2) UniCast 방식을 사용한다. 이더넷카드에서 받은 프레임의 목적지 MAC주소와 자신의 MAC주소를 비교한다. 같을 경우 자신의 MAC 정보를 호스트에게 응답 패킷을 전송한다.

 - 다를 경우에는 해당 프레임을 버린다. 

 

5. 같은 경우 CPU로 데이터를 올려 통신하게 된다.

 

6. ARP 캐시 테이블에 저장된 타입(Static/Dynamic) 두 유형이 존재하는데 동적이라면 대략 15분간 사용되지 않을 경우 사라진다. 

 - 특정 호스트에 대해 ARP 캐시 항목이 시간이 지나 삭제된다면, 호스트의 하드웨어 주소를 발견하기 위해 ARP 요청 프레임을 다시 보낸다.

 

ㅁ Gratuitous ARP?

# 주로 네트워크에서 다른 호스트가 발진자와 같은 IP 주소를 갖는 것을 식별하기 위해 사용된다.

 

새 호스트가 네트워크에서 '부팅'하고 DHCP 서버에서 IP 주소를 할당받거나, 정적으로 IP주소를 부여할 때에 호스트는 하나 이상의 Gratuitous ARP 요청을 전송한다. 전송 할 때에마다 1초가량 기다리며 3번의 시도 후에 다른 1초동안 응답이 없으면 IP 스택을 초기화 하기 위해 새로 부팅할 수 있다.

 

o 대표적인 용도

 1) "IP 주소 충돌"을 감지하기 위해 사용된다.

  - 호스트에서 자신의 IP 주소를 타겟으로 하여 ARP 요청을 브로드캐스트 하고, 다른 호스트에서 이에 대한 응답이 있다면  'IP 주소 중복' 경고를 생성한다.

 

 2) 동일 서브넷 상에 존재하는 호스트/라우터의 ARP 테이블을 갱신하기 위해 사용된다.

  - 어떠한 호스트가 GARP(Gratuitous ARP) 패킷을 보내면, 해당 패킷을 수신받은 호스트/라우터는 GARP 패킷 송신자 필드(Sender MAC Address 와 Sender IP Address) 정보를 ARP 테이블에 갱신하게 된다.

 

 3) VRRP/HSRP 프로토콜에서 사용된다.

  - VRRP/HSRP가 Enable된 라우터 중 Master에 해당하는 라우터는 자신과 연결된 L2 스위치의 MAC Address 테이블 정보(해당 MAC 주소에 대한 Port정보 갱신)를 갱신하기 위해 GARP를 사용한다.

 


*1) BroadCast 

로컬 LAN상의 붙어있는 모든 네트워크 장비에게 보내는 통신이다. 로컬 LAN이란 라우터에 의해서 구분지어진 공간인 브로드캐스트 도메인(혹은 서브넷)이라고하는 공간을 뜻한다.

 

*2) UniCast 

1:1 통신방식. 네트워크에 연결된 다른 장비들에게 부담을 주지 않는다.

 

*3) 랜카드? NIC? 이더넷카드?

"랜카드(Lan Card) = NIC(Network Interface Card) = 이더넷 카드(Ethernet Card)"

이더넷 카드가 컴퓨터에 사용되기 위해서는 "이더넷 드라이브"라는 일종의 소프트웨어가 운영체제에 설치되어 있어야 한다. 결론적으로 IP 주소는 "이더넷 드라이브"에 부여하는 것이다.

 

 


References

0. dupont3031 - "랜카드? NIC? 이더넷카드?"

dupont3031.tistory.com/entry/%EB%9E%9C%EC%B9%B4%EB%93%9C-NIC-%EC%9D%B4%EB%8D%94%EB%84%B7%EC%B9%B4%EB%93%9C

 

랜카드? NIC? 이더넷카드?

컴퓨터가 통신을 하기 위해서는 IP라는 것이 있어야 하는 것은 누구나 알고 있는 사실입니다 그렇다면 그 IP는 컴퓨터의 어디에 할당되는 것일까요?? 랜 카드 = NIC = 이더넷 카드 결론적으로, IP주

dupont3031.tistory.com

 

1. jwprogramming - "Unicast(유니캐스트), Multicast(멀티캐스트), Broadcast(브로드캐스트) 방식"

jwprogramming.tistory.com/29?category=680194

 

Unicast(유니캐스트), Multicast(멀티캐스트), Broadcast(브로드캐스트) 방식

- Unicast(유니캐스트) - 1:1 통신방식이라고 말할 수 있습니다. 위 그림과 같이 정확하게 받는 PC의 주소를 프레임 안에 써 넣는데 이 때 PC가 하나이어야 한다는 것입니다. 위 방식으로 네트워크에

jwprogramming.tistory.com

2. aahcbird - "ARP(Address Resolution Protocol)가 동작하는 과정"

aahc.tistory.com/9

 

ARP(Address Resolution Protocol)가 동작하는 과정

ARP의 작동 원리 스위치는 콜리전 도메인(Collision Domain)을 쪼개주고, 라우터는 브로드캐스트 도메인(Broadcast Domain)을 쪼개준다. ARP의 동작 과정을 살펴보기 위해 우리가 관심을 가져야 하는 것은

aahc.tistory.com

3. link2me - "ARP(ADDRESS RESOLUTION PROTOCOL) 헤더구조 및 동작 원리

link2me.tistory.com/132

 

ARP(Address Resolution Protocol) 헤더구조 및 동작원리

사무실 네트워크인 이더넷이 어떻게 동작하는지에 대해서 설명한 자료입니다. 네트워크 지식을 쌓은 좋은 방법은 헤더구조를 파악하고 어떻게 동작하는지를 이해하는 것입니다. 제가 많은 책

link2me.tistory.com

4. NETMAINAS , 김은영 - "ARP는 알겠는데.. Gratuitous ARP는 어디에 사용되나요?"

www.netmanias.com/ko/post/qna/5286

 

ARP는 알겠는데.. Gratuitous ARP는 어디에 사용되나요? | NETMANIAS

ARP는 알겠는데.. Gratuitous ARP는 어디에 사용되나요? Reg. Date: August 25, 2011 By 김은영 ARP는 해당 Host/Router의 MAC 주소를 알기 위해서 사용되는 거잖아요. 그럼 Gratuitous ARP는 어떤 목적으로 사용하는 거

www.netmanias.com

 

'Network' 카테고리의 다른 글

Vyos - Internet Routing  (0) 2021.02.24
VRRP(Virtual Routing Redundancy Protocol)  (0) 2021.02.24
ACL(Access Control List)  (0) 2021.02.23
OSI 7 Layer  (0) 2020.06.04