<返回更多

14、90秒快速“读懂”TCP、UDP协议及报文格式

2020-03-15    
加入收藏

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP ( Transmission Control Protocol)用户数据包协议UDP(User Datagram Protocol)。

 

一、TCP (Transmission Control Protocol)

TCP位于TCP/IP模型的传输层,它是一种面向连接的端到端协议。TCP作为传输控制协议可以为主机提供可靠的数据传输。

14、90秒快速“读懂”TCP、UDP协议及报文格式

 

TCP端口号

端口号用来区分不同的网络服务。

14、90秒快速“读懂”TCP、UDP协议及报文格式

 

TCP允许一个主机同时运行多个应用进程。每台主机可以拥有多个应用端口,每对端口号、 源和目标IP地址的组合唯一地标识了一个会话。

端口分为知名端口动态端口

有些网络服务会使用固定的端口,这类端口称为知名端口,端口号范围为0-1023。如FTPHTTPTelnetSNMP服务均使用知名端口。

动态端口号范围从1024到65535,这些端口号一般不固定分配给某个服务。

 

TCP报文头部

14、90秒快速“读懂”TCP、UDP协议及报文格式

 

源端口: 数据发送方的端口号。

目的端口: 数据接受方的端口号。

序列号:本数据报文中的的第一个字节的序列号。

确认号:希望收到的下一个数据报文中的第一个字节的序号。

URG:值为1时表示次报文段中有需要紧急处理。

ACK:值为1时确认号有效,值为0时确认号无效。

PSH:值为1时有 DATA数据传输。

RST:值为1时表示TCP连接存在严重的错误,需要重新进行连接。

SYN:值为1表示这是一个连接请求或连接接受报文。

FIN: 值为1表示要发送的数据报已经发送完毕,需要断开连接。

窗口字段:TCP连接的一端根据缓存空间的大小来确定自己接受窗口的大小,限制发送放的窗口上限。

检验和:用来检验首部和数据两部分的正确性。

紧急指针字段:本报文紧急数据的最后一个字节的序号。

 

二、UDP (User Datagram Protocol)

UDP是一种面向无连接的传输层协议,传输可靠性没有保证

14、90秒快速“读懂”TCP、UDP协议及报文格式

 

当应用程序对传输的可靠性要求不高,但是对传输速度延退要求较高时,可以用UDP协议来替代TCP协议在传输层控制数据的转发。UDP将数据从源端发送到目的端时,无需事先建立连接。UDP采用了简单、易操作的机制在应用程序间传输数据,没有使用TCP中的确认技术滑动窗口机制,因此UDP不能保证数据传输的可靠性,也无法避免接收到重复数据的情况。

 

UDP报文头部

UDP头部仅占8字节,传输数据时没有确认机制。

UDP适合于实时数据传输,如语音视频通信。相比于TCP,UDP的传输 效率更高、开稍更小,但是无法保障数据传输的可靠性。

14、90秒快速“读懂”TCP、UDP协议及报文格式

 

源端口: 数据发送方的端口号。

目的端口: 数据接受方的端口号。

UDP长度:UDP报文的字节长度(包括首部和数据)。

UDP校验和: 检验UDP首部和数据部分的正确性。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>