SlideShare a Scribd company logo
CChhaapptteerr 99 
IInntteerrnneett CCoonnttrrooll MMeessssaaggee 
PPrroottooccooll 
Objectives 
Upon completion you will be able to: 
• Be familiar with the ICMP message format 
• Know the types of error reporting messages 
• Know the types of query messages 
• Be able to calculate the ICMP checksum 
• Know how to use the ping and traceroute commands 
• Understand the modules and interactions of an ICMP package 
TCP/IP Protocol Suite 1
Figure 9.1 Position of ICMP in the network layer 
TCP/IP Protocol Suite 2
Figure 9.2 ICMP encapsulation 
TCP/IP Protocol Suite 3
9.1 TYPES OF MESSAGES 
ICMP messages are divided into error-reporting mmeessssaaggeess aanndd qquueerryy 
mmeessssaaggeess.. TThhee eerrrroorr--rreeppoorrttiinngg mmeessssaaggeess rreeppoorrtt pprroobblleemmss tthhaatt aa rroouutteerr oorr 
aa hhoosstt ((ddeessttiinnaattiioonn)) mmaayy eennccoouunntteerr.. TThhee qquueerryy mmeessssaaggeess ggeett ssppeecciiffiicc 
iinnffoorrmmaattiioonn ffrroomm aa rroouutteerr oorr aannootthheerr hhoosstt.. 
TCP/IP Protocol Suite 4
Figure 9.3 ICMP messages 
TCP/IP Protocol Suite 5
TTaabbllee 99..11 IICCMMPP mmeessssaaggeess 
TCP/IP Protocol Suite 6
9.2 MESSAGE FORMAT 
An ICMP message has an 8-byte header and a variable-ssiizzee ddaattaa sseeccttiioonn.. 
AAlltthhoouugghh tthhee ggeenneerraall ffoorrmmaatt ooff tthhee hheeaaddeerr iiss ddiiffffeerreenntt ffoorr eeaacchh 
mmeessssaaggee ttyyppee,, tthhee ffiirrsstt 44 bbyytteess aarree ccoommmmoonn ttoo aallll.. 
TCP/IP Protocol Suite 7
Figure 9.4 General format of ICMP messages 
TCP/IP Protocol Suite 8
9.3 ERROR REPORTING 
IP, as an unreliable protocol, is not concerned with eerrrroorr cchheecckkiinngg aanndd 
eerrrroorr ccoonnttrrooll.. IICCMMPP wwaass ddeessiiggnneedd,, iinn ppaarrtt,, ttoo ccoommppeennssaattee ffoorr tthhiiss 
sshhoorrttccoommiinngg.. IICCMMPP ddooeess nnoott ccoorrrreecctt eerrrroorrss,, iitt ssiimmppllyy rreeppoorrttss tthheemm.. 
TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: 
DDeessttiinnaattiioonn UUnnrreeaacchhaabbllee 
SSoouurrccee QQuueenncchh 
TTiimmee EExxcceeeeddeedd 
PPaarraammeetteerr PPrroobblleemm 
RReeddiirreeccttiioonn 
TCP/IP Protocol Suite 9
NNoottee:: 
ICMP always reports error messages 
to the original source. 
TCP/IP Protocol Suite 10
Figure 9.5 Error-reporting messages 
TCP/IP Protocol Suite 11
NNoottee:: 
The following are important points about ICMP 
error messages: 
❏ No ICMP error message will be generated in response 
to a datagram carrying an ICMP error message. 
❏ No ICMP error message will be generated for a 
fragmented datagram that is not the first fragment. 
❏ No ICMP error message will be generated for a 
datagram having a multicast address. 
❏ No ICMP error message will be generated for a 
datagram having a special address such as 127.0.0.0 or 
0.0.0.0. 
TCP/IP Protocol Suite 12
Figure 9.6 Contents of data field for the error messages 
TCP/IP Protocol Suite 13
Figure 9.7 Destination-unreachable format 
TCP/IP Protocol Suite 14
NNoottee:: 
Destination-unreachable messages 
with codes 2 or 3 can be created only 
by the destination host. 
Other destination-unreachable 
messages can be created only by 
routers. 
TCP/IP Protocol Suite 15
NNoottee:: 
A router cannot detect all problems 
that prevent the delivery of a packet. 
TCP/IP Protocol Suite 16
NNoottee:: 
There is no flow-control mechanism in 
the IP protocol. 
TCP/IP Protocol Suite 17
Figure 9.8 Source-quench format 
TCP/IP Protocol Suite 18
NNoottee:: 
A source-quench message informs the 
source that a datagram has been 
discarded due to congestion in a router 
or the destination host. 
The source must slow down the 
sending of datagrams until the 
congestion is relieved. 
TCP/IP Protocol Suite 19
NNoottee:: 
One source-quench message is sent for 
each datagram that is discarded due to 
congestion. 
TCP/IP Protocol Suite 20
NNoottee:: 
Whenever a router decrements a 
datagram with a time-to-live value to 
zero, it discards the datagram and 
sends a time-exceeded message to the 
original source. 
TCP/IP Protocol Suite 21
NNoottee:: 
When the final destination does not 
receive all of the fragments in a set 
time, it discards the received fragments 
and sends a time-exceeded message to 
the original source. 
TCP/IP Protocol Suite 22
NNoottee:: 
In a time-exceeded message, code 0 is 
used only by routers to show that the 
value of the time-to-live field is zero. 
Code 1 is used only by the destination 
host to show that not all of the 
fragments have arrived within a set 
time. 
TCP/IP Protocol Suite 23
Figure 9.9 Time-exceeded message format 
TCP/IP Protocol Suite 24
NNoottee:: 
A parameter-problem message can be 
created by a router or the destination 
host. 
TCP/IP Protocol Suite 25
Figure 9.10 Parameter-problem message format 
TCP/IP Protocol Suite 26
Figure 9.11 Redirection concept 
TCP/IP Protocol Suite 27
NNoottee:: 
A host usually starts with a small 
routing table that is gradually 
augmented and updated. One of the 
tools to accomplish this is the 
redirection message. 
TCP/IP Protocol Suite 28
Figure 9.12 Redirection message format 
TCP/IP Protocol Suite 29
NNoottee:: 
A redirection message is sent from a 
router to a host on the same local 
network. 
TCP/IP Protocol Suite 30
9.4 QUERY 
ICMP can also diagnose some network problems tthhrroouugghh tthhee qquueerryy 
mmeessssaaggeess,, aa ggrroouupp ooff ffoouurr ddiiffffeerreenntt ppaaiirrss ooff mmeessssaaggeess.. IInn tthhiiss ttyyppee ooff 
IICCMMPP mmeessssaaggee,, aa nnooddee sseennddss aa mmeessssaaggee tthhaatt iiss aannsswweerreedd iinn aa ssppeecciiffiicc 
ffoorrmmaatt bbyy tthhee ddeessttiinnaattiioonn nnooddee.. 
TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: 
EEcchhoo RReeqquueesstt aanndd RReeppllyy 
TTiimmeessttaammpp RReeqquueesstt aanndd RReeppllyy 
AAddddrreessss--MMaasskk RReeqquueesstt aanndd RReeppllyy 
RRoouutteerr SSoolliicciittaattiioonn aanndd AAddvveerrttiisseemmeenntt 
TCP/IP Protocol Suite 31
Figure 9.13 Query messages 
TCP/IP Protocol Suite 32
NNoottee:: 
An echo-request message can be sent 
by a host or router. An echo-reply 
message is sent by the host or router 
which receives an echo-request 
message. 
TCP/IP Protocol Suite 33
NNoottee:: 
Echo-request and echo-reply messages 
can be used by network managers to 
check the operation of the IP protocol. 
TCP/IP Protocol Suite 34
NNoottee:: 
Echo-request and echo-reply messages 
can test the reachability of a host. This 
is usually done by invoking the ping 
command. 
TCP/IP Protocol Suite 35
Figure 9.14 Echo-request and echo-reply messages 
TCP/IP Protocol Suite 36
Figure 9.15 Timestamp-request and timestamp-reply message format 
TCP/IP Protocol Suite 37
NNoottee:: 
Timestamp-request and timestamp-reply 
messages can be used to 
calculate the round-trip time between 
a source and a destination machine 
even if their clocks are not 
synchronized. 
TCP/IP Protocol Suite 38
NNoottee:: 
The timestamp-request and timestamp-reply 
messages can be used to 
synchronize two clocks in two 
machines if the exact one-way time 
duration is known. 
TCP/IP Protocol Suite 39
Figure 9.16 Mask-request and mask-reply message format 
TCP/IP Protocol Suite 40
Figure 9.17 Router-solicitation message format 
TCP/IP Protocol Suite 41
Figure 9.18 Router-advertisement message format 
TCP/IP Protocol Suite 42
9.5 CHECKSUM 
In ICMP the checksum is calculated over the eennttiirree mmeessssaaggee ((hheeaaddeerr 
aanndd ddaattaa)).. 
TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: 
CChheecckkssuumm CCaallccuullaattiioonn 
CChheecckkssuumm TTeessttiinngg 
TCP/IP Protocol Suite 43
ExamplE 1 
Figure 9.19 shows an example of checksum calculation for a 
simple echo-request message (see Figure 9.14). We randomly 
chose the identifier to be 1 and the sequence number to be 9. 
The message is divided into 16-bit (2-byte) words. The words 
are added together and the sum is complemented. Now the 
sender can put this value in the checksum field. 
See Next Slide 
TCP/IP Protocol Suite 44
Figure 9.19 Example of checksum calculation 
TCP/IP Protocol Suite 45
9.6 DEBUGGING TOOLS 
We introduce two tools that use IICCMMPP ffoorr ddeebbuuggggiinngg:: ppiinngg aanndd 
ttrraacceerroouuttee.. 
TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: 
PPiinngg 
TTrraacceerroouuttee 
TCP/IP Protocol Suite 46
ExamplE 2 
We use the ping program to test the server fhda.edu. The result 
is shown below: 
$ ping fhda.edu 
PING fhda.edu (153.18.8.1) 56 (84) bytes of data. 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=1.91 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=1 ttl=62 time=2.04 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=2 ttl=62 time=1.90 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=3 ttl=62 time=1.97 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=4 ttl=62 time=1.93 ms 
See Next Slide 
TCP/IP Protocol Suite 47
ExamplE 2 (ContinuEd) 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=5 ttl=62 time=2.00 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=6 ttl=62 time=1.94 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=7 ttl=62 time=1.94 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=8 ttl=62 time=1.97 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=9 ttl=62 time=1.89 ms 
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=10 ttl=62 time=1.98 ms 
--- fhda.edu ping statistics --- 
11 packets transmitted, 11 received, 0% packet loss, time 10103ms 
rtt min/avg/max = 1.899/1.955/2.041 ms 
TCP/IP Protocol Suite 48
ExamplE 3 
For the this example, we want to know if the adelphia.net mail 
server is alive and running. The result is shown below: 
$ ping mail.adelphia.net 
PING mail.adelphia.net (68.168.78.100) 56(84) bytes of data. 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=0 ttl=48 time=85.4 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=1 ttl=48 time=84.6 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=2 ttl=48 time=84.9 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=3 ttl=48 time=84.3 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=4 ttl=48 time=84.5 ms 
See Next Slide 
TCP/IP Protocol Suite 49
ExamplE 3 (ContinuEd) 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=5 ttl=48 time=84.7 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=6 ttl=48 time=84.6 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=7 ttl=48 time=84.7 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=8 ttl=48 time=84.4 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=9 ttl=48 time=84.2 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=10 ttl=48 time=84.9 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=11 ttl=48 time=84.6 ms 
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=12 ttl=48 time=84.5 ms 
--- mail.adelphia.net ping statistics --- 
14 packets transmitted, 13 received, 7% packet loss, time 13129ms 
rtt min/avg/max/mdev = 84.207/84.694/85.469 
TCP/IP Protocol Suite 50
Figure 9.20 The traceroute program operation 
TCP/IP Protocol Suite 51
ExamplE 4 
We use the traceroute program to find the route from the 
computer voyager.deanza.edu to the server fhda.edu. The 
following shows the result: 
$ traceroute fhda.edu 
traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 byte packets 
1 Dcore.fhda.edu (153.18.31.254) 0.995 ms 0.899 ms 0.878 ms 
2 Dbackup.fhda.edu (153.18.251.4) 1.039 ms 1.064 ms 1.083 ms 
3 tiptoe.fhda.edu (153.18.8.1) 1.797 ms 1.642 ms 1.757 ms 
See Next Slide 
TCP/IP Protocol Suite 52
ExamplE 4 (ContinuEd) 
The un-numbered line after the command shows that the destination is 
153.18.8.1. The TTL value is 30 hops. The packet contains 38 bytes: 20 
bytes of IP header, 8 bytes of UDP header, and 10 bytes of application data. 
The application data is used by traceroute to keep track of the packets. 
The first line shows the first router visited. The router is named 
Dcore.fhda.edu with IP address 153.18.31.254. The first round trip time 
was 0.995 milliseconds, the second was 0.899 milliseconds, and the third 
was 0.878 milliseconds. 
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 
destination host because there are no more lines. The destination host is the 
server fhda.edu, but it is named tiptoe. fhda.edu with the IP address 
153.18.8.1. The three round trip times are also shown. 
TCP/IP Protocol Suite 53
ExamplE 5 
In this example, we trace a longer route, the route to 
xerox.com 
$ traceroute xerox.com 
traceroute to xerox.com (13.1.64.93), 30 hops max, 38 byte packets 
1 Dcore.fhda.edu (153.18.31.254) 0.622 ms 0.891 ms 0.875 ms 
2 Ddmz.fhda.edu (153.18.251.40) 2.132 ms 2.266 ms 2.094 ms 
... 
18 alpha.Xerox.COM (13.1.64.93) 11.172 ms 11.048 ms 10.922 ms 
Here there are 17 hops between source and destination. Note that some 
round trip times look unusual. It could be that a router is too busy to 
process the packet immediately. 
TCP/IP Protocol Suite 54
ExamplE 6 
An interesting point is that a host can send a traceroute packet 
to itself. This can be done by specifying the host as the 
destination. The packet goes to the loopback address as we 
expect. 
$ traceroute voyager.deanza.edu 
traceroute to voyager.deanza.edu (127.0.0.1), 30 hops max, 38 byte packets 
1 voyager (127.0.0.1) 0.178 ms 0.086 ms 0.055 ms 
TCP/IP Protocol Suite 55
ExamplE 7 
Finally, we use the traceroute program to find the route 
between fhda.edu and mhhe.com (McGraw-Hill server). We 
notice that we cannot find the whole route. When traceroute 
does not receive a response within 5 seconds, it prints an 
asterisk to signify a problem, and then tries the next hop.. 
$ traceroute mhhe.com 
traceroute to mhhe.com (198.45.24.104), 30 hops max, 38 byte packets 
1 Dcore.fhda.edu (153.18.31.254) 1.025 ms 0.892 ms 0.880 ms 
2 Ddmz.fhda.edu (153.18.251.40) 2.141 ms 2.159 ms 2.103 ms 
3 Cinic.fhda.edu (153.18.253.126) 2.159 ms 2.050 ms 1.992 ms 
... 
16 * * * 
17 * * * 
............... 
TCP/IP Protocol Suite 56
9.7 ICMP PACKAGE 
To give an idea of how ICMP can handle the sending aanndd rreecceeiivviinngg ooff 
IICCMMPP mmeessssaaggeess,, wwee pprreesseenntt oouurr vveerrssiioonn ooff aann IICCMMPP ppaacckkaaggee mmaaddee ooff 
ttwwoo mmoodduulleess:: aann iinnppuutt mmoodduullee aanndd aann oouuttppuutt mmoodduullee.. 
TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: 
IInnppuutt MMoodduullee 
OOuuttppuutt MMoodduullee 
TCP/IP Protocol Suite 57
Figure 9.21 ICMP package 
TCP/IP Protocol Suite 58

