路由基础-第一章

第零层:前言

路由基础这一节的复习没有看任何老师的讲解视频,而是看了《HNCP路由交换指南》的路由基础这一章节之后的自我梳理。在一年之前看《HCNP路由交换指南》的时候还是一种“不识庐山真面相,只缘身在此山中”的感觉,现在再看时就能够把握住作者想说的话和每一章的结构,能基本上理解每一句话,能大概判断下一句话要讲什么,感觉真的是太棒了!当我写这篇自我梳理的时候,我认为我完全没必要按照作者对这一章节的架构来梳理,完全可以按照自己的方式。

当看完整个章节之后,发现整个章节都是围绕着路由表扩展开始讲的。

  • 路由表里面有协议这一字段,这一字段扩展来讲其实也没有什么好讲的,无非是直连、静态、动态、而动态又分距离矢量和链路状态路由这两种类型,这一字段其实是概括性的,没什么好说的;
  • 还有目标网络和掩码这一字段,这一字段里面讲了路由匹配和最长掩码匹配这两个重要的知识点。在下一跳接口和下一跳IP这里知识点比较重要,强调了各种路由书写方式导致的不同后果,既然讲到下一跳接口,又扩展到路由黑洞,通过路由黑洞又可以扩展出路由汇总、nat这些知识点;
  • 优先级和度量值也是相对简单的,讲了路由是如何匹配的,当遇到不同的情况路由器是如何处理的,以及利用优先级可以做浮动路由,通过浮动路由双引出了企业双链路负载均衡;最后通过静态路由的缺点又引出了NQA和BFD;
  • 标记位,通过标记引出了FIB和路由表,其实FIB是可以与路由书写那个小节产生联系,可以让我们更好的理解;

另外,作者这一章节还”抖了两个激灵“,一个是在路由书写时如果书写错误会导致意外,但通过一种手段(arp代理)就能弥补这个错误;另一个是在路由汇总这一个小节当中,如果真的汇总错误之后,我们还可以通过路由黑洞加入弥补。

作者在最后的环节出了几道题目,有几道题目真的有点意思,我虽然可以答出一些答案,但是无法将这个问题回答完美,比如这个问题有三个答案,我能回答出来两个,但也从侧面反应出我对知识的整合是不足的。

第一层:路由基础

  • 什么是路由?

路由就是转发,什么转发呢?就是根据目标IP查找路由表进行转发。

  • 路由表里面有什么内容?

协议、目标IP和掩码、下一步接口和IP、优先级和度量值、标记

  • 路由条目当中的协议是什么意思?

代表着通过什么途径得到这个路由协议,比如静态or动态orOSPF

  • 优先级是什么意思?越大越好还是越小越好?

优先级就是路由匹配时候用到的优先级,路由协议有很多,有的优秀,有的不那么优秀,就是通过优先级来区别,越是优秀的路由协议优先级越小,越小也就意味着越高,使用的几率就会越大。

  • 优先级什么时候会起作用?

当通过不同的路由协议学到去往同一个目标网段的路由时,优先小的优先使用。

  • 说一下直连、静态、rip、ospf、MPLS、ISIS、BGP各自的优先级是多少

直连是0,静态是60,ospf内部路由是比较优秀的,仅次于直连是10,ISIS又次于OSPF是15.

RIP是100,OSPF_ASE和NSSA都是150,BGP的IBGP和EBGP都是255.

  • 直连路由被加载到路由表的前提是什么?

物理接口状态和协议状态都必须是UP的才可以。

  • cost、度量值是什么意思?

就是开销的意思,就是从源到目标要用多少开销。

  • cost开销的意义

优先级是规定死的,不能更改的,但是开销是可以更改的,对于从同一种路由协议学到的路由条目,这时候无法通过比较优先级了,因为优先级是一样的,这时候就得开销出马了。

像是RIP、OSPF的开销都得是根据实际情况来的,静态和直连的的开销默认都是0.

第二层:静态路由

静态路由其实很简单,只要配置的时候稍微注意一点,还要掌握与其关联的三个东西:浮动路由、BFD、NQA

  • 在配置静态路由时,什么时候必须指定下一跳IP?

