当前位置: 首页 > news >正文

二三层网络设备封装与解封装原理

1、寻址转发(寻址指的是寻找IP地址)

路由表放在一个公共的地方,比如主控板上,由主控板 的CPU运行路由协议,计算路由,生成和维护路由表。

转发表与路由表:

  • 转发表是根据路由表生成的。路由表中可能包含到达目的地址的多条路由,但是转发表里面只取其中的最优路由。

2、报文的收发与解封装

2.1、报文的接受与发送(PIC接口卡处理)

数据在通信线缆上传输时还只是光/电信号(对应于物理层的比特流)。为了让路由器读懂这些信号,在路由器上插线缆的接口里边有一块物理接口卡——PIC(Physical Interface Controller)卡,能感知这些光/电信号,把信号转换成数据帧(比如以太帧、PPP帧、ATM信元)。

接口卡有两个重要的功能:

①就是完成上述的物理层功能,光/电信号的收、 发;

②进行数据帧的“合法性”检查。数据经过物理线路的传递 后,有可能发生畸变,变成错包,无法被包转发引擎PFE正确解析,因此在接口卡需要 进行一些必要的检查。

以太网标准中规定如下帧为无效帧:

  • 帧的长度不是整数个字节;
  • 用收到的帧检验序列FCS(Frame Check Sequence)查出有错误;
  • 收到的帧的负荷长度不在46~1500字节之间。

对于检查出的无效帧就简单的丢弃,以太网不负责重传丢弃的帧。而这些检查,是在 接口卡上执行的

 

  1. 上行接口卡,PIC卡把光/电信号转换成数据帧,并检查“合法性”之后,把数据帧的内容(不包含帧间隙、前导码、帧开始界定符和FCS)发送给包转发引擎PFE。
  2. 数据包经过PFE转发,经过交换网板交换,从下行接口发送时,下行的对应位置也有接口卡。
  3. 下行接口卡的作用是,用待发送的数据帧内容计算帧检验序列FCS,然后对数据帧加封装帧间隙、前导码、帧开始界定符和FCS,并将数据帧转换成光/电信号,再发送到出接口线路上。

2.2、报文解析

包转发引擎PFE(Packet forwarding engine)从PIC卡收到报文时,PFE首先做的就是解析报文的二层帧头,并根据 配置做一些检查和处理。

如果入接口属性表对应的转发状态与报文解析后的协议不匹配,则报文会被 丢弃。比如某接口并未使能IPv6,则属性表的IPv6转发能力为”未使能“,如果收到的 报文是IPv6报文,则报文会被丢弃。

2.3、报文封装

举例以太网封装:由主机PC-A向主机PC-B发送IP报文,那么该报文的目的IP地址就是PC-B的IP地址,源 IP地址就是主机PC-A的IP地址,目标MAC地址就是其网关路由器Port1的MAC地址,源 MAC地址就是PC-A的MAC地址。

 

路由器转发过程:

1. 路由器收到这个报文,发现其目的MAC为本机Port1端口的,表明需要本机来进行 进一步解析(如果目的MAC不是本机,表明直接进行二层转发,不需要再解析帧 的其他内容了);

2. 路由器进一步解析报文,得知帧所承载的协议类型为IPv4(协议类型值 =0x800),即需要进行IPv4转发;

3. 查转发表(FIB表),得知该报文并不是发给自己的,而是需要送往出端口Port2, 因此,路由器不再继续分析IP头后面的内容。

4. 路由器将目的MAC更换成PC-B的MAC将源MAC更换成出接口Port2的MAC,并 将报文发给PIC卡,PIC卡将报文从Port2发送出去。

在上述过程中,将报文原来的源/目的MAC更换成新值的过程,称为“封装”;往报文 里添加新的字段,也称为“封装”。需要被封装到待发送报文的信息称为“封装信 息”。

2.4、出接口处理

