3、交换机IP路由功能

news2024/12/21 23:57:33

每个用例前自己最好先画个图,不然容易绕晕,这篇文章写好久了,自己都觉得有点绕
一、直连路由
如果一个交换机与另一个交换机时直连着的并且他们用来连接的端口属于同网段,那么这种情况下他们就属于直连路由。不需要做任何配置便可以通信
但是如果用来连接的两个端口不属于同一网段,那么在 IP 层上这两个设备是不能直接通信的,但它们仍然可以在数据链路层(Layer 2)进行通讯。这是因为数据链路层的通信机制与网络层的 IP 地址无关(前面讲过)

二、静态路由
场景:交换机A(swA)端口1的ip 10.1.1.1/24,交换机B(swB)的端口2的ip 11.1.1.1/24。交换机C(swC)的端口1的ip是 10.1.1.2/24 交换机C端口2的ip是 11.1.1.2/24
swA的port1和sw2的port2是属于不同网段的两个端口,他们如果想实现通信,就需要通过路由实现

具体如何实现:
让swA的port1和swC的port相连,swB的port2和swC的port2相连
这里swA与swC之间的两个port1是可以直接通信的,他们属于同网段10.1.1.0,这里swB与swC之间的两个port2也是可以直接通信的,他们属于同网段11.1.1.0,然后swC的port1和port2是可以直接通信的(同一个交换机上的端口是可以直接通信的)
备注:这里大部分人都认为路由swA已经可以和swB直接通信了,实际不行,还需要配置一个路由(这里你可以在swA的后台去ping 10.1.1.2是能ping通的,然后ping 11.1.1.2无法ping通,会提示网关不可达,也就是要配置路由)
这里我们配置静态路由:
1、在swA上配置静态路由的页面配置一条静态路由,包括目的网络(这里是11.1.1.0的网段),下一跳(这里下一跳10.1.1.2),这条路由的作用也就是发送到11.1.1.0网段的报文,会转发到ip是10.1.1.2的端口,
前提是这个下一跳是可达的,这里swA的port1 10.1.1.1与swC的port2 10.1.1.2直连,所以是可达的
2、这时swA可以ping通swC交换机上的11.1.1.2这个端口了,但我们的目的是ping通swB上的11.1.1.1这个port2这个端口,这里你ping一下发现还是无法ping通(原因是因为想要ping通这个过程是双向的,swA后台ping swB上的port2,原理是发送一个报文,
然后swB上port2接受到报文后会返回一个报文,这才是ping通整个流程,现在这个报文能通过路由到swB的11.1.1.1port2这个端口,但是swB返回的这个报文无法回到swA的10.1.1.1port1这个端口,因为swB这个交换机上没有到达10.1.1.0这个网段的路由)
3、所以配置静态路由不能只在swA上配置,还要在swB上配置一个目的网络10.1.1.0,下一跳11.1.1.2的静态路由
这时你再swA ping 11.1.1.2,能ping通

三、策略路由
场景:pc1的ip是 10.1.1.1 交换机A(swA)的端口port1的ip是10.1.1.2 端口2的ip是11.1.1.2 端口3的ip是12.1.1.2,交换机B(swB)的端口port2的ip是11.1.1.3 端口3的ip是12.1.1.3,端口4的ip是13.1.1.3,pc2的ip,13.1.1.4
连线状态:pc1与swA的port1相连,swA和swb之间port2互连,port3互连,pc2与swB的port4相连

这里pc1和pc2属于不同网段的ip,他们如果想实现通信,就需要实现路由
这里pc1想ping通pc2如果想通过静态路由就采用上面的方法,在swA上配置目的网络13.1.1.0,下一跳11.1.1.3的静态路由,在swB上配置目的网络10.1.1.0,下一跳11.1.1.2的静态路由,这样便可以pc1 ping 通pc2了(这里我选择的路由路线是通过swA和swB之间port2端口互连的那一条线)
注意(这里pc1和pc2配置ip时的配置的默认网关需要和对应连接交换机端口的ip一样,也就是说这里pc1的网关是10.1.1.2,这里pc2的网关是13.1.1.3),如果不这样配置那么你会发现pc1甚至连直连交换机A上的11.1.1.2都无法ping通,pc2甚至连直连交换机B上的11.1.1.3都无法ping通)
这里的默认网关的作用是比如当pc1想ping pc2时,pc1没有和pc2的13.1.1.4直连,所以不能直达,像这种不能直达的报文就会转发给默认网关