广播多路访问(BMA)环境当中,比如以太网环境当中,有很多主机,如果仅指定下一跳接口,设备不知道将数据包交给谁。

  • 在配置静态路由时,什么时候不需要指定下一跳IP?

在点到点的环境当中,这个时候只需要指定出接口也可以,因为这个接口只对应一台主机,不会出错。

  • 如果一个路由条目的优先级一样、开销也一样,比如两条静态路由优先级都是60,开销也一样,怎么选择呢?

面对这种一模一样的环境,路由器也会傻眼了,会形成负载分担的结果;

  • 如果想破坏这种负载分担的场景,变成一主一备怎么搞呢?

其实很简单了,将其中的一条路由的优先级更大一点,让其中一条胜出就可以了,当主的挂了,备的会自动顶上。

  • 什么时候会用到上述这种机制?

比如说有两个公网出口的时候,这样的备份就会好很多;

  • 静态路由与浮动路由之间有什么关系?

当有两种等价的静态路由条目,优先级和开销都一样时,会用到修改开销的方式隐藏一条路由,等到正在用的那一条消失后,自动浮出来,这就是两者之间关系

  • 直连和静态路由什么时候会消失?

当所指向的接口断电之后,路由就会消失。

  • 这种断电消失的机制有什么问题?

如果我在两个路由器之间加一个交换机,断交换机一个接口,另一个接口所接入的路由器因为感知到路由器的接口还有电,所以路由并不会消失,可是路明明已经断了。

  • 怎样避免这种问题?

BFD和NQA

  • BFD与NQA与调用它们的路由条目是什么关系?

    是串连关系,我行你才行,我不行你也不行,BFD和NQA行,调用它们的路由条目才生效,如果BFD和NQA不行,静态路由条目也会立马失效;

  • BFD里面最重要的关键词是什么?解释一个这个关键词的意思?

BFD(bidirectional forwarding detection双向转发检测),最重要的关键词是“双向”,BFD其实有点意思,两端都需要配置,两端相互做为客户端和服务端,平时有规律交互心跳报文,任何一端只要发现对端不通了,就会通知bfd关联的的静态路由消失。

  • NQA是什么?

NQA(network quality analysis网络质量分析),这个NAQ有点zabbix的意思,能做的事情很多,可以调用很多的探测工具,调用ICMP、DNS、HTTP都是很正常的,我们可以让其调用ICMP,做一个单向的探测,模拟zabbix的简单探测,不需要被监控端做什么。

同样的,需要关联静态路由,与静态路由关系依然是串行的关系,一旦NAQ探测失败了,就会让静态路由也失效。

  • BFD与NQA有什么区别?

BFD是双向的,而NQA可以是单向


这一part知识点在《HCNP路由交换指南当中的29页有描述》

路由下一跳仅指下一跳接口

  • 我们我们故意在一个广播多路访问环境当中指路由时不指下一跳IP,就要指一个接口,这意味着什么?为什么要指下一跳时尽量不要指接口?

因为一旦指了接口,就会让路由器偷懒不再计算,认为目标网段就是自己的直连接口,去往目标网段的时候就直接发arp广播!

  • 还有一种情况,下一跳IP和接口都指了,接口指对了,但下一跳IP指错了,这时候数据是怎样转发的?

在这种情况下,下一跳接口和下一跳IP就是关联关系,路由器在收到目标网段的数据时,会通过下一跳接口arp广播询问下一跳IP的mac,如果询问不到,那就完蛋了。

  • 以后两种情况下,怎样通呢?

在对端接口上开启了arp代理,这样如果对端设备拥有目标网段的路由时,就会用自己的MAC地址进行回应。


存在仅指IP

把IP指对了,就特别正常,下一跳掊会自动被上,如果把IP指错了,这时候就又分为两种情况。

如果下一跳IP是可以根据已知路由推算出来的,那这时候路由器会纠正下一跳,纠正之后会有FIB表当中体现,如果是静态这么写的:”告诉A设备去往D需要通过C的转发“,经过查询路由表发现去往C需要经过B,这时候A设备会自动将纠正将去往D的流量交由B来转发,下一跳是B的IP,通过B的IP再来计算下一跳接口。

