• 数通运营商方向常见面试问题(第一部分)


    一、OSFP和ISIS的区别

    相同点:

    1. 都是应用广泛的IGP,都是链路状态协议。
    2. 都支持IP环境。
    3. 都采用分层设计和分区域设计。
    4. 都通过hello报文发现邻居,形成邻接关系。
    5. 在多点访问网络上分别选举DR和DIS
    6. 都遵循基本的链路状态数据库同步方法。
    7. 都使用SFP算法计算路由

    不同点:

    1. ISIS支持IP和OSI协议栈,OSPF只支持IP协议。
    2. ISIS只支持点到点和广播子网;OSPF支持点到点、点到多点、广播、NBMA网络。
    3. OSPF支持虚连接,ISIS中没有。
    4. 报文的封装方式不同:ISIS在数据链路层,OSPF在IP层上
    5. OSPF基于接口划分区域,ISIS基于路由器划分区域。即OSPF中区域边界为端口,ISIS区域边界为整个路由器。
    6. 建立邻接关系的条件不同:OSPF中邻居和邻接严格区分,ISIS中邻居=邻接。
    7. ISIS的邻接关系分为Level-1Level-2:Level-1只支持区域内连接,level-2支持跨区域连接。
    1. OSPF中DRother路由器之间不形成邻接关系;ISIS中所有路由器都形成邻接关系。
    2. DR和DIS的选举过程不同:OSFP的DR选举为终身制、非抢占,ISIS的DIS为抢占制。OSPF中优先级为0不参与DR选举,DIS中优先级为0仍会参与选举。选举时,OSPF首先比较优先级再比较router id,ISIS比较MAC地址大小
    3. OSPF的LSA种类很多;ISIS的LSP只有路由器LSP和伪节点LSP。DIS创建伪节点,伪节点LSP的作用:简化每个路由器的LSP的数据结构。现网配置成p2p的目的是避免DIS的选举,不生成伪节点,加快收敛。
    4. OSPF的LSA是周期性更新,从零增加至1800秒;ISIS周期性更新从最大值逐渐减小,从1200秒倒计时到300秒,共900秒LSDB删除链路信息的时间:OSPF:2*周期性更新时间=3600秒,ISIS:周期性更新时间倒计时为0后再等一分钟=21分钟。
    5. ISIS的开销类型比OSPF复杂
    6. 一般使用单区域;OSPF提倡划分区域。
    7. ISIS采用TLV结构,扩展性好,很好地支持SR、SRv6

    现网从OSPF修改成ISIS的原因:OSPF仅支持IPv4,需要OSPFv3支持IPv6;而ISIS可以同时支持IPv6

    • ISIS相比OSPF的优势? 
    1. 扩展性好,容易支持新特性,如IPv6/SR/SRv6等。
    2. 便于维护。OSPF的LSA类型众多,应用复杂,不利于维护人员掌握。
    3. 单进程可以容纳的路由器的数量更多,而OSPF路由器数超过一定数量就要分区域。
    4. ISIS对于SPF有I-SPF(Incremental SPF增量最短路径优先算法,影响的是树的枝干)和PRC(Partial Route Calculate部分路由计算,影响的是树的叶子,);OSPF只有PRC。华为设备默认开启I-SPF和PRC

         影响快收敛:BFD、智能定时器、PRC(I-SPF)

    ISIS工作于数据链路层,网络攻击

    • IGP的智能定时器是什么?有哪些参数?

    #

    isis 100

     timer lsp-generation 30 1000 2000 level-2

     timer spf 30 1000 2000

     flash-flood 10 max-timer-interval 20000 level-2

    #

    智能定时器采用指数衰减技术动态调整时间间隔,可以减少路由更新的频率,频繁更新导致的CPU负担,可以精确到毫秒级,使网络快速稳定。

    使用三个参数:最长时间间隔、初始时间间隔、基数时间间隔。连续3次到达最大值后回到初始值。

    为防止网络连接或者路由器频繁振荡引起的LSA频繁更新,引入IGP智能定时器。第一个参数为最大值、第二个参数为初始值、第三个参数为参考值。

    lsa生成时间间隔智能定时器 500 50(初始更新间隔,等待50ms后发给对端) 100(第n次【n≥2】更新等待100*2的n-2次方时间后发给对端),当大于500ms时回到500ms并连续更新3次LSA,然后再回到第一次初始间隔50ms继续循环更新LSA

    • BGP完成配置后邻居关系建立不起来,可能的原因是什么?
    1. IP不可达
    2. TCP 179端口被禁用
    3. BGP认证秘钥不匹配,认证不通过。
    4. router-id冲突
    5. AS-number配置错误
    6. EBPG多跳配置缺失或错误
    7. 其他配置错误

    • GTSM是什么?如何配置?和EBGP多跳有什么关系?

    GTSM(Generalized TTL Security Mechanism),即通用TTL安全保护机制,是一种通过检查IP报文头中的TTL值是否在一个预先定义好的特定范围内,从而实现对IP上的业务进行保护的机制。GTSM主要用于保护建立在TCP/IP基础上的控制层面协议免受DOS攻击

    如果收到报文的TTL值不在预先定义好的特定范围内,则进行丢弃,防止被攻击。

    考试配置的valid-ttl-hops x ,255-x+1,255】,表示TTL在该范围有效。

    BGP、OSPF 、LDP有GTSM,ISIS没有,因为ISIS没有IP报文头

    GTSM和EBGP多跳在配置上互斥。EBGP多跳只是为了建立EBGP邻居,而GTSM是个安全特性。

    • BGP如何防环?如汇总前路由来自不同AS,汇总后路由会不会可能产生环路?如何解决这个问题?
    1. AS内的IBGP防环:IBGP路由传递原则,从IBGP邻居收到的路由不再发给IBGP邻居。

    AS间的EBGP防环:AS-Path列表,路由器检查自己的 AS号是否在AS-Path列表中。如果自己的 AS号是在AS-Path列表,则丢弃。

    1. 有可能。加as-set参数可以解决这个问题。在进行BGP路由聚合时aggregate关键字后面增加as-set参数配置,记录聚合路由所经过的AS_PATH(无序方式)
    • 在BGP的配置中,可以部署哪些安全特性?

    认证(Peer keychain和peer password)、GTSM(根据TTT值来做的安全部署,检查报文头中的TTL

    password认证只能为TCP连接设置认证密码,而Keychain认证除了可以为TCP连接设置认证密码外,还可以对BGP协议报文进行认证

    Keychain具有一组密码,可以根据配置自动切换,但是配置过程较为复杂,适用于对安全性能要求比较高的网络。

    BGP password认证与BGP Keychain认证互斥

    • 如果BGP路由反射器的路由表中存在多条多达同一目的地址的相同前缀的路由,反射器会把他们全部发送给客户吗?如果不能,在部署VPN FRR时如何让PE收到对端发来的,经过反射器反射的主备两条路由?如果是单播路由,是否有解决的办法?
    1. 只反射最优
    2. RD不同,就可以反射两条。RD不同,代表两条不一样的VPNV4路由
    3. 单播路由可以在bgg配置中用add-path实现。华为设备在V8版中新增了add-path特性,一边配置send、一边配置receive
    • OSPF/ISIS邻接关系已建立,但本地路由表里看不到对方已经通告的路由,可能的原因是什么?

    OSPF:一边是p2p,一边是广播。Display ospf lsdb查看到网络类型。

     邻接已经建立,不可能是认证的原因。如果接口认证和区域认证不匹配,则邻居关系建立不成功。

    ISIS:区域认证、路由域认证的认证方式或认证秘钥不匹配,一边是wide一边是narrow,等等。

    接口认证:L1和L2的hello,建立邻居。

    路由域认证-Domian认证:L2 CSNP/PSNP/LSP

    区域认证-Area认证:L1 CSNP/PSNP/LSP

     ISIS的四种报文:

    Hello,用于建立邻居

       CSNP 类似于OSPF的DD(点菜菜单)

       PSNP (Partial)类似于OSPF的LSR和LSAck(请求和确认)

       LSP 用于交换链路状态信息,类似于OSPF的LSU

    Hello报文用于建立邻居,其他三种报文用于同步数据库。

    怎么验证真的是认证导致的?dis isis error 或者debug

    另外,可能配置了过滤filter-policy

    • ISIS的超载位(set-overload)的作用是什么?设置超载位后是否还可以学习到该路由器发布的路由?

    1、如果系统因为内存不足而无法保存新的LSP时,无法维持正常的LSDB同步,则该系统计算出的路由信息将出现错误。这种情况,系统自动进入overload状态,与配置无关。

    2、手工设置:直接set-overload ,现网中设备会跟上on-startup关键字(CR配置set-overload on-startup wait-for-bgp 900,等BGP路由收敛完成;BRAS未配置),表示设备在重启时才会置过载位。通过该命令可以设置ISIS进程在启动或重启时进入Overload状态,系统会立即在其发送的LSP报文中设置过载标志位,通告其他设备不要把自己作为计算SPF来使用,也就是不作为流量转发节点

    当ISIS进程启动或重启时,设置了过载标志位的LSP会在网络中扩散,但是在计算通过过载设备的路由时不会被采用,但该设备的直连路由不会被忽略。

    现网中CR部署了wait-for-bgp 900,在BGP协议收敛15分钟取消过载位。

    • 在一个运行BGP的网络中,为了提高网络的收敛速度,有哪些常用的优化手段?描述这些优化手段是如何工作的?

    BGP邻居状态默认更新时间180s(3分钟)

    1、peer XXX bfd enable,和对端建立BFD会话,当会话down触发切换,和FRR配合可以快速切换到备用路由。

    2、peer XXX track ,路由器会到IP路由表检查track的IP地址是否存在,当该IP消失时,BGP邻居关系立即重置为idle。存在缺省路由的时候不生效。

    3、ebgp-interface-sensitive  当EBGP邻居使用物理接口建立时,如果接口down或者IP地址被删除,则邻居关系则立即重置为idle,该特性默认使能。 当用环回口建立邻居时,该特性无效

    4、FRR快速重路由:通过BFD可以快速倒换到备用路由。

    • 路由衰减是什么?路由衰减需要配置哪些参数?

    open:TCP连接建立之后的第一个报文,用于协商能力(IPv4、IPv6、EVPN等)。

    keep alive:每隔60S发送一次,连续三次,用于维持BGP邻居关系

    update:用于路由传递及路由撤销

    notification:当BGP监测出错误时,发送notification给对端。

    路由不稳定的主要表现形式是路由振荡(route flapping),即路由表中的某条路由反复消失和重现

    发生路由振荡时的,路由器就会向邻居发布路由更新,收到更新报文的路由器需要重新计算路由并修改路由表。所以频繁的路由振荡会消耗大量的带宽资源和CPU资源,严重时会影响到网络的正常工作。

    路由衰减(route Dampening),BGP的一个特性,用来解决路由不稳定的问题。多数情况下,BGP协议都应用于复杂的网络环境中,路由变化十分频繁。为了防止持续的路由振荡带来的不利影响,BGP使用路由衰减来抑制不稳定的路由。

    BGP路由衰减使用惩罚值,来衡量一条路由的稳定性,惩罚值(华为设备默认自动增加1000)越高则说明路由越不稳定。路由每发生一次振荡,BGP便会给此路由增加一定的惩罚值,当惩罚值超过抑制阈值时,此路由被抑制,不加入到路由表中,也不再向其他BGP对等体发送更新报文

    被抑制的路由每经过一段时间,惩罚值会减少一半,这个时间称为半衰期。当惩罚值降到再使用阈值时,次路由变为可用并被加入到路由表中,同时向其他BGP对等体发布更新报文。

    再使用阈值、抑制阈值、抑制天花板值和半衰期都可以手工配置。

    • 在一个规模非常大的网络里(1个AS内超过500台路由器),部署IGP的过程中会碰到什么问题?怎样部署IGP才能解决这些问题?
    1. LSDB过大,SPF计算缓慢,网络拓扑发生变时SPF频繁计算的概率也会增大,导致网络收敛慢等。同时也是消耗设备的硬件资源。
    2. OSPF分区域,ISIS分进程、分层次(level-1和level-2),智能定时器(网络不稳定,增加报文路径计算和发送间隔)。
    • BGP反射器作用?部署反射器产生环路的可能?如何防止环路?
    1. 减少IBGP全连接,减轻反射器的客户端路由器系统负担,反射器的配置简单,只需要在RR上配置即可,便于管理和维护等。   

    非RR客户端之间不反射路由,其他组合都反射。

    1. 可能,因为破坏了原有的IBGP之间不传递其他IBGP邻居路由的防环原则。
    2. cluster_idcluster_listoriginator_id

       cluster_id由反射器和客户路由器组成,默认情况下cluster_id使用路由器自己的router_id。

       originator-id:由RR把客户机的router-id带在update报文中,即由反射器打上客户机路由器的originator-id(执行该动作时RR是报文第一次经过RR,其他RR不加)

      cluster id和cluster list都是由反射器打上的,跟客户机没关系。

    • 在有反射器的网络中,cluster id如何规划?
    1. 为增加网络的可能性,防止单点故障,有时需要在一个集群中配置一个以上的路由反射器。此时,需要使用reflector cluster-id命令为同一集群内所有的路有反射器配置相同的集群ID,以便标识这个集群,避免路由环路。
    2. 路由反射器的实现允许IBGP对等体之间发布从AS内部学来的路由。在这种情况下,cluster-list属性被引入,用于防止AS内部的环路。cluster-list由一系列的cluster-id组成,描述了一条路由所经过的反射器路径
    3. 如果是单个反射器,这个id可以不配。如果是层次化两级反射器,则要配。

       reflector cluster-id命令为互为备份的RR配置同一个cluster-id

  • 相关阅读:
    【前端】js下载url文件
    深入Linux——权限的相关概念与操作
    C++不同类型转换
    Spring Framework 6中的新功能和增强功能
    Linux——进程信号
    【无标题】
    HTML5响应式网页设计——核心技能考核示例(用于2022年11月H5考核)
    昇思25天学习打卡营第五天|应用实践/计算机视觉/FCN图像语义分割
    【Filament】立方体贴图(6张图)
    使用Jmeter遇到随机取值的需求怎么办?
  • 原文地址:https://blog.csdn.net/s85225/article/details/126325705