数据转发过程概述

数据包在相同网段内或不同网段之间转发所依据的原理基本一致

一、数据帧封装

TCP封装(四层)

当主机建立了到达目的地的TCP连接后,便开始对应用层数据进行封装。

主机A会对待发送的应用数据首先执行加密压缩等相关操作,之后进行传输层封装。 Web应用是基于传输层的TCP协议传输数据的。

IP封装(三层)

主机A完成传输层封装后,一般会进行网络层数据封装,在使用IP进行封装时,需要明确IP报文的源和目的地址。如果IP报文的大小大于网络的最大传输单元(MTU),则该报文有可能在传输过程中被分片

查找路由

主机A必须要拥有到达目的地的路由

每个主机都会独自维护各自的路由表项。主机A在发送数据前需要先检查是否能够到达目的端,这个过程是通过查找路由来完成的。

ARP请求

通过ARP缓存表找到下一跳的MAC地址

如果表项里没有下一跳的MAC地址,主机A会发送ARP请求

以太网封装(二层)

主机A在链路层封装数据帧时,会遵循IEEE 802.3Etherne_II标准,Ethernet_II帧头中的类型字段填充为0x0800,以表示网络层使用的是IP协议。源MAC地址为主机A的MAC地址,目的MAC地址为网关路由器E0/0接口的MAC地址。

二、数据帧解封装

RTB以服务器A的MAC地址作为目的MAC继续转发。

服务器A接收到该数据帧后,发现目的MAC自己的MAC,于是会继续处理该数据帧

服务器A检查数据包的目的IP地址,发现目的IP自己的IP地址相同。

服务器A剥掉数据包的IP头部后会送往上层协议TCP继续进行处理。

服务器A检查TCP头部的目的端口,然后将数据段发送给应用层的HTTP协议进行处理。

以太网数据帧的报尾封装字段是什么_16、90秒快速“读懂”数据包的封装、解封装...相关推荐

  1. 以太网数据帧的报尾封装字段是什么_利用TCP/IP模型理解数据通信过程

    回顾TCP/IP模型 TCP/IP模型是当今IP网络的基础(由OSI七层参考模型发展而来,也称为DoD模型). 分层参考模型的设计是非常经典的理念: 层次化的模型设计将网络的通信过程划分为更小.更简单 ...

  2. 【FFmpeg】FFmpeg 相关术语简介 ( 容器 | 媒体流 | 数据帧 | 数据包 | 编解码器 | 复用 | 解复用 )

    文章目录 一.FFmpeg 简介 二.FFmpeg 相关术语 1.容器 2.媒体流 3.数据帧 4.数据包 5.编解码器 6.复用 7.解复用 博客资源 一.FFmpeg 简介 FFmpeg 是 &q ...

  3. 以太网数据帧详细解析 逐字节分析

    以太网数据帧详细解析 详细解析以太网通信数据帧 测试环境 机器名 mac ip port tcp_server 00:0c:29:8b:37:da 10.1.2.7 9502 tcp_client 0 ...

  4. 以太网数据包、IP包、TCP/UDP 包的结构(转)

    源:以太网数据包.IP包.TCP/UDP 包的结构 版本号(Version):长度4比特.标识目前采用的IP协议的版本号.一般的值为0100(IPv4),0110(IPv6). IP包头长度(Head ...

  5. 【以太网数据包】OICQ数据包(QQ)

    [以太网数据结构]系列文章链接 http://blog.csdn.net/u012819339/article/category/5849175 OICQ数据包格式 协议字段解释: 标识:固定为0x0 ...

  6. 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )

    文章目录 一. 基本封装数据格式说明 二. 封装 SPS PPS 数据总体说明 三. 封装头数据 四. 封装 SPS 数据 五. 封装 PPS 数据 六. 设置 RTMP 数据包其它参数 七. SPS ...

  7. 解封装(一):ffmpeg解封装

    1.注意:什么是解封装,就是将二进制音视频文件,开始音视频文件分离,解码的具体操作. 2.解封装没有严格的性能问题.它的开销非常小. 3.解封装使用的一些接口 (1)av_register_all() ...

  8. FFmpeg入门详解之43:FFmpeg解封装的原理与实战

    FFMpeg 解封装 本例子实现的是将音视频分离,例如将封装格式为 FLV.MKV.MP4.AVI 等封装格式的文件,将音频.视频分离开来. 大致的解封装流程: 1.首先要对解复用器进行初始化. 2. ...

  9. 用WireShark分析以太网数据帧

    任务1: 简述WireShark软件的安装.主界面.基本功能. 安装:进入网站线鲨·深入探索. (wireshark.org)和端口:视窗数据包捕获库和驱动程序 (npcap.com),下载并安装. ...

最新文章

  1. 【C++】枚举类型应用
  2. postgresql高可用_Postgresql高可用实现方案
  3. Linux系统进程类型有哪些?进程状态有哪几种?常见的进程有哪些?
  4. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第3章-有向二阶多智能体系统脉冲一致性
  5. 04.search_template
  6. DPtoLP/LPtoDP 和 ScreenToClient/ClientToScreen
  7. 阿里云SLB负载均衡与使用SSL域名证书
  8. Linux Shell脚本专栏_查看网卡的实时流量_06
  9. 10张架构图详解数据中台,附全套数据中台PPT
  10. GTJ2018如何导出全部工程量_新清单计量规范征求意见稿第二期来啦!来看看那些让你烦恼的操作如何解决...
  11. h3c交换机配置远程管理_H3C交换机配置管理VLAN和配置远程登录
  12. Gentoo安装教程(Systemd+Gnome)
  13. 《麦肯锡工作法》读书分享
  14. 用python对股票期货做时序分析
  15. 基于SSM的在线测试及评卷系统
  16. 有什么哪些便宜的云服务器推荐?
  17. cad命令栏怎么调出来_期货文华软件K线图上随着最新价格跳动的黄虚线怎么调出来...
  18. 支付宝支付接口调用实现支付功能
  19. (一)ProxmoxVE 初识
  20. Mercurial与TortoiseHg使用入门教程(转)

热门文章

  1. NY : 括号匹配问题
  2. C语言动态数组建立方法
  3. Matlab功率谱估计
  4. 从数学的角度来谈谈,孩子为什么要学编程!
  5. 输出以下图案菱形7行_春夏格子图案超流行,三木的一款格子连衣裙,带来田园少女风...
  6. 日期格式无法识别 oracle,Oracle时间统计 - 不以物喜-不以己悲的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. php7.0 百度百科,PHP 7.0.10正式发布
  8. 【前端面试题】关于一些js的一些面试题(金融行业),我和面试官扯了三个小时
  9. unity 是厘米还是米_1种“竹节参”,植株有40厘米高,能挂果,果子成熟后变红,珍贵...
  10. js 获取json数组里面数组的长度