如果从已知的路由条目当中无法找到去往目标路由的下一跳时,将不会在路由表当中体现出来


  • 如果我们即指了下一跳接口,又指了下一跳IP,对路由来着意味着什么?

如果两者都皆有,路由器会直接加载,路由器会认为去往目标网段交给此下一跳IP,会在发送者arp广播下一跳的MAC,如果下一跳能收到就还正常,如果因为写错了,就不可到达了,如果通过一些小手段,比如arp代理之类的也能解决。

第三层:动态路由

  • 距离矢量和链路状态路由最关键的区别

一个通告的是链路状态,另一个通告的是路由信息,这就导致一个现象,那就是距离矢量路由协议不知道整个网络的拓扑,它只知道去哪里该怎么走、有多远(跳数)

  • 距离矢量路由协议是以什么做为度量值?距离矢量将直连网段的度量值做为多少?通告时怎么做?

跳数,距离矢量路由协议将直接路由的度量值做为0,但通告给其它路由器的时候要加1。

最长掩码匹配

  • 路由条目的最长匹配是怎么匹配的?

所谓的路由匹配最长原则就是拿目标IP与路由条目的掩码做与运算得出目标地址的网络位,与路由条目的网络位做对比,拿哪一个路由条目能匹配的上,如果网络位一样,就按照路由条目的指向进行转发。

  • 什么情况下会匹配到两条路由呢?

比如目标IP是172.16.2.1,但路由器却有两条这样的路由:

条目1:172.16.0.0/16  192.168.1.1
条目2:172.16.2.0/24  192.168.2.1

按照最长匹配原则,这两条都能匹配的上,但用的时候会用条目2,因为条目1前16位和目标IP是网络位是一样的,而条目2,前24位和目标IP的网络位是一样的,24比16要长,所以要用条目2,这就是最长匹配原则。

  • 还可以利用最长匹配原则来做什么?

利用最长匹配原则其实是可以影响对端路由器的,比如两个路由器都运行RIP,那宣告的时候可以通过改变宣告掩码的长度影响对端路由器的转发。

  • 如果两条带宽用的不是动态的RIP,而是静态的话,那用什么办法呢?

用优先级做浮动路由就可以

路由汇总

  • 路由汇总的子网掩码是向哪个方向移动的?

是向左边移动的

  • 什么情况下会引发路由环路的情况发生?

比如R1连接三个网段192.168.1.0、192.168.2.0、192.168.3.0,默认网关指向了172.16.0.1这个R2路由器,而R2路由做了错误的汇总,将192.168.0.0/16的下一跳全都回指向了R1路由器,这种情况下,如果有黑客登录到了R1路由器发送目标是192.168.3.x的垃圾报文,这时候R1指向R2,R2又指向了R1,会不断的循环。

  • 如果真的发生上述情况,应该怎么避免呢?

通过路由黑洞,在R1上配置ip route-s 192.168.0.0/22 null0,这样R1再遇到发往192.168.3.x的报文时会直接丢弃

  • 上述黑洞会不会误伤?为什么?

还是因为最长匹配的原则

  • 在配置NAT的什么情况下,会用到路由黑洞?

在用地址池的时候,这个地方在《华为防火墙漫谈》NAT一节有讲解。

FIB

  • 路由表和FIB表的区别?

路由表和FIB的信息是同步的,但是FIB表人更难以理解,FIB的转发速度更快,用的是特殊的存储方式,猜是一种键值存储,读取速度非常快,FIB更真。

  • 路由表当中的RD和D是什么意思?

D是已经下载到FIB表的意思,R是递归的意思。

  • 什么时候会出现R?

出现R意味着路由表和FIB可能下一跳IP会不一致。

在这里可以与配置静态路由时的注意事项关联一下

  • 配置了静态路由但是却没有生效,三种原因

    • 接口down
    • 去往同样目标网段的另一条路由优先级更高
    • 下一跳IP没有递归查询成功
  • 说出两种路由负载分担的方法

    • 通过优先级做浮动路由
    • 通过最长掩码的规则影响对端路由
posted @ 2021-09-28 20:09  张贺贺呀  阅读(451)  评论(0编辑  收藏  举报