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

UDP报文

1、UDP有两个字段:数据字段和首部字段。

  • 首部字段

首部字段很简单,只有8个字节,由4个字段组成,每个字段的长度都是两个字节。

1)源端口:源端口号。在需要对方回信时选用。不需要时可用全0。

2)目的端口:目的端口号。这在终点交付报文时必须要使用到。

3)长度: UDP用户数据报的长度,其最小值是8(仅有首部)。

4)校验和:检测UDP用户数据报在传输中是否有错。有错就丢弃。

2、要注意的地方

  • UDP首部中校验和的计算方法有些特殊。在计算校验和时,要在UDP用户数据报之前增加12个字节的伪首部。
  • 伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。
  • 与IP数据报的校验和只校验IP数据报的首部不同,UDP的校验和是把首部和数据部分一起都校验。

伪首部:

TCP报文

TCP报文是TCP层传输的数据单元,也叫报文段。

1、端口号:用来标识同一台计算机的不同的应用进程。

1)源端口:源端口和IP地址的作用是标识报文的返回地址。

2)目的端口:端口指明接收方计算机上的应用程序接口。

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

2、序号和确认号:是TCP可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。e.g.一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0。

3、数据偏移/首部长度:4bits。由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为60字节。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。

4、保留:为将来定义新的用途保留,现在一般置0。

5、控制位:URG  ACK  PSH  RST  SYN  FIN,共6个,每一个标志位表示一个控制功能。

1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。

3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。

4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。

6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

6、窗口:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小时一个16bit字段,因而窗口大小最大为65535。

7、校验和:奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。

8、紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。

9、选项和填充:最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。

10、数据部分: TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。

转自:http://blog.csdn.net/mary19920410/article/details/58030147

     http://blog.csdn.net/xieyutian1990/article/details/24913027

时间: 2024-08-02 23:37:12

UDP与TCP报文格式,字段意义的相关文章

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

转自: http://blog.chinaunix.net/uid-9112803-id-3212041.html 摘要: 本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 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位,用来表示报文首部

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,故没有确认序号

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、udp、ip、icmp报文格式分析

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

TCP/IP报文格式

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

ARP报文格式

ARP/RARP报文格式 地址解析协议ARP(Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议. 报文格式 字段 长度(bit) 含义 Ethernet Address of destination 48比特 目的以太网地址.发送ARP请求时,为广播的MAC地址,0xFF.FF.FF.FF.FF.FF. Ethernet Address of sender 48比特 源以太网地址. Frame Type 16比特 表示后面数据的类型.对于ARP请求或

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个字节根据情况可能有可能没有.

IP报文格式及各字段意义

IP数据包由报头和数据两部分组成.报头的前一部分是固定长度,共20字节.在报头的固定部分的后面是可选部分--IP选项和填充域. 首部各字段的含义如下 1.版本 占4位,指IP协议的版本. 2.报头长度 占4位,该字段的单位是32位字(1个32位字长是4字节),因此当IP报头长度为1111时,报头长度就达到最大值60字节.当IP分组的首部长度不是4字节的整数倍是,就需要对填充域加以填充.最常用的报头长度为20位(报头长度值为0101),这时不使用任何选项. 3.区分服务(服务类型) 占8位,在一般