当前位置:网站首页 > C++编程 > 正文

ipv6 tcp报文(ipv6的报文结构由什么组成?)



技术笔记分享

目录

思维导图

!!!重点掌握

前情提要

1.TCP报文格式

字段详细说明:

2.UDP报文格式

字段详细说明: 

3.IP子网划分

重要参数:

IPv4地址分类

 特殊地址

子网划分概述:


1.TCP报文格式的几个重要参数

2.TCP与UDP的区别

3.IP报文的几个重要参数

        TCP 是面向连接的、可靠的字节流协议。因此,在传输数据之前通信双方必须建立一个 TCP 连接。UDP是一种面向无连接的通信协议,因此不检查对端是否可以通信,直接将UDP包发送出去。TCP与此相反,它会在数据通信之前,通过TCP首部发送一个SYN包作为建立连接的请求等待确认应答。如果对端发来确认应答,则认为可以进行数据通信。如果对端的确认应答未能到达,就不会进行数据通信。

TCP通过以下方式提供可靠性:

1.        TCP分段//与UDP不同,UDP数据长度保持不变

2.       超时重传//TCP报文段发出后启动定时器,目的端不及时发送确认信息,则重传

3.       确认应答//目的端收到报文段后,发送一个确认信息(不是立即发送)

4.       校验后出错,超时重发//目的端收到的校验和有差错,则丢弃,不发送确认信息,等待超时重发

5.       重新排序//TCP报文段通过IP数据报进行传输,到达目的端可能失序,需要进行重新排序,再向上层传递。

6.       重复丢弃//IP数据报有可能重复,TCP丢弃重复的数据

7.       流量控制//发送端和接收端速率可能不一致,所以TCP连接的每一方都有固定大小的缓存空间

字段名称字段长度(位)字段说明源端口16发送端端口号,用于标识发送进程目的端口16接收端端口号,用于标识接收进程序列号32标识TCP发端向TCP收端发送的数据字节流中第一个字节的序号确认号32标识接收端期望收到的下一个数据报文中的第一个字节的序号数据偏移/首部长度4指示TCP报文段的首部长度,单位为32位字(4字节),最大长度为60字节保留6保留字段,用于未来定义新的用途,通常置为0控制位6包含多个标志位,用于控制TCP报文段的行为,如FIN、ACK、SYN、URG、PSH、RST等窗口16指示接收端当前可用的缓存空间大小,用于流量控制校验和16对TCP报文段(包括首部和数据)进行校验,用于检测数据传输过程中的错误紧急指针16仅在URG标志位为1时有效,用于指示紧急数据的最后一个字节的序号选项0-40可选字段,用于扩展TCP报文段的功能,如最大报文段长度(MSS)、时间戳等数据可变TCP报文段中携带的数据部分,长度可变

字段详细说明:

  1. 源端口和目的端口: 各占16位,用于标识发送端和接收端的端口号,从而实现TCP的复用和分用功能。
  2. 序列号和确认号 各占32位,用于保证TCP传输的有序性和可靠性。序列号标识发送的数据字节流中的每一个字节,确认号标识接收端期望收到的下一个数据字节的序号。
  3. 数据偏移/首部长度: 占4位,用于指示TCP报文段的首部长度,单位为32位字(4字节)。由于TCP报文段的首部可能包含可选字段,因此其长度是可变的,最大长度为60字节。
  4. 保留字段: 占6位,用于未来定义新的用途,目前通常置为0。
  5. 控制位 占6位,包含多个标志位,用于控制TCP报文段的行为。常见的标志位包括FIN(表示发送方已经没有数据发送了,请求释放连接)、ACK(表示确认号有效)、SYN(表示这是一个连接请求或连接接受报文)、URG(表示紧急指针有效)等。
  6. 窗口 占16位,用于指示接收端当前可用的缓存空间大小,从而控制发送端的发送速率,实现流量控制。
  7. 校验和: 占16位,用于对TCP报文段(包括首部和数据)进行校验,以检测数据传输过程中的错误。
  8. 紧急指针: 占16位,仅在URG标志位为1时有效,用于指示紧急数据的最后一个字节的序号。
  9. 选项字段: 长度可变,用于扩展TCP报文段的功能。常见的选项包括最大报文段长度(MSS)、时间戳等。
  10. 数据部分: 长度可变,用于携带TCP报文段中实际传输的数据。

使用抓包软件查看

字段名称长度(位)长度(字节)描述源端口号(Source Port)162发送数据报的应用程序所在的端口,取值范围是0到65535目的端口号(Destination Port)162接收数据报的应用程序所在的端口,取值范围也是0到65535长度(Length)162整个UDP数据报的长度,包括UDP头部和数据部分,最小值是8校验和(Checksum)162用于验证UDP报文在传输过程中是否发生了错误,通过UDP头部、数据部分以及伪首部进行计算数据部分(Data)可变可变实际要传输的数据,可以是各种应用层数据,如音频、视频、文本等

