行健网络

?找回密码
?立即注册
查看: 5277|回复: 1
打印 上一主题 下一主题

[TCP/IP协议] TCP首部best365官方_best365还可以买足彩吗_best365最快几天到账

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-27 08:40:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

TCP数据被封装在一个IP数据报当中,TCP虽然是面向字节流,但它传送的数据单元却是报文段,TCP报文段分为首部与数据两部分,TCP的各个功能都体现在它首部的各个字段当中。TCP首部的前20个字节是固定的,后面有可能还有4N字节的选项(根据需要而增加)。因此TCP首部最小长度是20个字节。



1、每个TCP连接都包括源端与目的端的端口号,各占两个字节,这两个值加上IP首部中源端IP地址与目的端IP地址构成一个TCP连接。

2、序号,无符号数,占四个字节,共有4284967296个序号,是用来标识从发端向收端发送的数据字节流。TCP是面向字节流的,它所传送的字节流中的每个字节都按顺序编号,整个要传送的字节流的起始序号是在建立连接时设置。而首部中的序号字段值是本报文段所发送的数据的第一个字节的序号。例如一报文段的序号为501,而携带的数据共有200个字节,那么最后一个字节的序号为700。那么下一个报文段的序号很显然为701。

有由于序号字段有32位长,可对4GB的数据进行编号。在一般情况下可保证当序号重复使用,旧序号的数据早已通过网络到达终点了。

TCP为应用层提供全双工服务,这也就意味数据能够在两个方向上独立传输,因此连接的每一端都必须保持着每个方向上的传输数据序号。


3、确认号,也占四个字节,是期望收到的对方下一个报文段的第一个数据字节的序号。例如,B正确收到了A发送过来的一个报文段,其序号字段值为501,而携带的数据共有200个字节,这就表明B正确收到了A发送到序号700为止的数据,因此B期望收到A的下一个数据序号是701,于是B在发A的确认报文段中把确认号置为701。请注意:若确认号为N,则表示N-1为止的所有数据都正确收到。

只有ACK的标志为1时,确认序号字段才有效,发送该字段无任何代价,因为确认序号与ACK标志一样总是TCP首部的一部分。因此当一个连接被建立之后,这个字段总是被设置,ACK标志也总是被置为1。


4、数据偏移,占4位,它指出TCP报文段数据部分距报文段的起始部分有多远。也就是指出TCP报文段首部的长度。需要这个值是因为首部有长度不确定的选项字段。数据偏移占四位,它表示的最大的十进制数是15,也就是说数据偏移(首部长度大)的最值是60个字节,因为TCP首部的前20个字节是固定的,那么选项部分最大只能有40个字节。


5、保留,占6位,保留为今后使用。


下面要讲述非常重要的六个控制字段,这六个字段各占一位。


best365官方6、紧急URG(URGent):当URG=1时,表明“紧急指针”字段有效。它告诉系统此报文段中有紧急数据,应当尽快传送,而不要按原来的排除顺序进行传送。当你用网络程序传送数据时,忽然发现了一些问题,想取消该程序的运行,发出中断命令,这时就可以使用紧急数据,如果不这样,控制命令字符就处于TCP缓存末尾,只有在所有数据处理完毕之后,这个控制命令字符才会被交付到接收方的应用进程,这样就浪费了许多时间。


7、确认ACK(ACKnowlegment):当ACK=1时,“确认”字段才有效,TCP规定,在连接建立后,所有传送的报文段,都必须报文段置1。


8、推送PSH(PuSH):这个很少使用。


9、复位RST(ReSet):当RST=1表明,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立连接。RST置1用来拒绝一个非法的报文段(例如客户端在没有发送SYN报文的情况下,忽然发送一个ACk包,服务端自然会回应一RST报文进行拒绝),或拒绝打开一个连接。因此RST位也叫做重置位或重建位。


10、同步SYN(SYNchronization):在建立连接时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段;对方若同意建立连接,则在响应的报文段使用SYN=1并且ACK=1。因此当SYN=1时,表明这是一个连接请求或连接接受报文。关于TCP的连接的建立与释放请看:Tcp协议怎样建立主机之间连接——“三次握手”

11、终止FIN(FiNis):用来释放一个连接,当FIN=1时,表示此报文段发送方的数据已发送完毕,并要求释放连。


12、窗口:占2个字节,窗口值范围是[0, 2的16次方-1]。窗口指的是发送报文段的一方的接收窗口(并非自己的发送窗口)。窗口值告诉对方:从本报文段首部中的确认号算起,接收目前允许对方发送的数据量。之所以要有这个限制,是因为接收方的数据缓存空间是有限的。窗口值将作为接收方让发送方设置其发送窗口的依据。窗口值是经常在变化着的。


13、检验和:占2个字节,该字段检验的范围包括报文段的首部和数据两个部分。


14、紧急指针:占2个字节,只有当URG=1时,这个字段才有效。它指出本报文段中紧急数据的字节数,而紧急数据结束后就是普通数据。当所有紧急数据都处理完成时,TCP就告诉应用程序恢复到正常操作。

值得注意的是,即使窗口为0也可以发送紧急数据。

15、选项:长度可变,最长可以达40个字节。当没有使用选项时,首部的长度为20个字节。

最初TCP只规定了一种选项即最大报文段长度MSS(Maximum Segment Size),它指的是报文段中数据部分的长度。后来又陆续增加了“窗口扩大”选项、“时间戳”选项及有关“选择确认(SACK)”选项。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2018-8-9 22:23:17 | 只看该作者
福建豪万行汽贸【加微信:CLE1688888】主营-新车-平行进口车-精品二手车-厂家两年免息-3厘利息-以旧换新-保险-免费评估-一站式售后服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|网站地图|行健网络

GMT+8, 2019-10-16 11:14 , Processed in 0.067386 second(s), 17 queries .

Powered by Discuz! X3.2

? 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表