What is the Internet Control Message Protocol (ICMP)?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
we've discussed several parts of the core internet protocol suite we talked about the ip layer that provides best effort packet delivery between hosts we've talked a little bit about tcp and udp which are used by clients to establish reliable or unreliable data transmission from one end of the internet to the other but we haven't talked about something called icmp icmp is considered to be part of the internet protocol suite along with tcp udp and ip but it's actually different than those other protocols it's referred to as the internet control message protocol and that's sort of your hint icmp in contrast to those other protocols it's not for data it's really designed for routers and other computers that are connected to the internet to exchange information particularly about routing about reachability about you know did i drop a packet for a particular reason or things like this so this is really for uh exchanging information between hosts about the status of the internet and less for and less not entirely uh not at all for exchanging data so unlike those other tools it doesn't move data from end to end it just tells you can you be but you can use it to sort of find out or discover interesting things about computers that are connected to the internet a common use of icmp a very simple use of icmp is a tool called ping so you probably have ping and salt in your computer maybe macs sort of come with ping a lot of computers have ping and what ping does is it uses the icmp protocol to essentially find out if a particular computer can respond to a message so it's frequently used for people to determine is a computer online so i'm here in my office i'm my desktop the desktop computer that i use to do my work is called testify so i'm going to run this command pingtestify.csc.buffalo.edu dispel it right and here's the output and if i let this run it'll just keep going um so let me stop it and we'll look a little bit at what happened so uh you can see here this is an icmp sequence number um what what this a command is doing is it's repeatedly using icmp to request that my computer testify send it some information so this is a ping it sends a little message to testify a testify responds and that's a good way to make sure that both ends both directions of that link work so here's an example let's see here i got 64 bytes back this is the ip address of testify that it looked up before it ran the command the sequence number for this icmp goes up by one each time this is so that i can notice if there are gaps like for example one of them might have been dropped somewhere this is the time to live for the packet so ip packets every time they go through a particular hop the time to live is decremented the value the value probably started at 64. so the fact that it's 63 indicates that there's probably a very very short connection between my computer and testify and hopefully there is because testifies in the next room um and then this gives you some information about how long this took right so this is about uh three between it sort of varies a little bit between uh three and up to maybe five or actually this one was pretty slow seven and a half milliseconds uh that's how long it took to get data from one end to the other and so this is this is commonly used to sort of identify reachability not every computer on the internet will respond to ping messages a lot of them will let's try this let's try pinging mail.google.com so that's kind of interesting right so i can actually ping um in this case one of google's servers so this is a machine that's hosted at google you can see that mail.google.com was transmitted and translated to this ip address 172-217-5555 a bit longer than the time it takes to ping the machine in my office that makes sense at some point the speed of light starts to play a role the time to live on the packet is also lower so this indicates that this packet rather than almost directly being sent to the computer in the next room actually was routed by multiple routers across the internet in order to reach this particular computer so this is an example of icmp it's a pretty useful protocol part of the internet protocol sweep and not for data for exchanging control messages between routers and hosts
Info
Channel: internet-class
Views: 52,451
Rating: 4.924192 out of 5
Keywords: internet, internet-class.org
Id: glPuwhMNQ2s
Channel Id: undefined
Length: 4min 51sec (291 seconds)
Published: Thu Sep 08 2016
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.