TCP端口号与UDP端口号是相互独立的.
尽管相互独立,如果TCP和UDP同时提供某种知名服务,两个协议通常选择相同的端口号.这纯粹是为了使用方便,而不是协议本身的要求.
UDP和TCP首部中都有覆盖他们首部和数据的校验和.UDP的校验和是可选的,而TCP的校验和是必须的.
尽管UDP校验和是可选的,但是他们应该总是在用。在80年代,一些计算机产商在默认条件下关闭UDP校验和功能,以提高UDP协议的NFS(Net File System)的速度。在单个局域网中这可能是可以接受的,但是在数据包通过路由器时,通过对链路层数据帧进行循环冗余检验可以检测到大多数的错误,导致传输失败。
层次 | 校验和差错数 | 近似总分组数 |
以太网 | 446 | 170000000 |
IP | 14 | 170000000 |
UDP | 5 | 140000000 |
TCP | 350 | 3000000 |
从最后一行可以看出,不要完全相信数据链路的CRC校验。应该始终打开端到端校验和功能。而且,如果你的数据很有价值,也不要完全相信UDP或TCP的检验和,因为这些都只是简单的检验和,不能检测出所有可能在生的差错。