如果想通过策略路由实现通信:1、在上面配置了静态路由的基础上在swA上配置策略路由的页面新增一条策略路由首先选择端口,这个端口是入端口,也就是报文传入的端口,这里是指和pc1相连的swA上的port1,意思就是接下来的规则只针对这个端口
2、在增加一条规则:这里源IP填入10.1.1.1,目的ip不填、协议不限、动作选路由,然后确定。然后下一跳填12.1.1.3。这里意思就是只要是目的ip是10.1.1.1的报文都能直接路由到12.1.1.3。(前提是12.1.1.3可达)
3、选择高于其它类型路由或者低于其它类型路由。如果这里选高于其它类型路由,那么你pc1 ping pc2时便不会走上面swA和swB之间port2端口互连的那一条线,而是swA和swB之间port3的那一条线

现在这里的场景就是swA和swB之间有两条路由线路,一条是静态路由pc1 10.1.1.1-》swA的port1 10.1.1.2-》swA的port2 11.1.1.2-》swB的port2 11.1.1.3-》swB的port4 13.1.1.3-》pc2 13.1.1.4
一条是策略路由pc1 10.1.1.1-》swA的port1 10.1.1.2-》swA的port3 12.1.1.2-》swB的port3 12.1.1.3-》swB的port4 13.1.1.3-》pc2 13.1.1.4
选择那一条就看谁的优先级更高,策略路由要么高于其它,要低于其它。(可能不同公司对优先级的先后顺序设定不一样)

上面两种路由都是属于静态的,都是属于手动配置的,接下来讲两种常用的动态路由,RIP路由和OSPF路由
四、RIP路由
给大家看一段复制过来的话:RIP路由是距离矢量路由协议,路由是以矢量(距离,方向)的方式被通告出去的,这里的距离是根据度量来 决定的。每个路由器都不了解整个网络拓扑,它们只知道与自己直接相连的网络情况,
并根据从邻居得 到的路由信息更新自己的路由。通俗点就是往某个方向上的距离。
看看就行了,具体怎么样看实操

RIP路由形成的过程:(这段也是复制过来的,比较清楚)
RIP协议启动之后,SwitchA会向相邻的交换机广播一个Request报文。
SwitchB从接口接收到SwitchA发送的Request报文后,把自己的RIP路由表封装在Response报文内,然后向该接口对应的网络广播。
SwitchA根据SwitchB发送的Response报文,形成自己的路由表。

场景:交换机A(swA)的port1的ip 10.1.1.1/24 交换机B(swB)的port1的ip 10.1.1.2/24、port2的ip 20.1.1.2/24,交换机C(swC)的port2的ip 20.1.1.1/24
连线状态:swA的port1连swB的port1,swB的port2连swC的port2

如果想要用静态路由那么直接在swA上配一个目的网络20.1.1.0,下一跳10.1.1.2的静态路由,和swC上配一个目的网络10.1.1.0,下一跳20.1.1.2的静态路由即可(这样swA能ping通swC的port2,也就是20.1.1.1或者swC能ping通swA的port1,也就是10.1.1.1)
上面是手动在页面配置的静态路由,静态路由是必须手动配置的,在网络复杂的情况下,手动配置就比较费时,所以就有了动态路由
如果用RIP路由会轻松很多,如果想通过RIP路由实现通信:
    在需要开启RIP路由的交换机的配置RIP路由页面勾选开启RIP路由的选项,选择对应接口即可。
    在这里就是在swA的配置RIP路由页面开启RIP路由,选择port1,在swB的配置RIP路由页面开启RIP路由,选择port1和port2.在swC的配置RIP的路由页面开启RIP路由,选择port2.
(这样swA能ping通swC的port2,也就是20.1.1.1或者swC能ping通swA的port1,也就是10.1.1.1)

原理:每个开启RIP的交换机会定期发送其路由信息给邻近的设备。swB会将自己的路由(即它知道的网络信息)通过Port1发送给swA。swB会将自己的路由(即它知道的网络信息)通过Port2发送给swC。这样swA学习到了如何通往swC的路由,swC也知道了如何通往swA的路由


