1 / 30

Internet Protocol: Error and Control Messages (ICMP)

Internet Protocol: Error and Control Messages (ICMP). Chapter 8. We have Unreliable Connectionless datagram delivery… Need a way to inform original source if: Router cannot forward or deliver a datagram Router detects unusual condition affecting the ability to forward a datagram

ileneb
Download Presentation

Internet Protocol: Error and Control Messages (ICMP)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet Protocol: Error and Control Messages (ICMP) Chapter 8

  2. We have • Unreliable • Connectionless datagram delivery… • Need a way to inform original source if: • Router cannot forward or deliver a datagram • Router detects unusual condition affecting the ability to forward a datagram • Original source will need to avoid or correct the problem

  3. Internet Control Message Protocol • Routers operate autonomously • If everything works correctly, all ok. But: • Communication lines fail • Processors fail • Destination machines get disconnected from the network • TTL counters expire • Intermediate routers get congested

  4. In an internet, no special hardware mechanisms to inform hosts of problems • Don’t know if failure is local or remote problem • Debugging is difficult • IP has nothing itself to help out • Added special-purpose message mechanism • Internet Control Message Protocol (ICMP) • Considered a required part of IP

  5. ICMP messages travel in data portion of IP datagrams • ICMP: • Allows sending of error or control messages to other routers or hosts • Provides communication between IP software on one machine and IP software on another • ICMP module handles ICMP messages • Any machine can send an ICMP message

  6. Error Reporting vs Correction • ICMP is technically a reporting mechanism • ICMP only reports error condition to source • Source must relate error to a specific application program or take other action • Most errors stem from original source • Some do not • ICMP only informs original source • Source may not be able to determine problem

  7. Have to restrict communication to original source: • Datagrams don’t usually record complete route • Can’t know path taken to a given router • So cannot inform intermediate routers • Inform original source • Hope host administrators and network administrators will cooperate to solve problem

  8. ICMP Message Delivery • ICMP uses two levels of encapsulation • ICMP message in datagram data portion • Datagram in frame data portion • Datagrams carrying ICMP messages: • Are forwarded the same way as others • May themselves get lost or discarded • May cause further congestion

  9. Figure 8.1

  10. Exception for error messages • ICMP messages not generated if error results from datagram carrying ICMP error message • ICMP not a higher-level protocol • It is a required part of IP • IP used to carry because messages may have to travel across several networks • Cannot be delivered by physical transport alone

  11. ICMP Message Format • Each ICMP message has own format • But, all begin with three fields: • 8-bit integer message TYPE • 8-bit CODE field • 16-bit CHECKSUM • Also includes first 64 data bits of datagram causing the problem

  12. Echo Reply and Request (0 & 8) • Command on many systems is ping • Sends echo request to a machine • Receiver sends echo reply to sender • Tests if destination is reachable & responding • Verifies source, outbound path, destination, and return path • Sophisticated versions send a series of requests and provide statistics about datagram loss

  13. C:\>ping google.com Pinging google.com [64.233.187.99] with 32 bytes of data: Reply from 64.233.187.99: bytes=32 time=31ms TTL=239 Reply from 64.233.187.99: bytes=32 time=32ms TTL=239 Reply from 64.233.187.99: bytes=32 time=31ms TTL=239 Reply from 64.233.187.99: bytes=32 time=30ms TTL=239 Ping statistics for 64.233.187.99: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 30ms, Maximum = 32ms, Average = 31ms C:\>

  14. Echo request and reply message format:

  15. Unreachable Destination (3) • Sent when router cannot forward or deliver a datagram

  16. Discarding datagrams not taken lightly • Messages sent when router determines destination unreachable • Network unreachable: usually forwarding failure • Host unreachable: usually delivery failure • 13 types possible; specified in CODE field • However, routers cannot know all delivery failures • Destination on Ethernet • Network HW doesn’t provide acknowledgements

  17. Source Quench (4) • Congestion: routers overrun with traffic • Can happen for two reasons: • High-speed computer generate traffic too fast for network to handle • Many computers sending thru same router • Datagrams buffered if arrive too fast • Helps with small burst • If continues, memory gets exhausted

  18. Source quench used to report congestion • Requests source to reduce rate of transmission • Usually one message per discarded datagram • May be more sophisticated • Quench source with highest transmission rate • Avoid congestion by sending before overflow

  19. Redirect (Route Change)(5) • Routers are assumed to know correct routes • Hosts begin with minimal forwarding info • Usually know the address of single router • Learn new routes from routers • One way is the ICMP redirect message • Router detects host using a non-optimal route • Redirect requests the host change its route • Host routing table stays small but optimal

  20. Limitation: • Only have interactions between directly connected host and router • Later routers cannot send ICMP redirect • Don’t know non-directly connected router’s address • Redirect not used to solve general problem of propagating routing information Code 0: redirect for net Code 2: redirect for TOS and net Code 1: redirect for host Code 3: redirect for TOS and host

  21. Figure 8.7

  22. Time Exceeded (11) • Can get routing cycles • R1 sends datagrams for D to R2 • R2 sends datagrams for D to R1 • TTL (hop count) timer used to stop circle • ICMP time exceededmessage: • Sent when datagram discarded due to TTL=0 • Or, when timed out waiting for datagram fragments

  23. Code 0: TTL count exceeded Code 1: Fragment reassembly time exceeded

  24. Parameter Problem (12) • Problem exists with a datagram • Severe enough to cause it to be discarded • Uses pointer to ID octet that caused the problem Code 1: required option is missing (pointer field not used)

  25. Timestamp Request & Reply (13 or 14) • Can have clock synchronization problem • Widely different clocks can confuse operations • Several protocols exist to synchronize clocks • One of simplest: • Machine sends ICMP timestamp request message • Receiver returns a timestamp reply

  26. From originate time: - can compute total time From receive & transmit times: - can compute network transit time Then estimate differences in clocks

  27. Information Request and Reply (15 or 16)*OBSOLETE* • Intended to allow hosts to discover internet address at startup • Made obsolete by DHCP

  28. Address Mask Request & Reply (17 or 18)*OBSOLETE* • Chap 9 – motivation for subnets • Understand for now: • Some bits in hostid identify a physical network • Host needs to know: • Which bits correspond to the physical network • Which bits correspond to the host identifiers • Subnet mask: • 32-bit quantity allowing address interpretation • Intended to allow host to obtain the address mask used on the local network • Made obsolete by DHCP

  29. Router Solicitation & Advertisement*OBSOLETE* • Intended to allow a host to discover routers available on the local network • Made obsolete by DHCP • Two differences from DHCP: • Host got info directly from router • Prevented hosts from retaining routes after a router crashes (soft state technique) • Routers advertise their information periodically • Host discards route when timer for it expires

  30. Summary • Routers may need to communicate with network software on a particular host • Report abnormal condition • Send control information • Internet Control Message Protocol is used • Travels in data area of IP datagram • Three fixed-length fields at the beginning • Message type determines rest of format

More Related