1.协议号:
用来说明IP报文中承载的是哪种协议(一般是传输层协议,比如6 TCP,17 UDP;但也可能是网络层协议,比如1 ICMP;也可能是应用层协议,比如89 OSPF)。
2.端口号:
用来说明是哪种上层应用,比如TCP 80代表WWW,TCP 23代表Telnet,UDP 69代表TFTP。
3.区别:
比如,客户端发送一个数据包给IP,然后IP将进来的数据发送给传输协议(tcp或者udp),然后传输协议再根据数据包的第一个报头中的协议号和端口号来决定将此数据包给哪个应用程序(也叫网络服务)。也就是说,协议号+端口号唯一地确定了接收数据包的网络进程。由于标志数据发送进程的“源端口号”和标志数据接受进程的“目的端口号”都包含在每个TCP段和UDP段的第一个分组中,系统可以知道到底是哪个客户应用程序同哪个服务器应用程序在通讯,而不会将数据发送到别的进程中。
但是要注意的一点是同样的一个端口在不同的协议中的意义是不同的,比如TCP和UDP中的端口31指的并不是同一个端口。但是对于同一个协议,端口号却是唯一的。
本文参考网络+个人理解(仅供参考!!)