五、OSPF路由(主流)   ospf原理这里讲解不够详细(可以去b站搜一下)
给大家看一段复制过来的话:OSPF协议是一个链路状态内部网关路由协议,运行OSPF协议的路由器会将自己拥有的链路状态信息,通过启用OSPF协议的接口发送给其他OSPF协议设备,
同一个OSPF协议区域中的每台设备都会参与链路状态信息的创建、发送、接收与转发,直至这个区域中的所有OSPF协议设备都获得了相同的链路状态信息为止。
链路状态:OSPF协议是一种基于链路状态的路由协议,链路状态也指路由器的接口状态,其核心思想是,每台路由器都将自己的各个接口的接口状态(链路状态)共享给其他路由器。

一个OSPF协议网络可以被划分成多个区域(Area),至于为什么要划分区域,你想想要是当一个网络规模特别大的时候,如果不划分区域,所有的路由信息都会传递到每一个路由器,导致路由表十分庞大。所以通过划分区域,可以将路由信息限制在特定区域内,从而减少每个路由器的路由表大小。
如果一个OSPF协议网络只包含一个区域,则被称为单区域OSPF协议网络;
如果一个OSPF协议网络包含多个区域,则被称为多区域OSPF协议网络。
(1)一个OSPF协议网络中只有一个区域就是单区域,有多个区域就是多区域,每一个区域都有一个区域ID号标识,这个ID号是32位的二进制数表示;
(2)骨干区域:区域ID为0的区域,单区域OSPF网络的区域为骨干区域;
(3)普通区域:区域ID为非零的区域,在多区域中,除骨干区域外都为普通区域;
(4)普通区域之间的通信需要骨干区域的中转,当两者没直连时,需要虚链路技术实现。

原理:
1、通过交互Hello报文形成邻居关系
路由器运行OSPF协议后,会从所有启动OSPF协议的接口上发送Hello报文。如果两台路由器共享一条公共数据链路,并且能够成功协商各自Hello报文中所指定的某些参数,就能形成邻居关系。
2、通过泛洪LSA通告链路状态信息
形成邻居关系的路由器之间进一步交互LSA形成邻接关系,每台路由器根据自己周围的网络拓扑结构生成LSA,LSA描述了路由器所有的链路、接口、邻居及链路状态等信息,路由器通过交互这些链路信息来了解整个网络的拓扑信息。
3、通过组建LSDB形成带权有向图
通过LSA的泛洪,路由器会把收到的LSA汇总记录在LSDB中。最终,所有路由器都会形成同样的LSDB。
4、通过SPF算法计算并形成路由
当LSDB同步完成之后,每一台路由器都将以其自身为根,使用SPF算法来计算一个无环路的拓扑图来描述它所知道的到达每一个目的地的最短路径(最小的路径代价)。
5、维护和更新路由表
根据SPF算法得出最短路径树后,每台路由器将计算得出的最短路径加载到OSPF路由表形成指导数据转发的路由表项,并且实时更新。同时,邻居之间交互Hello报文进行保活,维持邻居关系或邻接关系,并且周期性地重传LSA。

下面举的例子是一个单区域的场景,避免太过复杂
场景:交换机A(swA)的port1的ip 10.1.1.1/24 交换机B(swB)的port1的ip 10.1.1.2/24、port2的ip 20.1.1.2/24,交换机C(swC)的port2的ip 20.1.1.1/24
连线状态:swA的port1连swB的port1,swB的port2连swC的port2

如果想通过ospf路由实现通信:
    在需要开启ospf路由的交换机的配置ospf路由页面勾选开启ospf路由的选项,配置路由标识符(唯一标识一台 OSPF 路由器,不同的路由器必须有不同的路由器 ID。)、然后再新增一个区域(配置区域ID,选择接口、选择区域类型)、配置基础带宽(每个链路都有一个成本值,该值与链路带宽的反比有关。带宽越高,成本值越低,反之亦然。)
    在这里就是在swA的配置OSPF路由页面开启OSPF路由,设置路由标识符(1.1.1.1)、设置基准带宽(100)、新增区域(区域ID:1、区域类型:普通区域、接口:port1)、其余默认
          在swB的配置OSPF路由页面开启OSPF路由,设置路由标识符(1.1.1.2)、设置基准带宽(100)、新增区域(区域ID:1、区域类型:普通区域、接口:port1、port2)、其余默认
          在swC的配置OSPF路由页面开启OSPF路由,设置路由标识符(1.1.1.3)、设置基准带宽(100)、新增区域(区域ID:1、区域类型:普通区域、接口:port2)、其余默认
    备注:想要正确建立邻居关系,则首先路由标识符不能一致,另外区域的区域ID和区域类型需要一样,只有区域ID和类型一致的区域才能建立邻居关系

