网络学习:Vlan间路由

news2024/10/6 13:24:26

目录

一、vlan间路由实现的方法

二、精确匹配转发(交换机)流程

三、最长匹配转发(路由器)

四、交换机最长匹配转发

五、总结


一、vlan间路由实现的方法

方法1:使用路由器的物理接口

特点:在路由器上配接口IP,作为主机网关。但这需要路由器与每个VLAN建立一条物理连接,路由器接口很少,浪费路由器接口。

image/png

方法2:单臂路由,使用路由器的子接口

特点:一旦出故障,网络就瘫痪了。

image/png

方法3:用三层交换实现VLAN间路由,即在三层上给VLAN配IP。

image/png

二、精确匹配转发(交换机)流程

流程图:

image/png

流程:

1、发一个以太网帧,检查目的MAC是否为VLAN接口的MAC

(1)否,查找MAC表,进行二层转发。

(2)是,进行三层转发,查找IPFDB表(表中记录着某一IP或Mac,对应的接口或者下一跳)。

①若匹配:根据目的IP找到下一跳,找到端口转发数据

②若不匹配:

  • 第一次IPFDB表是空的,向上查FIB 表,找到目的地址的下一跳及其接口;
  • 用下一跳去查ARP表,可找到下一跳对应的MAC地址;
  • 此时IPFDB表可以得到完整的信息,即目的地址、下一跳、Mac地址、下一跳的出接口;
  • 当第二次有数据包再发同一个目的地址时,就不用在进行查表,直接转发。

2、IPFDB表组成

(1)FIB表(转发信息库表):

①表中记录了当前路由表中的ACTIVE状态路由,目的IP存在此表中;

②FIB表有代码驱动、代码(即CPU)维护,即查询过程会上报CPU处理,而CPU很忙,这会导致CPU忙上加忙;

③查FIB表是进行的最长匹配;

(2)ARP表:目的MAC存在此表中

3、原理概括

对数据包进行一次路由查表后,生成具体目的地址的转发表项

后续报文直接根据此表项进行精确匹配转发

4、优点

优点:将二层转发和三层转发合并为一次转发进行,减少查表次数;精确匹配无需遍历整个表大大加快了查表转发速度。

5、缺点

缺点:对每个目的IP生成转发表项,导致表项规模庞大,占用空间。

三、最长匹配转发(路由器)

路由表的匹配原则,掩码最长,此操作需查整个路由表,限制了转发速度,用报文目的地址与路由表项的子网掩码进行“与”操作,结果若与其表项中网络地址相同,则匹配成功。

四、交换机最长匹配转发

image/png

1、流程:发一个以太网帧,检查目的MAC是否为VLAN接口的MAC

(1)否,查找MAC表,进行二层转发。

(2)是,进行三层转发,查找L3 Table表,

若匹配:根据目的IP找到下一跳,找到端口转发数据。

若不匹配:和精确匹配转发(交换机)流程一致,只不过将IPFDB表换成了DEF_IP表。

2、L3 Table表组成

(1)DEF_IP表:

存放着路由表中的Active路由简化后的路由条目;

有硬件处理部分进行维护,即有专门的高速转发芯片处理维护,不工作的CPU中;

查DEF_IP表是进行的最长匹配;

(2)ARP表:目的IP存在此表中

3、原理概括

基于硬件的最长匹配的三层交换技术;

所有报文转发都通过硬件快速匹配完成转发;

五、总结

最长匹配转发模式,所有的转发都通过硬件的快速匹配完成转发,即在加载大量路由,网络路由频繁波动,仍然能保证IP报文的线速转发,比精确匹配转发模式的转发性能优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1494798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode-第67题-二进制求和

1.题目描述 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 2.样例描述 3.思路描述 将两个二进制字符串转换成整型,然后相加后的整型转为二进制字符串 4.代码展示 class Solution(object):def addBinary(self, a, b):# 将字符串…

Linux 之二:CentOS7 的 IP 常用命令和配置及 xshell 基本使用方法

1. 进入虚拟机 点击右键---进入终端--输入 ip adrr 或 ifconfig 查看ip地址 下面输入命令 ifconfig(注意:不是 ipconfig ) 或 ip addr 来查看当前系统 IP 查看到IP 后,比如:上面是 192.168.184.137 1.1 IP 常用命令…

(文末送书)《低代码平台开发实践:基于React》

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&am…

LeetCode234.回文链表

题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 输入:head [1,2,2,1] 输出:true 输入:head [1,2] 输出:false 思…

mysql 时间精度问题

