一.TCP
概述:
TCP(Transmission Control Protocol
)是一种面向连接、可靠的传输层协议。每一个TCP连接都是且只能是点对点的(两个端点分别是:服务器、客户端)。它面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的报文段)。TCP
具备“可靠性传输”、“流量控制”、“拥塞控制”等功能;
TCP的首部格式:
首部格式要求:
TCP
首部包括20个字节的固定首部" + 长度可变的其他选项。20
个字节又分为5
部分,每部分4
个字节(32
位)。首部长度不会超过60个字节(数据偏移[最大1111转换为十进制就是15]*4个字节【单位】)。- 在传输层,
TCP
报文段包括:TCP首部 + TCP数据部分; - 在网络层,
TCP
报文段成为IP数据部分,加上IP首部组成IP数据报文; - 在数据链路层,还要在IP数据报前面加上数据链路层的首部;
二.UDP
概述:
UDP(
User Datagram Protocol)不提供复杂的控制机制,利用IP
提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。
TCP的首部格式:
首部格式要求:
UDP
的首部没有“序号”字段,因为UDP
协议只需要传输一个数据包,所以不需要序号。- 用户数据报
UDP
有两个字段:数据字段和首部字段。首部字段有 8 个字节,由 4 个字段组成,每个字段都是两个字节。
三. TCP与UDP的区别
了解了什么是TCP与UDP之后他们的区别也是非常的明显。总结如下表:
类型 | 是否面向连接 | 传输可靠性 | 传输形式 | 传输效率 | 所需资源 | 应用场景 | 首部字节 |
TCP | 面向连接 | 可靠 | 字节流 | 慢 | 多 | 要求通信数据可靠 (如文件传输、邮件传输) | 20-60个字节 |
UDP | 无连接 | 不可靠 | 数据报文段 | 快 | 少 | 要求通信速度快 (如音频、视频) | 8个字节 |