配置完成后:swA则能与swC通信
    

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

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

相关文章

点击数字层级从 admin.vue 跳转到 inviter-list.vue 组件

文章目录 1、admin.vue2、inviter-list.vue 1、admin.vue 好的&#xff0c;我们来分析一下代码中“层级”这一列的逻辑&#xff0c;并探讨它与后端的关联。 “层级” 列的逻辑 在您的代码中&#xff0c;“层级”列的渲染逻辑如下&#xff1a; <el-table-columnalign&quo…

LabVIEW实时信号采集与频谱分析

系统通过LabVIEW与PXIe硬件结合&#xff0c;实现高精度模拟信号的实时采集、频谱分析与可视化显示。核心功能包括采样率配置、快速傅里叶变换&#xff08;FFT&#xff09;、功率谱图生成及动态缩放调整&#xff0c;同时支持信号平均与噪声抑制。系统设计灵活&#xff0c;适用于…

【ComfyUI + 铅笔素描画风】艺术家DaTou发布了的彩色铅笔素描风格生成(真实感超强)

发布时间&#xff1a;2024年12月09日 项目主页&#xff1a;https://hf-mirror.com/Datou1111/shou_xin 基础模型&#xff1a;flux.1-dev comfyui工作流下载&#xff1a;https://pan.baidu.com/s/1FrLQ4o8ldckKwhIrN1Pv7g?pwd1220 自己测试 官方效果 生成猫猫 shou_xin, a m…

洛谷 B3644 【模板】拓扑排序 / 家谱树 C语言

题目&#xff1a; https://www.luogu.com.cn/problem/B3644 题目描述 有个人的家族很大&#xff0c;辈分关系很混乱&#xff0c;请你帮整理一下这种关系。给出每个人的后代的信息。输出一个序列&#xff0c;使得每个人的后辈都比那个人后列出。 输入格式 第 1 行一个整数 …

unity接入coze智能体

官网链接 coze智能体创建、设置 点击创建–选着智能体&#xff0c;随便起一个名字&#xff0c;就可以了 添加令牌 把随便起一个名字&#xff0c;设置时间&#xff0c;把所有选项都勾选上&#xff0c;一定要勾选所有团队空间&#xff0c;否则无法点击确定。 点击确定后&a…

EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay 3

Assignment 6Beta SprintCourseEE308FZ[A] — Software EngineeringClass Link2401_MU_SE_FZURequirementsTeamwork—Beta SprintTeam NameFZUGOObjectiveSprint Essay 3_Day5-Day6 (12.15-12.16)Other Reference1. WeChat Mini Program Design Guide 2. Javascript Style Guid…

国内主流的工程项目管理软件有哪些?

随着科技的发展&#xff0c;工程管理软件已经成为了工程管理的重要工具。在国内&#xff0c;有许多优秀的工程管理软件&#xff0c;它们可以帮助我们更好地管理工程项目。那么&#xff0c;你知道有哪些工程管理软件吗&#xff1f;下面就让我们一起来盘点一下。 1、广联达 广联…

网络变压器如何识别电路

1. 基本符号的理解 曲线&#xff1a;表示变压器的线圈&#xff08;windings&#xff09;&#xff0c;每个曲线代表一个独立的线圈。 直线&#xff1a;用于连接不同的元件或引脚&#xff0c;表明电流路径。 2. 关键标注解释 CT&#xff08;Center Tap&#xff09;&#xff1a;中…

【原生js案例】ajax的简易封装实现后端数据交互

ajax是前端与后端数据库进行交互的最基础的工具&#xff0c;第三方的工具库比如jquery,axios都有对ajax进行第二次的封装&#xff0c;fecth是浏览器原生自带的功能&#xff0c;但是它与ajax还是有区别的&#xff0c;总结如下&#xff1a; ajax与fetch对比 实现效果 代码实现 …

免费开源!推荐一款网页版数据库管理工具!

