34
1 Kyung Hee University Chapter 8 Chapter 8 ARP(Address ARP(Address Resolution Resolution Protocol) Protocol)

1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

Embed Size (px)

Citation preview

Page 1: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

11

Kyung Hee University

Chapter 8Chapter 8ARP(Address ARP(Address

Resolution Resolution Protocol)Protocol)

Page 2: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

22

Kyung Hee University

8.1 Address Mapping8.1 Address Mapping

Logical address

The hosts and routers are recognized at the network level by their logical address

Logical address is unique universal

IP addresses are logical address in TCP/IP and 32 bits long

Physical address

Local address

Should be unique locally, but not necessarily universally

Implemented in hardware

Imprinted on the NIC installed in the host or router

Page 3: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

33

Kyung Hee University

Address MappingAddress Mapping

Static mapping

Create a table that associates a logical address with a physical address

This table is stored in each machine on the network

The machine that know the IP address of another machine but not its physical address can look it up in table

When physical addresses are changed, a static mapping table must be updated periodically.

This overhead could affect network performance

Page 4: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

44

Kyung Hee University

Address MappingAddress Mapping

Dynamic mapping

The machine could know the logical address or physical address of another machine using following protocols

ARP (Address Resolution Protocol) – Mapping a logical address to a physical address

RARP (Reverse Address Resolution Protocol)– Mapping a physical address to a logical address

Since RARP is replaced with another protocol, we discuss only ARP protocol

Page 5: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

55

Kyung Hee University

8.2 ARP Protocol8.2 ARP Protocol

A host or a router has an IP datagram to send to

another host or router, it has the logical (IP) address of

the receiver

IP datagram must be encapsulated in a frame to be able to pass through the physical network

This means that the sender needs the physical address of the receiver

ARP accepts a logical address from the IP protocol,

maps the address to the corresponding physical

address and pass it to the data link layer.

Page 6: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

66

Kyung Hee University

Position of ARP in TCP/IP Protocol SuitePosition of ARP in TCP/IP Protocol Suite

Page 7: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

77

Kyung Hee University

ARP OperationARP Operation

TCP/IP Protocol Suite

LAN

a. ARP request is multicast

SystemA System B

b. ARP reply is unicast

LAN

SystemA System B

Looking for physical address of anode with IP address 141.23.56.23

Request

The node physical addressis A4:6E:F4:59:83:AB

Reply

Page 8: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

88

Kyung Hee University

ARP PacketARP Packet

Page 9: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

99

Kyung Hee University

ARP PacketARP Packet

Hardware type : define the type of the network (Ethernet : 1)

Protocol type : define the protocol (IPv4 : 080016)

Hardware length : define the length of the physical address in bytes

Protocol length : define the length of logical address in byte

Operation : define the type of packet

ARP request (1), ARP reply (2)

Sender hardware address : define the physical address of the sender

Sender protocol address : define the logical address of the sender

Target hardware address : define the physical address of the target

Target protocol address : define the logical address of the target

Page 10: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1010

Kyung Hee University

Encapsulation of ARP PacketEncapsulation of ARP Packet

DataPreambleand SFD

Destinationaddress

Sourceaddress

Type CRC

8 bytes 6 bytes 6 bytes 2 bytes 4 bytes

Type: 0x0806

Page 11: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1111

Kyung Hee University

ARP OperationARP Operation

Encapsulation operation of ARP process

① The sender knows the IP address of target

② IP asks ARP to create an ARP request message

③ The message is passed to the link layer where it is encapsulated in an frame using the physical address of the sender as the source address and the physical broadcast address as the destination address

④ Every host or router receives the frame and passes it to ARP

⑤ The target machine replies with an ARP reply message that contains tis physical address

⑥ The sender receives the reply message and knows the physical address of the target machine

⑦ The IP datagram, which carries data for the target machine, is now encapsulated in a frame and is unicast to the destination

Page 12: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1212

Kyung Hee University

Four Different CasesFour Different Cases

The sender is a host and wants to send a packet to

another host on the same network

The sender is a host and wants to send a packet to

another host on another network

The sender is a router that has received a datagram

designed for a host on another network

The sender is a router that has received a datagram

designed for a host in the same network

Page 13: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1313

Kyung Hee University

Four Cases Using ARPFour Cases Using ARP

Page 14: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1414

Kyung Hee University

Example 8.1Example 8.1

A host with IP address 130.23.43.20 and physical address

B2:34:55:10:22:10 has a packet to send to another host with IP

address 130.23.43.25 and physical address A4:6E:F4:59:83:AB

(which is unknown to the first host). The two hosts are on the

same Ethernet network. Show the ARP request and reply

packets encapsulated in Ethernet frames.

Solution

Figure 8.6 shows the ARP request and reply packet. Note that

the ARP data field in this case is 28 bytes, and that the

individual addresses do not fit in the 4-byte boundaries for

these addresses. Also note that the IP addresses are shown in

hexadecimal.

Page 15: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1515

Kyung Hee University

Figure 8.6Figure 8.6

Page 16: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1616

Kyung Hee University

Proxy ARPProxy ARP

Used to create a subnetting effect

The proxy ARP router repliesto any ARP request receivedfor destinations 141.23.56.21,141.23.56.22, and 141.23.56.23.

Router or hostProxy ARP

router

141.23.56.21 141.23.56.22 141.23.56.23

Added subnetwork

Page 17: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1717

Kyung Hee University

8.4 ARP Package8.4 ARP Package

ARP package involves five components

Cache table

Queue

Output module

