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