第七章:OSPF
静态路由和动态路由的优缺点:
 
 静态路由:由网络管理员手工配置的路由信息  
 
  优点:把控股度高 
 
  缺点:配置量大;当新增网段或者减少网段,无法自动收 
 
 
 
 动态路由:所有路由器运行相同的路由协议,路由器之间沟通,交流,最终计算出到达未知网段的路由信息。 
 
  优点:基于网络拓扑的变更进行实时收敛 
 
 
常见的IGP协议和EGP协议
 
  AS --- 自治系统 --- 由单一组织或者机构所构建的一部分网络 
 
 
  
  
   IGP --- 内部网关协议 --- AS内部  
  
 
   
   常见:ospf(市场占比60%-80%),RIP,IS-IS(相当于简化的ospf),EIGRP  
  
 
   
   EGP --- 外部网关协议 --- AS之间  
  
 
   
   常见:BGP 
  
 
   
   
    IGP协议可以基于算法进行分类  
   
 
    
    1,距离矢量型协议 --- RIP --- 贝尔曼·福特算法 --- 直接发送路由条目 --- “依据传闻的路由协  
   
 
    
    议”  
   
 
    
    2,链路状态型协议 --- OSPF,IS-IS --- SPF算法(最短路径优先算法) --- 传递的是拓扑信息(LSA --- 链路状态通告) 
   
 
    
   
     IGP协议较优的特点: 
    选路佳,收敛快,资源占用少 
   
 
    
   RIP VS OSPF:
 
     1,RIP是以跳数作为开销值的评判标准,OSPF是以带宽作为开销值的评判标准,OSPF计算出的路径不会存在环路  
    
 
     
     
     2,因为OSPF的计时器时间更短,所以收敛速度更快  
    
 
     
     RIP计时器: 
    
 
     
     ①:周期更新计时器(30s) 
    
 
     
     ②:失效计时器(180s) 
    
 
     
     ③:垃圾收集计时器(120s,开销值变为16,不可达,但是还是会周期发送,也就是所谓的带毒传输,120s之后彻底删除) 
    
 
    
      OSPF计时器: 
    
 
    
      ①:hello时间:10s 
    
 
    
      ②:death时间:40s 
    
 
     
     
     3,从单个数据包的角度来看,RIP的资源占用量并不大,但是,因为他存在高频的周期更新,所以,从 整体的角度,资源占用量较大;OSPF单个数据包的资源占用远远大于RIP,但是,因为其并没有像RIP一 样高频的周期更新,且存在很多减少资源占用的机制,所以,从整体的角度看,OSPF资源占用略小于 RIP 
    
 
     
     
     
      RIP:RIPV1(没有问世,“胎死腹中”,广播发送),RIPV2(组播发送) --- IPV4  
     
 
      
      RIPNG --- IPV6  
     
 
      
      
      OSPF:OSPFV1,OSPFV2 --- IPV4  
     
 
      
      OSPFV3 --- IPV6 
     
 
      
     RIP与OSPF的区别:
 
       RIPV2和OSPFV2的相同点:  
      
 
       
       1、OSPFV2和RIPV2一样都是无类别的路由协议,都支持VLSM和CIDR 
      
 
       
       无类别指在传递路由信息时携带子网掩码  
      
 
      
        有类别:指的就是A、B、C、D类地址,简单的说就是不带子网掩码的地址                
      
 
      
        无类别:带子网掩码 
      
 
      
        思考:OSPF传递的就不是路由信息,为什么也叫无类别路由协议? 
      
 
       
       
       
       2、OSPFV2和RIPV2一样,都是以组播发送信息 
      
 
       
       RIPV2 : 224.0.0.9 ---  0100-5e00-0009 
      
 
       
        OSPFV2: 224.0.0.5 和 224.0.0.6  
       
 
        
        (在OSPF中,所有设备都监听224.0.0.5,只有DR和BDR设备监听224.0.0.6) 
       
 
       
       组播发送的优点:解二层分装时如果不是给自己的数据包就可直接丢弃 
      
 
       
       而广播需要解到四层,相当于节省了资源 
      
 
       
        3,OSPFV2和RIPV2一样,都支持等开销负载均衡 
       
 
        
        
        
         RIP和OSPF的不同点:  
        
 
         
         RIPV2只能应用在中小型网络环境中,OPSFV2是可以应用在中大型网络环境中的 --- OSPF可以实  
        
 
         
         现结构化部署 --- 区域划分 
        
 
         
         
         区域划分的目的:区域内部传递拓扑信息,区域之间传递路由信息。 
        
 
         
         
          区域边界路由器 --- ABR --- 同时属于多个区域,一个接口对应一个区域,至少由一个接口对应  
         
 
          
          区域0中。  
         
 
          
          
          区域之间可以存在多个ABR设备,一个ABR设备也可以连接多个区域  
         
 
          
          
          区域划分的要求:  
         
 
          
          1,区域之间必须存在ABR设备  
         
 
          
          2,区域划分必须按照星型拓扑来进行划分 --- 中间的区域我们称为骨干区域  
         
 
          
          区域ID --- area id --- 32位二进制构成 --- 骨干区域的区域ID被定义为0 
         
 
          
          
         OSPF的数据包
 
           1、hello包,DBD包,LSR包,LSU包,LSACK包  
          
 
           
           ①:hello包 -- 周期性的发现,建立以及保活邻居关系  
          
 
           
                   hello时间 --- 10s(30s)  
          
 
           
                   Dead time --- 4倍周期时间  
          
 
           
           
                   RID --- 路由器的身份标识  
          
 
           
                   1,手工配置 --- 1,全网唯一;2,格式统一 --- 统一按照IP地址的格式来配置  
          
 
           
                   2,自动生成: 
          
 
           
                           1,优先选择设备环回接口的ip地址,如果存在多个环回接口,则优先选择其中数值最  
          
 
           
                           大的IP地址作为RID。  
          
 
           
                           2,如果设备没有环回接口,则选择物理接口的IP地址作为RID,如果物理接口存在多  
          
 
           
                           个,则选择其中数值最大的作为RID。  
          
 
           
           2、DBD --- 数据库描述报文 --- LSDB --- 链路状态数据库 --- LSA(可以理解为菜单) 
          
 
           
           3、LSR --- 链路状态请求报文 --- 基于未知的LSA进行请求(理解为点菜结果) 
          
 
           
           4、LSU --- 链路状态更新报文 --- 真正携带LSA的数据包(上菜) 
          
 
           
           5、LSACK --- 链路状态确认报文 --- 确认包(确认吃完,结账) 
          
 
           
           OSPF依然存在30min一次的周期更新 
          
 
           
          OSPF的状态机

 
 Two-way(双向通信)状态 --- 标志着邻居关系的建立  
 
 
 (条件匹配)如果匹配成功,则可以进入到下一个状态;如果条件匹配失败,则将保持邻居关  
 
 
 系,周期性发送hello包保持邻居关系。 
 
 
 
 
 主从关系选举 --- 通过比较RID进行主从关系选举,RID大的为主,为主的可以优先选择LSA。  
 
 
 主从关系选举使用的是不携带数据的DBD包进行,主要是为了和邻居关系进行区分。
