TCP vs UDP
IP协议是无连接的通信协议,ip负责将包路由至目的地,但不可靠,需要上层协议做出控制
IP中的ip地址可以唯一标识主机,TCP中的协议、端口号能标识主机中的一个进程
TCP简介
1.面向连接的、可靠的、基于字节流的传输层通信协议
2.数据传输时应用层向TCP层发送数据流,TCP会将数据流分割成适当长度的报文段
长度通常受该计算机连接的网络的数据链路层的最大传输单元MTU的限制
TCP将结果包传给IP层,由IP层将结果传送到目标计算机
3.TCP数据包都有序号,对方收到则发送ACK确认,发送端在合理的往返时延RTT内未收到ACK则重传
4.通过奇偶校验和来校验数据在传输过程中是否有误
UDP特点
1.面向非连接
2.不维护连接状态,支持同时向多个客户端传输相同的消息
3.数据包报头只有8个字节,额外开销小
4.推出量不受拥挤算法的调节,只受限于数据的生成速率、传输速率、机器性能
5.尽最大努力交付。不保证可靠交付,不需要维持复杂的链接状态表
6.面向报文,UDP将绝大多数的控制交由上层解决
TCP | 对比 | UDP |
---|---|---|
面向连接:三次握手 | 无连接:消息多播发布,单点向多点传输信息 | |
可靠 握手、确认、重传机制 | 可靠性 | 不可靠 无法判断是否被接收 |
有序 利用序号保证数据报的有序交付 到达时可能无序,后有排序步骤 | 有序性 | 无序 |
慢 创建链接等而外开销 | 速度 | 快 适用 |
重 头部20字节 | 量级 | 轻 头部8字节 |
文件传输 HTTP等 | 用途 | 在线视频媒体 电视广播 多人在线游戏等 |