본문 바로가기
[IT 관련 지식]/[Network]

ARP(Address Resolution Protocol)

by 판톰 2017. 12. 28.
반응형

ARP(Address Resolution Protocol)

데이터의 송수신 호스트의 IP 주소를 아는 만으로는 MAC 주소를 이용해 통신하는 네트워크 계층에서 프레임을 전달하는 것은 불가능하다.

때문에 TCP/IP 통신에서 하드웨어 주소 , MAC 주소를 알기 위해 ARP(Address Resolution Protocol) 사용해 IP MAC 주소 간의 동적 Mapping 제공한다.

동적 Mapping 이라 표현한 이유는 Mapping 자동으로 이루어지며 변경이 발생하여도 시스템 관리자에 의해 재구성을 요하지 않은 변경이 적용되기 때문이다.

 

ARP IPv4 에서만 사용되며 IPv6 경우 ICMPv6 포함되어 있는 NDP(Neighbor Discovery Protocol) 사용한다.

 

ARP 패킷 구조

ARP는 하나의 주소를 확인하기 위한 요청 혹은 응답을 포함하는 간단한 프로토콜이다. ARP 메시지의 크기는 ARP가 작동하는 네트워크의 상하위 계층의 주소체계에 따라서 달라진다. 예컨데, IPv4를 사용하는지 IPv6를 사용하는지에 따라서 ARP의 크기도 달라진다. 아래는 ARP 패킷의 대략적인 구조다. 대략적이라고 한 이유는 필드의 크기가 변할 수 있기 때문이다.




Hardware type

네트워크 프로토콜의 타입. 이더넷은 1

Protocol type

Internetwork 프로토콜의 타입. IPv4 0x0800

Hardware address length

하드웨어 주소(MAC) 길이. 이더넷은 6

Protocol address length

상위 레이어 프로토콜의 주소길이. IPv4 4

Operation

1 요청. 2 응답.

Source hardware address

요청을 보내는 측의 MAC

Source IP address

요청을 보내는 측의 IP 주소

Destination hardware address

응답을 보내는 측의 MAC

Destination IP address

응답을 보내는 측의 IP 주소

 

RARP(Reverse Address Resolution Protocol)

ARP 반대로 MAC 주소와 IP 주소 간의 매핑을 한다.

 

ARP probe

ARP probe sender IP주소를 0으로 해서 ARP 요청을 전송한다.

IPv4 주소의 충돌을 감지하기 위해서 사용한다.

호스트에서 IPv4 주소를 이용 (수동, DHCP 또는 다른 방법으로) 이미 사용되는 주소인지 검출하기 위해 ARP probe 패킷을 전달한다.

 

ARP announcements

ARP는 announcement 프로토콜로도 사용할 수 있다.

이 기능을 이용하면 호스트의 IP 주소나 MAC 주소가 변경될 때, 다른 호스트의 ARP 테이블 정보를 갱신할 수 있다.

ARP는 Destination Hardware address 0으로 설정하고 Destination protocol address 필드에 Source protocol address 값을 설정해서 브로드캐스팅 한다.

ARP announcement 를 받은 호스트는 Source Hardware address와 중복되는 값을 찾아서 값을 변환한다.

ARP announcements는 요청에 대한 응답을 필요로 하지 않는다.

대신 요청을 받은 호스트는 ARP 테이블에 있는 캐시 항목을 업데이트 한다.

대부분의 운영체제들이 부팅하는 동안에 ARP announements를 수행한다.

운영체제들이 올라오면 이전의 IP - MAC 값이 변경될 수 있는데, 이 값을 다른 호스트에 알려줌으로써 IP - MAC 불일치로 발생할 수 있는 문제를 해결하는데 도움을 준다.

 

Inverse ARP Reverse ARP

Inverse ARP는 IP를 알고 있는 상태에서, IP에 대한 MAC 주소를 알아내기 위해서 사용한다.

Reverse ARP는 반대로 MAC주소에 대한 IP주소를 알아내기 위해서 사용한다

 

Alternatives to ARP

