slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Chapter 9 PowerPoint Presentation

Chapter 9

173 Views Download Presentation
Download Presentation

Chapter 9

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Chapter 9 Internet Control Message Protocol 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

  2. Figure 9.1Position of ICMP in the network layer TCP/IP Protocol Suite

  3. Figure 9.2ICMP encapsulation Note that ICMP messages are encapsulated within IP datagrams. TCP/IP Protocol Suite

  4. Table 9.1 ICMP messages ICMP messages are divided into error-reporting messages and query messages. The error-reporting messages report problems that a router or a host (destination) may encounter. The query messages get specific information from a router or another host. TCP/IP Protocol Suite

  5. Figure 9.4General format of ICMP messages All the ICMP messages are different. The only thing that is common amongst all is the first 4 bytes. Type field tells what type of message (as we saw on the previous slide); Code field gives further information on the type of message. TCP/IP Protocol Suite

  6. 9.3 ERROR REPORTING IP, as an unreliable protocol, is not concerned with error checking and error control. ICMP was designed, in part, to compensate for this shortcoming. ICMP does not correct errors, it simply reports them. ICMP always reports the message back to the source. The topics discussed in this section include: Destination Unreachable Source Quench Time Exceeded Parameter Problem Redirection TCP/IP Protocol Suite

  7. Figure 9.5Error-reporting messages TCP/IP Protocol Suite

  8. Note: 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 or TCP/IP Protocol Suite

  9. Figure 9.6Contents of data field for the error messages Destination Unreachable When a router cannot route a datagram or a host cannot deliver a datagram, the datagram is discarded and the router or host sends a destination-unreachable ICMP message. There are 15 different codes: network unreachable(0); host unreachable(1); protocol unreachable(2); port unreachable(3); fragmentation required but DF bit set(4); source routing cannot be accomplished (5); destination network unknown(6); destination host unknown(7); source host isolated(8); communication with destination network is prohibited(9); and six more TCP/IP Protocol Suite

  10. Figure 9.7Destination-unreachable format TCP/IP Protocol Suite

  11. Note: 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

  12. Figure 9.7Destination-unreachable format Example. The following IP packet has just been received. What is it telling us? 45 00 00 38 F2 3A 01 30 3F 01 01 3E 43 2A 04 CD 23 9A BC FE 03 03 1C 4F 00 00 00 00 …….. TCP/IP Protocol Suite

  13. Figure 9.7Destination-unreachable format Answer. The following IP packet has just been received. What is it telling us? 45 00 00 38 F2 3A 01 30 3F 01 01 3E 43 2A 04 CD 23 9A BC FE 03 03 1C 4F 00 00 00 00 …….. IP: Ver=4; hlen=20; total len=56; … ICMP: type=3; code=3; … TCP/IP Protocol Suite

  14. Figure 9.8Source-quench format There is no flow control mechanism in IP, so ICMP allows a router to tell a source to slow down (we just discarded one of your datagrams because our buffers are full). This is source quench. One source quench message is sent for each datagram discarded. TCP/IP Protocol Suite

  15. Figure 9.9Time-exceeded message format When a router decrements a Time-to-Live counter to zero, the datagram is tossed and a time-exceeded message is returned to the source. Likewise if a destination does not receive all the fragments in a set amount of time. TCP/IP Protocol Suite

  16. Note: 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

  17. Figure 9.9Time-exceeded message format Example. An IP packet was sent to a site that is unreachable. What is the IP packet that will be returned to the source? TCP/IP Protocol Suite

  18. Figure 9.10Parameter-problem message format A parameter problem message can be created by a router or the destination host. Code 0 - there is an error or ambiguity in one of the header fields. Code 1 - the required part of an option is missing. TCP/IP Protocol Suite

  19. Figure 9.11Redirection concept Routers are constantly updating themselves with new routing information. Not so with hosts. A host has to know where the next router is too, but its table is usually static (for efficiency). Host routing tables start off small, usually with only one entry - the default router. When the host sends a datagram to the wrong router (because its routing table is incomplete), the router that receives the datagram sends the datagram to the correct router AND sends a redirection message to the host. The host uses this info to update its routing table. TCP/IP Protocol Suite

  20. Figure 9.11Redirection concept TCP/IP Protocol Suite

  21. Figure 9.12Redirection message format TCP/IP Protocol Suite

  22. 9.4 QUERY ICMP can also diagnose some network problems through the query messages, a group of four different pairs of messages. In this type of ICMP message, a node sends a message that is answered in a specific format by the destination node. The four different types of request and reply are: Echo Request and Reply Timestamp Request and Reply Address-Mask Request and Reply Router Solicitation and Advertisement TCP/IP Protocol Suite

  23. Note: 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

  24. Note: Echo-request and echo-reply messages can be used by network managers to check the operation of the IP protocol. If a router returns a reply, then it and IP are working. TCP/IP Protocol Suite

  25. Note: 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

  26. Figure 9.14Echo-request and echo-reply messages Identifier field and Sequence number field are not used and can be arbitrarily set by the sender. Identifier field is often the same as the process ID. TCP/IP Protocol Suite

  27. Note: 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

  28. Note: 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

  29. Figure 9.15Timestamp-request and timestamp-reply message format Sending time = receive timestamp - original timestamp Receiving time = returned time - transmit time Round-trip time = sending time + receiving time TCP/IP Protocol Suite

  30. Figure 9.15Timestamp-request and timestamp-reply message format Example - An IP and ICMP packet comes back with the following information: Original timestamp = 46 Receive timestamp = 59 Transmit timestamp = 60 Return time = 67 What is: Sending time = Receiving time = Round-trip time = TCP/IP Protocol Suite

  31. Figure 9.16Address-mask-request and address-mask-reply message format If a thin-client host does not know its IP mask, it may issue an address-mask-request. Can also use BOOTP or DHCP to obtain this information. Address mask is 0 in request message. Identifier and Sequence number fields are not used. TCP/IP Protocol Suite

  32. Figure 9.17Router-solicitation message format How does a host find out what routers are connected to its own network? Or if those routers are functioning? It can send out a router-solicitation message. This can be broadcast on current network. Identifier and Sequence number fields are not used. TCP/IP Protocol Suite

  33. Figure 9.18Router-advertisement message format This is the reply that comes back from the previous request. Lifetime field shows the number of seconds that the entries are considered to be valid. If address preference = 0, then this should be the default router. TCP/IP Protocol Suite

  34. Figure 9.18Ping and Traceroute Ping and Traceroute (in Unix) and Ping and Tracert in Microsoft both use ICMP and its various options to perform. For the Ping command, the source host sends ICMP echo request messages (type 8, code 0); the destination,if alive, responds with ICMP echo reply messages. TCP/IP Protocol Suite

  35. 9.7 ICMP PACKAGE To give an idea of how ICMP can handle the sending and receiving of ICMP messages, we present our version of an ICMP package made of two modules: an input module and an output module. The topics discussed in this section include: Input Module Output Module TCP/IP Protocol Suite

  36. Figure 9.21ICMP package TCP/IP Protocol Suite