More Related Content

PPTX
IPV4 vs IPV6
PPTX
Network Layer
PPTX
Transport Layer In Computer Network
PPTX
Point to-point protocol (ppp)
PPT
Unit 5 Application Layer
PPTX
Ethernet and token ring
PPTX
Mac addresses(media access control)
IPV4 vs IPV6
Network Layer
Transport Layer In Computer Network
Point to-point protocol (ppp)
Unit 5 Application Layer
Ethernet and token ring
Mac addresses(media access control)

What's hot (20)

PPSX
Token ring
PPT
PPT
Internet control message protocol
PDF
Mobile Network Layer
PPTX
Computer Network - Network Layer
PPT
Datalinklayer tanenbaum
PPT
PPTX
Multicastingand multicast routing protocols
PPT
Chapter 4 data link layer
PPTX
Simple Mail Transfer Protocol
PPT
Chap 24 mobile ip
PPTX
Ipv4 and Ipv6
PPT
Congestion control and quality of service
PPT
Data link control
PPTX
The medium access sublayer
PPT
Network Layer,Computer Networks
PPTX
Unit 2 data link control
PDF
Multiple Access in Computer Network
PPTX
Congestion control
PPTX
IPv6 header
Token ring
Internet control message protocol
Mobile Network Layer
Computer Network - Network Layer
Datalinklayer tanenbaum
Multicastingand multicast routing protocols
Chapter 4 data link layer
Simple Mail Transfer Protocol
Chap 24 mobile ip
Ipv4 and Ipv6
Congestion control and quality of service
Data link control
The medium access sublayer
Network Layer,Computer Networks
Unit 2 data link control
Multiple Access in Computer Network
Congestion control
IPv6 header
Ad