同上行,封装完成后,数据帧送往下行接口卡之前,也要根据出口属性表做出口检查 和处理。例如,检查报文长度是否超出接口的MTU值,如果超出则进行分片或其他处 理。

相关文章:

二三层网络设备封装与解封装原理

1、寻址转发(寻址指的是寻找IP地址) 路由表放在一个公共的地方,比如主控板上,由主控板 的CPU运行路由协议,计算路由,生成和维护路由表。 转发表与路由表: 转发表是根据路由表生成的。路由表中…...

9、MyBatis框架——使用注解开发实现数据库增删改查操作、一级缓存、二级缓存、MyBatis实现分页

目录 一、使用注解开发实现数据库增删改查操作 1、搭建项目 2、使用注解开发操作数据库 二、一级缓存 1、一级缓存失效的情况 三、二级缓存 1、手动开启二级缓存cacheEnabled 2、二级缓存机制 四、MyBatis实现分页 1、配置环境 2、startPage()开启分页 3、PageInfo…...

C++STL剖析(六)—— set和multiset的概念和使用

文章目录🌟 前言🍑 树型结构和哈希结构🍑 键值对1. set的介绍和使用🍑 set的模板参数列表🍑 set的构造🍑 set的使用🍅 insert🍅 find🍅 erase🍅 swap&#x1…...

SpringColud第四讲 Nacos的Windows安装方式和Linux的安装方式

在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: 目录 1.Windows安装Nacos 1.1.下载 1.2.解压 1.3.修改相关配置: 1.4.启动: 1.5.登录: 2.Linux的安装方式Nacos 2.1.…...

微服务项目【网关服务限流熔断降级分布式事务】

网关服务限流熔断降级 第1步&#xff1a;启动sentinel-dashboard控制台和Nacos注册中心服务 第2步&#xff1a;在网关服务中引入sentinel依赖 <!-- sentinel --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-…...

【情人节用Compose给女神写个爱心动画APP】

情人节用Compose给女神写个爱心动画APP前言涉及知识点实现思路实现过程绘制爱心创建动画效果Preview预览效果完整源码彩蛋前言 前一阵子看电视里的学霸用代码写了个炫酷的爱心&#xff0c;网上有很多js和python的源码&#xff0c;复制粘贴就能拥有&#xff0c;但是Android的好…...

GUI swing和awt

GUI&#xff08;Graphical User Interface&#xff0c;简称 GUI&#xff0c;图形用户界面&#xff09;是指采用图形方式显示的计算机操作用户界面&#xff0c;与早期计算机使用的命令行界面相比&#xff0c;图形界面对于用户来说在视觉上更易于接受。Java GUI主要有两个核心库&…...

速通Spring

尚硅谷2023最新版Spring6课程_bilibili 1 Spring 【强制】Spring是什么&#xff1f; 1) Spring是一款主流的Java EE轻量级开源框架。 轻量级&#xff1a;体积很小&#xff0c;且不需要依赖于其他组件。 2) 狭义的Spring。 Spring Framework。 3) 广义的Spring。 以Spring F…...

【C++】C++入门

一、 C关键字&#xff08;C98&#xff09; C有63个关键字&#xff08;C语言有32个&#xff09;&#xff0c;如下&#xff1a; asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseenummutabl…...

Linux网络技术学习(五)—— 网络设备初始化(I)

文章目录什么时候进行的设备初始化&#xff1f;设备注册和初始化NIC&#xff08;网卡 Network Interface Card&#xff09;初始化的基本目标设备与内核之间的交互硬件中断中断类型传送节流方式为了改善效率中断共享IRQ处理函数映射的组织irqaction结构体存储方式什么时候进行的…...

[技术选型] ClickHouse和StarRocks的介绍

文章目录1.ClickHouse介绍2.StarRocks介绍1.ClickHouse介绍 ClickHouse是面向联机分析处理&#xff08;OLAP&#xff09;的开源分析引擎。最初由俄罗斯第一搜索引擎Yandex开发&#xff0c;于2016年开源&#xff0c;开发语言为C。由于其优良的查询性能&#xff0c;PB级的数据规…...

