12
1 Address Resolution Protocol (ARP)

Address Resolution Protocol (ARP)

  • Upload
    monet

  • View
    42

  • Download
    1

Embed Size (px)

DESCRIPTION

Address Resolution Protocol (ARP). Overview. Need for Address Translation. Note: The Internet is based on IP addresses Local area networks use MAC addresses The ARP and RARP protocols perform the translation between IP and MAC layer addresses We will discuss ARP for Ethernet LANs. - PowerPoint PPT Presentation

Citation preview

Page 1: Address Resolution Protocol (ARP)

1

Address Resolution Protocol(ARP)

Page 2: Address Resolution Protocol (ARP)

2

NetworkLayer

Link Layer

IP

ARP NetworkAccess

Media

ICMP IGMP

TransportLayer

TCP UDP

Overview

Page 3: Address Resolution Protocol (ARP)

3

Need for Address Translation

• Note: – The Internet is based on IP addresses – Local area networks use MAC addresses

• The ARP and RARP protocols perform the translation between IP and MAC layer addresses

• We will discuss ARP for Ethernet LANs

Ethernet MAC address (48 bit)ARP

IP address(32 bit)

Page 4: Address Resolution Protocol (ARP)

4

Processing of IP packets by network device drivers

loopbackDriver

IP Input

Put on IPinput queue

ARPdemultiplex

Ethernet Frame

Ethernet

IP destination of packet= local IP address ?

IP destination = multicastor broadcast ?

IP Output

Put on IPinput queue

No: get MACaddress withARP

ARPPacket

IP datagram

No

Yes

YesEthernet

Driver

Page 5: Address Resolution Protocol (ARP)

5

Address Translation with ARP

ARP Request: Argon broadcasts an ARP request to all stations on the network: “What is the hardware address of 128.143.137.1?”

Argon 128.143.137.144

00:a0:24:71:e4:44

Router137128.143.137.1

00:e0:f9:23:a8:20

ARP Request: What is the MAC address of 128.143.137.1?

Page 6: Address Resolution Protocol (ARP)

6

Address Translation with ARP

ARP Reply: • Router 137 responds with an ARP Reply which contains the

hardware address• An ARP Reply is sent as a unicast Ethernet message

Argon128.143.137.144

00:a0:24:71:e4:44

Router137128.143.137.1

00:e0:f9:23:a8:20

ARP Reply:The MAC address of 128.143.71.1is 00:e0:f9:23:a8:20

Page 7: Address Resolution Protocol (ARP)

7

ARP Packet Format

Destinationaddress

6

ARP Request or ARP Reply

28

Sourceaddress

6 2

CRC

4

Type0x8060

Padding

10

Ethernet II header

Hardware type (2 bytes)

Hardware address length (1 byte)

Protocol address length (1 byte)

Operation code (2 bytes)

Target hardware address*

Protocol type (2 bytes)

Sender hardware address*

Sender protocol address*

Target protocol address*

* Note: The length of the address fields is determined by the corresponding address length fields

Page 8: Address Resolution Protocol (ARP)

8

Example

• ARP Request from Argon:

Source hardware address: 00:a0:24:71:e4:44Source protocol address: 128.143.137.144Target hardware address: 00:00:00:00:00:00Target protocol address: 128.143.137.1

• ARP Reply from Router137:

Sender hardware address: 00:e0:f9:23:a8:20 Sender protocol address: 128.143.137.1 Target hardware address: 00:a0:24:71:e4:44Target protocol address: 128.143.137.144

Page 9: Address Resolution Protocol (ARP)

9

ARP Cache

• Since sending an ARP request/reply for each IP datagram is inefficient, hosts maintain a cache (ARP Cache) of current entries. The entries expire after 20 minutes.

• Contents of the ARP Cache:(128.143.71.37) at 00:10:4B:C5:D1:15 [ether] on eth0

(128.143.71.36) at 00:B0:D0:E1:17:D5 [ether] on eth0

(128.143.71.35) at 00:B0:D0:DE:70:E6 [ether] on eth0

(128.143.136.90) at 00:05:3C:06:27:35 [ether] on eth1

(128.143.71.34) at 00:B0:D0:E1:17:DB [ether] on eth0

(128.143.71.33) at 00:B0:D0:E1:17:DF [ether] on eth0

Page 10: Address Resolution Protocol (ARP)

10

Proxy ARP

• Proxy ARP: Host or router responds to ARP Request that arrives from one of its connected networks for a host that is on another of its connected networks.

128.143.137.1/1600:e0:f9:23:a8:20

128.143.71.1/24

128.143.0.0/16Subnet

128.143.71.0/24Subnet

Router137

ARP Request: What is the MAC address of 128.143.71.21?

128.143.137.144/16128.143.71.21/24

00:20:af:03:98:28

Argon Neon

ARP Reply: The MAC address of 128.143.71.21 is 00:e0:f9:23:a8:20

Page 11: Address Resolution Protocol (ARP)

11

Things to know about ARP

• What happens if an ARP Request is made for a non-existing host? Several ARP requests are made with increasing time

intervals between requests. Eventually, ARP gives up.

• On some systems (including Linux) a host periodically sends ARP Requests for all addresses listed in the ARP cache. This refreshes the ARP cache content, but also introduces traffic.

• Gratuitous ARP Requests: A host sends an ARP request for its own IP address:– Useful for detecting if an IP address has already been

assigned.

Page 12: Address Resolution Protocol (ARP)

12

Vulnerabilities of ARP

1. Since ARP does not authenticate requests or replies, ARP Requests and Replies can be forged

2. ARP is stateless: ARP Replies can be sent without a corresponding ARP Request

3. According to the ARP protocol specification, a node receiving an ARP packet (Request or Reply) must update its local ARP cache with the information in the source fields, if the receiving node already has an entry for the IP address of the source in its ARP cache. (This applies for ARP Request packets and for ARP Reply packets)

Typical exploitation of these vulnerabilities:• A forged ARP Request or Reply can be used to update the ARP cache of

a remote system with a forged entry (ARP Poisoning)• This can be used to redirect IP traffic to other hosts