Professional Documents
Culture Documents
3 4
Address Resolution Protocol
(ARP) Figure 21.1 ARP operation
7 8
Figure 21.4 Four cases using ARP
Example 21.1 Figure 21.5 Example 21.1, an ARP request and reply
Solution
Figure 21.5 shows the ARP request and reply packets. Note that the
ARP data field in this case is 28 bytes, and that the individual
addresses do not fit in the 4-byte boundary. That is why we do not
show the regular 4-byte boundaries for these addresses.
11 12
Reverse ARP (RARP)
Figure 21.6 Proxy ARP
Figure 21.7 BOOTP client and server on the same and different networks
15 16
Dynamic Host Configuration
II. ICMP
Protocol (DHCP)
• Provides static and dynamic address allocation that can
be manual or automatic The IP protocol has no error-reporting or error-
• Static address allocation: Similar to BOOTP and also correcting mechanism. The IP protocol also lacks a
support BOOTP client mechanism for host and management queries. The
• Dynamic address allocation Internet Control Message Protocol (ICMP) has been
— DHCP client requests a temporary IP address designed to compensate for the above two deficiencies.
— DHCP server choose one from the pool of available (unused) IP
address It is a companion to the IP protocol.
— DHCP server assigns that IP address for a negotiable period of
time
• Good when host moves from network to network or is
Topics discussed in this section:
connected and disconnected from a network Types of Messages
• Client must renew the lease or stop using it when the Message Format
address lease expires Error Reporting and Query
17
Debugging Tools 18
• Destination unreachable
— Router or host cannot deliver a datagram
• Source quench
— Provide a tool for flow control
— When a router discard datagram due to congestion, it will send
source quench message to sender of datagram
— Inform source that datagram has been discarded
— Warn source that there is congestion and that it should slow
down • Parameter problem
— Router report ambiguous or missing value in a datagram header
• Time exceed
— Error in routing table can cause packet to loop indefinitely • Redirection
— Router decreases TTL by 1 every time it receives packet — Router notifies source that packet should be sent to another
router
— If the value reaches zero, router discards packet and send time
exceed message to original source — Datagram will still be forwarded to the correct router
— Also generated if not all fragments arrive within certain limit — Host will update its internal routing table after the notification
23 24
Figure 21.12 Query messages Figure 21.13 Encapsulation of ICMP query messages
27 28
Figure 21.14 Example of checksum calculation Example 21.3
We use the ping program to test the server fhda.edu. The result is
shown on the next slide. The ping program sends messages with
sequence numbers starting from 0. For each probe it gives us the
RTT time. The TTL (time to live) field in the IP datagram that
encapsulates an ICMP
message has been set to 62. At the beginning, ping defines the
number of data bytes as 56 and the total number of bytes as 84. It is
obvious that if we add 8 bytes of ICMP header and 20 bytes of IP
header to 56, the result is 84. However, note that in each probe ping
defines the number of bytes as 64. This is the total number of bytes in
the ICMP packet (56 + 8).
29 30
31 32
Figure 21.15 The traceroute program operation
ICMP Debugging tool: Traceroute
• Traceroute of packet from source to destination
• Packet is sent to destination with TTL = 1
• First router will discard packet (TTL = 0) and send ICMP
time-exceed message to sender
— Type 11, code 0
• Traceroute program uses source address in IP packet to
determine the router’s address
— Timing of each step is recorded and used for statistic calculation
• Process is repeated with TTL = 2, 3, 4, …
• Also use invalid UDP port to force destination to return
ICMP destination-unreachable message to sender
— Type 3, code 3
33 34
We use the traceroute program to find the route from the computer
The first line shows the first router visited. The router is named
voyager.deanza.edu to the server fhda.edu. The following shows the
Dcore.fhda.edu with IP address 153.18.31.254. The first round-trip
result:
time was 0.995 ms, the second was 0.899 ms, and the third was 0.878
ms.
The second line shows the second router visited. The router is named
Dbackup.fhda.edu with IP address 153.18.251.4. The three round-trip
times are also shown.
The third line shows the destination host. We know that this is the
The unnumbered line after the command shows that the destination is
destination host because there are no more lines. The destination host
153.18.8.1. The packet contains 38 bytes: 20 bytes of IP header, 8
bytes of UDP header, and 10 bytes of application data. The is the server fhda.edu, but it is named tiptoe.fhda.edu with the IP
application data are used by traceroute to keep track of the packets. address 153.18.8.1. The three round-trip times are also shown.
35 36
Example 21.5
Traceroute to Yahoo
In this example, we trace a longer route, the route to xerox.com.
Here there are 17 hops between source and destination. Note that
some round-trip times look unusual. It could be that a router was
too busy to process the packet immediately.
37 38
Traceroute to Nokia
Traceroute to TRUE Corporation
39 40
III. Multicasting Requirements for Multicasting
• Addresses that refer to group of hosts on one or • Router may have to forward more than one copy of
more networks packet
• Convention needed to identify multicast addresses
• Uses — IPv4 - Class D - start 1110
—Multimedia “broadcast” — IPv6 - 8 bit prefix, all 1, 4 bit flags field, 4 bit scope field, 112
• Distance learning and video-on-demand bit group identifier
—Informing multiple stockbrokers of change in stock • Nodes must translate between IP multicast addresses
price and list of networks containing group members
—Informing multiple travel agencies of plane • Router must translate between IP multicast address and
cancellation network (physical) multicast address
—Teleconferencing • Mechanism required for hosts to join and leave multicast
—Distributed Database and Distributed computing group
41 42
IV. IGMP
IGMP Functionalities
The IP protocol can be involved in two types of • IGMP manages multicast group membership
communication: unicasting and multicasting. The —Not a multicast routing protocol (Chapter 22)
Internet Group Management Protocol (IGMP) is one —Give multicast routers information about membership
of the necessary, but not sufficient, protocols that is status of a host or router
involved in multicasting. IGMP is a companion to the —Without membership status, router will have to
IP protocol. broadcast all multicast packets
• Leaving a group
—Host or router multicasts leave report to all routers
• IGMP operates locally – IP’s TTL always equals to 1 on its subnet
• A multicast router has a list of multicast addresses of the —Multicast router receiving this report additionally
groups with at least one member in its network verify that no other hosts is interested in this group
• Via special query message with multicast address of this
• Only one router distributes multicast packets destined for group
a given group • If there is no response, router purges the group from its list
• Only one router (R) distributes packets to 225.70.8.20 47 48
Monitoring the membership Example 21.6
• Router periodically sends a general query Imagine there are three hosts in a network, as shown in Figure 21.19.
message every 125 seconds with group id = A query message was received at time 0; the random delay time (in
0.0.0.0 tenths of seconds) for each group is shown next to the group address.
—Update status of all group memberships in its network Show the sequence of report messages.
—The general query message does not define a
particular group
• Only one router should send the query Solution
—Other routers receives responses and update their lists The events occur in this sequence:
a. Time 12: The timer for 228.42.0.0 in host A expires,
• Only one host in the network needs to respond and a membership report is sent, which is received by
—Each host picks a random timer before broadcasting the router and every host including host B which
the response (membership report) cancels its timer for 228.42.0.0.
—Other waiting hosts cancel their corresponding timer
49 50
Solution
a. The rightmost 3 bytes in hexadecimal is D4:18:09. We need to
subtract 8 from the leftmost digit, resulting in 54:18:09.
b. We add the result of part a to the Ethernet multicast starting •For network that does not support multicast (most
address , which is 01:00:5E:00:00:00. The result is
WAN), tunneling is used
59 60
Example 21.9 Example 21.9 (2)
We use netstat (see next slide) with three options: -n, -r,
and -a. The -n option gives the numeric versions of IP
addresses, the -r option gives the routing table, and the -a
option gives all addresses (unicast and multicast). Note that
we show only the fields relative to our discussion.
“Gateway” defines the router, “Iface” defines the interface.
63 64
Table 21.3 Comparison of error-reporting messages in ICMPv4 and ICMPv6 Table 21.4 Comparison of query messages in ICMPv4 and ICMPv6