zoukankan      html  css  js  c++  java
  • 高级路由交换笔记

    高级路由交换笔记

    OSPF基本知识

    1.OSPF基本概念

    (1)特征
    发送的是自己的端口所连的链路状态

    组播式发送:组播地址224.0.0.5224.0.0.6,DROther只需使用组播地址224.0.0.6将其LSA发送给DR和BDR,DR使用组播地址224.0.0.5将LSA 转发给其它所有路由器

    触发式更新
    路由的获取是自己计算的
    没有跳数限制,以Cost值作为选择最佳路径的度量(cost和带宽关系)

    (2)三张表:邻居表、拓扑表、路由表

    (3)五种数据包
    Hello:发现并维持邻居关系。广播型多路访问和点到点网络默认Hello间隔为10s,Dead间隔为40s。NBMA网络中,OSPF默认的Hello间隔为30s,Dead间隔为120s。
    DBD:交换链路状态数据库LSA头部信息,用于在路由器之间检查数据库同步情况。
    LSR:用于请求在DBD交换过程中发现的本路由器中没有的或已过时的LSA详细信息。
    LSU:发送所请求的特定链路状态记录。
    LSAck:用于对接收到的LSU进行确认。

    (4)七种状态
    OSPF邻接关系建立过程共经历了7种状态:
    Down;Init;Two-way;Exstart;Exchange;Loading;Full
    在NBMA网络中,还可能出现一种状态为Attempt,该状态只存在于NBMA网络,位于Down状态后面,当一台设备试图通过hello报文去联系自己的邻居,但是没有收到回应报文时,就将它的邻居关系设置为Attempt状态。

    (5)两个选举
    Router ID的选举
    DR和BDR的选举:接口优先级为0不参与选举,点到点链路不选举DR和BDR

    (6)OSPF协议号89,默认管理距离110

    (7)OSPF单区域的配置命令(router-id、被动接口等),单区域存在的问题

    2.OSPF特殊区域

    (1)OSPF多区域的好处
    (2)OSPF区域类型:骨干区域、常规区域(标准区域、Stub区域、Totally Stub区域、NSSA和Totally NSSA)
    (3)OSPF特殊区域
    特殊区域目的:优化路由表条目、节省内存、提高性能、增强网络稳定性

    Stub Area(末梢区域):

    只有域内和域间路由。只允许LSA 3进入本区域,LSA 4/5不允许进入。配置Stub区域后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
    配置命令:
    R1(config)#router ospf 1
    R1(config-router)#area 1 stub

    Totally Stub Area:

    只有本区域内的路由。LSA3/4/5均不允许进入本区域。配置Totally Stub Area后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
    配置命令:
    R2(config)#router ospf 1
    R2(config-router)#area 1 stub no-summary

    NSSA(非完全末梢区域):

    在NSSA区域中允许存在ASBR,所以也就可以引入外部路由。这个外部路由在NSSA区域内以LSA 7存在。当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换。
    本区域只允许LSA 3进入,禁止LSA4/5的进入。所以此区域有域内、域间和外部路由。
    配置NSSA区域需要在区域内手工的创建一条默认路由(以便访问OSPF中其他区域的网络)。
    配置命令:
    R3(config)#router ospf 1
    R3(config-router)#area 1 nssa default-information-originate
    R2(config)#router ospf 1
    R2(config-router)#area 1 nssa

    Totally NSSA:

    在NSSA区域中允许存在ASBR,所以也就可以引入外部路由。这个外部路由在NSSA区域内以LSA 7存在。当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换。
    本区域禁止LSA3/4/5进入,只有本区域内路由和外部路由。配置Total NSSA Area后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
    配置命令:
    R3(config)#router ospf 1
    R3(config-router)#area 1 nssa no-summary

    3.OSPF路由器类型

    内部路由器、骨干路由器、ABR、ASBR

    4.LSA类型

    LSA类型包括1类、2类、3类、4类、5类、7类

    1类LSA:

    Link ID: 路由器的router ID
    ADV router: 路由器的router ID

    2类LSA:

    Link ID: DR的接口IP
    ADV router:DR的router ID

    3类LSA:

    Link ID:目标网络的地址
    ADV router:ABR的router ID(经过一个ABR,就会改为这个ABR的router ID)

    4类LSA:

    Link ID:ASBR的RID
    ADV router:ABR的router ID(经过一个ABR,就会改为这个ABR的router ID)

    5类LSA:

    Link ID:外部网络的网络号
    ADV router:ASBR的router ID(unchange)

    7类LSA

    Link ID:外部网络的网络号
    ADV router: ASBR的router ID(只在NSSA区域中)

    5.路由表OSPF路由代码的含义

    O:OSPF区域内路由
    O IA:自治系统内的其他区域的路由
    O E1:1类外部路由,对应type-1(从外部系统到内部系统的metric值都要累加计算)
    O E2:2类外部路由(只计算系统内部的)
    O N1:1类NSSA
    O N2:2类NSSA

    6.OSPF路由汇总

    (1)OSPF路由汇总的好处
    (2)区域间路由汇总
    在ABR上进行配置
    R2(config)#router ospf 1
    R2(config-router)#area 1 range 汇总后的网络地址 汇总后的子网掩码
    (3)外部路由汇总
    在ASBR上进行配置
    R3(config)#router ospf 1
    R3(config-router)#summary-address汇总后的网络地址 汇总后的子网掩码

    7.OSPF虚链路

    (1)使用虚链路将区域连接到骨干区域
    (2)使用虚链路将不连续的区域0连接起来
    R2(config)#router ospf 1
    R2(config-router)#area 1 virtual-link 172.16.20.9
    172.16.20.9为对端的router id
    R3(config)#router ospf 1
    R3(config-router)#area 1 virtual-link 172.16.20.5

    8.OSPF认证

    默认情况下,OSPF使用身份验证方法null。
    支持两种身份验证方法:简单密码身份验证(也叫明文身份验证)和MD5身份验证。
    按认证作用的范围分为
    区域范围认证:区域内所有路由器都启用认证功能
    接口(链路)范围认证:在任意两个直连接口间启用认证功能
    interface f0/0
    ip ospf authentication 启用ospf认证
    ip ospf authentication-key cisco 使用明文密码进行认证
    interface f1/0
    ip ospf authentication message-digest启用基于md5的认证
    ip ospf message-digest-key 1 md5 cisco 在接口下为区域认证配置md5的密码

    路由重分发

    重分发a->b,就要进b的路由协议进行配置

    在“redistribute”命令中用参数“metric”指定的种子度量值优先于路由模式下使用“default-metric”命令设定的缺省的种子度量值。

    OSPF -> RIP

    在向RIP 区域重分布路由的时候,必须指定度量值,或者通过“default-metric”命令设置缺省种子度量值,因为RIP 默认种子度量值为无限大,但是只有重分布静态特殊,可以不指定种子度量值。

    redistribute ospf 1 metric 5
    

    RIP -> OSPF

    redistribute rip subnets  
    

    OSPF -> EIGRP

    redistribute ospf 进程号 metric 带宽 延迟 可靠性 负载 MTU
    redistribute ospf 1 metric 10000 100 255 1 1500
    

    EIGRP -> OSPF

    subnets命令可以确保EIGRP网络中的无类子网路由能够正确的被发布

    redistribute eigrp 进程号 subnets表示子网
    redistribute eigrp 10 subnets 
    

    RIP -> EIGRP

    R2(config)#router eigrp 1
    R2(config-router)#redistribute rip metric 1000 100 255 1 1500
    

    EIGRP -> RIP

    R2(config)#router rip
    R2(config-router)#redistribute eigrp 1 metric 10
    
    

    更改管理距离

    rip、eigrp默认管理距离120,ospf默认管理距离110
    重分发过程中可能会出现次优路由,所以需要手动更改管理距离

    R3(config)#access-list 1 permit 10.1.1.0 0.0.0.255
    

    使用ACL匹配需要变更管理距离的网络。

    R3(config)#router rip
    R3(config-router)#distance 80 192.168.2.1 0.0.0.0 1
    

    将从192.168.2.1路由器发送匹配ACL 1指定网络路由的管理距离修改为80

    路由映射表

    tips:

    loopback口里/24为的如果没设置

    ip ospf netword point-to-point
    

    则被ospf学习到的是/32位的

    路由映射表过滤

    在这里插入图片描述
    1.创建访问控制列表:

    R2(config)#access-list 1 permit 172.16.0.0 0.0.0.255
    R2(config)#access-list 1 permit 172.16.1.0 0.0.0.255
    R2(config)#access-list 2 permit 172.16.2.0 0.0.0.255
    

    2.创建路由映射表
    这个跟ACL有点类似,例:

    R2(config)#route-map ospf_to_rip deny 10
    

    创建route-map并设定其名称为ospf_to_rip。其deny 10意思是指,如果下述match命令后面指定的条件成立的话,则其动作为拒绝。10为序列号。

    创建完成后需要去匹配:

    匹配acl1的网络
    R2(config-route-map)#match ip address 1
    也可以修改度量值
    set metric 5
    

    此时拒绝了172.16.0.0和1.0两个网段
    然后需要再创建一个去允许其他所有:

    R2(config)#route-map ospf_to_rip permit 20
    

    再次创建动作关键字为permit 20的route-map,并且不追加任何条件语句。即匹配所有的条件。

    决定是否重分发路由时,根据route-map命令包含的是deny还是permit,而不是命令route-map指定的ACL包含的是deny还是permit。ACL只用于匹配路由。

    在路由重分发过程中引用route-map需要以下配置:

    R2(config)#router rip
    R2(config-router)#redistribute ospf 1 metric 10 route-map ospf_to_rip
    

    以上是ospf to rip,rip to ospf几乎一样
    在这里插入图片描述

    使用路由标记过滤

    在这里插入图片描述
    使用路由标记的过滤,分为两个步骤。
    (1)服务器端路由器配置标记。
    (2)客户端路由器根据标记进行过滤。

    在服务器端R2上配置分配路由标记,使用ACL标识出需要设置标记的路由。

    R2(config)#access-list 1 permit 192.168.0.0 0.0.0.255
    R2(config)#access-list 1 permit 192.168.2.0 0.0.0.255
    

    为匹配ACL 1的路由条目,分配标记为1。

    R2(config)#route-map set_tag permit 10
    R2(config-route-map)#match ip address 1
    R2(config-route-map)#set tag 1
    

    在路由重分发时调用路由映射表,进行标记的嵌入。

    R2(config-route-map)#exit
    R2(config)#route-map set_tag permit 20
    R2(config-route-map)#exit
    R2(config)#router ospf 1
    R2(config-router)#redistribute eigrp 10 subnets route-map set_tag
    

    在客户端R3上,配置route-map通过标记来进行路由过滤,也就是捕获通过R2打上的标签

    对于标记为1的路由,进行过滤处理。

    R3(config)#route-map match_tag deny 10
    R3(config-route-map)#match tag 1
    

    其它的路由无条件转发。

    R3(config-route-map)#exit
    R3(config)#route-map match_tag permit 20
    R3(config-route-map)#exit
    

    在路由重发布时调用路由映射表进行了过滤。

    R3(config)#router rip
    R3(config-router)#redistribute ospf 1 metric 10 route-map match_tag
    

    总结:路由标记可以简单的实现路由预先分类,客户端仅需要简单匹配标记而不需要编写大量的ACL来标识路由。通过此配置,可以有效的维护网络的路由更新。

    有时候模拟器过滤需要手动shut no shut一下才看到的结果

  • 相关阅读:
    面试官让我手写一个生产者消费者模式
    怎么用wait、notify巧妙的设计一个Future模式?
    并发编程之Master-Worker模式
    你和那些优秀的人差距在哪里?
    idea 2019.3 最新版破解教程
    JVM垃圾回收详解
    Java类加载器和双亲委派机制
    Java代理模式/静态代理/动态代理
    JSP自定义标签/自定义标签打包
    MyBatis关联查询 (association) 时遇到的某些问题/mybatis映射
  • 原文地址:https://www.cnblogs.com/W4nder/p/12606066.html
Copyright © 2011-2022 走看看