zoukankan      html  css  js  c++  java
  • 3.1【OSPF】NP十二班第一天-OSPF基础

    OSPF基础

    开放最短路径优先
    (公有协议)
    一般网络用的最多的协议,运营商用的最多的是 IS-IS
    ************************************************************************
    距离矢量路由协议:通过路标去选路,选距离最短的;rip(通过跳数计算)、eigrp、BGP(路径矢量)、IGRP
    从上面走2跳,十兆的;从下面走10跳,千兆的;
    因为距离矢量的不科学
     
    链路状态路由协议:通过地图选路:OSPF(单纯算带宽计算Metric值,接口带宽大,Metric值小)
    链路状态协议里面有个数据库:每台设备交换链路信息构建Link-State Database(LSDB链路状态数据库-地图);以自己为根,计算到达目的的最短路径数。算完以后,选出最优路由放到路由表里面。
     

    【延伸】
     这种情况下,上面路径,10M,利用率1%;下面路径,1000M,利用率99%;用OSPF选路的话,会一直选下面路径;显然是不合理的,如果采用eigrp选路,不仅仅看带宽,还看延时。
     
    *************************************************************************
    OSPF:
    1、邻居发现:组播(224.0.0.5(ALLSPFRouters))
    所有开启了SPF的路由器就会去监听这个组播组地址,组中的成员才会接收;
    224.0.0.6(ALLDRouters)
    在OSPF里面,所有指定的路由器才会监听这个组播组地址;
     
    2、属于IGP范围,同一个AS内部互联设备
    有类/主类:A、B、C类是单播地址,支持有类的话,通告路由的时候,只能通告一个主类的路由条目;ripv1只支持有类,通告路由的时候只能按照有类路由去通告;
     
    3、OSPF支持无类:支持通告子网路由的,需要掩码标识子网长度
    EGP:BGP协议,AS间互联
    CIDR:子网划分,是一个等价的网络
    VLSM:在子网的基础上再做划分
     
    OSPF一般为组播发送,也会单播发送
     
    OSPF链路信息在邻接之间才能通告,邻居之间不能通告;
    邻居-普通朋友;邻接-基友(关系在邻居之上)
     
    **************************************************************************
    OSPF多区域
     
    100台路由器部署用哪种路由协议更好?
    每台路由器都去通告一个LSA(链路信息),信息太多太大了,选路太多,给设备的性能 带来麻烦,同一个区域里面路由器不能超过32台
     
    OSPF区域划分(路由器接口上面的):
    1、骨干区域:只有区域0才是骨干区域
    2、非骨干区域:(1)普通 区域   (2)特殊区域  (stub末节区域、tottly stub完全末节区域、nssa非末节区域、totally nssa非完全末节区域)
     
    在OSPF多区域中,所有非骨干区域都必须要和骨干区域相连,这么设计的原因是为了避免路由环路
     
    既连到骨干区域又连非骨干区域的:ABR设备:区域边界路由器
     
    真ABR和假ABR
    真ABR在骨干区域中有一个活动的邻接关系。
    1号里面能看到2号的活动关系
    lo0宣告进A0,假ABR
     
    骨干区域内:IR设备:区域内路由器
     
    2、3设备是真ABR
    骨干区域被分割,需要建立虚电路连接,否则两端区域的路由器学不到对端路由;
    1、是否能收到LSA?
    2、判断是否能收到路由?
    *******************************************************************
    OSPF术语:
    Neighbor邻居/Adjacency邻接关系
     
    ASBR:自治系统边界路由器
    OSPF中的路由器能接收到Rip中的路由条目,不同的路由协议是不可能互相通告的,通过重分发,路由器通告了外部路由,角色就是ASBR
     
    OSPF中cost的计算方式:
    108/接口带宽,10的8次方换算以后是100M
    auto-cost reference-bandwith 修改OSPF参考带宽
    同时OSPF支持在接口下手工指定COST值,手工制定的COST值优先于自动计算。
     
    Link-state advertisement(LSA)链路状态通告
    通过LSA通告链路信息,路由信息,节点信息
    收集LSA构建LSDB
    LSA是存放在LSDB(链路状态数据库)中条目而已
    根据LSDB采用OSPF算法计算路由
     
    ****************************************************************************
    OSPF Neighbor
    \看OSPF报文封装三层IP封装标识是89-OSPF
     
    OSPF头部/头部固定:
    版本
    Message type:
    Source OSPF Router:(Router ID:用于唯一标识一台设备)32比特,IPV4标识
    Area ID:(区域ID:通过32位bit的值)区域ID可以用IPv4地址去表示区域ID
    Checksum:校验和
    Auth Type:认证类型  0=不认证 1=明文认证 2=密文认证
    Auth Data:认证数据
     
     
     
    OSPF的RouterID和区域ID是在头部里面去传的
     
    OSPF Hello Packet:
    Network Mask:
    Hello Interval:10 s通告间隔10秒
    Option:选项
    Router Priority: 1 优先级:用来选举DR和BDR
    Router Dead Interval:40s 死亡时间:是hello时间的4倍
    Designated Router :0.0.0.0 指定路由器
    Backup Designated Router:0.0.0.0
     
    初始化的时候
     
    OSPF的5种报文类型:
    1、hello:用于发现、建立和维护邻居关系
    2、DBD
    3、LSR
    4、LSU
    5、LSACK
     
    【实验验证】OSPF邻居建立
     
    R1(config)#router ospf 12
    R1(config-router)#network 12.1.1.0 0.0.0.255 
    R1(config-router)#network 12.1.1.0 0.0.0.255 area ?
      <0-4294967295>  OSPF area ID as a decimal value
      A.B.C.D         OSPF area ID in IP address format
    R1(config-router)#network 12.1.1.0 0.0.0.255 area 0
    R1(config-router)#exit

    R2(config)#router ospf 1
    R2(config-router)#interface fa0/0
    R2(config-if)#ip ospf 1 area ?
      <0-4294967295>  OSPF area ID as a decimal value
      A.B.C.D         OSPF area ID in IP address format
    R2(config-if)#ip ospf 1 area 0
    R2(config-if)#
    *Mar  1 00:29:59.535: %OSPF-5-ADJCHG: Process 1, Nbr 12.1.1.1 on FastEthernet0/0 from LOADING to FULL, Loading Done
    R2(config-if)#exit
     

    R2#show ip ospf interface brief
    Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
    Fa0/0        1     0               12.1.1.2/24        1     BDR   1/1
    R2#show ip ospf neighbor
     
    Neighbor ID     Pri   State           Dead Time   Address         Interface
    12.1.1.1          1   FULL/DR         00:00:39    12.1.1.1        FastEthernet0/0
    R2#copy run start
     
    ================================
     
     
    多层交换转发原理
     
    内容可寻址存储器(CAM)是一种专用于进行查表操作的硬件芯片
    CAM表以二进制进行工作:
    基于0和1进行匹配;没有bit即被忽略
    hit返回结果,即接口
    用于MAC地址的查找
    TCAM表(ternary content addressable memory)以三进制进行工作:
    基于0、1和X(不关心)
    最长匹配返回hit
    表的结构有pattern和相关掩码组成
    用于查找三层路由(比如ACL的匹配就是放到TCAM表去查找的)   
     
    思科设备的转发方式
    1、进程转发
    2、快速转发
    3、CEF(FIB)
     
    三层交换机收到数据帧后如何判断是二层转发还是三层转发?如果数据帧的目的地址是本接口MAC地址需要做三层转发,如果不是做二层转发。
     
    五元组: 源目的IP、源目的端口、协议ID (一次交换多次转发)
     
    进程转发:Cisco默认情况下开启CEF转发,需要通过命令no ip cef关闭CEF转发,变成进程转发
     
    1、查看接口的统计
     
    R1#show interfaces stats
    FastEthernet0/0
              Switching path    Pkts In  Chars In  Pkts Out  Chars Out
                  Processor        128      16578        170      18861 \进程或者CEF转发的报文统计
                Route cache          0          0          0          0  \快速转发报文统计
                      Total        128      16578        170      18861
    Interface Serial1/0 is disabled
     
    Interface Serial1/1 is disabled
     
    Interface Serial1/2 is disabled
     
    Interface Serial1/3 is disabled
     
    Interface ATM2/0 is disabled
     
    Interface GigabitEthernet3/0 is disabled
     
    FastEthernet4/0
              Switching path    Pkts In  Chars In  Pkts Out  Chars Out
                  Processor        80      9225        89      9681
                Route cache          0          0          0          0
                      Total        80      9225        89      9681
    Interface FastEthernet4/1 is disabled
             
    Interface FastEthernet5/0 is disabled
     
    Interface GigabitEthernet6/0 is disabled
     
     
    R1#show ip interface fast 0/0
    FastEthernet0/0 is up, line protocol is up
      Internet address is 12.1.1.1/24
      Broadcast address is 255.255.255.255
      Address determined by setup command
      MTU is 1500 bytes
      Helper address is not set
      Directed broadcast forwarding is disabled
      Outgoing access list is not set
      Inbound  access list is not set
      Proxy ARP is enabled
      Local Proxy ARP is disabled
      Security level is default
      Split horizon is enabled
      ICMP redirects are always sent
      ICMP unreachables are always sent
      ICMP mask replies are never sent
      IP fast switching is enabled
      IP fast switching on the same interface is disabled
      IP Flow switching is disabled
      IP CEF switching is disabled \接口下关闭CEF转发
      IP Fast switching turbo vector
      IP Null turbo vector
      IP multicast fast switching is enabled
      IP multicast distributed fast switching is disabled
      IP route-cache flags are Fast
      Router Discovery is disabled
      IP output packet accounting is disabled
      IP access violation accounting is disabled
      TCP/IP header compression is disabled
      RTP/IP header compression is disabled
      Policy routing is disabled
      Network address translation is disabled
      BGP Policy Mapping is disabled
    R1#
     
     
    R1(config)#inter fast 0/0
    R1(config-if)#no ip route-cache \关闭快速交换
     
     
    R1#show ip route 2.2.2.2
    Routing entry for 2.2.2.2/32
      Known via "static", distance 1,
        21.1.1.2
          Route metric is 0, traffic share count is 1
      * 12.1.1.2
          Route metric is 0, traffic share count is 1 \*号表示下一个IP包需要从该接口发出
     
     
    默认基于目标转发per destination
    R1#show ip cef 22.1.1.1 internal---隐藏命令
    22.1.1.1/32, version 14, epoch 0, per-destination sharing
    R1#show ip cef exact-route 13.1.1.1 22.1.1.1
    13.1.1.1        -> 22.1.1.1      : FastEthernet1/0 (next hop 10.1.1.2)---查看具体的路径
     
    R1#show ip cef exact-route 12.1.1.1 22.1.1.1
    12.1.1.1        -> 22.1.1.1      : FastEthernet0/0 (next hop 12.1.1.2)
    R1#show ip cef exact-route 12.1.1.2 22.1.1.1
    12.1.1.2        -> 22.1.1.1      : FastEthernet4/0 (next hop 21.1.1.2)
     
     
    R1(config-if)#ip load-sharing ?  \更改CEF的负载方式,默认基于源目HASH做负载
      per-destination  Deterministic distribution
      per-packet      Random distribution
     
    R1#show cef interface fast0/0
    FastEthernet0/0 is up (if_number 4)
      Corresponding hwidb fast_if_number 4
      Corresponding hwidb firstsw->if_number 4
      Internet address is 12.1.1.1/24
      ICMP redirects are always sent
      Per packet load-sharing is enabled  \查看接口的CEF负载方式
      IP unicast RPF check is disabled
      Inbound access list is not set
      Outbound access list is not set
      Hardware idb is FastEthernet0/0
      Fast switching type 1, interface type 18
      IP CEF switching enabled
      IP Fast switching turbo vector
      IP Normal CEF switching turbo vector
      Input fast flags 0x0, Input fast flags2 0x0, Output fast flags 0x0, Output fast flags2 0x0
      ifindex 2(2)
      Slot 0 Slot unit 0 Unit 0 VC -1
      Transmit limit accumulator 0x0 (0x0)
      IP MTU 1500
     
     
    OSPF使用的组播组地址: (224.0.0.5(ALLSPFRouters)  224.0.0.6(ALLDRouters))
     
    OSPF基本特性:
    1、属于链路状态路由选择协议
    2、属于IGP
    3、支持无类路由,通告掩码
    4、支持CIDR和VLSM
    5、通过IP协议承载,协议号为89
    6、支持认证(0=不认证 1=明文认证 2=密文认证)
     
     
    Neighbor table: 邻居表
    •    也被称为邻接数据库
    •    包含已经被识别的邻居列表
    Show ip ospf neighbor
    Topology table: 拓扑表
    •    通常被称为LSDB(链路状态数据库)
    •    包含所有路由器的和它们在一个区域内附属链路或网络信息
    •    在一个区域里,所有的路由器都会有相同的LSDB
    Show ip ospf database
    Routing table: 路由表
    •    通常叫转发数据库
    •    包含到每个目的地最优的路径列表
    Show ip route ospf
     
    OSPF的区域划分:
    1、骨干区域:只有区域0才是骨干区域
    2、非骨干区域:(1):普通区域 (2)特殊区域 (stub(末节区域)、totally stub(完全末节区域)、nssa(非末节区域)、totally nssa(非完全末节区域))
     
    注:在OSPF多区域中所有的非骨干区域都必须要和骨干区域相连,这么设计的原因是为了避免路由环路。
     
    什么是ABR?(真ABR,假ABR)
    1、同时连接了多区域,并且有一端连接到骨干区域
    2、在骨干区域中有一个活动的邻接关系 (真ABR)
     
    OSPF接口COST计算方式
    1、默认情况下使用参考宽带/接口带宽计算,参考带宽默认为10^8bit,换算以后为100M。如果得出的结果小于1,就按1计算。auto-cost reference-bandwidth 1000 \在OSPF进程下通过该命令可以修改默认的参考带宽。
    2、同时OSPF支持在接口下手工指定COST值,手工指定的COST值优先于自动计算。
     
    OSPF有几种报文类型?
    1、hello 2、DBD 3、LSR 4、LSU 5、LSACK
     
    1、hello:用于发现、建立和维护邻居关系。
     
     
     
     
    OSPF基本配置:
     
    拓扑:R1-----R2
     
    R1配置: R1上在进程下需要接口
    router ospf 12
    log-adjacency-changes
    network 12.1.1.0 0.0.0.255 area 0
     
     
    R2配置:
    router ospf 1
    log-adjacency-changes
     
    interface FastEthernet0/0  \R2上在接口下配置宣告进OSPF
    ip address 12.1.1.2 255.255.255.0
    ip ospf 1 area 0
    duplex half
    end
     
     
     
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    5、依赖倒转原则
    4、开放-封闭原则
    3、单一职责原则
    2013年工作生活总结
    2、策略模式
    1、简单工厂模式
    Unity3D笔记四 基础知识概念
    PythonStudy——PyCharm使用技巧 Column Selection Mode(列选择模式)
    PythonStudy——函数对象的案例
    PythonStudy——函数嵌套定义 Function nesting definition
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/11212663.html
Copyright © 2011-2022 走看看