Viewers also liked (20)

PPT
Chap 11 udp
PPT
PPT
Tcp Udp Icmp And The Transport Layer
PPT
5. icmp
PPT
Icmp V4 And Icmp V6
PPT
Chap 08 ip
PPT
Chap 02 osi model
PPT
Chap 27 next generation i pv6
PPT
Chap 12 tcp
PPT
Chap 28 security
PPT
Chap 10 igmp
PPTX
Chap2. ipv4-arp-icmp
PPTX
Internet protocol (ip) ppt
PPT
CCNA Icnd110 s00
PPTX
Bootstrapping with bootp and dhcp
PPTX
Chap 11 udp
Tcp Udp Icmp And The Transport Layer
5. icmp
Icmp V4 And Icmp V6
Chap 08 ip
Chap 02 osi model
Chap 27 next generation i pv6
Chap 12 tcp
Chap 28 security
Chap 10 igmp
Chap2. ipv4-arp-icmp
Internet protocol (ip) ppt
CCNA Icnd110 s00
Bootstrapping with bootp and dhcp
Ad

Similar to Chap 09 icmp (20)

PPT
icmp protocol.ppt
PPT
Internet Control Message Protocol for Computer Networks
PPT
Chap 25 multimedia
PPT
(Icmp) internet control message protocol version 4
PPT
Chap 13 stream control transmission protocol
PPT
User datagram protocol
PPTX
Internet control message protocol (ICMP)
PPT
PPT
Chap 21 snmp
PPT
Tc pdump mod
PDF
Please help with the below 3 questions, the python script is at the.pdf
PPTX
Reconsider TCPdump for Modern Troubleshooting
PPTX
User Datagram Protocol
PPTX
Networking essentials lect3
PPTX
Et3003 sem2-1314-8 network layers v (icmpv4)
PPTX
Network Layer Part 6
PPT
Troubleshooting basic networks
icmp protocol.ppt
Internet Control Message Protocol for Computer Networks
Chap 25 multimedia
(Icmp) internet control message protocol version 4
Chap 13 stream control transmission protocol
User datagram protocol
Internet control message protocol (ICMP)
Chap 21 snmp
Tc pdump mod
Please help with the below 3 questions, the python script is at the.pdf
Reconsider TCPdump for Modern Troubleshooting
User Datagram Protocol
Networking essentials lect3
Et3003 sem2-1314-8 network layers v (icmpv4)
Network Layer Part 6
Troubleshooting basic networks