字段详细说明: 

  1. 源端口号(Source Port)
    • 长度:16位(2字节)
    • 作用:标识发送数据报的应用程序所在的端口。取值范围是0到65535。通常由操作系统分配,用于标识发送数据报的应用程序。
  2. 目的端口号(Destination Port)
    • 长度:16位(2字节)
    • 作用:标识接收数据报的应用程序所在的端口。取值范围也是0到65535。用于确定数据报应该交给哪个应用程序处理。
  3. 长度(Length)
    • 长度:16位(2字节)
    • 作用:表示整个UDP数据报的长度,包括UDP头部和数据部分。最小值是8,因为UDP头部的长度固定为8字节。
  4. 校验和(Checksum)
    • 长度:16位(2字节)
    • 作用:用于验证UDP报文在传输过程中是否发生了错误。通过UDP头部、数据部分以及伪首部进行计算。伪首部包括源IP地址、目的IP地址、协议号(17表示UDP)和UDP报文长度。

重要参数:

1.版本:目前IP协议版本号为4

2.服务类型:用于IP报标记,多用于Qos

3.生存时间TTL::IP报文所允许通过的路由器最大数量(默认64)

4.协议:指出IP报文携带的数据使用协议(TCP或UDP)

5.源IP地址:识别IP数据报的源端设备

6.目标IP地址:识别IP数据报的目的地址

IPv4地址分类

地址类别地址范围二进制表示默认子网掩码应用场景A类1.0.0.0 - 126.0.0.0 (实际可用:1.0.0.1 - 126.255.255.254)前8位是网络号(最高位是0)255.0.0.0大型网络,每个网络支持多达台主机B类128.0.0.0 - 191.255.255.255 (实际可用:128.0.0.1 - 191.255.255.254)前16位是网络号(最高两位是10)255.255.0.0中等规模网络,每个网络支持多达65534台主机C类192.0.0.0 - 223.255.255.255 (实际可用:192.0.0.1 - 223.255.255.254)前24位是网络号(最高三位是110)255.255.255.0小型网络,每个网络支持254台主机D类224.0.0.0 - 239.255.255.255前4位是1110无固定子网掩码(用于组播)多播通信,允许一台主机将数据包发送到多个目标主机E类240.0.0.0 - 255.255.255.255前5位是11110无固定子网掩码(保留或实验地址)网络测试、开发、科学研究等目的,255.255.255.255用于受限广播

 特殊地址

特殊地址描述用途0.0.0.0未指定地址在路由表中表示默认路由,或在配置中作为占位符127.0.0.1环回地址(Loopback Address)用于网络软件测试和诊断,指向本机224.0.0.1组播地址(Multicast Address)所有系统组播地址,通常不用于特定应用224.0.0.2组播地址所有路由器组播地址,用于网络内路由器之间的通信224.0.0.5OSPF协议使用的组播地址OSPF(开放最短路径优先)协议使用此地址进行路由器之间的通信255.255.255.255受限广播地址(Limited Broadcast Address)向本地网络中的所有主机发送广播消息169.254.0.0 - 169.254.255.255APIPA地址(Automatic Private IP Addressing)在没有DHCP服务器的情况下,Windows操作系统自动分配的私有IP地址范围10.0.0.0 - 10.255.255.255私有地址(Private Address)用于私有网络,不会在公共互联网上路由172.16.0.0 - 172.31.255.255私有地址同上192.168.0.0 - 192.168.255.255私有地址同上240.0.0.0 - 255.255.255.254实验地址(Experimental Addresses)用于研究、开发、测试等目的,不建议在公共网络上使用

//单播:1对1

//组播:1(固定)对1组(变动)

//广播:1对所有

子网划分概述:

        子网划分是指由网络管理员将一个给定的网络分为若干个更小的部分,这些更小的部分被称为子网。它涉及将网络地址空间划分为较小的块,每个块都分配给不同的子网。这一技术通过应用不同的子网掩码来实现,子网掩码是一个32位二进制数字,用于确定IP地址中网络部分和主机部分的边界。

*给一个IP地址能写出该地址的网络地址和广播地址 *

例如:192.168.10.50    255.255.255.224

步骤一:找出块大小

                255-224=32//即块大小为32

步骤二:查找50在哪个范围

        (1) 32*0:0~31

        (2) 32*1:32~63(50在这个范围内)

        (3) 32*2:64~ ...

所以192.168.10.50    255.255.255.224的网络地址为192.168.10.32广播地址为192.168.10.63

 

以上是本章的全部内容

不足之处请多包涵,大家可以在评论区多多讨论

到此这篇ipv6 tcp报文(ipv6的报文结构由什么组成?)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • tcp协议工具(tcp协议功能)2024-12-09 23:54:06
  • 广度优先搜索c++语言(广度优先搜索c++算法)2024-12-09 23:54:06
  • console线引脚定义(consolo线)2024-12-09 23:54:06
  • 交换机上console是什么意思(交换机console口定义)2024-12-09 23:54:06
  • 越狱源地址2023(越狱源地址2024 gpscheat)2024-12-09 23:54:06
  • cp1515n(Cp1515n设置中文)2024-12-09 23:54:06
  • cnns认证(nisc认证)2024-12-09 23:54:06
  • c语言 环形队列(环形队列c++实现)2024-12-09 23:54:06
  • 佳能cp1500打印机使用方法(佳能打印机l150)2024-12-09 23:54:06
  • apc与阿司匹林的区别(阿司匹林与ppi共识指南)2024-12-09 23:54:06
  • 全屏图片