数据包传输的具体过程是什么样的?

转自:https://www.pinlue.com/article/2021/05/1300/0011599102700.html
数据包在传输过程中是以数据帧的形式传输的,数据帧由帧头+IP头+TCP/UDP头+数据+帧校验组成;

在每一个路由器上帧头与帧校验都会变化以适应不同的链路,其他内容基本不变;

所有数据都是以二进制数据进行编码的,根据各个链路类型在不同的物理链路上编码传输。

当A的包发往B时,B收到的是一个数据帧(从二层上看,当然从物理层看就是一些信号),B是路由器,因此对这个帧进行解包,找到其IP地址信息,然后通过路由表查找出相应端口,然后将这个帧发往与C相连的端口,此时帧中的目的MAC已经改变为与C相连的端口的MAC。接着这个帧的目的MAC再一次改变为C的MAC然后到达C。

我们看到,在一个数据包的传递过程中,三层的IP地址信息以及源MAC地址是不改变的,而目的MAC地址是由网络设备动态改变的。

网络设备是如何知道下一跳的MAC地址是什么呢,其实还是靠三层的IP信息计算得出的。在三层上是路由计算,在二层上是通过广播然后根据应答来获取。

顺便解析一下:

在以太网中,数据包最大传输单元MTU为1500个字节,在一个IP包中,去除IP包头的20个字节,可以传输的最大数据长度为1480个字节。在TCP包中,去除20个TCP包头,可以传输的最大数据段为1460个字节。因此,当数据超过最大数据长度时,将对该数据进行分片处理,在IP包头中会看到有多个片在传输,但标识号是相同的,表示是同一个数据包。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32 USB2.0 枚举过程是指设备连接到USB总线后,通过一系列的信息交换,建立设备的通信连接的过程。这一过程包括:设备接入总线、总线重置、设备描述符检索、配置描述符检索、接口描述符检索、枚举配置、设备驱动的安装和设备的启动等几个步骤。 ### 回答2: STM32 USB2.0枚举过程是指在连接到主机上后,USB设备与主机之间进行握手和协商的一系列步骤。下面是一般的枚举流程: 1. USB连接:将STM32芯片的USB接口连接到主机上,主机会发送一个Reset信号,复位STM32的USB模块。 2. 枚举启动:芯片复位完成后,USB模块开始枚举启动过程,向主机发送默认的设备描述符。 3. 分配地址:主机收到设备描述符后,分配一个地址给STM32。此时,STM32会更新自身的地址,并使用新地址向主机发送响应。 4. 接口配置:主机与STM32协商设备所支持的配置,主机会发送一个Set Configuration的控制命令来配置设备的接口。 5. 完成枚举:配置成功后,STM32进入配置完成状态,并向主机发送一个完成状态的通知。 整个枚举过程中,STM32会根据主机的请求发送不同的控制命令和数据包,而主机则根据设备的响应来决定下一步的操作。最终,当枚举成功完成后,主机可以与STM32进行数据传输。 需要注意的是,STM32 USB枚举过程相对复杂,需要开发人员在代码中正确配置设备描述符、端点和请求处理函数等,以保证设备能够与主机成功通信。 ### 回答3: STM32 USB2.0枚举过程的步骤如下: 1. 插入USB设备:当将USB设备插入主机(例如电脑)的USB接口时,主机会向设备发送复位信号。复位信号会使设备进入初始状态。 2. 设备复位:设备在接收到复位信号后,会进行一系列初始化操作,包括初始化USB协议栈、分配接口、配置端点、设置设备描述符等。 3. 主机请求设备描述符:主机会向设备发送一个获取设备描述符的请求。设备描述符包含有关设备的基本信息,如设备类型、制造商和产品ID等。 4. 发送设备描述符:设备收到主机的请求后,会发送设备描述符给主机。主机根据设备描述符确定设备类型,并相应地加载驱动程序。 5. 配置设备:主机会通过发送配置请求来配置设备。在配置过程中,主机向设备发送配置请求,并设定设备的各个端点的传输速率和功率要求。 6. 完成枚举:设备在接收到配置请求并成功配置后,将发送一个通知给主机,表示设备枚举过程结束。 7. 进入正常工作状态:一旦设备完成枚举过程,它就可以进入正常的工作状态。设备可以根据需要与主机进行数据的收发和交互等操作。 需要注意的是,USB枚举过程可以用来识别新插入的设备,设备插拔时也会触发重新枚举。USB枚举的过程和状态转换由USB协议控制,STM32等芯片提供了硬件和软件支持来实现USB协议栈的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值