More from Noctorous Jamal (19)

PPT
Chap 26 vpn
PPT
Chap 23 ip over atm
PPT
Chap 22 www http
PPT
Chap 20 smtp, pop, imap
PPT
Chap 19 ftp & tftp
PPT
Chap 18 telnet
PPT
Chap 17 dns
PPT
Chap 16 bootp & dhcp
PPT
Chap 15 multicasting
PPT
Chap 14 rip, ospf
PPT
Chap 07 arp & rarp
PPT
Chap 06 delivery and routing of ip packets
PPT
Chap 05 ip addresses classfless
PPT
Chap 04 ip addresses classful
PPT
Chap 03 underlying technology
PPT
Chap 01 intro
PPT
Lecture 8 The Communication System Finalterm Slides
PPT
Lecture 7 The Communication System Finalterm Slides
PPT
Lecture 6 The Communication System Finalterm Slides
Chap 26 vpn
Chap 23 ip over atm
Chap 22 www http
Chap 20 smtp, pop, imap
Chap 19 ftp & tftp
Chap 18 telnet
Chap 17 dns
Chap 16 bootp & dhcp
Chap 15 multicasting
Chap 14 rip, ospf
Chap 07 arp & rarp
Chap 06 delivery and routing of ip packets
Chap 05 ip addresses classfless
Chap 04 ip addresses classful
Chap 03 underlying technology
Chap 01 intro
Lecture 8 The Communication System Finalterm Slides
Lecture 7 The Communication System Finalterm Slides
Lecture 6 The Communication System Finalterm Slides

