TCP报文格式

TCP(Transmission Control Protocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议

TCP报文格式:

源端口号(2字节):

d5 df(54751)

目的端口号(2字节):

22 b8(8888)

TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接

序号(4字节):

37 59 56 75

用来标识TCP发端向TCP收端发送的数据字节流

确认序号(4字节):

由于该报文为SYN报文,ACK标志为0,故没有确认序号(ACK标志为1时确认序号才有效)

一旦连接建立,该值将始终发送(同ACK标志)

首部长度(4位):报文头长度(单位:位)/32

1000(转化为10进制为8,8*32/8 = 32,该报文报头长度为32个字节)

存在该字段是因为TCP报头中任选字段长度可变

报头不包含任何任选字段则长度为20字节;4位所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为60字节

标志位(12位):

0000 00010010

Reserved

000~ ~~~~~~~~

 ECN(Explicit Congetsion Notification)

~~~0 ~~~~~~~~ = N / NS / Nonce Sum:有效排除潜在的ECN滥用,RFC 3540

~~~~ 0~~~~~~~ = C / CWR(Congestion Window Reduced):拥塞窗口减少标志

~~~~ ~0~~~~~~ = E / ECE / ECN-Echo:ECE / ECN标志

Control Bits

~~~~ ~~0~~~~~ = U / Urgent:紧急指针有效性标志

~~~~ ~~~1~~~~ = A / Acknowledgment:确认序号有效性标志,一旦一个连接建立起来,该标志总被置为1,即除了请求建立连接报文(仅设置Syn标志位为1),其它所有报文的该标志总为1

~~~~ ~~~~0~~~ = P / Push:Push标志(接收方应尽快将报文段提交至应用层)

~~~~ ~~~~~0~~ = R / Reset:重置连接标志

~~~~ ~~~~~~1~ = S / Syn:同步序号标志

~~~~ ~~~~~~~0 = F / Fin:传输数据结束标志

窗口大小(2字节):TCP流量控制通过连接的每一端声明窗口大小进行控制(接收缓冲区大小)

20 00(00100000 00000000)= 8192

由于2字节能够表示的最大正整数为65535,故窗口最大值为65535

检验和(2字节):检验和覆盖整个TCP报文段;强制字段,由发送端计算存储,由接收端进行验证

2e 2f

紧急指针(2字节):当Urgent标志置1时,紧急指针才有效

00 00

http://blog.csdn.net/a19881029/article/details/29557837

时间: 2024-08-30 02:00:42

TCP报文格式的相关文章

TCP报文格式,TCP的三次握手和四次挥手&hosts文件

1.TCP报文格式 TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接 序号(4字节=32位): 37 59 56 75 用来标识TCP发端向TCP收端发送的数据字节流 确认序号(4字节=32位): 由于该报文为SYN报文,ACK标志为0,故没有确认序号(ACK标志为1时确认序号才有效)TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 一旦连接建立,该值将始终发送(同ACK标志) 头部长度:该字段占用4位,用来表示报文首部

转_结合Wireshark捕获分组深入理解TCP/IP协议栈之TCP协议(TCP报文格式+三次握手实例)

转自: http://blog.chinaunix.net/uid-9112803-id-3212041.html 摘要: 本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息.连接建立整个过程如下(即三次握手协议): 首先,客户机发送一个特

UDP与TCP报文格式,字段意义

UDP报文 1.UDP有两个字段:数据字段和首部字段. 首部字段 首部字段很简单,只有8个字节,由4个字段组成,每个字段的长度都是两个字节. 1)源端口:源端口号.在需要对方回信时选用.不需要时可用全0. 2)目的端口:目的端口号.这在终点交付报文时必须要使用到. 3)长度: UDP用户数据报的长度,其最小值是8(仅有首部). 4)校验和:检测UDP用户数据报在传输中是否有错.有错就丢弃. 2.要注意的地方 UDP首部中校验和的计算方法有些特殊.在计算校验和时,要在UDP用户数据报之前增加12个

