• TCP/IP refers to the whole family of protocols related to TCP and IP:
    • ICMP, UDP, and TCP itself, as well as less common protocols like SCTP and ESP and AH and dozens of others.
  • While TCP on IPv4 is not identical to TCP running on IPv6, concepts like port numbers and connection states remain unchanged.

ICMP

  • Internet Control Message Protocol (ICMP) ==transmits availability, routing, and status messages.==
  • ICMP for IPv4 and IPv6 transmit similar types of messages, but internally they’re completely different.

UDP

  • User Datagram Protocol, or UDP, is the most minimal transport protocol available in TCP/IP
  • It is used for applications that do their own data flow error management.
  • If the network drops a UDP packet, ==neither the sending nor receiving UDP layers in the operating system ever know.==
    • An application that’s expecting a packet might notice and ask the sender to resend, but that’s the application’s responsibility.
  • The packets have no defined order. Each is complete in and of itself and is called connectionless.
  • Almost all VPNs use UDP, although some use special VPN-specific protocols like IPSec.
    • The protocols running over the VPN manage all necessary error correction, so the VPN doesn’t need to handle those itself.

TCP

  • The Transport Control Protocol (TCP) includes much of the error correction that UDP lacks.
    • The receiver acknowledges every single packet it receives. The sender retransmits any packet that isn’t acknowledged.
    • Applications that run over TCP expect the ==operating system to deliver exactly the traffic that was sent.==
  • A chunk of application data can be broken into several TCP packets and streamed across the network as a single entity.
  • One host requests a connection.
    • The destination host either accepts, rejects, or ignores the request.
    • If the destination accepts the request, it sends back information on how to connect.
    • When the first host acknowledges the receipt of that information, it can start transmitting actual data.
    • This setup process is called the three-way handshake.
  • Once both hosts finish with the connection they must go through a little dance to tear it down, ==the four-way handshake.==
  • VoIP does not work over TCP due to two-minute long gaps between packets sent/or not sent.