Input module

Cache-control module

Page 18: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1818

Kyung Hee University

ARP ComponentsARP Components

Page 19: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

1919

Kyung Hee University

ARP PackageARP Package

Cache table

Inefficient to use the ARP protocol for each datagram destined for the same host or router

When a host or router receives the corresponding physical address for an IP datagram, the address can be saved in the cache table

This address can be used for the datagram destined for the same receiver within the next few miniute

As space in the cache table is very limited, mappings in the cache are not retained for an unlimited time

Page 20: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2020

Kyung Hee University

ARP PackageARP Package

Entry of cache table

State : state of entry, FREE, PENDING, RESOLVED

Hardware type : same as the field in ARP packet

Hardware length : same as the field in ARP packet

Protocol length : same as the field in ARP packet

Interface number : a router can be connected to different networks, each with a different interface number

Queue number : ARP uses numbered queue to enqueue the packets waiting for address resolution

Attempts :number of times an ARP request is sent out for this entry

Time-out : the lifetime of an entry in seconds

Hardware address : destination hardware address

Protocol address : the destination IP address

Page 21: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2121

Kyung Hee University

ARP Package – Five ComponentsARP Package – Five Components

Output module

Page 22: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2222

Kyung Hee University

ARP Package – Five ComponentsARP Package – Five Components

Input module

Page 23: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2323

Kyung Hee University

ARP Package – Five ComponentsARP Package – Five Components

Cache control module

Page 24: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2424

Kyung Hee University

ARP Package – Five ComponentsARP Package – Five Components

Cache control module

Page 25: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2525

Kyung Hee University

Original Cache Table Used for ExampleOriginal Cache Table Used for Example

Page 26: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2626

Kyung Hee University

Example 8.2Example 8.2

The ARP output module receives an IP datagram (from

the IP layer) with the destination address 114.5.7.89. It

checks the cache table and finds that an entry exists for

this destination with the RESOLVED state (R in the

table). It extracts the hardware address, which is

457342ACAE32, and sends the packet and the address

to the data link layer for transmission. The cache table

remains the same.

Page 27: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2727

Kyung Hee University

Example 8.3Example 8.3

Twenty seconds later, the ARP output module receives

an IP datagram (from the IP layer) with the destination

address 116.1.7.22. It checks the cache table and does

not find this destination in the table. The module adds

an entry to the table with the state PENDING and the

Attempt value 1. It creates a new queue for this

destination and enqueues the packets. It then sends an

ARP request to the data link layer for this destination.

The new cache table is shown in Table 8.6

Page 28: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2828

Kyung Hee University

Table 8.6 Updated Cache Table for Example 8.3Table 8.6 Updated Cache Table for Example 8.3

Page 29: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

2929

Kyung Hee University

Example 8.4Example 8.4

Fifteen seconds later, the ARP input module receives

an ARP packet with target protocol (IP) address

188.11.8.71. The module checks the table and finds this

address. It changes the state of the entry to RESOLVED

and sets the time-out value to 900. The module then

adds the target hardware address (E34573242ACA) to

the entry. Now it accesses queue 18 and sends all the

packets in this queue, one by one, to the data link layer.

The new cache table is shown in Table 8.7

Page 30: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

3030

Kyung Hee University

Updated Cache Table for Example 8.4Updated Cache Table for Example 8.4

Page 31: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

3131

Kyung Hee University

Example 8.5Example 8.5

Twenty-five seconds later, the cache-control module

updates every entry. The time-out values for the first

three resolved entries are decremented by 60. The time-

out value for the lastresolved entry is decremented by

25. The state of the next-to-the last entry is changed to

FREE because the time-out is zero. For each of the

there pending entries, the value of the attempts field is

incremented by one. After incrementing, the attempts

value for one entry (the one with IP address 201.11.56.7)

is more than maximum; the state is changed to FREE,

the queue is deleted, and an ICMP message is sent to

the original destination.

Page 32: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

3232

Kyung Hee University

Table 8.8 Updated Cache Table for Example 8.5Table 8.8 Updated Cache Table for Example 8.5

Page 33: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

3333

Kyung Hee University

8.7 Summary8.7 Summary

Delivery of a packet to a host or router requires two levels of address: logical and physical. A logical address identifies a host or router at the network level. TCP/IP calls this logical address an IP address. A physical address identifies a host or router at the physical level

Mapping of a logical address to a physical address can be static or dynamic. Static mapping involves a list of logical and physical address; maintenance of the list requires high overhead

The address resolution protocol (ARP) is a dynamic mapping method that finds a physical address given a logical address. An ARP request is broadcast to all devices on the network. An ARP reply is unicast to the host requesting the mapping

Page 34: 1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)

3434

Kyung Hee University

8.7 Summary8.7 Summary

In proxy ARP, a router represents a set of hosts. When an ARP request seeks the physical address of any host in this set, the router sends its own physical address. This creates a subnetting effect.

ATMARP is a protocol used on ATM networks that binds a physical address to an IP address. The ATMARP server’s mapping table is built through the use of the inverse request and the inverse reply messages. An ATM network can be divided into logical subnetworks to facilitate ATMARP and other protocol operations.

The ARP software package consists of five components: a cache table, queue, an output module, an input module, and a cache-control module. The cache table has an array of entries used and updated by ARP messages. A queue contains packets going to the same destination. The output module takes a packet from the IP layer and sends it either to the data link later or to a queue. The input module uses an ARP packet to update the cache table. The input module can also send an ARP reply. The cache-control module maintains the cache table by updating entry fields.