算法刷题打卡第90天:表现良好的最长时间段

表现良好的最长时间段 难度&#xff1a;中等 给你一份工作时间表 hours&#xff0c;上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候&#xff0c;那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」&#xff0c;意味在这…...

Python语言零基础入门教程(十七)

Python 文件I/O 本章只讲述所有基本的 I/O 函数&#xff0c;更多函数请参考Python标准文档。 #### 打印到屏幕 最简单的输出方法是用print语句&#xff0c;你可以给它传递零个或多个用逗号隔开的表达式。此函数把你传递的表达式转换成一个字符串表达式&#xff0c;并将结果写…...

C语言中大小端问题

目录 一、什么是大小端 二、 举个例子 三、大小端演示 四、解释"二"中举例的问题 ​五、怎么判断是大端还是小端 六、一个题目 一、什么是大小端 大端模式&#xff08;大端字节序存储&#xff09;&#xff1a;就是高位字节数据存放在内存的低地址端&#xff…...

vue2+微前端qiankun从搭建到部署的实践(主子应用切换;集成vue3+vite3子应用)

一、最终效果 二、微前端&#xff08;qiankun&#xff09;介绍及为什么选择用微前端&#xff0c;可以看官网 三、目录结构如下 四、具体配置 一、主应用配置 1、主应用技术栈 Vue-cli4搭建项目Vue2Element-Uiqiankun&#xff1b;Vue2Element-Uiqiankun 2、搭建好主项目&…...

怎么代理微信小程序创业?

随着微信的兴起&#xff0c;小程序已经成为了人们生活中不可或缺的一部分。如果你想要创业的话&#xff0c;那么代理微信小程序是一个不错的选择。本文将为大家介绍怎么代理微信小程序创业。 一、什么是微信小程序 微信小程序是一款专为移动设备使用者而设计的应用。它通过扫…...

今天是情人节呐,我利用Python制作了好多表白的东西,快来吧~

今天是情人节那&#xff0c;有没有现在没有对象的宝子&#xff0c;评论里扣个111哈哈 目录 玫瑰 爱心树 丘比特 多彩气球 阿玥的小课堂 一、情人节的由来 二、情人节的来历和意义 玫瑰 局部代码实现如下&#xff1a; # 花瓣1 turtle.left(150) turtle.circle(-90, 70) …...

【Linux】-- 进程信号(处理、内核)

上篇&#xff1a;【Linux】-- 进程信号&#xff08;认识、应用&#xff09;_川入的博客-CSDN博客 目录 信号其他相关常见概念 pending handler block 信号处理的过程 sigset_t sigset_t使用 系统接口 sigpending sigprocmask 捕捉方法 sigaction struct sigactio …...

C/【静态通讯录】

&#x1f331;博客主页&#xff1a;大寄一场. &#x1f331;系列专栏&#xff1a;C语言学习笔记 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 前言 往期回顾&#xff1a; C/扫雷 C/N子棋 通讯录作为通讯录地址的书本&#xff0c;当今的通讯录可以涵盖多项…...

万卷书 - 让孩子对自己负责 [The Self-Driven Child]

让孩子对自己负责 The Self-Driven Child - 让你的孩子更加科学合理的掌控自己的生活 简介 《The Self-Driven Child》(2018)解释了我们对孩子的习惯性控制欲,它导致了孩子压力过大、难以合作,以及主观能动性差。本书不提倡这种做法,而是认为我们应该帮助孩子自己做出合适…...

尤克里里的前世今生:这把“跳蚤小吉他”,凭什么火遍全世界?

提到尤克里里&#xff0c;大家脑海里瞬间浮现的&#xff0c;一定是阳光、沙滩、草裙舞、海风与欢快旋律的画面&#xff01;这把小小的四弦乐器&#xff0c;颜值清新、音色治愈&#xff0c;上手零门槛&#xff0c;不管是小朋友启蒙、成年人解压&#xff0c;还是旅行随手弹&#…...

