TCP报文段

TCP是在传输的时候的数据单元是TCP报文段,TCP报文段分为两部分,首部和数据两部分,首部前20个字节固定,后面有4N个字节(N是整数)根据需要增加,因此TCP首部的最小字节是20,首部固定部分分为一下几种:

1源端口和目的端口,各占2个字节,分别写入原端口号和目的端口号,TCP的分用()功能就是通过端口号实现的

运输层的复用和分用:

复用:在发送方不同的应用进程中都可以使用同一个运输层协议传送数据。(重复使用)

分用:接受方的运输层在剥去报文的部首后能够把这些数据正确交付目的应用进程。(分别交付)

序号(seq):占四个字节,序号范围是(0-2^32-1), 序号超过2^32-1就又从0开始,TCP是面向字节流的,在TCP连接中的每一个字节都按顺序编号。而这个序号的值(有的叫序号字段值)表面了报文段的第一个字节的序号

确认号(ack而不是ACK):占4个字节,是期望对方下一个报文段的第一个字节的序号,比如所B收到了来自A的上一个的报文段,其序号值是501,数据长度是200,序号是(501-700),共收了700-501+1个数据,因此B期望A的下一个数据序号是701,即确认号是701,所以是若确认号等于N,那么有N-1个数据已被正确收到

数据偏移:占4个字节,他指出了TCP的报文段的数据起始处距离TCP的报文段的起始处有多远,实际上也就是首部长度

由于首部中还有长度不确定的选项字段,因此数据偏移字段是很必要的,因为首部的长度是20字节到60字节,所以这个数据偏移的范围是20/4=5,到60/4=15,范围是5-15,

保留:占6位,为以后使用。

控制字段:这个字段分了6个不同的控制位和标志,在同一时间可以设置一个或多个标志,这些位用在TCP的流量控制,连接建立和终止,连诶异常终止和数据传送等方面,

URG:(urgent)紧急的意思 ,当URG=1时系统传递此报文段中的紧急数据,不按照原来的排序来传送。

ACK:(acknowlegment)仅当ACK=1时确认号字段才有效,在连接建立后,所有的报文段都必须把ACK置1.

PSH:(push)在两个进程在进行交互式通信时,有时希望一端(记为A)在键入一个命令后能够立即收到对方(记为B)的响应,在这种情况下,A方把PSH置为1,并立即创建一个 报文段发送给B,B收到这个PSH=1的报文段后,就尽快把消息发送给A,而不在等待TCP的缓冲区满。

RST(ReSet)复位的意思,当RST为1的时候,表明TCP连接中出现了差错(如主机奔溃),必须释放链接。重新建立连接,RST还用来拒绝一个非法的报文或拒绝打开一个链接

SYN,同步的意思,建立连接时,用来同步序号,SYN=1,ACK=0时,表明是一个连接请求报文段,当SYN等于1和ACK等于1表示发送请求之后,对方同意建立连接。

FIN:FIN=1表示数据发送完毕,用来释放链接。

第三行时数据偏移4位加保留6位加标志位6位,共16位是2个字节。接着是窗口占2个字节。

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值