专业的IT培训机构|腾科IT教育集团
复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图片

腾科新闻

TCP协议和UDP协议的头格式

发布时间: 2022-04-14

TCP协议和UDP协议的头格式,当数据的发送方和接收方在传输层用TCP段进行数据传输与交换时,每一个TCP段都包含一个固定的20字节的段头。

TCP段头由20字节的固定头和一些可选项组成。实际数据部分最多可以有65495字节,65535-65495=40(字节),这40字节包括20字节的IP包头和20字节的TCP段头。而确认包和控制包一般不包含数据部分,这样是完全可以的。

由于TCP协议要保证数据传输的可靠性,因此为数据段封装TCP头比封装UDP头要复杂,图1给出了TCP头的格式。

图1 TCP头的格式

表1给出了TCP头的格式中各个域的作用。

表1 TCP头的格式中各个域的作用



从表1我们可以知道以下几点内容。

● 源端口和目的端口字段标识了通信双方的应用程序所分配到的端口。通过它们可以区分不同的会话。

● 序列号在TCP流中起到标识数据包的作用,这在通信双方发送、接收时很重要,如果序列号不正确,会造成延迟和重传。确认号的作用和序列号差不多,但确认号是数据的接收方用来表示希望接收的下一个数据段的。

● TCP头长字段为四个字节,表示出实际整个TCP头的大小,它是可变的。实际上,TCP头长字段的作用是标识实际数据在TCP数据包中的起始位置。TCP头长字段后面的六位为空位,是保留字段。它在TCP协议设计初期就已经存在,是为了更正设计中的错误而保留的。

● 窗口值字段表明了接收方接收缓冲区的大小。这个字段是可变的,要根据通信双方的实际情况而定,窗口大小字段也可以为0。

● 校验和字段是TCP协议具有高可靠性的保证。当接收方收到数据包时,会使用该校验和进行校验,以确定数据段在网络传输过程中没有损坏。

● 紧急位字段表明紧急位的大小,是指从当前顺序号到紧急数据位置的偏移量。紧急位的设置避免了发送中断信息而引起TCP进入中断排查状态,同时既允许发送方往接收方发送信号,又代替了中断信息的发送,提高了协议本身在应对突发事件时的应对效率。

● 可选项字段在普通TCP段头中并不包括,只是在需要额外设置时才使用。例如,利用该字段可以设置通信双方的较大负载能力。如果不进行设置,会使发送方的TCP负载能力小于互联网络上其他的接收方的能力。由于通信双方会采用二者中较小的TCP负载能力作为传输标准,从而造成了互联网络使用效率的降低。图2给出了UDP头的格式。

图2 UDP头的格式

UDP数据包格式和TCP数据包格式非常相似,但结构相对简单。源端口和目的端口字段的作用和TCP中的一样,也是用来标识通信两端的接入点。UDP长度字段的作用是指明8字节的头部和数据部分的长度。由于UDP不提供传输的可靠性,所以也不含有TCP头中常见的一些标志位。表2给出了UDP头格式中各个域的作用。

表2 UDP头的格式中各个域的作用


UDP校验和包括UDP头部和数据部分。这一点和TCP一样,但UDP的校验和是可选的,而TCP的校验和是必需的。检验和算法是把若干个16位字相加,但是UDP数据包的长度可以为奇数字节,必要时可以在最后增加填充字节0,但不会被发送,这只是为了校验和的计算。UDP校验和是一个端到端的校验和。它由发送方计算,然后由接收方验证。

其目的是为了发现UDP头部和数据在发送方到接收方之间发生的任何改动。虽然UDP校验和是可选的,但是应该一直使用。

上一篇: TCP协议的拥塞控制

下一篇: 令牌环网的基本算法

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!