精华内容
参与话题
问答
  • tcp报文格式udp报文格式详解

    万次阅读 2015-10-01 22:26:37
    TCP(Transmission Control Protocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议 ...TCP报文格式: 源端口号(2字节):  d5 df(54751) 目的端口号(2字节):  

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

    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

    任选字段(0 - 40字节):

        每个选项格式如下:

    选项类型

    选项总长度

    选项内容

        说明如下:

    说明

    占用字节数

    选项类型

    1

    0-255

    选项总长度

    1

    length

    选项内容

    length - 2

     

        可选选项如下:

    Kind

    Length

    Description

    References

    0

    1

    End of option list.

    RFC 793

    1

    1

    No operation.

    RFC 793

    2

    4

    MSS, Maximum Segment Size.

    RFC 793

    3

    3

    WSOPT, Window scale factor.

    RFC 1323

    4

    2

    SACK permitted.

    RFC 2018

    5

    Variable.

    SACK.

    RFC 2018, RFC 2883

    6

    6

    Echo. (obsolete).

    RFC 1072

    7

    6

    Echo reply. (obsolete).

    RFC 1072

    8

    10

    TSOPT, Timestamp.

    RFC 1323

    9

    2

    Partial Order Connection permitted.

    RFC 1693

    10

    3

    Partial Order service profile.

    RFC 1693

    11

    6

    CC, Connection Count.

    RFC 1644

    12

    6

    CC.NEW

    RFC 1644

    13

    6

    CC.ECHO

    RFC 1644

    14

    3

    Alternate checksum request.

    RFC 1146

    15

    Variable.

    Alternate checksum data.

    RFC 1146

    16

     

    Skeeter.

     

    17

     

    Bubba.

     

    18

    3

    Trailer Checksum Option.

     

    19

    18

    MD5 signature.

    RFC 2385

    20

     

    SCPS Capabilities.

     

    21

     

    Selective Negative Acknowledgements.

     

    22

     

    Record Boundaries.

     

    23

     

    Corruption experienced.

     

    24

     

    SNAP.

     

    25

     

     

     

    26

     

    TCP Compression Filter.

     

    27

    8

    Quick-Start Response.

    RFC 4782

    28

    4

    User Timeout.

    RFC 5482

    29

     

    TCP-AO, TCP Authentication Option.

    RFC 5925

    30

     

    MPTCP

     

     31 - 252 

     

     

     

    253

     

    RFC3692-style Experiment 1.

    RFC 4727

    254

     

    RFC3692-style Experiment 2.

    RFC 4727

    255

     

     

     

        {02 04 05 b4} {01} {03 03 08} {01} {01} {04 02}

        MSS + No operation + WSOPT + No operation + No operation + SACK permitted

     

    参考资料:

        www.networksorcery.com/enp/protocol/tcp.htm


    http://blog.csdn.net/luozenghui529480823/article/details/12946837

    UDP协议在IP协议上增加了复用、分用和差错检测功能。UDP的特点:

           A)是无连接的。相比于TCP协议,UDP协议在传送数据前不需要建立连接,当然也就没有释放连接。

           B)是尽最大努力交付的。也就是说UDP协议无法保证数据能够准确的交付到目的主机。也不需要对接收到的UDP报文进行确认。

           C)是面向报文的。也就是说UDP协议将应用层传输下来的数据封装在一个UDP包中,不进行拆分或合并。因此,运输层在收到对方的UDP包后,会去掉首部后,将数据原封不动的交给应用进程。

           D)没有拥塞控制。因此UDP协议的发送速率不送网络的拥塞度影响。

           E)UDP支持一对一、一对多、多对一和多对多的交互通信。

           F)UDP的头部占用较小,只占用8个字节

    UDP报文格式

            UDP协议分为首部字段和数据字段,其中首部字段只占用8个字节,分别是个占用两个字节的源端口、目的端口、长度和检验和。

    sd

            长度:UDP报文的整个大小,最小为8个字节(仅为首部)。

            检验和:在进行检验和计算时,会添加一个伪首部一起进行运算。伪首部(占用12个字节)为:4个字节的源IP地址、4个字节的目的IP地址、1个字节的0、一个字节的数字17、以及占用2个字节UDP长度。这个伪首部不是报文的真正首部,只是引入为了计算校验和。相对于IP协议的只计算首部,UDP检验和会把首部和数据一起进行校验。接收端进行的校验和与UDP报文中的校验和相与,如果无差错应该全为1。如果有误,则将报文丢弃或者发给应用层、并附上差错警告。

    sd



    展开全文
  • TCP、UDP报文格式

    千次阅读 2019-03-24 10:08:17
    TCP首部格式 16位端口号 (port number): 告知主机该报文段是来自哪里 (源端口) 以及传给哪个上层协议或应用程序(目的端口)的,进行TCP通信时,客户端通常使用系统自动选择的临时端口号,而服务器则使用知名服务端...

    TCP首部格式

               

    16位端口号 (port number): 告知主机该报文段是来自哪里 (源端口) 以及传给哪个上层协议或应用程序(目的端口)的,进行TCP通信时,客户端通常使用系统自动选择的临时端口号,而服务器则使用知名服务端口号.所有知名服务使用的端口号都定在/etc/services 文件中.
    32位序号 (sequence number): 一次TCP通信 (从TCP连接建立到断开) 过程中某一个传输方向上的字节流的每个字节的编号.假设主机A和主机B进行TCP通信,A发送给B的第一个TCP报文段中, 序号值被系统初始化为某个随机值ISN (初始序号值). 那么在该传输方向上(从A到B), 后续的TCP报文段中序号值将被系统设置成ISN 加上该报文段所携带数据的第一个字节在整个字节流中的偏移.例如,某个TCP报文段传送的数据是字节流中的第1025~2048字节,那么该报文段的序号值就是ISN+1025.另外一个传输方向(从B到A)的TCP报文段的序号值也具有相同的含义.
    32位确认号 (acknowledgement number): 用作对另一方发送来的TCP报文段的响应.其值是收到的TCP报文段的序号值加1.假设主机A和主机B进行TCP通信,那么A发送出的TCP报文段不仅携带自己的序号,而且包含对B发送来的TCP报文段的确认号.反之,B发送出的TCP报文段也同时携带自己的序号和对A发送来的报文段的确认号.
    4位头部长度 (header length): 标识该TCP头部有多少个32bit字 (4字节). 因为4位最大能表示15,所以TCP头部最长是60字节.

    6位标志位

    URG  表示紧急指针 (urgent pointer) 是否有效.
    ACK  表示确认号是否有效. 我们称携带ACK标志的 TCP报文段为确认报文段.
    (确认 ACK :当 ACK=1 时确认号字段有效,否则无效。TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1)
    PSH   提示接收端应用程序应该立即从 TCP接收缓冲区中读走数据,为接收后续数据腾出空间 (如果应 用程序不将接收到的数据 读 走, 它们就会一直停留在TCP接收缓冲区中).
    RST  表示要求对方重新建立连接.我们称携带RST标志的 TCP报文段为复位报文段.
    SYN  表示请求建立一个连接. 我们称携带 SYN 标志的TCP报文段为同步报文段.
    (同步 SYN :在连接建立时用来同步序号。当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1)
    F I N  表示通知对方本端要关闭连接了.我们称携带FIN标志的TCP报文段为结束报文段.
    (终止 FIN :用来释放一个连接,当 FIN=1 时,表示此报文段的发送方的数据已发送完毕,并要求释放连接)

    16位窗口大小(window size):是TCP流量控制的一个手段。这里说的窗口,指的是接收通告窗口(Receiver Window, RWND).它告诉对方本端的TCP接收缓冲区还能容纳多少字节的数据,这样对方就可以控制发送数据的速度。

    16位校验和(TCP checksum):由发送端填充,接收端对TCP报文段执行CRC算法以检验TCP报文段在传输过程中是否损坏。注意,这个校验不仅包括TCP头部,也包括数据部分。这也是TCP可靠传输的一个重要保障。

    16位紧急指针(urgent pointer):是一个正的偏移量。它和序号字段的值相加表示最后-一个紧急数据的下字节的序号。因此,确切地说,这个字段是紧急指针相对当前序号的偏移,不妨称之为紧急偏移。TCP的紧急指针是发送端向接收端发送紧急数据的方法。我们将在后面讨论TCP紧急数据。

    UDP首部格式

              

    首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。

    12 字节的伪首部是为了计算检验和临时添加的。

    展开全文
  • TCP报文格式+UDP报文格式+MAC帧格式 TCP和UDP的区别: 1)TCP是面向连接的,而UDP是无连接的 2)TCP提供可靠服务,而UDP不提供可靠服务,只是尽最大努力交付报文 3)TCP面向字节流,TCP把数据...

    TCP报文格式+UDP报文格式+MAC帧格式

    TCP和UDP的区别:

    1)TCP是面向连接的,而UDP是无连接的

    2)TCP提供可靠服务,而UDP不提供可靠服务,只是尽最大努力交付报文

    3)TCP面向字节流,TCP把数据看成一串无结构的字节流,而UDP是面向报文的(UDP数据报+IP头部=IP数据报)

    4)TCP有拥塞控制,UDP没有拥塞控制

    5)TCP只提供点对点通信,而UDP提供点对点,点对多点,多点对多点的通信

    6)TCP提供的是全双工的可靠信道,而UDP提供的是不可靠信道

    7)TCP的首部开销有20个字节,而UDP的首部开销只有8个字节

     

    TCP报文格式

    TCP报文格式

    序号:该报文段在整个报文中的序号,为本报文段发送的第一个字节的序号,比如该报文段第一个字节的序号为100,则该报文段的序号为100

    确认序号:指明下一个期待收到的字节序号,比如当前报文段的序号为100,报文段的数据部分共有200个字节,则确认序号为100+200=300

     

    首部长度:TCP报文首部长度,也是TCP报文数据部分的偏移量,以为存在选项部分

    保留位:目前没有被使用,设置为0

     

    标志位

    URG=1:紧急比特,报文中有紧急数据,应该尽快传递

    ACK=1:确认比特,说明该报文是一个发送方返回的确认报文

    PSH=1:推送比特,指示接收方在接收到报文后应该尽快交给应用进程,而不是等到整个缓存填满才发送给应用进程

    RST=1:复位比特,TCP连接中出现严重差错,必须释放连接,然后重新建立连接

    SYN=1:同步比特,表示TCP连接正在建立中,该报文是一个协商报文

    FIN=1:终止比特,发送端已完成数据传输,请求释放连接

     

    窗口大小:接收窗口的大小,表示接收端希望接受的字节数

    校验和:反码求和,发送端计算,结果存入校验和字段,接收端校验,校验结果和校验和字段结果不同则丢弃报文,相同也不代表该报文没有出错,所以TCP的校验机制不能检查出所有等到错误,所以我们需要在应用层建立一套新的数据校验机制:MD5加密,在发送数据前使用MD5加密,并且将MD5摘要一起发送,接收端接收数据后再次进行MD5加密,加密结果等于发送的加密密钥则数据没有出错,不等于在数据出错了,抛弃该报文

    紧急指针:仅在紧急比特URG=1时才有效,指明该TCP报文中紧急数据的字节数,同时也指明了紧急数据的末尾位置,因为紧急数据后面就是普通数据,即使窗口为0,也可以发送紧急数据

    选项:(TCP报文除开选项和数据部分,总共20个字节)

    TCP报文选项字段.jpg

     

    UDP报文格式:(UDP报文首部8个字节)

    UDP报文格式

     

    MAC帧格式:

    以太网的帧格式:

    Preamble:前导同步码7个字节+帧开始定界符1个字节=8个字节

    Destination MAC adress:目的MAC地址

    Source MAC adress:源MAC地址

    Type/Length:帧类型

    User date :数据信息

    Frame Check Sequence:帧校验序列

    因此以太网帧的范围是72-1526字节

    posted @ 2019-06-10 11:25 Y先森0.0 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • TCP和UDP报文格式

    万次阅读 2018-05-29 21:26:44
    源端口(Source port)和目的端口(Destination port) 各16 bits。IP地址标识互联网中的不同...端口由互联网数字分配机构(Internet Assigned Numbers Authority,IANA)分配,TCP和UDP端口号列表。 著名端...

    TCP报文格式

    TCP Header
    TCP报文格式

    • 源端口(Source port)和目的端口(Destination port)

    各16 bits。IP地址标识互联网中的不同终端,端口号标识终端中的不同应用进程,具有本地意义。32位IP + 16位端口号 = 48位插口。
    端口由互联网数字分配机构(Internet Assigned Numbers Authority,IANA)分配,TCP和UDP端口号列表

    著名端口号(Well-known) 注册端口号(Registered) 动态端口号(Dynamic)
    0~1023 1024~49151 49152~65535
    IANA统一分配 向IANA申请注册 本地分配

    - 序号(Sequence Number)和确认序号(Acknowledgment Number)

    各32 bits。TCP连接传输的字节流中的每一个字节都有序号。SN指示本报文段所发送的数据第一个字节的序号。AN指示期望收到对方的下一个报文的第一个字节的序号,所有小于AN的报文都被正确接收。

    • 首部长度(Data offset)

    4 bits,以32-bit字为单位。TCP首部长短,也是TCP报文数据部分的偏移量。范围5~15,即20 bytes ~ 60 bytes。options部分最多允许40 bytes。

    • 保留(Resevered)

    3 bits,将来使用,目前应设为0。

    • 标志位(Flags)

    URG = 1,指示报文中有紧急数据,应尽快传送(相当于高优先级的数据)。
    PSH = 1,接到后尽快交付给接收的应用进程。
    RST = 1,TCP连接中出现严重差错(如主机崩溃),必须释放连接,在重新建立连接。
    FIN = 1,发送端已完成数据传输,请求释放连接。
    SYN = 1,处于TCP连接建立过程。
    ACK = 1,确认序号(AN)有效。

    • 窗口(Window size)

    16 bits,接收窗口的大小。接收端希望接收的字节数。

    • 校验和(Checksum)

    16 bits,校验报文首部、数据。

    • 紧急指针(Urgent pointer)

    16 bits,如果URG = 1,该字段指示紧急数据的大小(相对于SN的偏移),紧急数据在数据部分的最前面。

    • 可选项(Options)

    TCP报文的字段实现了TCP的功能,标识进程、对字节流拆分组装、差错控制、流量控制、建立和释放连接等。

    UDP报文格式

    UDP报文首部

    • 源端口(Source port)和目的端口(Destination port)

    • 报文长度(Length)

    16 bits,指示UDP报文(首部和数据)的总长度。最小8 bytes,只有首部,没有数据。最大值为65535 bytes。实际上,由于IPv4分组的最大数据长度为(65535 - 20 = 65515) bytes,UDP的报文长度不超过65515 bytes。IPv6允许UDP的长度超过65535,此时length字段设为0。

    • 校验和(Checksum)

    参考:
    http://www.xuetangx.com/courses/course-v1:UST+UST001+sp/courseware/a4bb2456afc54cdc94defd1ab13b0389/
    https://en.wikipedia.org/wiki/Transmission_Control_Protocol
    https://en.wikipedia.org/wiki/User_Datagram_Protocol

    展开全文
  • 1、ISO开放系统有以下几层: 2、TCP/IP 网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。 通信过程中,每层协议都要加上一个数据首部(header),称为封装...
  • TCP/UDP报文格式

    2016-07-15 15:34:56
    TCP/UDP报文格式  TCP 协议为终端设备提供了面向连接的、可靠的网络服务,UDP 协议为终端设备提供了无连接的、不可靠的数据报服务。从上图我们可以看出,TCP 协议为了保证数据传输的可靠性,相对于UDP 报文...
  • IP TCP UDP 报文格式

    千次阅读 2016-04-02 14:42:44
    转自:... IP数据报UDP TCP报文格式" title="IP UDP TCP报文格式" style="margin:0px; padding:0px; border:0px; list-style:none; width:520px; height:253px"> 版本:V
  • IP数据报、TCP报文、UDP报文格式

    千次阅读 2015-11-30 21:12:38
    IP数据报、TCP报文、UDP报文协议格式归纳图文总结
  • IP-TCP-UDP报文格式

    2020-02-27 12:51:19
    IP报文格式 TCP报文格式 源端口(Source port)和目的端口(Destination port) 各16 bits。IP地址标识互联网中的不同终端,端口号标识终端中的不同应用进程,具有本地意义。32位IP + 16位端口号 = 48位插口。...
  • 中文 英文 描述 源端口号 Source Port 16比特,发送端口.没有源端口号设置为0,用于不需要返回的通信中 目标端口号 Destination Port 16比特,接收端口 包长度 Length 16比特,单位8字节首部长度和数据长度之......
  • 一、IP报文格式 IP字段解释: 字段 长度 含义 Version(版本) 4比特 表示版本信息。 *4:表示IPv4 *6:表示IPv6 ...
  • TCP协议格式 UDP协议格式
  • UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 在UDP协议...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 首先让我们来看一下 TCP 的报文头部主要字段: 序列号(Sequence number)字段用来标识TCP 源端设备向目的端设备发送的字节流,它表示在这个报文段中的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动...
  • 一、滑动窗口协议 滑动窗口概念不仅存在于数据链路层,也存在于传输层,两者有不同的协议,但基本原理是相近的。其中一个重要区别是,一个是针对于帧的传送,另一个是字节数据的传送。滑动窗口主要实现了流量的控制...
  • 怎么自定义udp报文格式?求各位大神提供一个可靠的解决方案!谢谢!
  • TCP和UDP报文格式

    万次阅读 2018-06-03 23:47:25
    一、TCP 1.源端口和目的端口:各占2个字节。 2.序号:占4字节。序号范围是0~2^32-1。TCP是面向字节流的,TCP连接...3.确认号:4个字节,是期望收到对方下一个报文段的第一个数据字节的序号。 若确认号=N,则表...
  • 一、TCP1.源端口和目的端口:各占2个字节。 2.序号:占4字节。序号范围是0~2^32-1。TCP是面向字节流的,TCP连接中...3.确认号:4个字节,是期望收到对方下一个报文段的第一个数据字节的序号。若确认号=N,则表明:...
  • IP UDP TCP报文格式

    千次阅读 2010-05-21 08:48:00
    IP UDP TCP报文格式IP数据报UDP TCP报文格式" src="http://static15.photo.sina.com.cn/orignal/5544469d41f517bba070e" border="0" alt="IP UDP TCP报文格式" />版本:V4报头长度:它是以32比特为单位的。...
  • ip udp tcp 报文格式

    2016-05-24 15:46:19
    IP: UDP: TCP:
  • 21、UDP报文格式,字段的意义

    千次阅读 2014-05-03 10:38:52
    1、UDP有两个字段:数据字段和首部字段。 首部字段 ...这在终点交付报文时必须要使用到。 3)长度: UDP用户数据报的长度,其最小值是8(仅有首部)。 4)校验和:检测UDP用户数据报在传输中是
  • 2. 每份数据加上头部数据以UDP报文格式发送出去 现在发UDP报文功能已经实现,但是如何读取二进制文件,以及如何拆分并加上头部数据 不知道怎么弄,下边有个正确UDP报文数据,请各位帮忙看看

空空如也

1 2 3 4 5 ... 20
收藏数 942
精华内容 376
关键字:

udp 报文格式