- Network layer protocols are assigned EtherTypes, like 0x0806 for ARP, 0x0800 for IPv4, and 0x86DD for IPv6.
- Transport layer protocols are assigned IP protocol values, like 1 for ICMP, 6 for TCP, 17 for UDP, 132 for Stream Control Transmission Protocol, and so on.
- Application layer protocols are assigned one or more SCTP, TCP or UDP port numbers, like 23 for Telnet, 80 for HTTP, and so on.
Most people argue about what protocols do and forget how they are carried. I like the way Network Sorcery cuts through this issue.
Besides describing all of these protocols and showing their header formats, Network Sorcery also links to the RFCs defining their operation.