免费开源&#xff01;推荐一款网页版数据库管理工具&#xff01; DBGate 是一个开源的数据库管理工具&#xff0c;DBGate 的最大特点是可以 Web 访问&#xff01;&#xff0c;轻松实现一台机器部署&#xff0c;所有人使用&#xff01; 无论是 MySQL、PostgreSQL、SQLite 还是…

主要是使用#includenlohmannjson.hpp时显示找不到文件,但是我文件已正确导入visual studio配置,也保证文件正确存在

问题&#xff1a; 主要是在项目配置中包括了C/C配置中文件位置&#xff0c;但是没有把nlohmann上一级的目录包括进去&#xff0c;导致#include"nlohmann/json.hpp"找不到文件位置 解决&#xff1a; 加上上一级目录到附加包含目录 596513661)] 总结&#xff1a; 找不…

智慧公交指挥中枢,数据可视化 BI 驾驶舱

随着智慧城市的蓬勃发展&#xff0c;公共交通作为城市运营的核心枢纽&#xff0c;正朝着智能化和数据驱动的方向演进。通过整合 CAN 总线技术(Controller Area Network&#xff0c;控制器局域网总线)、车载智能终端、大数据分析及处理等尖端技术&#xff0c;构建的公交“大脑”…

[c++11(二)]Lambda表达式和Function包装器及bind函数

1.前言 Lambda表达式着重解决的是在某种场景下使用仿函数困难的问题&#xff0c;而function着重解决的是函数指针的问题&#xff0c;它能够将其简单化。 本章重点&#xff1a; 本章将着重讲解lambda表达式的规则和使用场景&#xff0c;以及function的使用场景及bind函数的相关使…

redis数据类型:list

list 的相关命令配合使用的应用场景&#xff1a; 栈和队列&#xff1a;插入和弹出命令的配合&#xff0c;亦可实现栈和队列的功能 实现哪种数据结构&#xff0c;取决于插入和弹出命令的配合&#xff0c;如左插右出或右插左出&#xff1a;这两种种方式实现先进先出的数据结构&a…

基于51单片机的验证码收发系统的仿真设计

一、设计要求 主机、从机均以AT89C52单片机为控制核心。主机生成6位随机验证码、并将验证码发送给从机&#xff1b;从机输入验证码发送给主机&#xff0c;主机接收来自从机发送的验证码并核对两个验证码是否一致。 二、设计内容 主机通过独立按键生成6位随机验证码并发送给从…

WPF实现曲线数据展示【案例:震动数据分析】

wpf实现曲线数据展示&#xff0c;函数曲线展示&#xff0c;实例&#xff1a;震动数据分析为例。 如上图所示&#xff0c;如果你想实现上图中的效果&#xff0c;请详细参考我的内容&#xff0c;创作不易&#xff0c;给个赞吧。 一共有两种方式来实现&#xff0c;一种是使用第三…

[机器学习]AdaBoost(数学原理 + 例子解释 + 代码实战)

AdaBoost AdaBoost&#xff08;Adaptive Boosting&#xff09;是一种Boosting算法&#xff0c;它通过迭代地训练弱分类器并将它们组合成一个强分类器来提高分类性能。 AdaBoost算法的特点是它能够自适应地调整样本的权重&#xff0c;使那些被错误分类的样本在后续的训练中得到…

详细解读TISAX认证的意义

详细解读TISAX认证的意义&#xff0c;犹如揭开信息安全领域的一颗璀璨明珠&#xff0c;它不仅代表了企业在信息安全管理方面的卓越成就&#xff0c;更是通往全球汽车供应链信任桥梁的关键一环。TISAX&#xff0c;即“Trusted Information Security Assessment Exchange”&#…

黑马Redis数据结构学习笔记

Redis数据结构 动态字符串 Intset Dict ZipList QuickList SkipList 类似倍增 RedisObject 五种数据类型 String List Set ZSet Hash

sqlilabs靶场二十一关二十五关攻略

第二十一关 第一步 可以发现cookie是经过64位加密的 我们试试在这里注入 选择给他编码 发现可以成功注入 爆出表名 爆出字段 爆出数据 第二十二关 跟二十一关一模一样 闭合换成" 第二十三关 第二十三关重新回到get请求&#xff0c;会发现输入单引号报错&#xff0c…