각 컴퓨터는 자신의 ARP 테이블에 L3 주소(보통 IP주소)와 L2 주소(Ethernet MAC 주소)정보를 관리한다.

모든 현대적인 컴퓨터들은 ARP 패킷을 로컬 네트워크에 브로드 캐스팅하는 것으로 테이블을 유지한다.

 1980년 이전에 브로드캐스팅이 매우 많은 자원을 소모한다고 생각하던 시절이 이었다.

그래서 비용을 줄이기 위해서 설정파일로 테이블을 유지하였다.

 

 

ARP Stuffing

ARP mediation

 

 

MAC address ( Media Access Control address)

  • 매체 접근 제어 주소 . 이더넷 하드웨어 주소

IANA에서 관리하고 할당하는 IP 주소와 달리 MAC 주소는 NIC 제조업체에서 정해진 규칙에 의해 임의로 만들어 주소를 장치 내부의 영구 메모리에 저장된다.

48bit 구성된 MAC 주소 앞의 24bit 제조업체 식별 정보이며 나머지 24bit NIC 시리얼 넘버이다.

 

          00:11:22:33:44:55

                         제조업체 식별번호        시리얼 넘버     

                           

 


NIC (Network Interface Card)

   - 네트워크 인터페이스 카드.

      네트웍에 접속할수 있게 하기 위해 컴퓨터 내에 설치되는 확장 카드 이다. 주로 랜카드 또는 이더넷 카드라 부른다.

 

Operation Codes

Number

Operation Code (op)

0

Reserved

1

REQUEST

2

REPLY

3

request Reverse

4

reply Reverse

5

DRARP-Request

6

DRARP-Reply

7

DRARP-Error

8

InARP-Request

9

InARP-Reply

10

ARP-NAK

11

MARS-Request

12

MARS-Multi

13

MARS-MServ

14

MARS-Join

15

MARS-Leave

16

MARS-NAK

17

MARS-Unserv

18

MARS-SJoin

19

MARS-SLeave

20

MARS-Grouplist-Request

21

MARS-Grouplist-Reply

22

MARS-Redirect-Map

23

MAPOS-UNARP

24

OP_EXP1

25

OP_EXP2

26-65534

Unassigned

65535

Reserved

 

Hardware type

ARP 대한 모든 알려진 하드웨어 목록 번호

 참조사이트 : http://iana.org/assignments/arp-parameters/

 

Number 

Hardware Type (hrd) 

0

Reserved

1

Ethernet (10Mb)

2

Experimental Ethernet (3Mb)

3

Amateur Radio AX.25

4

Proteon ProNET Token Ring

5

Chaos

6

IEEE 802 Networks

7

ARCNET

8

Hyperchannel

9

Lanstar

10

Autonet Short Address

11

LocalTalk

12

LocalNet (IBM PCNet or SYTEK LocalNET)

13

Ultra link

14

SMDS

15

Frame Relay

16

Asynchronous Transmission Mode (ATM)

17

HDLC

18

Fibre Channel

19

Asynchronous Transmission Mode (ATM)

20

Serial Line

21

Asynchronous Transmission Mode (ATM)

22

MIL-STD-188-220

23

Metricom

24

IEEE 1394.1995

25

MAPOS

26

Twinaxial

27

EUI-64

28

HIPARP

29

IP and ARP over ISO 7816-3

30

ARPSec

31

IPsec tunnel

32

InfiniBand (TM)

33

TIA-102 Project 25 Common Air Interface (CAI)

34

Wiegand Interface

35

Pure IP

36

HW_EXP1

37

HFI

38-255

Unassigned

256

HW_EXP2

257-65534

Unassigned

65535

Reserved

 참조사이트 : http://iana.org/assignments/arp-parameters/

반응형

'[IT 관련 지식] > [Network]' 카테고리의 다른 글

프로토콜 이란?  (0) 2017.12.28
네트워크 4계층  (0) 2017.12.28
Juniper Static Routing 설정 방법  (0) 2017.12.27
IGMP Packet Structure  (0) 2017.07.31
라우팅 프로토콜 우선순위  (0) 2017.07.31