timestamp到2038年,还有14年时间,一个系统如果能活到那一刻也是相当不错了。 这里先看一下个datetime的问题,下面的插入数据的时间戳是2024-03-06 21:20:50.839 INSERT INTO psi_io_balance ( id, as_id, bill_date, order_id, busi_type, direction, c…

5. gin集成Gorm

文章目录 一:连接DB二:增删改查三:使用PostMan测试 代码地址:https://gitee.com/lymgoforIT/golang-trick/tree/master/24-gin-learning 本节主要介绍如何使用gin集成gorm,并完成用户的创建、修改、删除、查询等功能 …

使用Http请求下载文件带来的问题

java.io.IOException: Broken pipe 当使用http请求的方式将文件作为响应内容给浏览器,这个时候如果浏览器未开启自动下载(浏览器可能会终止这个tcp连接),文件不会下载成功,但是这个时候请求已经到达服务器,如果这个时候&#xff0…

《Vite 报错》ReferenceError: module is not defined in ES module scope

ReferenceError: module is not defined in ES module scope 解决方案 postcss.config.js 要改为 postcss.config.cjs,也就是 .cjs 后缀。 原因解析 下图提示,packages.json 中的属性 type 设置为 module。所有 *.js 文件现在都被解释为 ESM&#xff…

数据结构(七)——线性表的基本操作

🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉 在csdn获奖荣誉: 🏆csdn城市之星2名 ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ …

vscode c/c++ 检测到 #include 错误。请更新 includePath。

问题背景 使用vscode打开项目后,头文件显示红色波浪线,没有引入。 检测到 #include 错误。请更新 includePath。已为此翻译单元(xxx)禁用波形曲线。 解决方法 gcc -v -E -x c - 显示所有头文件路径。 打开c_cpp_properties.json文件,粘贴…

python+django+vue电影票订购系统dyvv4

电影院订票信息管理系统综合网络空间开发设计要求。目的是将电影院订票通过网络平台将传统管理方式转换为在网上操作,方便快捷、安全性高、交易规范做了保障,目标明确。电影院订票信息管理系统可以将功能划分为用户和管理员功能[10]。 语言:…

基于springboot+vue的疾病防控综合系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

QT安装教程,手把手教会QT安装

大家好:衷心希望各位点赞和评论! 安装步骤 首先去官网下载QT,官网:https://download.qt.io/https://download.qt.io/ 点击 offical_releases (官方发行版本),如下图所示: 进入下图所…

three.js如何实现简易3D机房?(二)模型加载的过渡动画

接上一篇: three.js如何实现简易3D机房?(一)基础准备-下:http://t.csdnimg.cn/TTI1P 目录 六、自定义过渡动画 1.过渡动画组件 2.模型加载时使用 根据模型大小,可以自定义模型加载的过渡动画效果&am…

某多多anti_token(先水个文后续会完善)第一部分

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018…

【PCL】(二十一)圆柱体模型分割点云

&#xff08;二十一&#xff09;圆柱体模型分割点云 以下代码实现使用平面和圆柱形模型对点云进行采样一致性分割。 cylinder_segmentation.cpp #include <pcl/ModelCoefficients.h> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include &…

MySQL 篇-深入了解多表设计、多表查询

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 多表设计概述 1.1 多表设计 - 一对多 1.2 多表设计 - 一对一 1.3 多表设计 - 多对多 2.0 多表查询概述 2.1 多表查询 - 内连接 2.2 多表查询 - 外连接 2.3 多表查…

简明 esp32刷mincopython thonny教程

1.下载thoony 编辑程序 (thoony是个micopython的编辑器,方便烧录上传) https://thonny.org/ 2.安装esptool(自己配置个esptoool环境,因为有时需要精细操作,thoony使用的也是esptool烧录) https://docs.espressif.com/projects/esptool/en/latest/esp32/installation.html 测试运…

云计算OpenStack KVM迁移

动态迁移 static migration 静态迁移 cold migration 冷迁移 offline migration 离线迁移 live migration 动态迁移 hot migration 热迁移 online migration 在线迁移 衡量 整体迁移时间 服务器停机时间 性能影响(迁移后和其它客户机) 特点 负载均衡 解除硬件依赖…

重装显卡驱动记录

重装显卡驱动记录 任务记录现状描述执行情况 任务 晚上回来&#xff0c;开电脑&#xff0c;发现总是进不去系统&#xff08;这个情况我经常见&#xff09;&#xff0c;但偶尔进系统&#xff0c;识别不了我的外接屏&#xff08;这个第一次见&#xff09;。来来回回重启了1h多了…