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