Internet Control Message Protocol, designed for control and diagnostic messages
User Datagram Protocol is one of the messaging protocols of the IP protocol stack
"An icmp packet has a header that is 20 bytes and is probably going to be slightly slower than udp"
from question "Lowest Latency small size data Internet transfer protocol? c#"
"In fact icmp especially the ttl excceeding message has even less limitations than udp on nats for the error message can be sent from every corner of the internet and routers with nat cannot be aware that these messages are not the true ones"
from question "What does BitTorrent and Gnutella uses for bypassing NAT when transferring files?"