A bit info about ICMP, ping and traceroute
I’ve went through RFC 792 and would like to share some basic (high level) info about ICMP and how we are using it. ICMP is the Internet Control Message Protocol : runs over the network layer, so it’s encapsulated in IP datagrams unreliable, simple datagram service, no retransmission if a message doesn’t reach the destination an ICMP message takes the IP header of the original datagram plus the first 8 bytes of its payload, then gets marked with a type and code. Types and codes are in RFC 792 and the IANA registry host unreachable - the datagram reaches the last router, but that router doesn’t know where the host is port unreachable - the port in the packet isn’t recognized on the receiver’s side How ping uses ICMP : ...