Transcript Chapter 23

Chapter 23
Internetworking
Part 3
(Control Messages,
Error Handling, ICMP)
1
IP Semantics
IP
is best-effort
Datagrams can be
Lost
Delayed
Duplicated
Delivered
out of order
Corrupted
2
Error Detection
IP
does not
Introduce
errors
Ignore all errors
Errors
detected
Corrupted
bits
Illegal addresses
Routing loops
Fragment loss
3
Problems and Solutions
Corrupted header bits
Header
checksum
Illegal destination address
Routing
tables
Routing loop
Time-To-Live
(TTL) field
Fragment loss
Timeout
4
Internet Control Message
Protocol (ICMP)
Separate protocol for
Errors
Information
Required part
of IP
Sends error messages to original source
5
Example ICMP Message Types
ICMPv6 "type" Numbers
Type codes
0-127 (Error messages)
128-255 (Informational messages)
----------------------------------------------1
Destination Unreachable
2
Packet Too Big
3
Time Exceeded
4
Parameter Problem
100
Private experimentation
102-126 Unassigned
----------------------------------------------128
Echo Request
129
Echo Reply
130
Multicast Listener Query
131
Multicast Listener Report
…
6
Example ICMP Messages
Source Quench
Sent
by router
Triggered by datagram overrun
Requests sending host(s) to slow data
7
Example ICMP Messages
(continued)
Time exceeded
Sent
by router
 TTL
on datagram reached zero
 Not a request for retransmission
Sent
by host
 Reassembly
timeout (some fragments lost)
8
Example ICMP Messages
(continued)
Destination unreachable
Specifies
whether
 Destination
network unreachable
 Destination host unreachable
 Protocol port on destination unreachable
9
Example ICMP Messages
(continued)
Redirect
Sent
by router
Goes to host on local network
Host used incorrect initial router
Requests host to change routes
10
Example ICMP Messages
(continued)
Echo request and reply
Not
an error
Tests whether destination reachable
Request sent by ping program
Reply sent by ICMP on destination computer
11
ICMP Message Transport
Error
messages go back to original source
(may cross internet)
Messages carried in IP
12
Illustration of ICMP
Message Encapsulation
Two levels of encapsulation
IP
type field specifies ICMP
13
Avoiding an Infinite Loop
What happens if:
Datagram
D causes an ICMP error message, I1
Error message I1 causes another error, which
generates ICMP message I2
Message I2 generates another error, I3
Error messages cascade
To avoid the
No
problem
error messages about ICMP error messages
14
Path MTU Discovery
IP
datagram header contains a bit to specify
no fragmentation allowed
ICMP sends an error message when
fragmentation required but not permitted
Technique
Probe
to find largest MTU that does not generate
an error message
Note:
MTU not generated if routes change
15
Traceroute
Traceroute works by
increasing the "time-tolive" value of each successive batch of
packets sent. When a packet passes through
a router, the router decrements the TTL value
by one. When a packet with a TTL of one
reaches a router, the packet is discarded and
an ICMP time exceeded (type 11) packet is
sent back to the sender.
16
Summary
IP
uses best-effort delivery semantics
IP includes mechanisms to detect errors
Header
checksum
Time-to-live field
17
Summary (continued)
Internet Control Message Protocol
Has
both error and informational messages
Closely integrated with IP
ICMP messages
 Encapsulated
in IP
 Sent back to original source
Used
by diagnostic programs like ping
18