Recently uploaded (20)

PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Geodesy 1.pptx...............................................
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
PPT on Performance Review to get promotions
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Well-logging-methods_new................
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPT
Project quality management in manufacturing
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Arduino robotics embedded978-1-4302-3184-4.pdf
Geodesy 1.pptx...............................................
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Lecture Notes Electrical Wiring System Components
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
CH1 Production IntroductoryConcepts.pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPT on Performance Review to get promotions
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
CYBER-CRIMES AND SECURITY A guide to understanding
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Well-logging-methods_new................
Strings in CPP - Strings in C++ are sequences of characters used to store and...
bas. eng. economics group 4 presentation 1.pptx
Project quality management in manufacturing
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...

Chap 09 icmp

  • 1. CChhaapptteerr 99 IInntteerrnneett CCoonnttrrooll MMeessssaaggee PPrroottooccooll Objectives Upon completion you will be able to: • Be familiar with the ICMP message format • Know the types of error reporting messages • Know the types of query messages • Be able to calculate the ICMP checksum • Know how to use the ping and traceroute commands • Understand the modules and interactions of an ICMP package TCP/IP Protocol Suite 1
  • 2. Figure 9.1 Position of ICMP in the network layer TCP/IP Protocol Suite 2
  • 3. Figure 9.2 ICMP encapsulation TCP/IP Protocol Suite 3
  • 4. 9.1 TYPES OF MESSAGES ICMP messages are divided into error-reporting mmeessssaaggeess aanndd qquueerryy mmeessssaaggeess.. TThhee eerrrroorr--rreeppoorrttiinngg mmeessssaaggeess rreeppoorrtt pprroobblleemmss tthhaatt aa rroouutteerr oorr aa hhoosstt ((ddeessttiinnaattiioonn)) mmaayy eennccoouunntteerr.. TThhee qquueerryy mmeessssaaggeess ggeett ssppeecciiffiicc iinnffoorrmmaattiioonn ffrroomm aa rroouutteerr oorr aannootthheerr hhoosstt.. TCP/IP Protocol Suite 4
  • 5. Figure 9.3 ICMP messages TCP/IP Protocol Suite 5
  • 6. TTaabbllee 99..11 IICCMMPP mmeessssaaggeess TCP/IP Protocol Suite 6
  • 7. 9.2 MESSAGE FORMAT An ICMP message has an 8-byte header and a variable-ssiizzee ddaattaa sseeccttiioonn.. AAlltthhoouugghh tthhee ggeenneerraall ffoorrmmaatt ooff tthhee hheeaaddeerr iiss ddiiffffeerreenntt ffoorr eeaacchh mmeessssaaggee ttyyppee,, tthhee ffiirrsstt 44 bbyytteess aarree ccoommmmoonn ttoo aallll.. TCP/IP Protocol Suite 7
  • 8. Figure 9.4 General format of ICMP messages TCP/IP Protocol Suite 8
  • 9. 9.3 ERROR REPORTING IP, as an unreliable protocol, is not concerned with eerrrroorr cchheecckkiinngg aanndd eerrrroorr ccoonnttrrooll.. IICCMMPP wwaass ddeessiiggnneedd,, iinn ppaarrtt,, ttoo ccoommppeennssaattee ffoorr tthhiiss sshhoorrttccoommiinngg.. IICCMMPP ddooeess nnoott ccoorrrreecctt eerrrroorrss,, iitt ssiimmppllyy rreeppoorrttss tthheemm.. TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: DDeessttiinnaattiioonn UUnnrreeaacchhaabbllee SSoouurrccee QQuueenncchh TTiimmee EExxcceeeeddeedd PPaarraammeetteerr PPrroobblleemm RReeddiirreeccttiioonn TCP/IP Protocol Suite 9
  • 10. NNoottee:: ICMP always reports error messages to the original source. TCP/IP Protocol Suite 10
  • 11. Figure 9.5 Error-reporting messages TCP/IP Protocol Suite 11
  • 12. NNoottee:: The following are important points about ICMP error messages: ❏ No ICMP error message will be generated in response to a datagram carrying an ICMP error message. ❏ No ICMP error message will be generated for a fragmented datagram that is not the first fragment. ❏ No ICMP error message will be generated for a datagram having a multicast address. ❏ No ICMP error message will be generated for a datagram having a special address such as 127.0.0.0 or 0.0.0.0. TCP/IP Protocol Suite 12
  • 13. Figure 9.6 Contents of data field for the error messages TCP/IP Protocol Suite 13
  • 14. Figure 9.7 Destination-unreachable format TCP/IP Protocol Suite 14
  • 15. NNoottee:: Destination-unreachable messages with codes 2 or 3 can be created only by the destination host. Other destination-unreachable messages can be created only by routers. TCP/IP Protocol Suite 15
  • 16. NNoottee:: A router cannot detect all problems that prevent the delivery of a packet. TCP/IP Protocol Suite 16
  • 17. NNoottee:: There is no flow-control mechanism in the IP protocol. TCP/IP Protocol Suite 17
  • 18. Figure 9.8 Source-quench format TCP/IP Protocol Suite 18
  • 19. NNoottee:: A source-quench message informs the source that a datagram has been discarded due to congestion in a router or the destination host. The source must slow down the sending of datagrams until the congestion is relieved. TCP/IP Protocol Suite 19
  • 20. NNoottee:: One source-quench message is sent for each datagram that is discarded due to congestion. TCP/IP Protocol Suite 20
  • 21. NNoottee:: Whenever a router decrements a datagram with a time-to-live value to zero, it discards the datagram and sends a time-exceeded message to the original source. TCP/IP Protocol Suite 21
  • 22. NNoottee:: When the final destination does not receive all of the fragments in a set time, it discards the received fragments and sends a time-exceeded message to the original source. TCP/IP Protocol Suite 22
  • 23. NNoottee:: In a time-exceeded message, code 0 is used only by routers to show that the value of the time-to-live field is zero. Code 1 is used only by the destination host to show that not all of the fragments have arrived within a set time. TCP/IP Protocol Suite 23
  • 24. Figure 9.9 Time-exceeded message format TCP/IP Protocol Suite 24
  • 25. NNoottee:: A parameter-problem message can be created by a router or the destination host. TCP/IP Protocol Suite 25
  • 26. Figure 9.10 Parameter-problem message format TCP/IP Protocol Suite 26
  • 27. Figure 9.11 Redirection concept TCP/IP Protocol Suite 27
  • 28. NNoottee:: A host usually starts with a small routing table that is gradually augmented and updated. One of the tools to accomplish this is the redirection message. TCP/IP Protocol Suite 28
  • 29. Figure 9.12 Redirection message format TCP/IP Protocol Suite 29
  • 30. NNoottee:: A redirection message is sent from a router to a host on the same local network. TCP/IP Protocol Suite 30
  • 31. 9.4 QUERY ICMP can also diagnose some network problems tthhrroouugghh tthhee qquueerryy mmeessssaaggeess,, aa ggrroouupp ooff ffoouurr ddiiffffeerreenntt ppaaiirrss ooff mmeessssaaggeess.. IInn tthhiiss ttyyppee ooff IICCMMPP mmeessssaaggee,, aa nnooddee sseennddss aa mmeessssaaggee tthhaatt iiss aannsswweerreedd iinn aa ssppeecciiffiicc ffoorrmmaatt bbyy tthhee ddeessttiinnaattiioonn nnooddee.. TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: EEcchhoo RReeqquueesstt aanndd RReeppllyy TTiimmeessttaammpp RReeqquueesstt aanndd RReeppllyy AAddddrreessss--MMaasskk RReeqquueesstt aanndd RReeppllyy RRoouutteerr SSoolliicciittaattiioonn aanndd AAddvveerrttiisseemmeenntt TCP/IP Protocol Suite 31
  • 32. Figure 9.13 Query messages TCP/IP Protocol Suite 32
  • 33. NNoottee:: An echo-request message can be sent by a host or router. An echo-reply message is sent by the host or router which receives an echo-request message. TCP/IP Protocol Suite 33
  • 34. NNoottee:: Echo-request and echo-reply messages can be used by network managers to check the operation of the IP protocol. TCP/IP Protocol Suite 34
  • 35. NNoottee:: Echo-request and echo-reply messages can test the reachability of a host. This is usually done by invoking the ping command. TCP/IP Protocol Suite 35
  • 36. Figure 9.14 Echo-request and echo-reply messages TCP/IP Protocol Suite 36
  • 37. Figure 9.15 Timestamp-request and timestamp-reply message format TCP/IP Protocol Suite 37
  • 38. NNoottee:: Timestamp-request and timestamp-reply messages can be used to calculate the round-trip time between a source and a destination machine even if their clocks are not synchronized. TCP/IP Protocol Suite 38
  • 39. NNoottee:: The timestamp-request and timestamp-reply messages can be used to synchronize two clocks in two machines if the exact one-way time duration is known. TCP/IP Protocol Suite 39
  • 40. Figure 9.16 Mask-request and mask-reply message format TCP/IP Protocol Suite 40
  • 41. Figure 9.17 Router-solicitation message format TCP/IP Protocol Suite 41
  • 42. Figure 9.18 Router-advertisement message format TCP/IP Protocol Suite 42
  • 43. 9.5 CHECKSUM In ICMP the checksum is calculated over the eennttiirree mmeessssaaggee ((hheeaaddeerr aanndd ddaattaa)).. TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: CChheecckkssuumm CCaallccuullaattiioonn CChheecckkssuumm TTeessttiinngg TCP/IP Protocol Suite 43
  • 44. ExamplE 1 Figure 9.19 shows an example of checksum calculation for a simple echo-request message (see Figure 9.14). We randomly chose the identifier to be 1 and the sequence number to be 9. The message is divided into 16-bit (2-byte) words. The words are added together and the sum is complemented. Now the sender can put this value in the checksum field. See Next Slide TCP/IP Protocol Suite 44
  • 45. Figure 9.19 Example of checksum calculation TCP/IP Protocol Suite 45
  • 46. 9.6 DEBUGGING TOOLS We introduce two tools that use IICCMMPP ffoorr ddeebbuuggggiinngg:: ppiinngg aanndd ttrraacceerroouuttee.. TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: PPiinngg TTrraacceerroouuttee TCP/IP Protocol Suite 46
  • 47. ExamplE 2 We use the ping program to test the server fhda.edu. The result is shown below: $ ping fhda.edu PING fhda.edu (153.18.8.1) 56 (84) bytes of data. 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=1.91 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=1 ttl=62 time=2.04 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=2 ttl=62 time=1.90 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=3 ttl=62 time=1.97 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=4 ttl=62 time=1.93 ms See Next Slide TCP/IP Protocol Suite 47
  • 48. ExamplE 2 (ContinuEd) 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=5 ttl=62 time=2.00 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=6 ttl=62 time=1.94 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=7 ttl=62 time=1.94 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=8 ttl=62 time=1.97 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=9 ttl=62 time=1.89 ms 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=10 ttl=62 time=1.98 ms --- fhda.edu ping statistics --- 11 packets transmitted, 11 received, 0% packet loss, time 10103ms rtt min/avg/max = 1.899/1.955/2.041 ms TCP/IP Protocol Suite 48
  • 49. ExamplE 3 For the this example, we want to know if the adelphia.net mail server is alive and running. The result is shown below: $ ping mail.adelphia.net PING mail.adelphia.net (68.168.78.100) 56(84) bytes of data. 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=0 ttl=48 time=85.4 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=1 ttl=48 time=84.6 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=2 ttl=48 time=84.9 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=3 ttl=48 time=84.3 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=4 ttl=48 time=84.5 ms See Next Slide TCP/IP Protocol Suite 49
  • 50. ExamplE 3 (ContinuEd) 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=5 ttl=48 time=84.7 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=6 ttl=48 time=84.6 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=7 ttl=48 time=84.7 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=8 ttl=48 time=84.4 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=9 ttl=48 time=84.2 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=10 ttl=48 time=84.9 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=11 ttl=48 time=84.6 ms 64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=12 ttl=48 time=84.5 ms --- mail.adelphia.net ping statistics --- 14 packets transmitted, 13 received, 7% packet loss, time 13129ms rtt min/avg/max/mdev = 84.207/84.694/85.469 TCP/IP Protocol Suite 50
  • 51. Figure 9.20 The traceroute program operation TCP/IP Protocol Suite 51
  • 52. ExamplE 4 We use the traceroute program to find the route from the computer voyager.deanza.edu to the server fhda.edu. The following shows the result: $ traceroute fhda.edu traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 byte packets 1 Dcore.fhda.edu (153.18.31.254) 0.995 ms 0.899 ms 0.878 ms 2 Dbackup.fhda.edu (153.18.251.4) 1.039 ms 1.064 ms 1.083 ms 3 tiptoe.fhda.edu (153.18.8.1) 1.797 ms 1.642 ms 1.757 ms See Next Slide TCP/IP Protocol Suite 52
  • 53. ExamplE 4 (ContinuEd) The un-numbered line after the command shows that the destination is 153.18.8.1. The TTL value is 30 hops. The packet contains 38 bytes: 20 bytes of IP header, 8 bytes of UDP header, and 10 bytes of application data. The application data is used by traceroute to keep track of the packets. The first line shows the first router visited. The router is named Dcore.fhda.edu with IP address 153.18.31.254. The first round trip time was 0.995 milliseconds, the second was 0.899 milliseconds, and the third was 0.878 milliseconds. 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 destination host because there are no more lines. The destination host is the server fhda.edu, but it is named tiptoe. fhda.edu with the IP address 153.18.8.1. The three round trip times are also shown. TCP/IP Protocol Suite 53
  • 54. ExamplE 5 In this example, we trace a longer route, the route to xerox.com $ traceroute xerox.com traceroute to xerox.com (13.1.64.93), 30 hops max, 38 byte packets 1 Dcore.fhda.edu (153.18.31.254) 0.622 ms 0.891 ms 0.875 ms 2 Ddmz.fhda.edu (153.18.251.40) 2.132 ms 2.266 ms 2.094 ms ... 18 alpha.Xerox.COM (13.1.64.93) 11.172 ms 11.048 ms 10.922 ms Here there are 17 hops between source and destination. Note that some round trip times look unusual. It could be that a router is too busy to process the packet immediately. TCP/IP Protocol Suite 54
  • 55. ExamplE 6 An interesting point is that a host can send a traceroute packet to itself. This can be done by specifying the host as the destination. The packet goes to the loopback address as we expect. $ traceroute voyager.deanza.edu traceroute to voyager.deanza.edu (127.0.0.1), 30 hops max, 38 byte packets 1 voyager (127.0.0.1) 0.178 ms 0.086 ms 0.055 ms TCP/IP Protocol Suite 55
  • 56. ExamplE 7 Finally, we use the traceroute program to find the route between fhda.edu and mhhe.com (McGraw-Hill server). We notice that we cannot find the whole route. When traceroute does not receive a response within 5 seconds, it prints an asterisk to signify a problem, and then tries the next hop.. $ traceroute mhhe.com traceroute to mhhe.com (198.45.24.104), 30 hops max, 38 byte packets 1 Dcore.fhda.edu (153.18.31.254) 1.025 ms 0.892 ms 0.880 ms 2 Ddmz.fhda.edu (153.18.251.40) 2.141 ms 2.159 ms 2.103 ms 3 Cinic.fhda.edu (153.18.253.126) 2.159 ms 2.050 ms 1.992 ms ... 16 * * * 17 * * * ............... TCP/IP Protocol Suite 56
  • 57. 9.7 ICMP PACKAGE To give an idea of how ICMP can handle the sending aanndd rreecceeiivviinngg ooff IICCMMPP mmeessssaaggeess,, wwee pprreesseenntt oouurr vveerrssiioonn ooff aann IICCMMPP ppaacckkaaggee mmaaddee ooff ttwwoo mmoodduulleess:: aann iinnppuutt mmoodduullee aanndd aann oouuttppuutt mmoodduullee.. TThhee ttooppiiccss ddiissccuusssseedd iinn tthhiiss sseeccttiioonn iinncclluuddee:: IInnppuutt MMoodduullee OOuuttppuutt MMoodduullee TCP/IP Protocol Suite 57
  • 58. Figure 9.21 ICMP package TCP/IP Protocol Suite 58