TCP报文格式和三次握手——三次握手三个tcp包(header+data),此外,TCP 报文段中的数据部分是可选的,在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。

from:https://blog.csdn.net/mary19920410/article/details/58030147 TCP报文是TCP层传输的数据单元,也叫报文段. 1.端口号:用来标识同一台计算机的不同的应用进程. 1)源端口:源端口和IP地址的作用是标识报文的返回地址. 2)目的端口:端口指明接收方计算机上的应用程序接口. TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接. 2.序号和确认号:是TCP可靠传输的关键部分.序号是本报文段发送

TCP/IP报文格式

一.传输层协议   TCP特点: 面向连接 可靠 适用于可靠性要求高的应用 开销大 UDP特点: 无连接 不可靠 适用于更关注传输效率的应用 可靠性由应用层负责   TCP主要功能:可靠.准确的传输并控制源主机与目的主机之间的信息流: TCP主要职责:提供端到端的控制,通过滑动窗口机制提供流控制,通过序号和确认号机制来保证可靠性: 功能如下: 连接管理:定义了允许两个用户像直接连接一样开始交谈的规则(类似于电话通信之前须拨通对方的号码).通常把连接的定义和建立的过程称为握手. 流量控制:以网络能

tcp、udp、ip、icmp报文格式分析

TCP .UDP .IP. ICMP协议报文格式分析 Tcp报文格式: Wireshark抓包如图: 源端口/目的端口(16bit): 在TCP报文中包涵了源端口/目的端口,源端口标识了发送进程,目的端口标识了接收方进程.由上图可以看出在此报文中我们的源端口号是54160, 目的端口是cichlid(1377). 序列号(32bit): Sequence Number这个是发送序列号,用来标识从源端向目的端发送的数据字节流,它表示在这个报文端中的第一个数据字节的顺序号,序列号是32位的无符号类型

IP包、TCP报文、UDP数据段格式的汇总

一.IP包格式 IP数据包是一种可变长分组,它由首部和数据负载两部分组成.首部长度一般为20-60字节(Byte),其中后40字节是可选的,长度不固定,前20字节格式为固定.数据负载部分的长度一般可变,整个IP数据包的最大长度为65535B. 1.版本号(Version) 长度为4位(bit),IP v4的值为0100,IP v6的值为0110. 2.首部长度 指的是IP包头长度,用4位(bit)表示,十进制值就是[0,15],一个IP包前20个字节是必有的,后40个字节根据情况可能有可能没有.

计算机网络(8)-----TCP报文段的首部格式

TCP报文段的首部格式 概述 TCP报文段首部的前20个字节是固定的,因此TCP首部的最小长度是20字节. 源端口和目标端口 各占2个字节,分别写入源端口号和目的端口号. 序列号 占4个字节,表示本报文段所发送数据的第一个字节的编号.在TCP连接中所传送的字节流的每一个字节都会按顺序编号.由于序列号由32位表示,所以每2^32个字节,就会出现序列号回绕,再次从 0 开始. 确认号 占4个字节,是期望收到对方写一个报文段的第一个数据字节的序号.若确认号=N,则表明:到序号N-1为止的所有数据都已正

TCP报文的格式

1.TCP Header(图片来源) 2. (1)源端口和目的端口 各占2个字节,16比特的端口号加上32比特的IP地址. (2)序号 占4个字节.序号范围是[0,2^32-1]共2^32(即4294967296)个序号,序号使用mod 2^32运算,每个字节都按顺序编号. (3)确认号 占4个字节,指出接收端主机希望受到对方的下一报文段的数据的第一个字节的序号. (4)数据偏移 占4个字节,表示数据开始的地方离TCP报文段的起始处有多远.这实际上就是TCP报文段首部的长度.由于首部长度不固定,