1 00:00:00,420 --> 00:00:08,580 ‫Internet control message protocol ICMP is an error reporting protocol that network devices like routers 2 00:00:08,580 --> 00:00:15,720 ‫use to generate error messages to the source IP address when network problems prevent delivery of IP 3 00:00:15,720 --> 00:00:16,260 ‫packets. 4 00:00:17,360 --> 00:00:20,750 ‫ICMP messages are sent in several situations. 5 00:00:21,530 --> 00:00:27,680 ‫For example, when a data gram cannot reach its destination, when the Gateway does not have the buffering 6 00:00:27,680 --> 00:00:29,660 ‫capacity to forward a data gram. 7 00:00:30,500 --> 00:00:35,330 ‫And when a gateway can direct the host to send traffic on a shorter route. 8 00:00:36,710 --> 00:00:40,520 ‫The Internet protocol is not designed to be absolutely reliable. 9 00:00:41,270 --> 00:00:42,270 ‫No, I'll explain why. 10 00:00:42,290 --> 00:00:42,680 ‫Hold on. 11 00:00:43,710 --> 00:00:49,980 ‫The purpose of these control messages is to provide feedback about problems in the communication environment, 12 00:00:50,490 --> 00:00:52,320 ‫not to make IP reliable. 13 00:00:53,670 --> 00:00:59,100 ‫There's still no guarantees that a data Graham will be delivered or a control message will be returned. 14 00:01:00,120 --> 00:01:04,410 ‫Some two grams may still be undelivered without any report of their loss. 15 00:01:05,670 --> 00:01:13,530 ‫The higher level protocols that use IP must implement their own reliability procedures if reliable communication 16 00:01:13,530 --> 00:01:14,400 ‫is required. 17 00:01:16,220 --> 00:01:20,990 ‫So the ICMP headers start after the IPV four header. 18 00:01:22,340 --> 00:01:28,040 ‫All ICMP packets have an eight byte header and variable size data section. 19 00:01:29,240 --> 00:01:32,090 ‫The first four bytes of the header have a fixed format. 20 00:01:33,040 --> 00:01:37,840 ‫While the last four bites depend on the type and code of that ICMP packet. 21 00:01:39,380 --> 00:01:44,240 ‫ICMP type and code in the header identifies a control message. 22 00:01:45,320 --> 00:01:48,650 ‫Some of the ICMP control messages are shown in this slide. 23 00:01:49,340 --> 00:01:53,450 ‫So Ping is the most well known application of the ICMP. 24 00:01:54,650 --> 00:02:01,730 ‫It operates by sending ICMP Echo request packets to the target host and then waiting for an ICMP Echo 25 00:02:01,730 --> 00:02:02,300 ‫reply.