1. TCP UDP有序和无序。
不论TCP还是UDP发送的都是IP包, IP包在网络上传输每次走的线路不尽相同(路由不同, 比较复
杂), 产生了先发未必先到的无序情况, 从UDP包(UDP源端口号.UDP目标端口号.UDP长度.UDP校验)
的结构显示, UDP在IP层之上做了简单的处理, 并未加入有序机制。而TCP包(系列号 确认号 窗口大
小)加入了滑动窗口, 超时重传机制, 在无序的IP层上构建起了一个有序的协议。
2. TCP UDP有连接和无连接
IP包相较与固定电话线路有本质的区别。 电话一旦接通, 你与对方通话的线路就确定下来, 而
IP包传输的线路是一个不断路由过程, 天知道他走了那条路。 IP包是没有连接的。而TCP 在端上加
入了状态, 三次握手初始化序列号, 滑动窗口等等并保存下来, TCP包的到来, 伴随着系列号 确
认号等的状态的改变。 TCP 是在没有连接的IP 层之上构建起一个虚拟连接。
3. TCP UDP 各自向你保证了什么?
TCP 保证了有一条虚拟连接(即状态)和数据的有序。 UDP 只向应用层保证得到的是完整的包。