专业的IT培训机构
|
腾科IT教育集团
Prometric考试中心
VUE考试中心
关于我们
深圳校区
切换校区
集团
广州
首页
课程中心
新闻中心
学员感言
开班计划
认证考试
名师汇聚
网络
操作系统
数据库
软件开发
专题课程
华为专题
红帽专题
Oracle专题
思科专题
微信
电话
复制成功
微信号:
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校验和是可选的,但是应该一直使用。
分享到:
QQ空间
新浪微博
腾讯微博
人人网
微信
更多
上一篇:
TCP协议的拥塞控制
下一篇:
令牌环网的基本算法
联系电话:18922156670
华为认证
思科认证
oracle认证
红帽认证
常见问题
2022年思科认证考试费多少钱?
2022年思科认证考试报名时间是?
思科认证怎么报名考试?
思科认证培训多少钱?
2022年华为认证考试费多少钱?
2022年华为认证考试报名时间是?
华为认证怎么报名考试?
华为认证培训多少钱?
2022年红帽认证考试费用多少钱?
2022年红帽考试报名时间是?
怎么报名红帽认证考试?
红帽培训多少钱?
Oracle认证考试官方费用是多少?
2022Oracle认证报考条件是什么?
2022年Oracle认证考试时间是?
Oracle dba认证培训费用是多少?
Java零基础可以学习吗?
UI设计师培训多少钱?
HTML5前端开发难学吗?
立即咨询
联系电话:18922156670
在线咨询
在线咨询
×
您好,请问有什么可以帮您?我们将竭诚提供最优质服务!
QQ咨询
下次再说