欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 传输层协议——TCP、UDP

传输层协议——TCP、UDP

2024/10/24 4:36:35 来源:https://blog.csdn.net/L752034395/article/details/143081301  浏览:    关键词:传输层协议——TCP、UDP

一、TCP(Transmission Control Protocol)

1、传输控制协议(Transmission Control Protocol,TCP):一种可靠的、面向连接的字节流服务。

1.1建立连接:源主机在传送数据前,先和目标主机建立连接。

1.2传输数据:在连接上,被编号的数据段按序收发,同时对每个数据段进行确认。如果在指定的时间内没有收到目标主机对所发数据段的确认,源主机将再次发送该数据段。

1.3释放连接:数据传输完成,和目标主机断开连接。

2、TCP的三种机制:

2.1使用序号对数据报进行标记:便于TCP接收服务在向高层传递数据之前调整失序的数据包。

2.2TCP使用确认、校验和定时器系统提供可靠性:当接收者按照顺序识别出数据报未能到达或发生错误时,接收者将通知发送者;当接收者在特定时间没有发送确认信息时,发送者认为发送的数据包并没有到达接收方,会考虑重传数据。

2.3TCP使用窗口机制调整数据流量:减少因接收方缓冲区满而造成丢失数据报文的可能性。

3、TCP报文格式

3.1源端口(Source Port)、目的端口(Destination Port):各16位,通过使用端口来标识源端和目标端的应用进程。(0~65535)

3.2发送顺序号(Sequence Number):32位,序号值是进行mod 2^{32}运算的值。取值范围(0,2^{32}-1)

3.3接收顺序号(Acknowledgement Number):32位,收到下一个报文段的第一个数据字段的顺序号。

【接收顺序号为N,表示N-1之前的数据都正确收到。】

3.4偏置值(Header Length):又称报头长度,4位。没有任何选项字段的TCP头部长度为20字节,最多可以有60字节。

3.5保留字段(Reserved):6位,通常为0

3.6标记(Flag):6位

URG——紧急,需要尽快传送
ACK——确认,建立连接后的报文回应,ACK设置为1
PSH——推送,接收方应该尽快将这个报文段交给上层协议,无需等缓存满
RST——复位,重新连接
SYN——同步,发起连接
FIN——终止,释放连接

3.7窗口大小(Windows Size):16位,用来进行流量控制,单位:字节。

3.8校验和(CheckSum):16位,对整个TCP报文段(TCP头部+TCP数据)进行校验和计算,
目标端进行验证。

3.9紧急指针(Urgent Pointer):16位,偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。

3.10任选项(Option):0~40字节。保证报头长度是32位的倍数(不足填充0)。【窗口扩大因子、时间戳等选项】

4、TCP建立、释放连接

二、UDP(User Datagram Protocol)

1、用户数据报协议(User Datagram Protocol,UDP):一种不可靠的、无连接的数据报服务。源主机在传送数据前不需要和目标主机建立连接,数据附加了源端口号和目标端口号等UDP报头字
段后直接发往目的主机。

2、UDP报文格式

2.1源端口(Source Port)、目的端口(Destination Port):各16位,通过使用端口来标识源端和目标端的应用进程。

2.2长度:16位,标明UDP头部和UDP数据的总长度字节。

2.3校验和(CheckSum):16位,对UDP头部和UDP数据进行校验,有错丢弃。

三、端口

1、协议端口号(Protocol Port Number,Port):标识目标主机进程的方法。

【TCP/IP使用16位的端口号来标识端口(0~65535)】

2、端口分为:系统端口、登记端口、客户端使用端口

2.1系统端口(0~1023)

2.2登记端口:为没有熟知端口号的应用程序使用。(1024~49151)【在IANA登记以避免重复】

2.3客户端使用端口:仅在客户进程运行时候动态使用,使用完毕后,进程会释放端口。(49152~65535)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com