物流网站建设工作岗位,网页转app软件,wordpress更换默认播放器,chromeseo是什么TCP首部格式
表格索引:
源端口目的端口 序号 确认号 数据偏移保留 ACK等 窗口检验和紧急指针 TCP报文段首部格式图 源端口与目的端口: 各占16位 序号:占32比特#xff0c;取值范围0~232-1。当序号增加到最后一个时#xff0c;下一个序号又回到0。用来指出本TCP报文段数据载…TCP首部格式
表格索引:
源端口目的端口 序号 确认号 数据偏移保留 ACK等 窗口检验和紧急指针 TCP报文段首部格式图 源端口与目的端口: 各占16位 序号:占32比特取值范围0~232-1。当序号增加到最后一个时下一个序号又回到0。用来指出本TCP报文段数据载荷的第一个字节的序号。 确认号:占32比特取值范围0~232-1。当序号增加到最后一个时下一个序号又回到0。用来指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号同时也是对之前收到的所有数据的确认。 数据偏移:
占4比特该字段的取值以4字节为单位。指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远,这实际上指出了TCP报文段的首部长度。 保留:
占6比特保留为今后使用目前置为0 窗口:
占16比特该字段的取值以字节为单位。指出发送本报文段的一方的接收窗口的大小即接收缓存的可用空间大小这用来表征接收方的接收能力.在计算机网络中经常用接收方的接收能力的大小来控制发送方的数据发送量这就是所谓的流量控制。 检验和:
占16比特用来检查整个TCP报文段在传输过程中是否出现了误码。 发送方检验和计算方法: (1)将TCP首部中检验和字段的值置为0。 (2)将伪首部、TCP首部以及数据载荷这三部分划分成若干个2字节的字。若伪首部、TCP首部以及数据载荷这三部分的总长度不是偶数个字节则在最后添加1个“全0”字节。 (3)对划分出的全部2字节的字进行反码算数运算求和并将求和结果取反码。 (4)将步骤③得到的结果写入TCP首部中的检验和字段。 与IPv4数据报首部检验和的计算方法类似 差别仅在于前者只对首部进行检验。 接收方通过检验和字段的值判断TCP报文段在传输过程中是否误码的方法: (1)给接收到的TCP报文段前面添加一个12字节的伪首部。 (2)将伪首部、TCP首部以及数据载荷这三部分划分成若干个2字节的字。 (3)对划分出的全部2字节的字进行反码算数运算求和并将求和结果取反码。 (4)若步骤③得到的结果为0则表示TCP报文段在传输过程中没有误码。否则表示出现了误码。 确认标志位ACK:只有当ACK取值为1时确认号字段才有效。ACK取值为0时确认号字段无效。TCP规定:在TCP连接建立后所有传送的TCP报文段都必须把ACK置1。 同步标志位SYN:
用于TCP“三报文握手”建立连接。当SYN1且ACK0时表明这是一个TCP连接请求报文段。对方若同意建立连接则应在响应的TCP报文段的首部中使SYN1且ACK1。综上所述,SYN为1的TCP报文段要么是一个连接请求报文段要么是一个连接响应报文段。 终止标志位FIN:
用于TCP“四报文挥手”释放连接。当FIN1时表明此TCP报文段的发送方已经将全部数据发送完毕现在要求释放TCP连接。 复位标志位RST:
用于复位TCP连接。当RST1时表明TCP连接中出现严重差错必须释放连接然后再重新建立连接。RST置1还用来拒绝一个非法的TCP报文段或拒绝打开一个TCP连接。 推送标志位PSH:
发送方TCP把PSH置1并立即创建一个TCP报文段发送出去而不需要积累到足够多的数据再发送。接收方TCP收到PSH为1的TCP报文段就尽快地交付给应用进程,而不再等到接收到足够多的数据才向上交付。
出于效率的考虑,TCP的发送方可能会延迟发送数据而TCP的接收方可能会延迟向应用进程交付数据。这样可以一次处理更多的数据。
但是当两个应用进程进行交互式通信时有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。在这种情况下应用进程可以通知TCP使用推送(PUSH)操作。 紧急标志位URG:
当URG1时紧急指针字段有效。当URG0时紧急指针字段无效。 紧急指针:
占16比特以字节为单位用来指明紧急数据的长度。当发送方有紧急数据时可将紧急数据“插队”到发送缓存的最前面并立刻封装到一个TCP报文段中进行发送。紧急指针会指出本报文段数据载荷部分包含了多长的紧急数据紧急数据之后是普通数据。接收方收到紧急标志位为1的TCP报文段会按照紧急指针字段的值从报文段数据载荷中取出紧急数据并直接上交应用进程而不必在接收缓存中排队。 选项与填充:
选项是一些可选择添加的字段,如窗口扩大选项等等填充是若选项字段的长度加上20字节固定首部的长度不能被4字节整除时需要填充相应数量的比特0以确保首部长度能被4字节整除。