(注意:该过程用的是思科的流程图)
 
 
(注意:该过程用的是思科的流程图)
 
 在华为体系中,主从关系选举更重要的一点为主的设备可以主导隐形确认 
 
 
 
 
 华为的DBD包的确认方法使用的是隐性确认 
 
 
 
  Down状态  
  --- 发送hello包之后进入到下一个状态  
 
 
  
  init(初始化)状态  
  --- 接收到hello包中存在自己本地RID,进入下一个状态  
 
 
  
  Two-way(双向通信)状态  
  --- 标志着邻居关系的建立  
 
 
  
  (条件匹配)如果条件匹配成功,则进入到下一个状态;如果条件匹配失败,则将停留在邻居状  
 
 
  
  态,仅使用hello包进行周期保活。  
 
 
  
  Exstart(预启动)状态  
  --- 使用未携带数据的DBD包,进行主从关系选举,为主的,可以优先挑  
 
 
  
  选LSA。  
 
 
  
  Exchange(准交换)状态  
  --- 通过携带数据的DBD包,交换LSDB摘要信息  
 
 
  
  Loading(加载)状态  
  --- 通过LSR/LSU/LSACK三种数据包,获取基于之前DBD包的未知LSA信  
 
 
  
  息  
 
 
  
  FULL(转发)状态  
  --- 标志着邻接关系的建立,只有邻接关系可以交换LSA信息,邻居关系仅能使 
   
    
     
      
 
     
     
      
 
     
     
      
 
     
     
      
 
     
     
      
 
     
     
      
       
     
    
   
 
 
 
   用hello包进行保活。 
  
 
   
  OSPF的工作过程
 
    启动配置完成后,ospf向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,hello包中携 带自己本地的RID以及已知邻居的RID,如果收到hello包中存在自己本地的RID,则建立邻居关系。 将邻居关系记录在一张表中 ---  
    邻居表 
    。  
   
 
    
    邻居建立完成后,将进行条件匹配,条件匹配失败,则将停留在邻居关系,仅使用hello包进行周  
   
 
    
    期保活。  
   
 
    
    如果匹配成功,则开始建立邻接状态;首先使用未携带数据的DBD包进行主从关系选举,之后,  
   
 
    
    使用携带数据的DBD包共享数据库目录信息。之后使用LSR/LSU/LSACK数据包获取未知的LSA信息。  
   
 
    
    完成自己本地数据库的建立,生成 
    数据库表  
    --- LSDB。  
   
 
    
    最后,基于本地的链路状态数据库,使用SPF算法生成有向图和最短路径树,计算出到达未知网段  
   
 
    
    的路由信息,将这些路由信息放到 
    路由表 
    中。  
   
 
    
    收敛完成后,使用hello包进行周期保活;每30min进行一次周期更新。 
   
 
    
    
    结构突变: 
   
 
    
     1,突然新增一个网段:触发更新,第一时间将变更信息发送出去,需要LSACK进行确认。  
    
 
     
     2,突然断开一个网段:触发更新,第一时间将变更信息发送出去,需要LSACK进行确认。  
    
 
     
     3,无法沟通 --- 40S死亡时间 
    
 
     
    OSPF基础配置
 
     4,OSPF的基本配置  
    
 
     
     1,启动OSPF进程  
    
 
     
     [r1]ospf 1 router-id 1.1.1.1  
    
 
     
     [r1-ospf-1]  
    
 
     
     2,创建区域  
    
 
     
     [r1-ospf-1]area 0  
    
 
     
     [r1-ospf-1-area-0.0.0.0]  
    
 
     
     3,宣告  
    
 
     
     1,激活接口;2,发布路由  
    
 
     
     [r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 --- 反掩码 --- 由连续的0和连续的1组成,0代  
    
 
     
     表不可变,1代表可变 
    
 
     
 
     
 
     
 
     
 
     
 
     
      COST =  
      参考带宽/ 真实带宽---参考带宽默认100Mbps 
     
 
      
      
       条件匹配  
      
 
       
       指定路由器 --- DR --- 在一个MA网络中,DR设备和其他设备保持邻接关系  
      
 
       
       备份指定路由器 --- BDR --- 在一个MA网络中,BDR设备和其他设备保持邻接关系  
      
 
       
       
       在一个MA网络中,如果DR和BDR都存在的情况下,则至少需要4台设备,才能看到邻居关系  
      
 
       
       DR和BDR实际上是一个接口的概念  
      
 
       
       条件匹配 --- 在MA网络中,如果所有设备都建立邻接关系,则可能造成大量的重复更新,所以,需要 进行DR/BDR的选举,所有DROther之间仅保持邻居关系。  
      
 
       
       DR和BDR的选举  
      
 
       
       1,先比较接口的优先级,优先选择接口优先级最大的为DR设备,次大的为BDR。  
      
 
       
       (注意,DR和BDR实际上是分两轮选举出来的)  
      
 
       
       优先级 --- 8位二进制构成 --- 0 - 255,初始默认值为1  
      
 
       
       如果将某个接口的优先级设置为0,则代表该接口放弃DR和BDR的选举  
      
 
       
       [r1-GigabitEthernet0/0/0]ospf dr-priority ?  
      
 
       
       
       INTEGER<0-255> Router priority value  
      
 
       
       [r1-GigabitEthernet0/0/0]ospf dr-priority  
      
 
       
       2,如果优先级相同,则比较设备的RID,优先选择RID大的设备对应的接口为DR,次大的设备所  
      
 
       
       对应的接口为BDR  
      
 
       
       OSPF的DR选举默认是非抢占模式的,选举时间最长为40s(死亡时间) 
      
 
     