工程师着装文化变迁:从安全规范到效率优化

1. 项目概述&#xff1a;从“着装规范”到工程师文化观察那天早上&#xff0c;我像往常一样&#xff0c;准备去马萨诸塞州纳蒂克的MathWorks公司拜访。出门前&#xff0c;我习惯性地套上了长裤。七月的波士顿&#xff0c;夏天终于姗姗来迟&#xff0c;气温宜人&#xff0c;其实…...

汽车存储技术演进:从边缘计算到车规级设计的核心挑战与选型指南

1. 汽车存储需求变迁&#xff1a;从机械心脏到数字大脑二十年前&#xff0c;我们选车看的是发动机的轰鸣、变速箱的平顺和底盘的扎实。如今&#xff0c;走进4S店&#xff0c;销售顾问会先带你坐进驾驶舱&#xff0c;点亮那块巨大的中控屏&#xff0c;演示语音助手、在线导航、高…...

Sora 2国内可用性深度测评(2024Q2最新版):API调用失败率<0.8%的私有化部署方案首次公开

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT Sora 2视频生成怎么用 Sora 2 并非 OpenAI 官方发布的模型——截至目前&#xff08;2024年中&#xff09;&#xff0c;OpenAI 仅公开了 Sora&#xff08;初代&#xff09;的演示能力&#xff0…...

活动策划27年:一场手印启动,让我读懂“谨慎”二字

活动策划27年&#xff1a;一场手印启动&#xff0c;让我读懂“谨慎”二字做活动策划27年&#xff0c;千余场活动下来&#xff0c;我常跟团队说&#xff1a;“做活动&#xff0c;不怕累&#xff0c;就怕措手不及的意外。”每一场活动前&#xff0c;我都要反复推演流程&#xff0…...

自建团队协作平台TeamClaw:从架构设计到部署运维全指南

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫teamclaw&#xff0c;仓库地址是teamclawai/teamclaw。乍一看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但深入了解一下&#xff0c;你会发现它瞄准的是一个非常具体且高频的痛点&#xff1a;团…...

Python自动化红头文件生成:ReportLab与Jinja2技术实践

1. 项目概述&#xff1a;一个自动化的红头文件生成工具 最近在整理一些行政和项目文档时&#xff0c;经常需要处理格式要求极为严格的“红头文件”。这类文件通常用于正式通知、公告或批复&#xff0c;其版头、字体、字号、间距乃至印章位置都有近乎刻板的规定。手动在Word里调…...

为什么你的ChatGPT生成帖文零互动?揭秘Instagram 2024算法对AI内容的3重隐性过滤机制

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么你的ChatGPT生成帖文零互动&#xff1f;揭秘Instagram 2024算法对AI内容的3重隐性过滤机制 Instagram 2024年Q2核心算法更新引入了「人类意图验证层&#xff08;HIVL&#xff09;」&#xff0c;该…...

大模型上下文长度对Agent的影响:从4K到1M的质变

目录大模型上下文长度对Agent的影响&#xff1a;从4K到1M的质变引言&#xff1a;工作台革命一、上下文窗口演进史&#xff1a;从4K到1M的百倍跃迁1.1 时间线上的技术里程碑1.2 为什么2025年成为“百万Token元年”&#xff1f;二、长上下文的质变&#xff1a;Agent能力的三重跃迁…...

【收藏】2026测试人必看!再不学大模型AI,真的要被行业淘汰了

最近和身边做测试的朋友闲聊&#xff0c;发现大家的焦虑感比往年更重了——有人做了3年功能测试&#xff0c;跳槽面试连初筛都过不了&#xff1b;有人深耕性能测试5年&#xff0c;薪资原地踏步&#xff0c;反而被刚入行、懂AI测试的新人弯道超车。 从ChatGPT横空出世引爆AI行业…...