1. 概念
? ? ? ? 1.1 TCP(Transmission Control Protocol)传输控制协议
- 是面向连接的、可靠的传输层协议
- 每一条TCP连接只能有两个端点(服务器、客户端),所以每一条TCP连接只能是点对点的
- TCP面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的报文段)
- TCP具有“可靠性传输”、“流量控制”、“拥塞控制”等功能?
? ? ? ? 1.2 UDP(User Datagram Protocol?)用户数据报协议
- 是传输层的协议,无连接(发送数据前不需要建立连接)
- UDP面向报文传输,不保证可靠交付,同事也不使用拥塞控制,适合多媒体通信的要求
- UDP支持一对一、一对多、多对一、多对多的交互通信
- UDP的首部开销小,只有8个字节
2.区别
? ? ? ? 2.1?是否面向连接
- TCP:双方在进行数据传输之前必须使用三报文握手来建立TCP 连接。TCP 连接建立成功后才能进行数据传输,数据传输结束后必须使用四报文挥手来释放TCP连接。
- UDP:双方可以随时发送数据,因此UDP是无连接的。
? ? ? ? 2.2 连接对象个数
- TCP:支持一对一通信
- UDP:?支持一对一、一对多、多对一、多对多的交互通信
? ? ? ? 2.3? 对应用报文的处理
- TCP:把应用层传下来的报文看成字节流,把字节流组织成大小不等的报文段进行发送。传输形式为字节流。
- UDP:UDP直接给应用层报文添加一个UDP首部,使之成为UDP用户数据报文段,然后进行发送。传输形式为数据报文段。
? ? ? ? 2.4??首部格式
- TCP:一个TCP报文段由首部和数据载荷两部分构成,其最小长度为20字节,最大长度为60字节,这是因为TCP要实现可靠传输、流量控制控制等服务,其首部自然会比较复杂,首部中的字段比较多,首部长度也比较长。
????????
- UDP:仅有4个字段,每个字段长度为2个字节,由于UDP不提供可靠传输服务,它仅仅在网际层的基础上添加了用于区分应用进程的端口,因此他的首部非常简单,仅有8个字节。
?
3. 总结?
类型 | 是否面向连接 | 传输可靠性 | 传输形式 | 传输效率 | 所需资源 | 应用场景 | 首部字节 | TCP? | 是 | 可靠 | 字节流 | 慢 | 多 | 文件传输 邮件传输 | 20-60 | UDP | 否 | 不可靠 | 数据报文段 | 快 | 少 | 及时通讯 域名转换 | 8 |
?
?????????
|