静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍网络上通过硬件设备传递数据。最常见的就是路由器和交换机。本篇介绍路由器如何使用静态路由条目来转发数据。一个数据包从源IP地址到目标IP地址间可能穿过多个路由器,也可能有多条路径通往目标IP地址。那路由器收到数据后,如何知道哪个端口能通往目标地址呢?如果多个端口都可通往目标地址,又如何选择用哪个端口转发才是最优路径呢?依据的就是路由表。路由表就是路由器的灵魂

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

网络上通过各种设备传递数据,最常见的就是路由器和交换机。本篇介绍路由器的静态路由协议。先简要说一下路由条目和路由表(熟悉的可略过):

一个数据包从源IP地址到目标IP地址间可能穿过多个路由器,也可能有多条路径通往目标IP地址。那路由器收到数据后,如何知道哪个端口能通往目标地址呢?如果多个端口都可通往目标地址,选择用哪个端口才是最优路径呢?依据的就是路由表。路由表就是路由器的灵魂,是多个路由条目的集合。路由条目必须有5个项目:前缀,掩码,下一跳,管理距离AD,度量。

1.前缀和掩码

(可以参照【IPv4协议及VLSM可变长子网划分和CIDR无类域间路由】http://blog.csdn.net/hongse_zxl/article/details/50054817)

2.下一跳

路由器根据路由表将数据转发到下一个端口地址

3.管理距离AD

路由器可能从多种途径获得同一路由,可以来自RIP,也可以是OSPF等。不同途径获得的路由可能采取不同的路径到达目的网络。AD越小,说明路由的可信度越高。直连路由的AD是0,静态路由的AD是1,RIP是120,EIGRP是90,OSPF是110。收到所有协议提交的路由会比较它们的管理距离AD值,比较的结果将写入路由表

4.度量

测量同一路由协议内到达目的的网络的最佳路径的方法。路由协议会给每一条路径计算出一个数,这个数就是度量值,通常这个值是没有单位的。值越小,路径越佳。最后会选出该协议认为的最优路由,提交给路由表

路由条目格式知道后可以开始生成路由表了。路由表生成3种途径:直连自动生成,静态路由协议,动态路由协议。路由表生成后,路由器就可以根据路由表转发数据包。转发原则:有匹配就转发,没有就丢弃。匹配多条时遵循最长匹配原则。直连没什么好说的,动态路由协议以后介绍,先介绍静态路由(配置静态路由,静态汇总路由,静态默认路由,负载均衡,浮动静态路由

配置静态路由:

路由器不像交换机,新的路由器必须配好IP和路由才能使用,先如下图配好路由器各端口和环回口IP:

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

提供一下R1的配置命令(R2和R3同样配置即可)

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

配好IP地址后,来试试ping:

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

可见路由器光配置好IP地址是不够的,还需要配置路由,否则只能ping通直连的端口:

上面讲到路由条目的基本信息是:前缀,掩码,下一跳,AD,度量。先暂时忽略AD和度量,R1要ping通R2的环回口的话需要设置:22.1.1.0(前缀) 255.255.255.0(掩码)12.1.1.2(下一跳),全部配置如下:

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

(类似地配置R2和R3路由器的IP和路由)现在可以两两ping通了。

静态汇总路由:

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

上面静态路由的配置例子中,要实现两两ping通,需要设8条路由(R1和R3各三条,R2两条),现在为R2增加两个环回口:loopback1:22.1.0.1/24,loopback2:22.1.2.3/24,均和原先的loopback0:22.1.1.1/24处于不同网段:

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

要让R1和R3 ping通R2上新增的两个环回口需要各自增加2条指向环回口的新路由,很麻烦,可以配一条汇总路由:

(汇总的思想就是改变掩码的网络号长度,不明白的话可以参照【IPv4协议及VLSM可变长子网划分和CIDR无类域间路由】http://blog.csdn.net/hongse_zxl/article/details/50054817)

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

(R3同样设置即可)现在在R1和R3能ping通R2上的3个环回口了。

静态默认路由:

默认路由就是0.0.0.0/0表示所有路由(先将刚才设的汇总路由去掉):

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

上面设好的默认路由表示R1上所有路由均由12.1.1.2端口转发出去。但实际上此时R1去ping R2的环回口22.1.1.1/24,仍会选择之前设置的静态路由,而非选择默认路由,原因就是最长匹配原则。显然上图中的22.1.1.0/24比0.0.0.0/0掩码更长更精确,所以路由器会选择更精确的路由条目。可以认为默认路由是保底用的,其他都匹配不了,才选择默认路由。

负载均衡:

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

(基本配置请参照上面,不再赘述)为R2配置两条通往R1环回口的路由,分别从R2的f0/0口和f1/0口出去

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

配完之后,如图中红色箭头所示,R2有两条路径可以访问R1,两条路径有相同的前缀(均为11.1.1.0),相同的掩码(255.255.255.0),相同的AD值(静态路由均为1),区别仅仅是下一跳不同(从R2的f0/0口出去的下一跳是12.1.1.1/24,从R2的f1/0口出的下一跳是23.1.1.3/24)。路由器无法通过最长匹配原则选择出最优路径,以路由器的视角来看,两条路径是等优的,因此通过负载均衡来平衡带宽:在R2上ping 11.1.1.1:

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

浮动静态路由:

路由图仍旧参照上图,除IP地址外,可以将无关的路由去掉。

静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

在前缀和掩码相同时,AD值小的才会加入路由表。如上例仅AD值不同时,AD值小的那条路由才被加入路由表供路由器使用。但AD值大的那条路由并非被丢弃了,而是沉入水中,等待时机,一旦路由表中的那条路由出问题不能用了,才浮出水面被加入进路由表。因此叫浮动静态路由很形象。

PS:上面介绍的路由条目时提到的AD值和度量和路由器的最长匹配原则,这3者可能有点搞,需要解释一下:

度量是同一路由协议内选出到达目的地最小开销的那条路径,将这条路径提交给路由表。注意此时只是提交给路由表并没有真正写入,是否需要写入得靠AD值判断。

AD值是用于确认是否能加入路由表。前缀和掩码相同时AD值小的才加入路由表。当然如果前缀和掩码任一不同,则不论AD值大小,统统加入路由表。

路由条目被写入路由表后,具体选择哪条路由用最长匹配原则。

所以3者关系是:度量提供路由条目给路由表。AD值决定哪些路由条目可以最终被加入路由表。最长匹配原则决定已被加入路由表中的哪个路由条目最终被路由器使用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189780.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • apache tomcat 闪退[通俗易懂]

    apache tomcat 闪退[通俗易懂]网上介绍了很多解决办法,下面是我自己的解决办法:1. 我的apache-tomcat是解压缩版(解压了后配置一下就可以用)。 路径:D:\apache-tomcat-8.0.5\ 2. 找到conf文件夹,打开server.xml文件,下拉右手边的滚动条至最下面。 3. 查看上面有没有配置。 4. 我原来有个项目在这个位置配置过,删除后,再运行就没有再出现闪退的

    2022年5月7日
    91
  • WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容

    WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容简介  在前面一篇文章里面,我们实现了AvalonDock选项卡的动态添加,但是对于选项卡里面的内容,我们并没有实现任何有用的功能。  这篇文章里面,我们将实现对选项卡里面的内容和功能实现自定义。将自定义Page作为选项卡内容Page定义  Page页面的Xaml代码如下:

    2022年7月20日
    76
  • 老电脑换Linux系统是否会更快,旧电脑不要装Windows!Bodhi Linux系统,小巧强悍,运行更流畅…

    老电脑换Linux系统是否会更快,旧电脑不要装Windows!Bodhi Linux系统,小巧强悍,运行更流畅…你的旧电脑安装win10还好吗?现在科技发展越来越快,尤其是电脑硬件的更新换代,然而大多数的人都不会因为新产品出来,就将自己才用了两三年的电脑换掉。但是,电脑用久了,终究会变慢,尤其是在Windows系统功能越来愈多,越来越大的情况下,我们还是需要换电脑!不过,你的旧电脑怎么办?卖掉?它的价格分分钟还不如废铁。扔掉?又不太舍得。真是如鸡肋一般,食之无味,弃之可惜!很多人都不知道的是,其实即使是5年…

    2022年6月4日
    103
  • PhpSpreadsheet_php标准输入流stdin

    PhpSpreadsheet_php标准输入流stdin实例化对象composer导包”phpoffice/phpspreadsheet”:”^1.11″,$spreadsheet=newSpreadsheet();$sheet=$spreadsheet->getActiveSheet();合并单元格$sheet->mergeCells(‘A1:J1’);设置单元格的内容$spreadsheet->getActiveSheet()->setCellValue(‘A2′,’序号’)-&

    2022年9月17日
    0
  • oracle存储过程递归调用_函数的间接递归调用

    oracle存储过程递归调用_函数的间接递归调用存储过程和函数一样也可以递归调用,调用方法类似。如下是求某个数以内的数字求和:CREATEPROCEDUREaProc_Test@INPUTint,@SumintoutputASBEGINSETNOCOUNTON;if(@Sumisnull) set@Sum=0if(@INPUT>0)begin …

    2022年9月25日
    0
  • MyBatis 执行动态 SQL

    MyBatis 执行动态 SQL应老婆要求写的这篇博客。大家基本上都知道如何使用MyBatis执行任意SQL,使用方法很简单,例如在一个XXMapper.xml中:${_parameter}你可以如下调用:sqlSession.selectList(“executeSql”,”select*fromsy

    2022年6月23日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号