IP路由技术

一、初始网络设备
            交换机:S系列园区网交换机
                         CE系列数据中心交换机
            路由器:AR系列企业级路由器
                         NE系列运营商级路由器
  盒式设备:主控板、交换网板固定,不支持拆卸
                  接口板支持扩充、拆卸  
  框式设备:主控板:主用主控板、备用主控板,支持拆卸
                  交换网板:存在多个,支持拆卸
                  接口板:存在多个,支持拆卸
 设备组成: 
       主控板:相当于整个设备的“大脑”,负责管理和控制设备        
       交换网板:负责设备内部数据的交换
       接口板:提供业务接口
网络设备从逻辑上可以分为以下三个平面:数据平面、控制管理平面和监控平面
            控制平面:路由学习      主控板:路由表
            数据平面:数据转发      接口板:转发表

  转发表基于路由表生成,用于指导报文转发
           相较于使用路由表转发的优势: 
                             转发效率更高,不需要查询主控板转发表项(硬件转发)
                     缺陷:每个接口板都需要维护转发表项占用设备硬件资源,硬件转发适用场景
                                中、高端设备
---------------------------------------------------------------------------------------------
作业:
OSPF报文结构
LSA头部参数
---------------------------------------------------------------------------------------------
OSPF LSA 
    基础概念:
           OSPF区域划分:1.区域内设备维护同一个LSDB
                                    2.减少区域内LSDB规模
                                    3.减少区域内网络故障带来的影响
           OSPF域内路由计算、OSPF域间路由计算、OSPF域外路由计算

一、域内路由计算
     Router-LSA、1类LSA
          作用:每台运行OSPF设备都会产生一类LSA,用于描述设备接口/链路状态信息
                    描述区域内部的拓扑信息和路由信息                                               
          格式:
                  LSA头部: 1. LS-Type LSA类型          (1类)  
                                   2. LS-ID 链路状态标识     (Router-ID) 
                                   3.Adv-Router 始发路由器  (Router-ID)
                                   4.序列号      判断LSA新旧,值越大越新
                                   5.校验和      校验LSA完整性,判断LSA新旧,值越大越新
                                   6.老化时间   最大值3600s
                                                              3600s最新
                                                               非3600s,值越小越新,相差900s则忽略
                                   7.Options可选能力  
                                   8.Length
                  LSA Data:
                             1.Flags: 标识路由器的角色 
                                             Vbit:置位为1,代表为虚连接路由器
                                             Ebit:置位为1,代表为ASBR
                                             Bbit:置位为1,代表为ABR
                             2.链接数量(可变值,取决于设备的接口数量)                             
                             链接类型:P2P、TransitNetwork、StubNetwork、VLink
                              P2P点到点:描述连接到一个点到点的邻居,属于拓扑信息
                              TransitNet传送网络:描述连接到一个传送网络,属于拓扑信息
                              StubNet末梢网络:描述末梢网络路由,属于路由信息
                              VLink虚连接:描述连接到一个虚连接的邻居,属于拓扑信息
                             3.链接信息:
                               Link_Type           Link_ID            Link_Data          度量值           
                                  P2P              邻居Router-ID    接口IP地址       
                               TransitNet        DR IP地址          接口IP地址
                                 StubNet         网络前缀             子网掩码
                                 VLink            邻居Router-ID     接口IP地址
                       *MA网络的接口,产生一个TransitNet Link,描述连接到一个DR
                       *P2P/P2MP网络的接口,产生一个P2P Link,描述连接到一个P2P邻居
                                                            产生一个StubNet,描述连接到一个网段/路由
                       *Loopback接口,产生一个StubNet Link,描述连接到一个网段/路由
      ---------------------------------------------------------------------------------------
       Network-LSA/2类LSA
         作用:由DR产生,每个DR产生一条2类LSA,描述MA网络拓扑信息和路由信息
         格式:
                  LSA头部:1.LS-Type     (2类)
                                  2.LS-ID         (DR IP地址)
                                  3.Adv-Router(DR Router-ID)
                                  4.序列号、校验和、老化时间、Options、Length    
                  LSA Data:
                                  1.掩码,DR所在MA网段的掩码  (路由信息)
                                  2.DR连接路由器列表:  R1  172.16.1.1
                                                                      R2  172.16.1.2
                                                                      R3  172.16.1.3
-------------------------------------------------------------------------------------------
域内路由计算
     基于1类、2类LSA   (泛洪范围:区域内泛洪)
 1.域内每台路由器独立使用SPF算法计算区域内拓扑信息,构建一颗以本设备为根的最短路径树
 2.再将每个节点的叶子路由添加到最短路径树的节点
----------------------------------------------------------------------------------------------

OSPF域间路由计算:
    区域划分:标准区域,骨干区域(Area 0)、非骨干区域 (非0区域)
                    特殊区域,NSSA区域、Stub区域
       划分区域优势:1.减少LSDB规模,限制1类/2类LSA只能再区域内泛洪
                              2.加快收敛速度,减少计算的LSA数量
                              3.减少设备硬件内存、CPU资源的浪费
                              4.减少区域内网络故障带来的影响
        IR区域内路由器:所有接口都属于同一个区域的路由器
        ABR区域边界路由器:连接到多个区域,至少存在一个接口连接到骨干区域
 
   域间由ABR产生Network Summary-LSA/3类LSA传递域间的路由信息
      泛洪范围:域内泛洪
      每条3类LSA只能描述一条路由信息
       Network Summary-LSA格式
              LSA头部: 1.LS-Type             (3类)
                               2.LS-ID               (前缀)  
                               3.Adv-Router       (ABR Router-ID)
                               4.序列号、校验和、老化时间、Options、Length
              LSA Data:1.掩码        2.开销
    ABR为每个不同的区域单独维护一个LSDB                         
    ABR将区域内计算的路由信息通过3类LSA通告到其它区域


   区域间防环:
          路由环路:报文在根据路由转发时出现无休止循环转发状态
                          网络提供防环机制:TTL
              环路带来的问题:1.网络中断
                                         2.占用链路带宽、设备硬件资源
       区域内防环:SPF算法,最短路径树只保留最优部分
       区域间防环:1.非骨干区域必须连接骨干区域,非骨干区域的路由必须经过骨干区域中转
                           2.ABR不会将通告到其它区域的路由信息(3类LSA)传回到原区域
                           3.ABR不计算从非骨干区域收到的3类LSA

        虚连接:一条逻辑上存在的Area0链路
                     解决骨干区域不连续的问题

------------------------------------------------------------------------------------------------
OSPF域外路由计算
   AS自治系统,使用统一的选路策略的路由器的集合
   ASBR自治系统边界路由器:将其它自治系统路由引入到本AS内
                                             实现访问其它AS
      ASBR将域外路由信息通过AS-External-LSA/5类LSA通告到AS内部
          AS-External-LSA:
                   作用:描述域外路由信息,泛洪范围:整个自治系统
                   格式:
                                LSA头部: 1. LS-Type (5类) 2. LS-ID  (前缀)  3.Adv-Router (ASBR)
                                              4.序列号  5.校验和  6.老化时间  7.可选项  8.长度
                                LSA Data:  1. 掩码 
                                                 2.Ebit:取值为0:外部路由计算类型,Type1外部路由
                                                             取值为1:外部路由计算类型,Type2外部路由
                                                 3.开销:默认去往外部路由开销值为1,可以在引入路由时进行
                                                             手工指定
                                                 4.转发地址
                                                 5.路由标记:Tag,标记外部路由
         ASBR-Summary-LSA/4类LSA
                  作用:由ABR产生,描述ABR到达ASBR开销、描述ASBR位置信息
                            区域内泛洪
                  格式:  
                               LSA头部:1.LS-Type  (4类)    2.LS-ID  (ASBR Router-ID)
                                               3.Adv-Router (ABR Router-ID)
                                               4.序列号  5.校验和  6.老化时间  7.可选项  8.长度
                                LSA-Data:1.掩码(空)  2.开销(ABR去往ASBR的开销)
               *4类LSA与3类LSA的格式完全一致,只是所描述信息不同

   计算外部路由开销: 本设备去往ABR开销(1类/2类LSA)+ ABR去往ASBR开销(4类LSA)+
                                 ASBR去往外部路由开销(5类LSA)=去往外部路由总开销
      Type2外部路由(默认):只计算AS外部开销(5类LSA携带开销)
      Type1外部路由:计算AS内部开销(1类/2类/4类LSA)加上AS外部开销(5类LSA携带开销)
    
   OSPF协议内部路由优先级:
                         域内路由优先级高于域间路由
                         域间路由优先级高于域外路由
                         Type1域外路由优先级高于Type2域外路由

   

OSPF路由计算:
   LS-Type                  LS-ID               Adv-Router                  作用                       泛洪范围
  1类LSA                 产生者R-ID      (每台) 产生者R-ID    描述接口状态信息           区域内
  2类LSA                 DR-IP地址          DR R-ID                    描述MA网络拓扑/路由    区域内
  3类LSA                (域间)前缀        ABR Router-ID        描述域间路由信息            区域内
  4类LSA                  ASBR-RID          ABR Router-ID        描述ABR到达ASBR开销    区域内
  5类LSA                 (域外)前缀       ASBR RID                描述域外路由信息            AS内


OSPF   Options:
       Ebit: 代表路由器是否支持泛洪5类LSA
       MCbit:代表路由器是否支持MOSPF 组播OSPF
       N/Pbit:  Nbit代表路由器是否为NSSA路由器
                    Pbit代表是否进行7转5
       DCbit:代表路由器是否支持按需功能
       MTbit:代表路由器是否支持多拓扑功能
       .....              
--------------------------------------------------------------------------------------------------
OSPF特殊区域
     作用:减少LSDB中LSA的数量
       1.Stub末梢区域
             配置:区域内所有设备在区域视图
                       area 0.0.0.2 
                            stub 
             特点:Stub区域ABR不会向Stub区域通告4类LSA、5类LSA
                       Stub区域ABR产生一条缺省3类LSA通告到Stub区域,使得Stub区域其它设备访问
                                       域外时将流量转发给ABR
       
          Stub注意事项:1.骨干区域不能配置为Stub区域
                                  2.Stub区域所有设备都必须配置为Stub路由器
                                                 *Options Ebit一致才能建立邻居
                                  3.Stub区域不允许泛洪5类LSA,Stub路由器不能产生5类LSA             
                                                 *Stub区域不支持引入外部路由
                                  4.VLink不能穿越Stub区域
      2.Totally Stub完全末梢区域
              配置:区域内所有设备在区域视图,在ABR上添加no-summary后缀
                        area 0.0.0.2 
                              stub 
              特点:Totally Stub区域 ABR不会向区域内通告3类LSA、4类LSA、5类LSA
                        Totally Stub区域 ABR会向该区域通告一条缺省3类LSA,区域内设备生成缺省
                                     路由用于访问域外、域间的流量转发给ABR
               

      3.NSSA区域
              作用:解决Stub、Totally Stub区域不支持引入外部路由的缺陷
              配置:区域内所有设备在区域视图
                            area 0.0.0.2 
                                 nssa
              特点:NSSA区域 ASBR引入外部路由后,产生7类LSA用于描述域外路由信息
                            7类LSA与5类LSA格式一致,泛洪范围:只在NSSA区域内泛洪
                            7类LSA会由NSSA区域的转换器进行7转5,将NSSA区域引入的外部路由通过
                                    5类LSA方式泛洪到其它区域
                             NSSA区域内Router-ID最大的ABR默认为转换器
                        NSSA区域 ABR不会向NSSA区域通告5类LSA、4类LSA
                        NSSA区域 ABR会向NSSA区域通告一条缺省7类LSA,用于NSSA区域设备生成
                            默认路由访问其它区域引入的外部网络
     4.Totally NSSA 完全NSSA区域
        相较于NSSA区域,完全NSSA区域的ABR不会向该区域通告3类LSA、4类LSA、5类LSA
                                    完全NSSA区域的ABR会向该区域通告一条缺省3类LSA、一条缺省7类LSA

--------------------------------------------------------------------------------------
  LSA泛洪原则:
        收到LSA处理:
                  *通过LS-Type  LS-ID  Adv-Router 三元组判断是否为同一条LSA
                               1.如果本地不存在该LSA,则加入LSDB并泛洪给其它邻居
                               2.如果本地存在该LSA,则比较新旧程度
                                    如果收到更新,则加入LSDB并泛洪给其它邻居
                                    如果一样新,则忽略该LSA并终止泛洪
                                    如果本地更新,则丢弃该LSA,并将自身更优的LSA通告给邻居
                  *判断LSA新旧程度
                     1.比较序列号,越大越新
                     2.序列号一致,比较校验和,越大越新
                     3.校验和一致,比较老化时间
                                       老化时间为3600s为最新
                                       老化时间为非3600s
                                                 相差超过900s,越小越新
                                                 相差900s内,则认为一样新

-----------------------------------------------------------------------------------------------
OSPF路由汇总
      默认OSPF汇总后只通告聚合后的路由,抑制成员路由/明细路由
        后缀:not-advertise   /*不通告聚合后的路由*/

           ABR进行路由汇总:针对本身产生的3类LSA进行汇总
           ASBR进行路由汇总:针对本身产生的5类LSA进行汇总
  目的:1.减少LSA数量,减少路由规模,加快收敛速度
            2.成员路由故障,不会影响聚合后的路由(除非成员路由全部失效)
    
OSPF静默接口
          正常情况使能OSPF的接口会周期性发送Hello报文,并且可以接收OSPF报文
          OSPF路由器连接终端的接口需要使能OSPF,但是使能后周期性向终端侧网络发送Hello报文
                      带来两个问题:1.占用网络带宽
                                              2.不安全
         可以将连接终端的接口指定为静默接口
              静默接口的特点:1.不发送OSPF报文、不处理接收的OSPF报文
                                         2.该接口的链路状态信息可以被正常通告
              [R1-ospf-1]silent-interface g0/0/0


OSPF认证
   提高邻居建立过程的安全性
       接口认证:接口视图配置
       区域认证:区域视图配置
   OSPF所有报文都会携带认证信息(OSPF通用头部中携带认证信息)
--------------------------------------------------------------------------------------------
IS-IS中间系统到中间系统协议
    OSI模型           CLNP协议(逻辑地址)     IS-IS协议
    TCP/IP模型      IP协议(逻辑地址)           OSPF协议
    为了支持TCP/IP模型,IETF对IS-IS协议进行扩充,扩充之后版本称为集成IS-IS

ES边缘系统:终端
IS中间系统:路由器

CLNS无连接网络服务:CLNP协议、IS-IS协议、ES-IS协议
  CLNP提供逻辑地址,NSAP网络服务访问点(相当关于IP协议IP地址)
  IS-IS协议用于计算路由,相当于OSPF协议
  ES-IS协议用于终端访问路由器,相当于ARP协议

集成IS-IS特点:同时支持TCP/IP模型、OSI模型
                       基于IEEE802.3帧封装
  *保留了NSAP地址概念,由三部分组成 Area-ID、System-ID、SEL
    Area-ID,长度1--13B ,标识一个逻辑区域
    System-ID, 长度6B,唯一标识一台运行IS-IS的设备
    SEL,长度1B,标识网络层协议类型,CLNP协议/IP协议,
               网络层协议为IP协议SEL取值为0
   SEL为0的 NSAP地址称为NET地址
集成IS-IS在TCP/IP模型中使用计算IP路由,必须配置NET地址
   NET地址格式:Area-ID(1-13B)、System-ID(6B)、SEL(1B,固定为0)
           

IS-IS基本概念:
     1.路由器级别:
            Level-1路由器、Level-2路由器、Level-1-2路由器
     2.邻接关系:
            Level-1邻接关系、Level-2邻接关系

           Level-1路由器和Level-1路由器、Level-1-2路由器只能建立Level-1邻接关系
           Level-2路由器和Level-2路由器、Level-1-2路由器只能建立Level-2邻接关系
           Level-1-2路由器和Level-1-2路由器可以同时建立Level-1、Level-2邻接关系
         *Level-1邻接关系只能同一个区域(Area ID)内建立,不能在区域之间建立Level-1关系
         *Level-2邻接关系可以在区域内、也可以在区域间建立

   3. 骨干区域:与Area-ID取值无关
                     建立Level-2邻接关系的路由器组成路由域称为骨干区域
                     Level-2区域
      非骨干区域:建立Level-1邻接关系的路由器组成的区域称为非骨干区域
                     Level-1区域
       **IS-IS中划分区域(Area-ID)以路由器为单位                
  4.IS-IS支持网络类型
       1.P2P点到点网络类型 
       2.Broadcast广播网络类型
        网络类型取决于接口使用二层协议:
                  PPP协议/HDLC协议: P2P网络类型
                  以太网协议:广播网络类型
  5.IS-IS开销计算
         1.缺省度量开销,默认所有接口开销值为10
                  窄度量、宽度量、窄兼容宽、宽兼容窄、兼容模式
                  窄度量和宽度量区别:
                                   1.宽度量支持接口开销范围更大
                                   2.宽度量实现扩展功能,例如管理标记Tag
         2.基于带宽开销:参考带宽默认1000M
         3.基于时延开销
         4.基于差错开销
  6.IS-IS报文
      报文格式: IEEE802.3帧头   IS-IS通用头部     IS-IS专用报文   FCS校验
      IS-IS通用头部:
      IS-IS专用报文:
         类型:Hello报文:用于发现、建立、维护邻接关系
                   SNP报文:CSNP报文,用于描述本地LSDB摘要信息,类似于OSPF DD报文
                                    PSNP报文,用于请求缺少的LSP,类似于OSPF LSR报文
                                                      用于对收到的LSP进行确认,类似于OSPF LSAck报文
                   LSP报文:用于携带完整的LSP信息,类似于OSPF LSU报文
     LSP:描述本地所有接口链路状态信息/LSDB:存放LSP
    *IS-IS报文采用TLV架构   类型、长度、值,扩展性极强
---------------------------------------------------------------------------------------------
IS-IS工作原理:
---------------------------------------------------------------------
   1.建立邻接关系
       广播网络类型建立邻接关系:三次握手
             接口使能IS-IS,立马组播发送 LAN-IIH报文,携带本地参数             
             收到邻居的Hello报文,检查报文的参数,参数合法,则进入init状态
             并将邻居System-ID加入Hello报文的邻居列表中,并再次发送Hello报文
             收到邻居的Hello报文,参数合法并且存在本地的 System-ID,则邻居状态Up

          1.邻接关系Up后,IS-IS通过Hello报文进行DIS指定中间系统选举
                       DIS作用:后续保障LSDB同步可靠性
               选举参数:1.优先级 0-127,默认64,0参与选举
                                2.MAC地址
               选举时间:2个Hello报文间隔
               DIS产生伪节点LSP描述广播网络拓扑信息

       点到点网络类型建立邻接关系:两次握手、三次握手(默认)
             接口使能IS-IS,立马组播发送P2P IIH,携带本地参数
             收到邻居的Hello报文,检查报文的参数,参数合法,则邻居状态Up

            两次握手:优势,建立邻接关系速度快
                             缺点,容易造成单通风险
             华为默认在P2P网络类型中采用三次握手建立邻接关系
----------------------------------------------------------------
   2.交互LSP、同步LSDB
------------------------------------------------------------------------------------------
       广播网络类型:*邻居建立完成时进行DIS选举
             1.邻接关系建立后,选举DIS
             2.DIS选举完成,路由器立马采用组播方式泛洪本地的LSP,所有路由器同步完成
                     Level-1  0180-C200-0014   Level-2  0180-C200-0015
             3.意味DIS收集到网络中所有路由器LSP,由DIS周期性10s/次向广播网络发送
                     CSNP报文,用于描述DIS  LSDB摘要信息
             4.其它路由器收到DIS CSNP报文对比本地LSDB,如果存在缺少的LSP,则向DIS   
                     发送PSNP报文进行请求
             5.DIS收到PSNP请求后,立马回应LSP报文,携带完整LSP信息
             *邻接收到LSP后,将LSP加入LSDB,无需通过PSNP报文确认
             *DIS指定中间系统:在广播网络内,周期性10s/次发送CSNP报文
                                            保障广播网络内LSDB同步的可靠性
               IS-IS没有备份DIS,支持DIS抢占,DIS发送Hello报文间隔时间默认 10/3 s  
------------------------------------------------------------------------------------------
         P2P网络类型
                 1.邻接建立完成后,立马互相发送CSNP报文描述本地LSDB摘要信息
                 2.收到CSNP报文,对比本地LSDB,如果存在缺少则发送PSNP报文进行请求
                 3.收到来自邻接PSNP请求报文则发送LSP报文回应,携带完整LSP信息
                 4.收到LSP报文,则回应PSNP报文进行确认
           *CSNP报文仅在邻接关系建立后立马发送一次
----------------------------------------------------------------------------------------  
   3.SPF、路由计算
域内路由计算:
     Level-1区域、Level-2区域分别在域内使用SPF算法计算拓扑信息,构建以本设备为根的最短路径树,并将叶子节点路由信息添加到最短路径树
    Level-1区域设备维护Level-1数据库、Level-2区域设备维护Level-2数据库

   *Level-1区域无法得到Level-2区域的路由信息
   *Level-1-2路由器会将Level-1区域路由信息以叶子节点方式挂载在Level-2的LSDB
    Level-2拥有所有区域的路由信息,Level-1区域只有本区域路由信息
 
域间路由计算: 
  Level-1区域无法得到Level-2区域的路由信息,无法访问Level-2区域和其它的Level-1区域
        解决:默认情况,level-1-2路由器向Level-1区域泛洪的L1 LSP中 ATT:1
                     ATT区域关联位:代表该路由器Level-1-2路由器,自动生成缺省路由
               收到ATT:1的 L1 LSP后,自动生成一条缺省路由,下一跳指向Level-1-2路由器  

  Level-1区域通过Level-1-2路由器产生ATT:1的LSP自动生成默认路由,通过默认路由方式
                            访问骨干区域和其它的非骨干区域
  存在的问题:通过默认路由访问其它区域,无法感知到其它区域的开销信息,可能存在
                      次优路径的问题
   解决Level-1区域访问其它区域次优路径的问题:
       路由渗透:Level-1-2路由器将level-2区域的路由信息渗透到Level-1区域     
       [R3-isis-1]import-route isis level-2 into level-1 
  
      路由渗透带来的问题:如果Level-1区域存在多台Level-1-2路由同时进行路由渗透
                 1.环路的风险:
                           Level-1-2路由可能将渗透到Level-1路由信息传回骨干区域
                           解决:Up/Down bit
                               Level-1-2路由器会将渗透到Level-1区域的路由设为Down
                               其它的Level-1-2路由器不会再将Down的路由传回到骨干区域
                          
                          Level-1-2路由器传递到骨干区域的路由信息,被其它Level-1-2路由器
                                   又渗透到非骨干区域
                            解决:协议内部优先级
                               Level-1路由   15       Level-2路由  18
                               Level-1路由优先级高于Level-2路由高于Up/Down bit为Down的路由
                   2.渗透后导致Level-1路由数量过多的问题
                         解决:渗透时对路由进行过滤

域外路由计算:
        引入的路由会被IS-IS路由器通过LSP分片(IPv4外部可达信息TLV)携带通告到其它路由器
        IS-IS引入外部路由开销值默认为64
                 internal,计算外部路由开销时,同时计算内部和外部开销
                 external,计算外部路由开销时,只计算外部开销

----------------------------------------------------------------------------------------


IS-IS报文格式:
    一、通用头部
          1.域内路由协议标识符,标识IS-IS协议
          2.头部长度
          3.版本/扩展版本,版本为1
          4.系统ID长度,6B
          5.报文类型
          6.最大区域地址数量,默认华为最大支持3个
    二、专用报文
          一、Hello报文
                1.接口Level,接口发送报文的级别
                2.源系统ID,发送者的系统ID
                3.邻接超时时间,默认3倍Hello间隔时间,30s
                4.专用报文长度
                5.DIS优先级,默认64,范围0-127
                6.DIS系统ID, System-ID+LAN ID
                TLVs
                    1.区域地址TLV,携带报文发送者的Area-ID
                    2.IPv4接口地址TLV,携带发送报文的接口IP地址
                    3.上层协议标识TLV,用于标识网络协议类型,IPv4、IPv6
                    4.填充TLV,将Hello报文长度填充到最大值
         二、LSP报文
                 1.专用报文长度
                 2.剩余生存时间,最大值1800s
                 3.LSP-ID,唯一标识一条LSP
                        由三部分组成:1.System-ID,产生LSP的设备的系统ID
                                               2.LAN-ID,伪节点标识,标识该LSP是否为伪节点生存
                                                           LAN-ID:00,代表实节点产生
                                                           LAN-ID:非0,代表伪节点产生
                                               3.分片ID,标识一个分片
                 4.序列号,判断LSP新旧程度以大为优
                 5.校验和,校验LSP完整性,判断新旧程度
                        新旧程度:1.比较序列号  2.比较剩余老化时间   3.比较校验和
                 6.ATT区域关联位bit   Pbit区域修复位    Obit过载位    
                 7.LSP级别,Level-1 LSP、Level-2 LSP
                 8.TLVs
                          1.上层协议标识TLV
                          2.区域地址TLV
                          3.系统名称TLV,携带配置的系统名称
                          4.中间系统可达TLV,携带拓扑信息,描述本设备连接的邻居信息
                          5.IPv4接口地址TLV,携带路由器所有接口IP地址
                          6.IPv4内部可达信息TLV,携带路由器域内路由信息
     三、CSNP报文
             1.专用报文长度
             2.源系统ID/LAN-ID
             3.起始LSP-ID、结束LSP-ID
             4.LSP摘要s
                 LSP摘要1,LSP-ID、序列号、剩余生存时间、校验和
                 LSP摘要2,LSP-ID、序列号、剩余生存时间、校验和
                 LSP摘要3,LSP-ID、序列号、剩余生存时间、校验和
       *PSNP报文与CSNP报文结构完全一致,例如请求LSP,携带请求的LSP摘要
                                                                 例如确认LSP,携带确认的LSP摘要  
----------------------------------------------------------------------------------------
IS-IS认证
  接口认证:在接口视图下配置,对Level-1和Level-2的Hello报文进行认证
  区域认证:在IS-IS进程视图下配置,对Level-1的CSNP、PSNP和LSP报文进行认证
  路由域认证:在IS-IS进程视图下配置,对Level-2的CSNP、PSNP和LSP报文进行认证
-----------------------------------------------------------------------------------------
作业:
   1.DR和DIS区别
   2.IS-IS笔记
   3.实验

------------------------------------------------------------------------------------------------
路由策略
      基于FIB转发表转发报文,FIB基于IP路由表生成
      路由策略,通过修改或删除路由来影响FIB转发表,实现控制设备转发报文路径
               通过修改控制平面来影响数据平面

      应用场景:1. 过滤路由,从路由表删除发布的路由、接收的路由
                      2. 控制路由,添加或修改路由的参数

      一、路由匹配工具
               1.基本ACL:通过通配符匹配上路由前缀
                            *基本ACL通过网络前缀来匹配路由,无法匹配路由的掩码
                   172.16.1.0   0.0.0.254------>0000 0000    1111 1110    匹配172.16.1.偶数
                   172.16.1.1   0.0.0.254------>0000 0001    1111 1110    匹配172.16.1.奇数
               2.IP-Prefix IP前缀列表 
                            *不仅通过前缀匹配,还可以匹配路由的掩码
                   
      二、路由策略工具
---------------------------------------------------------------------------
      1.Filter-Policy:1.只能过滤路由,无法修改路由参数/属性
                              2.不具备执行动作,只能继承匹配工具的动作
              acl  2000  
                      rule 5 deny source 192.168.2.0 0.0.0.255 
                      rule 9999 permit 
              ip ip-prefix ABC index 10 deny 192.168.2.0 24
              ip ip-prefix ABC index 9999 permit 0.0.0.0 0 less-equal 32 
             ospf 1 router-id 172.16.1.1 
                     filter-policy 2000 import
                     filter-policy ip-prefix ABC import
     2.Route-Policy
      由若干个节点组成,节点之间通过节点序号区分,节点与节点为“或”关系
          匹配规则:从节点号最小的节点依次进行匹配,一旦匹配节点则不再匹配后续的节点 
      每个节点由一个或多个条件语句指定节点匹配范围/条件,条件语句之间为“与”关系     
      每个节点都可以由执行语句指定匹配后的执行动作(修改路由参数)
               *1.可以用于过滤路由,也可以用于修改路由的参数
                 2.Route-Policy每个节点本身具备动作
         1.过滤路由:
              创建匹配工具,匹配路由
               ip ip-prefix ABC index 10 permit 192.168.1.0 24
               ip ip-prefix ABC index 20 permit 192.168.2.0 24
             创建Route-Policy
                route-policy ABC deny node 1 
                   if-match ip-prefix ABC 
                route-policy ABC permit node 9999 
              调用Route-Policy
                   ospf  1
                         filter-policu  route-policy  ABC import     
        2.修改路由参数/属性
              创建匹配工具,匹配路由
                  ip ip-prefix 123 index 10 permit 10.1.12.0 24
              创建Route-Policy
                  route-policy 123 permit node 1 
                      if-match ip-prefix 123 
                      apply preference 60 
               调用Route-Polocy
                   ospf  1
                      preference route-policy 123
-----------------------------------------------------------------------------------------
      链路状态路由协议:进行路由过滤时需要注意的问题
          *路由策略工具过滤或修改路由时,只是影响/过滤OSPF路由加入IP路由表的过程
            但是不影响OSPF LSA传递          

    场景: 在链路状态路由协议使用Filter-Policy、Route-Policy进行路由过滤
              1.IR
                   Import接收
                         只对本设备计算路由加入OSPF路由表时进行过滤,不影响LSA通告
                         只在本设备生效,其它设备可以正常学习路由
                   Export发布
                         无效,不能针对域内路由过滤
               2.ABR
                   Import接收
                         对设备OSPF路由加入IP路由表时进行过滤,如果过滤路由,ABR则不会
                               产生对应的3类LSA;通过路由过滤影响设备生成3类LSA
                         对本设备生效,其它区域也无法学习对应路由
                   Export发布
                         无效,不能针对域间路由过滤
              3.ASBR
                   Import接收
                          无效,不能针对域外路由过滤
                   Export发布
                          针对引入的外部路由,通过路由过滤使其不产生对应的5类LSA

                  *在ASBR上import-route 时通过route-policy后缀对引入的路由进行过滤
---------------------------------------------------------------------------------------------

路由策略:过滤路由、修改路由参数
            控制平面:  通过影响路由表最终实现影响转发表(转发平面)
    
策略路由:过滤报文、修改报文转发的路径参数
            转发平面: *不影响路由(控制平面)
                             策略路由优先级高于转发表,指导报文转发
    匹配工具:匹配数据包/报文
            ACL访问控制列表
    策略路由工具:
            1.Traffic-Filter   报文过滤
                       特点:不具备动作,只能继承匹配工具动作
            2.Traffic-Policy  报文过滤,修改报文的路径参数
                       流分类器:对流量进行分类
                       流行为器:对流量执行操作
                       流策略:调用分类器和行为器
                MQC模块化QoS配置:流分类器、流行为器、流策略
                        逻辑性强、可编辑性强、可读性强
            3.PBR :应用,1.系统视图调用
                                   2.接口视图调用
             1.创建ACL
                 acl 3000  
                    rule 5 permit ip destination 172.16.1.4 0 
             2.创建本地策略路由
                 policy-based-route ABC permit node 1
                    if-match acl 3000
                    apply ip-address next-hop 10.1.13.3
            3.本地调用
                [系统视图]ip local policy-based-route ABC 

 策略路由分类:
       1.接口策略路由
              针对接口接收、发送的流量进行过滤或修改流量的参数
              Traffic-Filter、Traffic-Policy、PBR
       2.本地策略路由
              针对本设备始发的流量进行过滤或修改流量的参数
              PBR
       3.智能策略路由
              根据网络实际QoS情况智能选择路径


路由策略: 控制平面
      原理:通过影响路由实现影响转发表,从而实现影响流量路径
    匹配工具:基本ACL、IP-Prefix
    策略工具:Filter-Policy、Route-Policy
策略路由:转发平面
      原理:不影响路由表/转发表,优先级高于转发表
   匹配工具:所有类型ACL
   策略工具:Tracffic-Filter、Tracffic-Policy、PBR

--------------------------------------------------------------------------------------------
BGP协议
   动态路由协议:内部网关路由协议IGP,OSPF协议、IS-IS协议
                             IGP协议:运行在AS内部,用于发现、计算AS内部路由实现AS内部互通
                          外部网关路由协议EGP,EGP协议(淘汰)、BGP协议
                             BGP协议:运行AS之间,在不同的AS之间传递路由信息
    AS自治系统:同一个组织管理下,使用统一选路策略的设备集合
    为了区分不同自治系统,使用AS号进行标识,AS号分为2B AS号、4B AS号
    AS号:分为私有AS号、公有AS号

BGP背景:
    使用IGP协议在AS之间传递路由的缺陷:
              1.不同AS可能由不同组织机构管理维护,是无法互相信任的网络,使用IGP协议
                     将不同AS直接打通,实际上将不同AS变为一个AS
              2.IGP协议建立邻居要求必须物理直连(逻辑通过Tunnel接口直连)
              3.IGP协议无法承载大量路由,IGP协议主要负责AS内部路由计算、拓扑计算,当
                     路由数量非常庞大情况下,导致设备性能严重消耗,协议收敛变慢
    BGP在AS之间传递路由优势:
              1.BGP协议基于TCP协议封装,TCP连接建立成功就可以建立BGP邻居
                      BGP协议单播发送协议报文,支持跨跳建立BGP邻居
              2.BGP协议只在AS之间传递路由信息,不传递拓扑信息
                      对于AS可以隐藏内部拓扑结构,对于设备性能消耗更小
              3.BGP协议更新机制:触发更新、增量更新
                 IGP协议更新机制:触发更新、增量更新、周期性更新

------------------------------------------------------------------------------------------
BGP基础概念
     特点:1. 基于TCP179端口封装报文
               2.支持跨跳建立邻居
               3.属于路径矢量路由协议,在通过BGP路由时,携带大量路由属性
                     1.控制路由传递     2.路由优选
               4.支持承载大量的路由
     一、BGP对等体
            IBGP对等体:同一个AS内部建立BGP对等体
            EBGP对等体:AS之间建立BGP对等体
     二、BGP报文
           Open报文:携带本端参数,用于协商建立对等体 
                        参数:版本、Router-ID、AS号、Hold-Time(180s)、扩展能力  
           Keepalive报文:首次发送用于表示协商成功,对等体建立成功
                                    后续周期性发送用于维护TCP连接、维护对等体关系
           Update报文:通告路由信息,携带路由属性信息
                                撤销路由信息,撤销路由时不需要携带路径属性信息
                         通告路由:NLRI(可达前缀/前缀长度)、Path attributes(属性列表)
                         撤销路由:Withdrawn routes(不可达前缀/前缀长度)
           Route-refresh报文:刷新路由,策略改变后发送该报文进行路由刷新
           Notification报文:用于通知对等体之间错误信息
           
    三、状态机
            Idle状态:BGP初始状态,BGP对等体建立失败
            Connect状态:BGP建立TCP连接
                                  1.建立超时,停留在Connect状态,一直尝试建立TCP连接
                                                     最终仍然建立失败,退回到Idle状态
                                  2.建立失败,进入Active状态
            Active状态:BGP尝试建立TCP连接
                                 最大时间:180s,如果仍然未建立成功,则回退Connect,最后
                                 回退到Idle状态
                 *在Connect状态、Active状态如果TCP连接建立成功,进入OpenSent
            OpenSent状态:BGP发送Open报文,携带本端的参数进行协商
                                     参数:版本、Router-ID、AS号、Hold-Time(180s)、扩展能力
               接收对等体Open报文,检查报文携带的参数,参数合法则进入OpenConfirm状态
            OpenComfirm状态:BGP发送Keepalive报文,表示协商完成对等体建立成功
                接收对等体Keepalive报文,收到报文立马进入Established状态
            Established状态:表示对等体建立完成

        *BGP对等体建立过程
-------------------------------------------------------------------------------------------   
   

建立对等体时,更新源的区别
   1.使用物理接口建立对等体
         默认使用去往对等体最优路由的出接口IP地址作为更新源地址
         peer 10.1.13.3 as-number 300
   2.使用Loopback接口建立对等体
        必须手工指定更新源地址为本地的Loopback接口地址
        peer 172.16.1.4 as-number 300 
        peer 172.16.1.4 connect-interface LoopBack0  /*指定更新源地址*/
     *Loopback接口一旦创建,除非手工删除,否则接口状态一直为Up,可靠性更高 

   *建立BGP对等体时发送报文跳数
             默认建立EBGP对等体,建立对等体发送的报文的TTL:1
             默认建立IBGP对等体,建立对等体发送的报文的TTL:  255
     如果使用非直连接口建立EBGP对等体,必须配置EBGP多跳
             peer 172.16.1.2 ebgp-max-hop 2(跳数/TTL值)

 *在建立EBGP对等体时,建立使用直连的物理接口地址建立对等体
   在建立IBGP对等体时,AS内部存在冗余链路使用Loopback建立对等体可靠性更高
BGP路由生成方式:
    默认BGP对等体建立后,不会产生任何路由
    1.network宣告:逐条路由宣告,宣告的路由必须在本地IP路由表中存在
          *建立对等体使用的Loopback0接口路由宣告后,对等体收到后视为无效路由
    2.import引入:将某个协议的所有路由引入到BGP,通常会对引入的路由进行过滤
    3.summary聚合
    注入本地BGP的路由会立马通告自身给所有的BGP对等体
    
BGP路由通告原则:
     1.仅发布有效且最优的路由
         *路由的下一跳可达则为有效路由
          peer 172.16.1.4 next-hop-local  /*强制修改路由的下一跳为本地更新源地址*/
     2.从EBGP对等体收到的路由可以通告给自身所有的BGP对等体(EBGP、IBGP对等体)
     3.从IBGP对等体收到的路由只能通告给自身的EBGP对等体,不能通告给自身IBGP
           对等体(IBGP水平分割:防止AS内部路由环路)
     4.IBGP和IGP协议同步
          从IBGP对等体收到的路由,必须在IGP协议路由表中存在,才能通告给自身的
          EBGP对等体,否则不通告(防止AS内部路由黑洞)(华为默认不遵循该原则)
       解决路由黑洞:IBGP全互联,在AS内部所有设备之间都需要建立IBGP对等体
       

------------------------------------------------------------------------------------------
BGP路径属性/Path Attribute
    路由属性:在每一条BGP路由中携带,用于控制路由、路由优选      
    属性分类:
        1.公认属性:所有BGP路由器必须识别的属性
--------------------------------------------------------
                公认必遵属性:所有BGP路由器必须识别,Update必须携带的属性
                     1.Origin       起源属性,标识路由生成方式
                      起源属性取值:
                          IGP, 路由起源为IGP协议,通过Network注入的路由起源属性为 “I”
                          EGP,路由起源为EGP协议,EGP协议已经备淘汰  “E”
                          Incomplete,路由存在缺陷,通过Import注入的路由起源属性为“?”
                      路由优选: I>E>?
                     ---------------------------------------------------------------------------
                     2.AS_Path   AS路径属性,记录路由经过的AS列表
                            将路由发布给EBGP对等体时,在路由的AS-Path属性前添加本地AS号
                            作用:1.防止AS之间路由环路,如果接收路由的AS-Path属性存在本地
                                          的AS号则丢弃该路由
                                      2.路由优选,AS-Path越短越优先
                          *有序AS-Path、无序AS-Path、联盟有序AS-Path、联盟无序AS-Path
                      -------------------------------------------------------------------------     
                   3.Next_hop 下一跳属性, 标识去往目的网络的下一跳IP地址
                          *BGP通过下一跳是否可达来判断BGP路由是否有效
                      1.默认注入到本地的BGP路由通告给对等体时下一跳地址为本地更新源地址                        2.EBGP对等体之间通告路由时,路由的下一跳设为本地的更新源地址
                      3.从EBGP对等体收到的路由通告给自身的IBGP对等体时,下一跳不变
                      4.如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体                        (更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变                           并传递给它的BGP对等体     
  ---------------------------------------------------------------------------------------
                公认任意属性:所有BGP路由器必须识别,Update不要求必须携带的属性
                  1.Local_Preference本地优先级,用于路由优选
                       默认取值:100 , 以大为优
                    本地优先级只能在AS内部(IBGP对等体之间)传递
                    场景:本地优先级在EBGP对等体Import方向执行路由策略进行修改,用于影                            响本AS内出站流量的方向

                  2.Atomic_aggregate原子聚合,标识该路由为聚合路由 
                       BGP路由聚合后,该聚合路由会自动添加该属性,用于表示发送信息丢失

---------------------------------------------------------------------------------------
        2.可选属性:不要求BGP路由器必须识别的属性
               可选过渡属性:不要求BGP路由器必须识别的属性,本设备无法识别,仍会传递
                                       给其它对等体
                     1.Aggregator聚合者:标记聚合路由始发AS
                        Aggregator-ID聚合者ID:标记聚合路由始发设备
                     2.Community团体属性:
                       [R1-bgp]peer 172.16.1.2 advertise-community 
                        /*使能向对等体发布团体属性功能*/
                              公认团体属性,限制BGP路由传播范围
                                1.internet,默认所有BGP路由团体属性为internet
                                                  代表该BGP路由传播不受团体属性限制,正常通告
                                2.No_Advertise,代表该BGP路由不会发布非任何对等体
                                3.No_Export,代表该路由不会通告给EBGP对等体
                                4.No_Export_Subconfed,代表该路由不会通告给联盟EBGP对等体
                              自定义团体属性,类似于IGP Tag进行路由标记
---------------------------------------------------------------------------------------
               可选非过渡属性:不要求BGP路由器必须识别的属性,本设备无法识别,不会
                                        传递给其它对等体
                     1.MED多出口鉴别器,类似于IGP协议的度量值
                                        用于路由优选,MED越小越优
                                        MED属性只能在相邻的两个AS传递
                                        场景:在AS之间发布路由时Export通过路由策略修改MED
                                                    影响对方AS访问本AS的入站流量方向
                     2.Cluster-List
                     3.Originator-ID 
------------------------------------------------------------------------------------------
                华为私有属性:
                          协议首选值,用于路由优选,值默认为0,以大为优
                          只能在import进行修改,该属性只在本地有效,不会通告给其它对等体
                          场景:用于影响本设备选路
-------------------------------------------------------------------------------------------


BGP路由汇总:
  1.静态聚合,相当于Network静态路由
  2.自动聚合
     只能针对本设备引入的路由做有类的聚合
     [R2-bgp]summary automatic 
     特点:1.默认抑制明细路由
               2.聚合路由会丢失成员路由的属性信息,容易造成环路
               3.自动聚合后,在本地IP路由表自动产生一条目的网络为聚合路由、出接口为
                    Null0接口路由(防环)
 3.手工聚合
    针对本地始发路由(引入/宣告)和从对等体接收的路由做无类的聚合
    [R3-bgp]aggregate 192.168.1.0 28
    特点:1.默认不抑制明细路由,添加detail-suppressed后缀可以抑制明细路由
              2.聚合路由会丢失成员路由的AS-Path信息,添加as-set后缀可以通过
                   无序AS-Path携带成员的AS-Path信息
              3.手工聚合后,在本地IP路由表自动产生一条目的网络为聚合路由、出接口为
                    Null0接口路由(防环)
-----------------------------------------------------------------------------------------
BGP路由反射器
   背景:   通告原则:IBGP水平分割、IBGP和IGP协议同步
                AS内部建立IBGP全互联:防止出现路由黑洞
         IBGP全互联带来的问题:
                 1.设备需要维护大量IBGP对等体
                 2.维护大量TCP连接
                 3.占用设备硬件资源
         解决IBGP全互联带来的对等体邻居数量过多的问题:                                         
                 1.路由反射器RR       2.联盟
                          路由反射器RR         RR客户机        非客户机IBGP对等体
                          集群:反射器和它的客户机
                                    每个集群都存集群ID,默认为RR的Router-ID
       路由反射原则:
              1.从非客户机IBGP对等体收到的路由会被RR反射给所有客户机
              2.从客户机收到的路由会被RR反射给所有客户机(除始发客户机)和非客户机
              3.从EBGP对等体收到的路由会被RR通告给所有IBGP对等体(客户机/非客户机)
      解决RR带来的环路风险:
              Originator_ID 起源者-ID:记录该路由在AS内部的始发设备
                                                      该属性由RR添加,在反射路由的过程中不改变
                   集群内防环:路由器收到的路由起源者ID为自身的Router-ID,则忽略该路由
              Cluster_List 集群列表:记录该路由经过的集群
                                                 该属性由RR添加,每经过一个RR,RR都会在集群列表
                                                        中添加自身的集群ID
                   集群之间防环:RR收到的路由集群列表中包含自身的集群ID,则丢弃该路由
                                           

            
---------------------------------------------------------------------------------------
BGP避免环路机制:
   1.通告原则:IBGP水平分割     AS内部环路
   2.AS-Path:AS之间环路
   3.路由汇总场景:1.无序AS-Path/无序联盟AS-Path   2.本地IP路由自动生成Null0路由
   4.路由反射器场景:1.起源者ID   2.集群列表
------------------------------------------------------------------------------------------


STP生成树协议
     解决因链路冗余带来二层环路问题
     版本:STP 802.1D、RSTP 802.1W、MSTP
STP标准选举过程
  1.所有交换都认为自己是根桥,接口向外发送配置BPDU
      收到比自己接口更优BPDU,则更新接口的BPDU并保存
      收到没有自己接口的BPDU优,则丢弃收到BPDU,并正常2s/次向外发送BPDU消息
  2.如果交换机所有接口最终保留BPDU都为自身接口原BPDU,则该交换机为根桥
     非根交换机比较所有自己接口保留的BPDU,保留的最优BPDU的接口成为RP
  3.根据RP保留的BPDU进行计算,确定DP参数
        根据RP计算得到的参数,比DP端口保留的BPDU更优,则该端口为DP并更新参数
        根据RP计算得到的参数,没有DP端口保留的BPDU优,则该端口为AP

端口状态            接收BPDU             发送BPDU           学习MAC地址            转发数据 
未使能状态             X                             X                         X                            X
阻塞状态                √                             X                         X                            X
侦听状态                √                            √                          X                            X
学习状态                √                            √                         √                            X
转发状态                √                            √                         √                            √
防止临时环路:侦听状态迁移到学习状态、学习状态迁移到转发状态都需要经过15s转发延迟时间

RSTP快速生成树协议:
 较于STP协议改进:  
           1.端口角色
                          STP端口角色:RP、DP、AP
                          RSTP端口角色:RP、DP、AP替代端口、BP备份端口
                              AP:从其它交换机收到比自身更优的BPDU
                                      提供一条去往根桥无环备份路径,作为RP备份
                              BP:从本设备其它接口收到比该接口更优的BPDU
                                      提供一条根桥去往该网段的无环备份路径,作为DP备份
           2.端口状态
                  Discarding状态:不能学习MAC地址,不能转发用户数据
                  Leaning状态:可以学习MAC地址,不能转发用户数据
                  Forwarding状态:可以学习MAC地址,也可以转发用户数据
           3.BPDU格式改变
                  1.BPDU类型,STP有两种BPDU,分别为配置BPDU、TCN BPDU
                     RSTP中,只有一种BPDU,称为RST BPDU
                  2. RST BPDU中对Flags字段进行扩充,新增P/Abit用于实现P/A握手
                                                                            新增F/Lbit用于标识端口状态
                                                                            新增Port Role用于标识端口角色
           4.BPDU处理方式
                  1.BPDU发送   在STP中拓扑稳定后只有根桥周期性2s/次发送BPDU
                                       在RSTP中拓扑稳定后所有交换机周期性2s/次发送BPDU
                  2.感知故障     在STP中等待接口BPDU老化,老化时间20s
                                       在RSTP中3次Hello间隔时间未收到BPDU则认为交换机故障
                  3.次优BPDU处理
                                        在STP中,交换机收到次优BPDU,则丢弃并忽略
                                        在RSTP中,交换机收到次优BPDU,立即将自身BPDU进行通告
           5.快速收敛
                      1.端口角色变换
                             当RP故障,去往根桥最优的AP端口会立马成为RP进入转发状态,无需等待转                                      发延时30s时间
                             当DP故障,该网段最优的BP会立马成为DP并进入转发状态,无需等待转发
                                     延时30s的时间
                      2.边缘端口(EP,实际端口角色为DP)
                             手工配置:交换机连接终端/路由器的接口手工指定为EP边缘端口
                                   边缘端口特性:1.不参与STP计算,角色为DP,状态为转发状态
                                                          2.迁移到转发状态无需等待转发延时时间30s
                                                          3.如果边缘端口收到BPDU则丧失快速收敛特性,重新
                                                             参与STP计算中
                      3.P/A握手机制:初始收敛不在依赖计时器,实现状态快速切换       
                                
          6. 拓扑变更机制, 拓扑变更后,通过机制删除原来学习的错误MAC地址表项
                    RSTP认为拓扑变更:一个非边缘端口进行转发状态
                 
                    感知拓扑变更的交换机:1.清空所有学习MAC地址表项
                                                        2.为所有DP(除EP)和RP启动TC计时器 4s
                               启动TC计时器的接口:向外发送TC BPDU
                    收到TC BPDU的交换机处理:1.删除所有接口(除收到TC BPDU的接口、EP)                                                                   MAC地址表项
                                                                2.为RP/DP(除EP)也启用TC计时器 继续扩散
                                                                   TC BPDU  
          7.保护机制
                     1.BPDU保护/边缘端口保护
                             如果边缘端口收到BPDU则边缘端口丧失快速收敛特性重新参与RSTP计算,
                             接口重新变为转发状态,带来拓扑变更,引起网络震荡
                        使能BPDU保护功能后:
                              *针对边缘端口EP
                              边缘端口收到BPDU,将端口设备错误Down状态
                         
                        *错误Down状态接口恢复:
                                  1.手工开启接口undo shutdown
                                  2.设置错误Down状态自动恢复的时间间隔
                     2.根保护
                             如果指定端口收到优先级更高的BPDU,则进行更新,触发网络重新收敛
                             导致根桥丧失根桥的角色成为非根交换机
                         使能根保护后:
                               *在指定端口配置,针对DP指定端口有效
                               交换机指定端口收到更优的BPDU,端口角色保持不变:DP,状态迁移到
                                       Discarding状态,不转发用户数据
                               如果一段时间内(30s)未收到更优的BPDU,则恢复到转发状态
                    3.环路保护
                           如果交换机同时存在RP和AP,RP如果由于单向通信故障,导致无法正常接收
                           根桥BPDU,则6s后,AP直接成为RP,状态直接迁移到Forwarding状态;原
                           RP会成为DP,状态为Forwarding状态,导致造成环路
                        使能环路保护后:
                              *在RP/AP配置,针对RP/AP有效
                            如果交换机RP/AP长时间未收到根桥的BPDU,则角色变为DP,状态迁移到
                                  Discarding状态
                            直到端口重新收到BPDU后,重新协商,端口恢复成为RP/AP

                    4.TC BPDU保护
                                     交换网络频繁收到TC BPDU,导致所有交换机频繁删除MAC地址表,                                        导致网络震荡
                          使能TC BPDU保护: 
                              *在系统视图配置,配置单位时间内处理TC BPDU的次数
                              交换机收到大量TC BPDU,在单位时间内只会处理 指定的次数,其它超过
                                   阈值的TC BPDU只会统一处理一次
-----------------------------------------------------------------------------------------------
1. 标准STP选举过程(产品文档)
    RSTP初始收敛过程(P/A握手机制)
2. RSTP改进(*收敛速度)  
----------------------------------------------------------------------------------------------    
MSTP多实例生成树协议
    802.1s
    RSTP/STP在交换网络计算一颗生成树,所有流量都沿着生成树进行转发,被阻塞的链路无法          实现承载用户数据  
                    1.无法实现交换网络基于VLAN负载分担
                    2.导致业务流量出现次优路径
                    3.链路带宽、设备资源利用率低
    原理:在交换网络中计算多颗生成树,实现消除环路的同时,实现交换网络基于VLAN负载
      MSTP协议,每个实例对应一颗独立生成树,VLAN和实例进行映射
                *一个实例可以包含多个VLAN,一个VLAN只能属于一个实例
  MSTP基本概念:
         1.MST Region MST域
            将一个交换网络的所有交换机划分成不同的MST域,每个域内可以基于instance进行内                部流量负载,不同域instance独立
             如何定义同一个域:
                               1.域名相同    2.修订级别相同    3.instance和VLAN映射关系完全一致
             交换网络中可以存在多个域,每个域内可以存在多个instance
         2.MSTI 多生成树实例
             每个MST域内可以存在多颗生成树/instance,每个instance使用ID进行标识
                instance ID范围:0--4094
             一个MSTI等于一颗生成树,一颗生成树可以关联多个VLAN
         3.IST内部生成树
              IST为每个域内instance 0对应的生成树
              IST属于特殊的MSTI
              默认所有VLAN都属于IST/instance 0
         4.CST公共生成树
              将每个域逻辑上看作一台交换机,在MST域之间计算CST用于避免MST域间环路
              每个MST域之间流量都需要沿着CST进入其它的域
         5.CIST公共内部生成树
              交换网络内每个MST域内IST(instance 0 MSTI)和域间CST组成的生成树
              CIST由所有交换机参与计算的生成树
         6.SST单生成树
            MSTP协议兼容RSTP、STP
            MSTP将运行RSTP/STP协议交换机看作为一个MST域,并且该域内只有一个instance 0
         7.交换机角色 
               1.总根,CIST生成树的根桥设备
                   在交换机网络所有交换机中优先级最高的交换设备成为总根
               2.域根,每个域内的MSTI的根桥设备
                   IST域根:每个域内instance 0的根桥
                   MSTI域根:每个域内除instance 0的其它MSTI的根桥
              3.主桥,每个域内去往总根最近的交换机作为这个域的主桥
                   *总根所在的域中,总根就为主桥设备
        8.端口角色:
                1.域边缘端口,连接到其它域的端口
                2.Master端口,在本域内所有域边缘端口中,去往总根最近的域边缘端口
                   *将一个域看作为一台交换机,Master端口就为非根交换机去往根桥的RP

MSTP计算:
    1.域间计算CST公共生成树
    2.域内计算IST(instance 0)内部生成树、每个MSTI生成树
CIST计算优先级:
 { 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
参与MSTI计算的优先级:
{ 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
MSTP流量跨域转发:
   在域内沿着VLAN对应的MSTI转发,在域间沿着CST转发
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
VRRP协议
    网络冗余技术:可靠性,HA高可用性
     设备冗余: 
                      冷备:备份设备处于下电状态,不参与数据转发
                      热备:备份设备处于上电状态,主备模式、主主模式(负载分担模式)
                                VRRP协议、堆叠和集群
     端口冗余:Eth-Trunk以太网链路聚合、IP-Trunk HDLC链路聚合、MP-Group PPP链路聚合
     链路冗余:规划设计网络采用冗余链路,路由技术、STP技术
    
VRRP虚拟路由器冗余协议
      将多台网关设备逻辑上虚拟成一台,作为主机网关使用
       基本概念:
                   1.VRRP路由器:运行VRRP协议的路由器,基于接口运行
                   2.VRID虚拟路由器标识:标识一组运行VRRP接口(VRRP虚拟路由器)
                             一个VRID组内只存在一台Master主设备,其余都为Backup备设备
                   3.虚拟路由器:逻辑存在路由器,一个VRID组逻辑上虚拟成一台路由器
                         虚拟IP地址:虚拟路由器的IP地址,一台虚拟路由器可以拥有一个或多个IP地址
                                             虚拟IP地址作为主机的网关
                         虚拟MAC地址:格式固定,0000-5e00-01xx    xx代表VRID 
                   4.VRID组内路由器角色:
                           Master路由器:一个VRID组内只存在一台
                                       作用:负责转发终端访问外部网络的流量
                                           *以虚拟MAC地址响应关于对虚拟IP地址的ARP请求 
                                           *周期性1s/次发送通告报文,告知其它Backup路由器自身运行状态                           Backup路由器:一个VRID组内可以存在多台
                                      作用:作为Master主设备的备份,当检测主设备故障后成为Master

                          一旦路由器成为Master设备,立马向网络中发送免费ARP消息,用于刷新
                                     下联交换机的MAC地址表,将终端流量引导到Master设备
                   5.选举依据
                          1.先比较优先级,值以大为优
                                优先级取值范围:0-255,0和255保留,可配置的范围:1-254
                                     255预留给虚拟IP地址的拥有者
                                      0用于Master设备主动放弃Master角色
                          2.优先级值一致,比较接口IP地址,以大为优

                   6.VRRP报文: Advertisement通告报文
                         基于IP封装:协议号,112
                                        帧头  IP头   VRRP通告报文
                                报文的源MAC为虚拟MAC,目的MAC为组播MAC
                                          源IP为物理接口IP,目的IP为组播IP
                         采用组播方式发送:224.0.0.18
                    7.计时器                     
                           Master发送通告报文间隔时间:1s/次
                           Backup检测Master故障时间: 3*报文间隔时间+偏移时间
                                        偏移时间= (256-优先级)/ 256

   VRRP状态机
       init状态:1.启动后优先级值为255,直接进入Master状态
                      2.启动后优先级值不为255,进入Backup状态
       Backup状态:1.Master_Down计时器超时进入Master状态
                             2.收到的通告报文中优先级为0,Backup无需计时器超时,进入Master状态
                             3.收到的通告报文中优先级比自身优先级小,进入Master状态
       Master状态:1.收到通告报文中优先级比本地优先级大,进入Backup状态
   
    VRRP默认使能抢占功能,默认抢占延时为0s,防止频繁主备切换建议配置抢占延时


----------------------------------------------------------------------------------------------------------
交换机堆叠和集群
   将多台交换机逻辑上虚拟成一台交换机,提高网络的可靠性、网络性能、管理性、资源利用率
   
   iStack堆叠:将多台支持堆叠的交换机逻辑上虚拟成一台
                       盒式交换机部署,一般部署在接口层、汇聚层
   CSS集群:将两台支持集群的交换机逻辑上虚拟成一台
                       框式交换机部署,一般部署在汇聚层、核心层
相较于MSTP+VRRP组网方案:
 园区网使用堆叠/集群+Eth-Trunk组网方案的优势:
     1.无需在交换机上部署STP防环,堆叠/集群技术+Eth-Trunk保障为无环网络,提高网络资源利用率
     2.通过堆叠和集群简化网络拓扑,降低规划难度,提高网络管理性
     3.收敛速度更快,单条链路、堆叠的单台设备故障,不会造成业务中断

堆叠技术原理:
   虚拟交换机称为堆叠系统,所有参与堆叠的物理交换机称为成员交换机
     在一个堆叠系统中,成员交换机角色:
         1.主交换机,负责管理、维护整个堆叠系统
                         在一个堆叠系统中同时只存在一台主交换机
         2.备交换机,作为主交换机的备份,主交换机故障备交换机立马成为主交换机
                         在一个堆叠系统中同时只存在一台备交换机
         3.从交换机,从交换机数量越多,代表堆叠系统性能越强
                         在一个堆叠系统中可以存在0台或多台从交换机
   堆叠优先级:堆叠系统中所有交换机的一个参数,用于竞选,值越大越优先
   堆叠ID:用于标识区分成员交换机,成员交换机堆叠ID在堆叠系统应当唯一
                用于作为槽位号标识成员交换机的接口
                如果成员交换机出现堆叠ID冲突,主交换机从小到大进行遍历,取第一个空闲的堆叠ID分配
                            给冲突的成员交换机

堆叠实现方式:
    组网方式:1.链型组网,可靠性较低,方便堆叠系统新增成员交换机
                     2.环型组网,可靠性更高,新增成员成员交换机先破环再成环
    堆叠接口和线缆:
                     1.通过堆叠板卡提供的物理堆叠接口,使用专用的堆叠线缆相连
                     2.通过逻辑堆叠接口绑定到物理业务接口,使用网线将物理业务接口相连
---------------------------------------------------------------------------------------
堆叠组建的过程:
    1. 选择堆叠组网方式、堆叠实现方式(堆叠板卡、业务口堆叠)
        进行配置、堆叠接口通过堆叠线缆连接
    2.主交换机选举
        所有成员交换机运行稳定后互相发送竞争报文进行主交换机选举
           1.比较运行状态
                   上电后稳定运行的时间相差超过20s,则先稳定运行交换机会成为主交换机
                    相差时间在20s内,则认为运行状态一致
            2.运行状态一致,则比较堆叠优先级,以大为优
            3.堆叠优先级一致,则比较交换机MAC地址,以小为优
    3.主交换机完成后,收集堆叠系统的拓扑信息,并选举备交换机
    4.所有成员交换机向主交换机同步配置文件、系统软件
-----------------------------------------------------------------------------------------
堆叠成员退出:
     由于堆叠线缆故障导致堆叠成员交换机从原堆叠系统中退出
          主交换机退出:备交换机成为新的主交换机,收集堆叠系统的拓扑信息并同步到其它所有
                                 成员交换机,重新选举备交换机
          备交换机退出:堆叠系统重新选举备交换机,主交换机收到堆叠系统拓扑信息并同步到
                                 其它所有成员交换机
          从交换机退出:主交换机收到拓扑信息并同步到其它所有成员交换机  
堆叠成员加入:
     由于原堆叠系统中性能不足,在原堆叠系统新增成员交换机(网络扩容)
         配置新交换机并连接到堆叠系统,新交换机会以从交换机的身份加入堆叠系统中
         主交换机收集拓扑信息并同步到所有成员交换机
         新加入的从交换机向主交换机同步配置文件和系统软件
堆叠系统合并:
     两个稳定运行的堆叠系统合并为一个新的堆叠系统
         在两个堆叠系统的中主交换机进行竞选, 
                竞选的参数:优先级、MAC地址
         胜利方堆叠系统角色保持不变,失败方堆叠系统的所有交换机都从交换机身份加入到胜利         方的堆叠系统中
         主交换机收集拓扑信息并同步到所有成员交换机
         新加入的从交换机向主交换机同步配置文件和系统软件
堆叠系统分裂:
      一个稳定运行堆叠系统由于线缆故障分裂成两个稳定运行堆叠系统
          堆叠分裂场景:
                 1.原主备交换机分裂后仍然在同一个堆叠系统中
                      分裂出去的从交换机由于协议报文超时,触发重新选举主备形成新的堆叠系统
                  2.原主备交换机分裂后不在同一个堆叠系统中
                      原主交换机所在的堆叠系统重新选举备交换机
                      原备交换机所在的堆叠系统,备交换机成主交换机,重新选举备交换机
     *堆叠分裂带来的问题
          由于原堆叠系统中所有成员交换机配置文件一致,导致分裂后形成多个配置文件相同的
             堆叠系统,可能造成IP地址和MAC地址冲突
     解决:
            MAD多主检测,作用:用于检测堆叠分裂后是否造成冲突的现象
                   部分:1.检测是否分裂出现冲突
                             2.检测发现冲突后如何处理
                 检测方式:直连检测、代理检测
                        1.直连检测
                               1.通过中间设备直连检测
                               2.堆叠系统成员全互联直连检测
                            堆叠系统稳定运行,则不会发送MAD报文;当出现堆叠分裂,感知分裂的交                            换机会以1s/次发送MAD报文进行检测
                        2.代理检测(优势,不会占用设备接口资源)
                                1.中间设备代理检测
                                2.堆叠系统互为代理检测
                            需要一台代理检测设备,堆叠系统所有成员连接代理设备,并将连接代理设备                             的接口加入Eth-Trunk,并在聚合接口使能MAD代理检测功能
                            堆叠系统稳定运行时,会以30s/次周期性发送MAD报文;发生分裂后,以1s
                             /次发送MAD报文进行检测
                发生冲突处理:
                           在分裂后的堆叠系统中主交换机进行竞选
                                 竞选参数:1.启动时间   2.优先级   3.MAC地址
                           竞选胜利方:
                               Detect:竞争成功,堆叠系统将处于正常工作状态
                           竞选失败方:
                               Recovery:竞争失败,堆叠系统将状态处于禁用状态,关闭除手动配置的                                                保留端口以外的其它所有物理端口
                                        *保留接口:提前手工指定,保留接口可以正常工作
-----------------------------------------------------------------------------------------------
堆叠系统主备倒换:
         主交换机和备交换机互换角色
         1.通过手工命令强制主备倒换
         2.由于主交换机故障,导致备交换机成为主交换机,原主交换机故障恢复
堆叠系统升级:
 

------------------------------------------------------------------------------------
跨设备的链路聚合
       在堆叠场景使用跨设备链路聚合保障链路可靠性,可以实现流量负载
       负载方式:1.逐流负载(默认)
                        2.逐包负载
  在堆叠场景使用跨设备链路聚合会导致次优路径的问题:
      由于负载分担算法,计算出报文的出接口和接收报文的入接口不同一台成员交换机,
      需要在堆叠系统内部通过堆叠线缆转发业务数据,占用堆叠线缆带宽,转发效率降低
   解决:本地流量优先转发(华为堆叠默认使能)
       打破了链路聚合负载分担算法,本设备接收的流量优先从本设备转发
-----------------------------------------------------------------------------------------------
集群 CSS
 CSS将两台支持集群的框式设备逻辑上虚拟成一台交换机
  集群和堆叠的本质作用一样,只是在实现方式存在差异
集群特点:
    1.集群内两台框式交换机转发平面合一,下发到接口板的转发表一致
    2.集群内两台框式交换机控制平面合一,4个主控板合一
    3.支持跨设备Eth-Trunk
集群系统角色:
     主交换机、备交换机
集群优先级:
     集群交换机的参数,用于竞选
集群ID:
     在集群区分/标识成员交换机
CSS Link:
     指连接成员交换机的链路,用于建立集群系统,成员交换机之间交互协议报文、同步信息使用
----------------------------------------------------------------------------------------------
集群系统控制平面合一:
    在集群系统中,使用主交换机的主用主控板作为集群系统的管理/控制平面
            备交换机的主用主控板作为集群系统的 备用主控板
            主交换机和备交换机的备用主控板作为集群系统的 候选备用主控板
集群物理连接方式:
    1.传统CSS: 使用主控板上集群卡的集群接口连接
                        使用逻辑集群接口绑定接口板的物理接口连接
           特点: 框内流量、跨框的流量都需经过主控板
                      如果一台成员交换机的两个主控板都故障,这台成员交换机无法进行数据转发
    2.CSS2:使用交换网板集群卡的集群接口连接
           特点:框内流量、跨框的流量都不需要经过主控板
                     单台框式设备实现转控分离,CSS2集群 实现集群系统转空分离
                     在一个集群系统中,只要存在一台框式设备正常工作(至少一个主控板正常),
                              不会影响整个集群系统的转发平面

集群成员加入、集群成员退出、集群系统合并、集群系统分裂
---------------------------------------------------------------------------------------------

BFD双向转发检测
       作用:检测网络故障,实现快速检测/收敛
                 提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制
         1.硬件检测,使用同一条链路相连的两个之间可以通过接口硬件检测功能检测故障
                       1.只能检测接口连接链路,不能实现跨链路检测
                       2.不同传输介质实现方式不同
                       3.检测效率更高
         2.Keepalive保活机制,通过周期性发送协议报文用于检测故障
                       1.支持跨链路检测
                       2.通用性强
                       3.检测效率低
        3.BFD,1.检测效率极高,实现毫秒级检测
                    2.通用性强,可以和其它协议联动/关联 
                    3.消耗设备资源、网络带宽少

BFD原理:“Hello”机制
    BFD会建立会话连接,并周期性1s/次发送控制消息维护会话,制定规定时间内未收到对端的
               消息则认为对端故障,将会话连接断开,并通知联动的其它协议
    BFD报文格式:基于UDP封装,D.Port 3784 
              参数:  1.BFD状态    2.检测超时次数     3.本地标识符    4.对端标识符
                        5.最小传输间隔   6.最小接收间隔   7.最小回波接收间隔

BFD会话建立方式:
       静态BFD会话建立:
                   手工配置BFD会话的参数:本地标识符和对端标识符,手工触发会话建立
       动态BFD会话建立:
                   由协议自动触发建立BFD会话,本地标识符由触发的协议分配,对端标识符
                        由交互BFD控制消息学习

  BFD状态机:
         Down:未收到对端BFD控制消息
         init:收到对端状态为Down的BFD控制消息,学习到对方标识符
         Up:收到对端状态为int的BFD控制消息,消息中携带了本端标识和对端标识符
         Admin_Down:管理员手工关闭BFD会话

  BFD检测模式:
          异步检测:双方周期性发送BFD控制消息进行检测
          查询检测:一方按需发送BFD控制消息进行检测
     检测时间
         1.本地发送报文实际间隔时间:
                    在本地发送间隔时间和对端设备接收间隔时间中取最大值
         2.本地接收报文实际间隔时间:
                    在本地接收间隔时间和对端设备发送间隔时间中取最大值
         异步模式:检测会话超时时间 =  本地实际接收间隔时间  x  对端检测次数 
         查询模式:检测会话超时时间 =  本地实际接收间隔时间  x  本端检测次数


  BFD Echo回声功能
        适用场景:一端支持BFD(BFD Echo功能)、另一端不支持BFD
          本地发送BFD检测报文 Echo报文,对方收到后将报文进行环回,本地通过是否能够接收
          Echo报文来判断网络是否故障
BFD联动组成部分:
        1.检测模块:通过BFD检测故障
        2.Track模块:将BFD检测模块和应用模块关联到一起
        3.应用模块:动态路由协议(OSPF)、VRRP、静态路由......
  
  场景1: 与静态路由联动
              手工配置BFD会话与静态路由联动,当BFD会话Down,联动模块将静态路由从路由表                  中删除
           *手工创建BFD会话
           [R1]ip route-static 10.1.23.0 255.255.255.0 10.1.12.2 track bfd-session 1
  场景2: 与OSPF协议联动(与ISIS协议、BGP协议联动)
              OSPF邻接关系建立成功后,触发建立BFD会话,当BFD会话Down,联动模块通知
                 OSPF协议将邻居删除
             ospf 1 router-id 172.16.1.1 
                   bfd all-interfaces enable
             isis  1
                   bfd all-interfaces enable
             bgp 100
                   peer x.x.x.x bfd enable
    场景3:与VRRP联动
             [R1-GigabitEthernet0/0/1]vrrp vrid 10 track bfd-session 1 reduced 30 
             BFD会话Down,该路由器在VRID10中优先级降低30
    场景4:单臂回声功能:适用于一端不支持BFD检测场景
     bfd 1 bind peer-ip 10.1.12.2 interface GigabitEthernet0/0/0 one-arm-echo
    [R1]bfd
    [R1]bfd 1 bind peer-ip 10.1.12.2 interface GigabitEthernet0/0/0 one-arm-echo
    [R1-bfd-session-1]discriminator local 100
    [R1-bfd-session-1]commit
---------------------------------------------------------------------------------------------

DHCP动态主机配置协议
      终端地址获取方式:
             1.手工配置   
                    缺陷:终端数量较多时,配置量大
                              用户可以随意修改容易造成冲突
                              地址利用率低
                              灵活性低
                    优势:地址固定更加稳定(服务器)、部分应用要求必须手工配置地址
              2.DHCP动态获取  
                     缺陷:地址存在不固定情况
                     优势:统一为终端分配地址参数进行统一管理
                               地址利用率更高,灵活性强
                               适用于特殊场景:WLAN场景、移动场景
               
DHCP协议:
    采用C/S架构,DHCP中分为DHCP服务器、DHCP客户端
      DHCP客户端:需要获取IP参数的终端设备
      DHCP服务器:为终端提供IP参数资源的设备
    Client和Server通过交互DHCP协议报文来获取IP参数,报文基于UDP封装,端口67、68

DHCP报文类型:
Client发送给Server:
DHCP Discover消息,用于寻找服务器
DHCP Request消息,携带IP参数,用于请求对IP参数进行确认;用于续租/重绑定
DHCP Decling消息,获取IP参数后进行免费ARP检测发现地址冲突,通知服务器地址存在冲突
DHCP Release消息,用于释放IP参数
DHCP Inform消息,请求除IP地址/掩码外的其它IP参数信息(DNS服务器地址、网关)

Server回应Client:
DHCP Offer消息,携带IP参数,用于为客户端分配IP参数
DHCP ACK消息,表示确认/同意
DHCP NAK消息,表示拒绝

DHCP租期:
    默认24小时
    租期更新:当客户端的租期时间剩余50%,向服务器单播发送Request消息进行租期更新
                      收到服务器ACK消息则租期更新
    重绑定:当客户端的租期时间剩余12.5%,向网络内广播发送Request消息进行重绑定

     如果重绑定失败,继续使用地址直到租期结束,被动释放地址

服务器分配IP地址顺序:
   1.配置静态绑定的IP    2.客户端使用过的地址   3.空闲IP地址    4.租期超时的地址   5.冲突的地址
---------------------------------------------------------------------------------------------------------
组播技术基础
   流量模型划分应用:
          点到点应用:不同用户访问服务器需要获取不同的资源,例如WEB、FTP......
                              采用单播方式一对一进行数据传输
          点到多点应用:不同用户访问服务器获取的资源相同,例如IPTV、视频会议、网络直播......
                              采用单播、组播、广播方式进行数据传输
                    *采用单播方式传输点到多点应用的业务流量
                         客户端和服务器一对一进行数据传输,即使用户需要获取的资源相同,服务器仍然会
                                给不同的客户端单独发送数据
                           存在问题:1. 服务器发送大量的重复数据,占用网络带宽资源和设备资源
                                            2.用户数量和对服务器性能要求成正比
                               优势:保障有偿性、保障业务安全性
                   *采用广播方式传输点到多点应用的业务流量
                          服务器广播发送数据,经过广播域内设备进行泛洪(复制),所有广播域内客户端
                                 都可以接收到应用数据
                          存在问题:1.地域范围限制,服务器和客户端必须在同一个广播域内
                                           2.广播发送方式无法保障有偿性、安全性
                               优势:对于服务器压力要求小,服务器只需要发送一份数据,对于网络性能消耗
                                         更小
                  *采用组播方式传输点到多点应用业务流量
                          服务器组播发送一份数据,通过组播网络(组播路由技术)进行传输,转发至每一个                              需要获取资源的客户端
                       总结:采用组播方式承载点到多点应用业务流量,结合单播和广播优势同时避免它们的
                                 问题
---------------------------------------------------------------------------------------------------------                   
组播地址:
  1.组播IP地址,每个组播IP地址代表一个组播组
     IPv4中定义D类地址为组播地址,范围:224.0.0.0/4   224.0.0.0---239.255.255.255
       永久组播地址:为协议预留组播地址
                       224.0.0.0----224.0.0.255
                       224.0.0.1代表所有设备、224.0.0.2代表所有路由器、224.0.0.5代表OSPF路由器......
       临时组播地址:承载点到多点应用业务数据传输,支持自定义
                      任意源临时组播地址:224.0.1.0—231.255.255.255
                                                       233.0.0.0—238.255.255.255
                      本地任意源临时组播地址:239.0.0.0—239.255.255.255
                      指定源临时组播地址:232.0.0.0—232.255.255.255
   2.组播MAC地址,在二层使用组播MAC标识组播组
        原理: 基于组播IP地址映射得到组播MAC地址
         结构:1.前24bit固定:0x 01005e
                   2.第25bit固定:0
                   3.后23bit固定:  取组播IP地址后23bit进行映射
          一个组播MAC地址对应32个组播IP地址,影响忽略不计
          

组播通信架构:
    1.源端网络:组播源侧网络,组播源到第一跳路由器
    2.组播转发网络:第一跳路由器到最后一跳路由器;组播路由协议/PIM协议
    3.成员端网络:组播数据接收者侧网络,最后一跳路由器到组播组成员;组播路由协议/IGMP协议
组播服务模型:
    1.ASM任意源组播服务模型: 对组播源没有限制,组成员不能指定接收的组播数据发送者
                                    任何组播源发送到该组播组的数据,组成员都能接收
    2.SSM指定源组播服务模型: 对组播源进行指定,组成员可以指定想要接收来自哪个组播源的数据
                                    特定组播源发送到该组播组的数据,组成员才能接收
    3.SFM过滤源组播服务模型:组成员可以对组播源进行过滤/筛选

                                               
                         

-------------------------------------------------------------------------------------------------------
组播数据转发原理
        组播分发树:以组播源为根,以组成员为叶子节点形成的组播流量转发路径(组播路由表)
            *保障组播分发树 不存在环路、不存在次优路径、组成员不会收到重复的组播报文
        RPF检查/反向路径转发检查:作用,保障组播分发树不存在环路、次优路径、组成员不会接收到重                                                    复的组播报文
             原理:通过检查 去往组播源最优路由的出接口和收到组播源发送组播报文的入接口是否为同一                       个接口,如果不是则丢弃(丢弃从次优接口收到的组播报文)
                    *去往组播源最优的出接口称为RPF接口/作为组播分发树的上行接口
           RPF路由选举规则:判断去往组播源的出接口需要依赖RPF路由
                  1.从单播路由、MBGP路由表、组播静态路由表中分别优选最优的一条路由
                  2.比较选中的三条路由:1.掩码长度   2.优先级    3.内部原则:组播静态>MBGP>单播路由
-------------------------------------------------------------------------  
                      
IGMP协议   因特网组管理协议
  IGMP协议部署在组成员侧网络,发现下联终端是否存在组播组成员以及加入的组播组,并维护
     组成员和组播组信息
  
组播网络感知组成员的方式:
     1.手工静态配置
           在最后一跳路由器上手工指定接口连接了组播组成员并指定加入的组播组
     2.IGMP协议自动发现
           在最后一跳路由器上部署IGMP协议,通过下联组播组成员和路由器交互IGMP消息,从而
           自动发现组播接收者以及对应的组播组

IGMP协议:
   表项: IGMP路由表
                     (* ,  G)  /*任意源到组播组表项*/
                          G1/0/0   /*下游接口*/
                          协议:IGMP协议
              IGMP组表项
                      G1/0/0   /*连接组成员的接口*/
                        组播组地址      组成员IP地址

IGMP协议版本:基于IP封装
  V1工作原理:
      报文类型:
          普遍组查询报文:查询器周期性向共享网络内发送,用于查询是否存在组成员
          成员关系报告报文: 收到查询报文后,如果主机加入组播组,则回应成员关系报告报文
                                          回应查询器加入的组播组
      报文格式:
                版本:标识IGMP协议版本    
                Type:标识消息类型
                校验
                组播组地址:普遍组查询报文中取值为0,成员关系报告报文中取值为主机加入组播组

      工作机制:
          1.查询器周期性60s/次向网络中发送普遍组查询报文
                 IP头部(S.IP  查询器接口IP地址  D.IP 224.0.0.1)
                 IGMP报文(v1、普遍组查询、0.0.0.0)
          2.终端收到查询报文,维护计时器(最大时间10s),当计时器超时后回应成员关系报告报             文,成员关系报告报文被其它组成员接收后,其它组成员不再继续发送报告报文(报告             报文的抑制机制),同样查询器也会接收到报告报文
                 IP头部(S.IP 终端IP地址   D.IP 组播组IP地址)
                 IGMP报文(v1、成员关系报告、组播组IP地址)
          3.查询收到成员关系报告报文,生成IGMP路由表、IGMP组成员表

        *报告报文抑制机制,减少网络内报告报文数量,减少资源消耗
        *新加入组成员立即向网络内发送成员关系报告报文,声明加入的组播组,无需等待普遍组
            查询
        *IGMPv1不支持查询器选举,由PIM协议决定
        *IGMPv1组成员离组机制:静默离组,不发送任何报文通知查询器
       查询器维护成员离组计时器 =    健壮系数(2次) X 普遍组查询间隔(60s)+ 10s 
       在130s内未收到组成员报告报文,则认为组播组成员离开,删除IGMP组表项、IGMP路由表
 -----------------------------------------------------------------------------------------------
  V2
    1.报文类型:
         查询报文:
             普遍组查询报文
             特定组查询报文
         报告报文:
             成员关系报告报文
             离组报文
    2.报文格式:
         Type:标识报文类型
         最大响应时间:控制组成员对查询报文回应间隔时间
         校验                        
         组播组地址
    3.工作原理
         新增查询器选举机制:
                初始路由器都会认为自身为查询器,向网络内发送普遍组查询报文,当路由互相收到
                对方普遍组查询报文后,比较报文源地址和自身接口IP地址,以小为优,IP地址更小
                路由器成为查询器,查询器负责向网络内发送查询报文

                   非查询器启动计数器(其它查询器存活时间)=  
                         健壮系数(2次) X 普遍组查询间隔(60s) + 10s/2 = 125s  
                    在计时器超时仍未收到查询器发送普遍组查询报文,则成为新查询器

          查询器向网络内周期性60s/次发送普遍组查询报文,非查询器收到后刷新计时器
          组成员收到启用最大响应时间10s,计时器超时后回应成员关系报告报文,声明加入
          的组播组,其它组成员收到成员关系报告报文则不再回应报告报文(报告报文抑制机制)

       新增离组机制:相较于v1版本,v1采用静默离开方式,导致查询器130s仍然会向网络内
                               发送组播流量
                当组成员离组时发送离组报文通知查询器
                         IP头部(S.IP  组成员IP   D.IP 224.0.0.2) 
                         IGMP报文(Type、最大响应时间、离开的组播组地址)
                查询器收到后,触发发送特定组查询报文,确认组播组内是否还存在组成员
                         IP头部(S.IP  查询器     D.IP  查询的组播组地址)
                         IGMP报文(Type、最带响应时间1s、查询的组播组地址)
                如果组播组内存在组成员,收到特定组查询报文后,立即回应成员关系报告报文                          如果组播组内不存在组成员,健壮系数(2次)x 最大响应时间1s = 2 s,2s内
                  查询器未收到对应的成员关系报告报文则认为改组不存在组成员,删除IGMP表项
       *成员关系报告报文抑制机制
       *新加入组成员立即发送成员关系报告报文
       *普遍组查询/成员报告机制
-----------------------------------------------------------------------------------------------
  V3
   在SSM组播模型,IGMPv1、IGMPv2成员关系报告报文无法携带组播源信息
   IGMPv3可以支持SSM组播模型
    1.报文类型:
          查询报文:
               普遍组查询报文:针对所有组播组
               特定组查询报文:针对特定组播组进行查询
               特定源组查询报文:针对特定组播源和组播组进行查询
         报告报文:
                成员关系报告报文
     2.报文格式
         查询报文格式:
                1.Type 类型,标识报文的类型
                2.最大响应时间
                3.校验
                4.组播组IP地址
                5.Sbit,取值1,代表非查询器收到查询器普遍组查询不需要刷新查询器超时计时器
                                        计时器超时后,触发新一轮查询器选举
                6.QRV查询器健壮系数:携带查询器使用的健壮系数(默认2次)
                                                       取值为0,代表健壮系数超过7
                                                       取值为非0,代表实际健壮系统
                                                    非查询器收到查询报文将 健壮系统进行同步
                7.QQIC查询器查询间隔:携带查询器使用的查询间隔(默认60s)
                                           取值为非0,非查询器收到查询报文经查询器查询间隔进行同步
                8.组播源地址数量
                9.组播源地址: 可以存在多个
          报告报文格式:
                1.Type类型
                2.校验
                3.组记录数量
                4.组记录(可以存在多个):记录组播组和组播源的关系

               组记录格式:1.组记录类型   2.组播组地址  3.组播源地址数量  4.组播源地址
                   组记录类型:
                    1.当前状态报告:用于通知查询器当前组成员想要接收的组播源和组播组的关系
                       MODE_IS_INCLUDE,表示接收源地址列表包含的源发往该组的组播数据  
                         (S1、S2、S3、S4, 232.0.0.1)
                             主机发送的报告:mode_is_include,232.0.0.1,S1、S2   
                             表明主机希望只接收S1、S2发送给232.0.0.1组播组的流量
                       MODE_IS_EXCLUDE,表示不接收源地址列表包含的源发往该组的组播数据    
                         (S1、S2、S3、S4, 232.0.0.1)
                             主机发送的报告:mode_is_exclude,232.0.0.1,S4
                             表明主机希望不接收S4发送给232.0.0.1组播组的流量
                    2.过滤模式改变报告:当过滤模式发生改变,通知查询器新的组播源和组播组关系
                       CHANGE_TO_INCLUDE_MODE,表示过滤模式由EXCLUDE转换到INCLUDE,                                                               接收源地址列表包含的新组播源发往该组播组的数据                                                               (如果指定源地址列表为空,主机将离开组播组)
                         (S1、S2、S3、S4, 232.0.0.1)
                             主机发送的报告:mode_is_exclude,232.0.0.1,S4
                             表明主机希望不接收S4发送给232.0.0.1组播组的流量
                             主机发送的报告:change_to_include_mode, 232.0.0.1, S2  
                             表明主机希望只接收S2发送给232.0.0.1组播组的流量

                      CHANGE_TO_EXCLUDE_MODE,表示过滤模式由INCLUDE转换到EXCLUDE,                                                               拒绝源地址列表包含的新组播源发往该组的组播数据
                         (S1、S2、S3、S4, 232.0.0.1)
                             主机发送的报告:mode_is_include,232.0.0.1,S1、S2   
                             表明主机希望只接收S1、S2发送给232.0.0.1组播组的流量
                             主机发送的报告:change_to_exclude_mode , 232.0.0.1 , S3
                             表明主机希望不接收S3发送给232.0.0.1组播组的流量
                 3.源列表改变报告:当源列表出现变化,通知查询器新的组播组和组播源的关系
                     1.ALLOW_NEW_SOURCES,表示在现有的基础上,需要接收源地址列表包含                                                                      的组播源发往该组播组的组播数据
如果当前对应关系为INCLUDE,则向现有源列表中添加这些组播源
                                (S1、S2、S3、S4, 232.0.0.1)
                                   主机发送的报告:mode_is_include,232.0.0.1,S1、S2   
                                   表明主机希望只接收S1、S2发送给232.0.0.1组播组的流量  
                                   主机发送的报文:allow_new_source,232.0.0.1,S3
                                   表明主机希望只接收S1、S2、S3发送给232.0.0.1组播组的流量
如果当前对应关系为EXCLUDE,则从现有阻塞源列表中删除这些组播源 
                                 (S1、S2、S3、S4, 232.0.0.1)
                                   主机发送的报告:mode_is_exclude,232.0.0.1,S3、S4
                                   表明主机希望不接收S3、S4发送给232.0.0.1组播组的流量
                                   主机发送的报告:allow_new_source,232.0.0.1,S3
                                   表明主机希望不接收S4发送给232.0.0.1组播组的流量


                               2.BLOCK_OLD_SOURCES,表示在现有的基础上,不再接收源地址列表包                                                                      含的组播源发往该组播组的组播数据
如果当前对应关系为INCLUDE,则从现有源列表中删除这些组播源
                                (S1、S2、S3、S4, 232.0.0.1)
                                   主机发送的报告:mode_is_include,232.0.0.1,S1、S2   
                                   表明主机希望只接收S1、S2发送给232.0.0.1组播组的流量  
                                   主机发送的报告:block_old_source, 232.0.0.1,S1
                                   表明主机希望只接收S2发送给232.0.0.1组播组的流量
如果当前对应关系为EXCLUDE,则向现有源列表中添加这些组播源
                                 (S1、S2、S3、S4, 232.0.0.1)
                                   主机发送的报告:mode_is_exclude,232.0.0.1,S3、S4
                                   表明主机希望不接收S3、S4发送给232.0.0.1组播组的流量
                                   主机发送的报告:block_old_source,232.0.0.1,S2
                                   表明主机希望不接收S2、S3、S4发送给232.0.0.1组播组的流量
---------------------------------------------------------------------------------------------
  IGMPv3工作原理:
      1.支持查询器选举,选举后由查询器向网络内周期性60s/次发送普遍组查询报文
      2.组成员收到普遍组查询后,立即回应成员关系报告报文,报告中携带加入的组播组以及想要        接收的组播源信息(组记录携带、成员报告报文不被抑制)
     3.查询器收到报告报文,生成IGMP路由表(S,G)、IGMP组表项
      
     IGMPv3组成员离组机制:
           没有定义离组报文,通过报告报文离组
        1.组成员离组触发发送报告报文,查询器收到后触发特定组查询
        2.组成员更新组记录(组播源和组播组关系),从原有组播源列表中删除组播源,
          触发发送报文报文,mode_is_include(S1、S2,G1)---> block_old_source(S1,G1)
                查询器收到后触发进行特定源组查询 (查询S1,G1)
----------------------------------------------------------------------------------------------   

IGMP Snooping机制
      交换机收到组播帧采用泛洪,除接收组播帧的接口外从其他所有接口发送 
          导致组播组成员接收到其它组播组的流量,导致带宽资源浪费
      IGMP Snooping使交换机能够学习到二层组播转发表
       原理:查询器和组成员交互的IGMP报文,会被交换机侦听,交换机读取报文中信息,并
                 形成组播二层转发表项,指导组播流量转发
                  已知组播帧采用转发、未知组播帧采用泛洪
       二层组播转发表项:记录组播组(组播源IGMPv3)和交换机接口的映射信息
                  路由器端口:交换机连接查询器、PIM DR(路由器)的接口
                  组成员端口:交换机连接组播组成员的接口
IGMP SSM Mapping机制
          在SSM组播模型,查询器运行IGMPv3,但是网络中存在部分IGMPv1、IGMPv2主机,
                                                      IGMPv1、IGMPv2主机无法实现指定组播源
          解决:在查询器上静态配置SSM Mapping表,将IGMPv1、IGMPv2携带组信息转换成
                      源组信息
          效果:使得IGMPv1、IGMPv2的组成员可以享受SSM组播模型的服务
IGMP代理功能
现网中可能存在一台IGMP查询器需要管理大量组成员的情况,大量成员主机频繁加入/离开组播组时,会产生大量的IGMP成员关系报告/离开报文,从而给IGMP查询器带来较大的处理压力
解决:
   在查询器下联三层交换机上部署IGMP Proxy功能可减少IGMP查询器接收IGMP成员关系报告/   离开报文的数量,减轻IGMP查询器压力

   主机接口:代理交换机连接查询器的接口
                 *对于查询器,代理交换机等同于主机
   路由器接口:代理交换机连接主机的接口
                *对于主机,代理交换机等同于查询器
------------------------------------------------------------------------------------------------
组播架构:
      1.源端网络     2.组播转发网络(组播路由PIM)   3.成员端网络(IGMP协议)   

PIM协议 (协议无关组播  路由协议)
    组播路由计算时,需要依赖单播路由实现防环、防次优等功能,PIM协议对于单播路由协议没    有要求,例如MOSPF协议必须要求单播协议使用OSPF协议
    实现:基于单播路由对收到组播报文进行RPF检查,检查通过后创建组播路由表项,转发组播              流量
    报文D.IP 组播地址:224.0.0.13     协议号:103

工作模式:
-----------------------------------------------------------------------------------------------
PIM-DM(密集模式):  采用“推”方式将组播流量推送到组播网络的所有设备,再由设备
                                       决定是否继续接收组播流量
PIM-DM模式主要用在组成员较少且相对密集的组播网络中,该模式建立组播分发树的基本思路是“扩散-剪枝”,即将组播流量全网扩散,然后剪枝没有组成员的路径,最终形成组播分发树


实现步骤过程:
    一、邻居发现(涉及报文:Hello报文)
           使能PIM-DM的路由器,需要通过Hello报文,发现、建立、维护邻居关系
                     邻居发现:使能PIM-DM后,从接口组播发送Hello报文,接口使能PIM,监听
                                     224.0.0.13,一定会接收到对端发送Hello报文
                     邻居建立:Hello报文会携带相关参数,互相收到Hello报文进行参数检查,协商成                                       功则代表邻居建立完成
                      邻居维护:PIM路由器会周期性30s/次发送Hello报文用于维护邻居关系
                                       邻居超时时间:105s
   二、扩散机制
            当组播源发送组播数据被第一跳路由器收到后,第一跳路由器进行RPF检查
                RPF检查: RPF路由出接口 是否与 组播数据的入接口一致
                PRF检查成功:创建组播路由表(S , G),上游接口为RPF接口,下游接口为所有连接
                                       PIM邻居的接口
                路由器按照组播路由表从所有下游接口转发组播流量 
            其它路由器收到后,进行RPF检查,再创建组播路由表(S,G),按照表项转发
            *PIM-DM路由器进行周期性扩散,周期时间180s
            *创建的组播路由表存在老化时间,默认210s
  三、剪枝机制(涉及报文:Prune消息)
          当路由器建立组播路由表中不存在下游接口(最后一跳路由器不存在IGMP路由表)
                 并且路由器向上游PIM邻居发送剪枝消息(Prune消息)
          收到剪枝消息的路由器,将收到Prune消息的接口从下游接口列表中删除,并维护剪枝
                 计时器(210s),当计时器超时,被剪枝的接口重新恢复成下游接口转发组播数据
          *当路由器所有下游接口都被剪枝,改路由器同样会向上游邻居发送剪枝消息
  四、状态刷新机制
           剪枝计时器210s超时之后,被剪枝的接口重新加入下游接口列表中并转发组播数据,
               导致下游接口连接设备又会接收组播数据(下游设备不需要组播数据),严重浪费
               网络带宽资源
       由第一跳路由器周期性60s/次向下游接口列表中所有接口发送状态刷新State Refresh消息
       收到状态刷新消息的下游设备,刷新剪枝计时器,目的:原被剪枝接口一直处于剪枝状态
            并且下游设备继续向下游接口转发状态刷新消息
   五、嫁接机制(涉及报文:Graft、Graft-ACK)
           原被剪枝的最后一跳路由器通过IGMP协议感知到存在组播组成员加入,最后一跳路由器
                  会向上游设备发送Graft消息
           上游设备收到Graft消息,将收到Graft消息的接口维护的剪枝计时器删除,重新加入下游
                 接口列表中,并向该恢复的下游接口恢复Graft-ACK消息,且该接口可以进行组播数                 据转发
   六、断言机制(涉及报文:Assert消息)
           在同一个网段内存在多台组播路由器向该网段转发组播流量,导致下游设备收到多份重复
                的组播流量
           当路由器从下游接口收到组播流量,触发断言竞选       
                  竞选参数: 1.比较去往组播源的路由优先级
                                    2.比较去往组播源的开销
                                   3.比较下游接口IP地址,以大为优
               胜利方:正常向下游转发组播流量
               失败方:将下游接口从路由表中删除(*180s后自动恢复)

PIM-DM采用扩散/剪枝原理将组播流量扩散到整个组播网络,通过RPF检查机制在所有组播路由器创建组播路由表(S , G),建立组播分发树(SPT树)
SPT树,以组播源为根,组播组成员为叶子的组播分发树
-----------------------------------------------------------------------------------------------
PIM-SM(稀疏模式)
     PIM-DM缺陷:1.周期性进行扩散/剪枝,对组播网络造成一定冲击
                             2.所有路由器都会对组播流量进行RPF检查创建并维护组播路由表
                             3.在组成员分部散且稀疏的场景下,扩散剪枝建立SPT树的效率低
    解决:PIM-SM:采用“拉”的方式
PIM-SM(ASM)
        核心: 1.建立SPT最短路径树,以组播源为根,以RP为叶子节点的组播分发树
                2.建立RPT共享树,以RP为根,以组成员为叶子节点的组播分发树
        *RP汇聚点:作用,1.RP向组播源发起建立SPT树
                                     2.最后一跳路由器向RP发起建立RPT树
                  汇聚点RP为全网组播路由器可知且路由可达,使用Loopback接口作为RP IP地址

一、建立PIM邻居(与PIM DM一致)(涉及报文:Hello报文)
二、在网络确定汇聚点RP(涉及报文:自举报文、C-RP通告报文)
1.静态RP:手工静态指定,所有PIM路由器上指定
             [huawei-pim]static-rp 172.16.1.4
2.动态RP:通过自举协议选举RP
                    BSR自举路由器、C-BSR候选自举路由器
                    RP汇聚点、C-RP 候选RP
   1.网络中可以指定一台或多台C-BSR,每台C-BSR认为自身为BSR并向组播网络内泛洪自举报文
   2.网络中所有组播路由器可以收到所有的C-BSR发送的自举报文
         每台路由收到自举报文通过相同规则确定网络中BSR:
                    规则:1.比较优先级,以大为优      2.比较IP地址,以大为优
   3.在网络选择合适的设备作为C-RP(可以配置多台)
   4.所有C-RP单播向BSR发送C-RP通告报文,报文中携带C-RP自身的RP信息
   5.BSR可以收集到组播网络内所有C-RP信息,汇总为C-RP Set信息集,封装在自举报文中,
               通过自举报文将C-RP Set信息泛洪到整个组播网络
   6.PIM路由器根据RP-Set,使用相同的规则进行计算和比较,从多个针对特定组的C-RP中竞选                    出该组播组的RP
            规则:1.C-RP服务组播组范围,越精确越优先(掩码越长)
                      2.C-RP优先级,以小为优
                      3.哈希函数大者为优
                      4.C-RP IP地址,以大为优
   7.所有PIM路由器都可以为每个组播组确定一个唯一的RP,并记录组播组和RP的映射关系
三、DR选举(可选,涉及报文:Hello报文)
    选举参数:1.优先级    2. IP地址,以大为优
       组播源侧DR:负责向RP发送注册消息
       组播成员侧DR:负责向组成员转发组播流量;在IGMPv1版本作为查询器
四、建立SPT树(组播源到RP)(涉及报文:注册报文、注册停止报文、加入消息)
       1.活跃的组播源发送组播流量
       2.组播流量被源侧DR接收后,源侧DR将组播流量封装在注册报文中,单播发送给RP
       3.RP收到注册报文后,接封装获取组播流量(组播源信息、组播组信息)
          并查找路由向上游设备发送Join加入消息反向建立SPT树 /(S , G)路由表
          上游设备收到后,建立(S,G)路由表,并继续向上游传递Join消息,直到源侧DR
       4.源侧DR收到Join消息,代表SPT建立成功,可以按照建立(S,G)表项转发组播流量
       5.RP收到组播流量,立马向源侧DR发送注册停止消息
       6.源侧DR收到注册停止消息则不再向RP发送注册消息
五、建立RPT树(RP到组成员)(涉及报文:加入报文)
      1.组成员通过IGMP协议报告报文声明希望加入的组播组
      2.成员侧DR收到后,建立IGMP路由表
         触发向RP发送join加入消息建立(* ,G)路由表 / RPT
         沿途所有路由器都要将Join消息转发至RP,所有路由器都会建立(* ,G)路由表
      3.RP收到Join消息后,将收到Join消息的接口添加到(S , G)路由表的下游接口列表中
         并从该接口转发组播流量
      4.RP转发的组播流量沿着RPT树一直到成员侧DR
      5.成员侧DR将组播流量转发给组成员
六、SPT切换机制
     RPT树存在的问题:1.所有流量都需要经过RP中转,对于RP负担比较大
                                  2.SPT+RPT转发路基对于组成员可能存在次优路径
     SPT切换:1.初始组播流量沿着SPT+RPT转发路径进行转发
                     2.组成员侧DR收到第一份组播数据后,从组播数据获取组播源和组播组信息
                     3.成员侧向组播源发送Join加入消息,反向建立(S , G)路由表 / SPT树 
七、维护组播路由表
      组播路由表存在老化时间 210s,当长时间未接收组播流量,(S ,G)路由表会被删除
                成员侧DR又需要重新向RP发送Join消息建立RPT
      为了避免重新切换到RPT树,组成员侧DR会周期性60s/次向组播源发送Join消息维护
               组播路由表/ (S ,  G)路由表

(S , G)----->SPT树
(* , G)----->RPT树
  PIM-DM:(S , G)   SPT树
  PIM-SM(ASM):初始  (S , G)  SPT树
                                         (* , G)  RPT树
                                切换  (S , G)  SPT树
八、断言机制(与PIM-DM一致)
---------------------------------------------------------------------------------------------
PIM-SM(SSM)

PIM-SM(SSM)无需维护RP、无需构建RPT、无需注册组播源,可以直接在组播源与组成员之                           间建立SPT
在PIM-SM(SSM)模型中,关键机制包括邻居发现、DR竞选、构建SPT

工作过程:
 1.组成员侧DR收到主机IGMPv3报告报文,最后一跳路由器生成IGMP(S , G),并向组播源
    发送Join加入消息,反向建立SPT树/(S , G)路由表
  2.沿途所有PIM路由器收到Join消息,都会建立(S , G)路由表并继续向上游发送Join消息
  3.源侧DR收到Join消息,代表SPT树建立完成,组播流量沿着SPT进行转发
  4.为了保障SPT树(S , G)路由表不被老化,组成员侧DR周期性60s/次发送join消息,维护
     组播路由表
-----------------------------------------------------------------------------------------------      
路由撤销:
 OSPF路由撤销:
    1类LSA:感知变更的设备产生一条新的1类LSA,且该LSA序列号+1
    2类LSA:DR Other故障,DR产生一条新的2类LSA,且该LSA序列号+1
    3类/4类/5类/7类撤销:产生一条新LSA,描述内容一致,该LSA老化时间为3600s
IS-IS路由撤销:
    域内和域间通过产生一条新的LSP,LSP序列号+1进行更新
    域外路由:通过产生一条新LSP分片,描述内容一致,该LSP分片老化时间为0s
BGP路由撤销:
    通过产生新Update报文,通过Update报文中携带 不可达前缀信息进行路由撤销
====================================================
IGP协议高级特性
一、快速收敛
     1.i-SPF增量SPF算法:
         初始收敛时,使用Full-SPF算法计算去往拓扑构建最短路径树
         当最短路径树出现变更,只对变更的部分进行i-SPF计算,未出现变更的部分不需要                  重新计算,减少设备资源的消耗,提高收敛速度
         域内1类/2类LSA出现变更触发i-SPF计算
     2.PRC部分路由计算:
         当最短路径树未出现变更,叶子节点路由出现变更,只对变更的路由进行计算
                         未出现变更的路由不需要重新计算,同时不需要重新计算拓扑信息
         域间3类、域外5类LSA出现变更触发PRC计算
     3.智能定时器
         控制LSA生成、LSA接收、SPF计算间隔时间
         *采用固定的间隔时间,间隔时间越短收敛速度越快
         如果间隔时间短,同一个节点出现频繁故障,导致产生大量LSA,占用大量设备资源

        智能定时器:在保障收敛速度的同时减少设备资源消耗
                原理:间隔时间自动随着网络变更次数进行增加
           参数:初始间隔时间、基数间隔时间、最大间隔时间
                1.第一次变更使用初始间隔时间
                2.后续间隔时间:基数间隔时间 x 2 ^(n-2)
                3.当间隔时间达到最大间隔时间时,连续使用3次,后续恢复初始间隔时间
     4.IP FRR 快速重路由
            提前计算备用路径,当主用路径失效后,可以立马切换至备用路径,无需等待
                     路由收敛之后再切换路径
                 *备用路径信息存放在FIB表中
            原理:使用LFA算法提前计算去往目的地的一条次优、无环的备用路径,保存在
                                    转发表中,作为主用路径的备份
                      LFA算法计算备份路径:保障无环
                                                  条件: 必须满足  1.链路保护   2.节点保护
                       R-LFA、TI-LFA
      5.OSPF与BFD联动:快速感知邻居的状态,实现快速收敛
二、路由控制
       1.调整OSPF接口开销
                 方式:1.修改参考带宽,所有路由器必须统一
                           2.在接口手工指定开销
       2.等价路由(OSPF默认使能)
                 路由类型一致,开销一致
                 等价路由实现效果:基于五元组负载分担 
       3.引入路由
                 外部路由类型:Type 1、Type 2
                       外部路由开销:默认为1
                       可执行:路由过滤、Tag
       4.路由汇总
                  域间路由汇总,ABR针对3类LSA进行汇总
                  域外路由汇总,ASBR针对5类/7类LSA进行汇总

       5.缺省路由
              手工下发:
                       [R1-ospf-1]default-route-advertise                
                        非强制下发,本地路由表中必须存在默认路由才会产生缺省5类LSA
                       [R1-ospf-1]default-route-advertise always    
                        强制下发,不要求本地路由表存在默认路由即可产生缺省5类LSA
              协议自动产生:
                       特殊区域
     6.LSA过滤:
         1.所有设备可以在接口出方向针对接口发布的LSA进行过滤
            [R1-GigabitEthernet0/0/0]ospf filter-lsa-out 
         2. Fliter工具在区域视图针对3类LSA进行过滤
            [R2-ospf-1-area-0.0.0.1]filter 2000 import
            *在ASR区域视图配置,import 本区域入方向  export 本区域出方向

     7.OSPF数据库超限
            引入的外部路由对应产生的5类LSA,会在整个AS内泛洪(除特殊区域)
            当路由器内存性能不足,但是5类LSA数量庞大,导致路由器无法学习外部路由
            [R1-ospf-1]lsdb-overflow-limit /*限制数据库中存放的5类LSA数量*/
            1.当5类LSA数量达到指定阈值
              路由器进入超限状态:1.删除自身产生的外部路由    2.启用超限计时器(5s)
            2.超限计时器未超时
              路由器处于超限状态:1.不允许产生外部路由    2.丢弃接收到的外部路由,且不回应ACK消息
            3.超限计时器超时                       
                 检查数据库是否仍然超限,是,则重置超限计时器,路由器继续会处于超限状态
                                                         否,则删除超限计时器,恢复成正常路由器处理5类LSA
                  删除超限计时器即为退出超限状态

三、OSPF其它特性
     1.多进程,进程只在本地唯一,只在本地有意义
         进程ID不是邻居协商的参数
         同一台设备运行的不同的进程维护不同的路由表、LSDB,互相独立
     2.OSPF和BGP联动
         BGP基于IGP收敛,由于IGP协议和BGP协议收敛不同步,由于故障导致流量在切换路径时,
                    出现流量丢失的现象
         解决:路由器使能OSPF和BGP联动功能后,当OSPF收敛完成,BGP未收敛时,将自身设为
                   Stub路由器,通知其它邻居自身链路的开销值为最大值65535,使其它OSPF路由器
                   计算路由时,不以自身作为中间节点
                   OSPF和BGP都收敛完成,路由器通告的LSA中描述的开销会恢复正常   
     3.OSPF FA地址,转发地址
         在OSPF中5类LSA、7类LSA会携带转发地址
            转发地址存在两种取值:1.取值为0,去往该LSA描述的外部路由计算的下一跳为ASBR
                                                 2.取值为非0,去往该LSA描述的外部路由计算的下一跳为FA地址
         5类LSA中FA地址为非0的条件:
                        1.ASBR去往外部路由的出接口使能OSPF
                        2.该出接口不能为静默接口
                        3.该出接口的网络类型必须为广播、非广播多路访问式网络
         7类LSA中必须携带FA地址,取值必须为非0
                         7类LSA中FA地址为NSSA区域ASBR最先Up接口IP地址
                         7类LSA进行7转5时,5类LSA继承7类LSA的FA地址
        *FA地址:防止访问外部路由时出现次优路径和环路问题

IS-IS协议高级特性
        一、快速收敛
         i-SPF增量SPF算法、PRC部分路由计算、智能定时器、FRR快速重路由、BFD联动、LSP快速扩散
           LSP快速扩散:        
                  未使能该功能,路由器收到LSP后,需要等待计时器超时,将LSP泛洪给其它邻居
                  使能该功能后,路由器收到LSP后,立马将指定数量的LSP泛洪给邻居,剩余LSP需要等待
                           计时器超时后再泛洪
        二、路由控制 
            1.修改路由优先级  [R2-isis-1]preference 
            2.修改接口开销
          (默认)缺省度量方式:窄度量、宽度量、窄兼容宽、宽兼容窄、兼容模式
                 基于带宽度量方式:与OSPF协议一致
                 基于时延度量方式
                 基于差错度量方式
             3.等价路由
                   路由类型一致、开销一致
             4.路由渗透
                   将Level-2区域的路由渗透到Level-1区域,使Level-1区域获知详细路由信息
                   解决Level-1区域存在多个Level-1-2路由器时导致的次优路径问题
                         带来的问题:1.环路的风险      解决:1.Up/Down Bit  2.内部协议优先级
                                             2.路由数量过多   解决:路由过滤
             5.缺省路由
                   手工下发缺省:
                              [R1-isis-1]default-route-advertise always
                              [R1-isis-1]default-route-advertise 
                   协议自动产生:
                        Level-1-2路由器作为域间连接Level-1路由器和Level-2路由器并建立邻居时,
                        Level-1-2路由器向Level-1区域泛洪的LSP中ATT bit置位为1
                        其它Level-1路由器收到ATT:1 LSP时,自动产生一条缺省路由,下一跳为LSP始发设备
                       [R1-isis-1]attached-bit advertise never  /*ATT bit 不置位* Level-1-2路由器*/
                       [R1-isis-1]attached-bit avoid-learning   /*禁止通过学习ATT产生默认路由* Level-1*/
             6.引入外部路由
                   路由器引入外部路由后,会产生LSP分片用于描述外部路由信息
                   外部路由进行管理标记要求IS-IS度量方式必须支持宽度量
             7.路由过滤 Fliter-Policy

IS-IS其它特性:
    1.多进程  与OSPF一致      
    2.LSP分片
         一台设备最多产生256个分片
         LSP-ID:1.system-id  6B    2. LAN-ID 1B   3.分片ID 1B 
      LSP分片扩展:实现路由器描述更多的链路状态信息
      
       初始系统、虚拟系统,每个系统都需要配置System-ID
            *一台路由器最终可以配置多个系统ID,每个系统ID都可以产生256个分片                   
       分片扩展功能:24号TLV,携带虚拟系统和初始系统的关系
                               每台路由器最多支持50个虚拟系统
       
       mode-1: 适用于部分路由器不支持分片扩展功能的场景(不支持识别24号TLV)
                  原理:不支持分片扩展功能的设备必须将虚拟系统当作初始系统的下游节点计算
                      1.初始系统描述路由信息通过虚拟系统的LSP发布
                      2.不支持分片扩展功能的设备收到后,将虚拟系统当成真实节点进行计算   
                      3.为了保障    虚拟系统必须在初始系统的下游、且路由计算正常               
                          初始系统描述自身到达虚拟系统的开销值为0
                          虚拟系统描述自身到达初始系统的开销值为最大值减1
       mode-2:适用于所有路由器都支持分片扩展功能的场景
                 原理:所有设备都可以识别24号TLV,其它设备收到虚拟系统产生LSP时,会将LSP信息当
                           成初始系统的信息计算
-----------------------------------------------------------------------------------------------------------
BGP高级特性                   
  路由匹配工具:
              基本ACL
              前缀列表
              AS-Path过滤器:通过BGP路由AS-Path属性匹配路由
              团体属性过滤器:通过BGP路由的团体属性匹配路由
  路由策略:
              Fliter-Policy
              Route-Policy


AS-Path过滤器、团体属性过滤器都使用正则表达式来匹配路由
    正则表达式:匹配规则由普通字符和特殊字符组成
          ^$                匹配AS-Path为空的路由,本AS内始发在IBGP对等体间传递的路由
          .*                  匹配所有AS-Path的路由
          ^100_           匹配AS-Path属性以100开头的所有路由,匹配相邻AS100发布的路由
          _100$            匹配AS-Path属性以100结尾的所有路由,匹配起源于AS100的路由
          _100_            匹配AS-Path属性包含100的所有路由,匹配经过AS100的路由
          ^100_200_300$  匹配AS-Path属性以100开头、包含200、以300结尾的路由  

-----------------------------------------------------------------------------------------------------------
ORF出口路由过滤器
       作用:实现邻居按需发布路由
       原理: 1.本端配置入方向的过滤策略后,通过路由刷新报文通知对端设备
                  2.对端设备收到路由刷新报文后,自动构建出方向的过滤策略         
BGP 对等体组
       简化BGP部署配置,减少配置量
       [R1-bgp]group HAHA internal  /*创建IBGP对等体组*/
       [R1-bgp]peer 172.16.1.2 group HAHA   /*指定对等体加入对等体组*/
       [R1-bgp]peer 172.16.1.5 group HAHA
       [R1-bgp]peer HAHA connect-interface LoopBack 0
       [R1-bgp]peer HAHA next-hop-local
       *针对对等体指定的配置,将会在组内所有成员生效
BGP 按组打包
       减少设备打包路由的次数,减少设备硬件资源消耗       

BGP安全性
      BGP认证: MD5认证、Keychain认证
                       原理:基于TCP Options认证实现
      GTSM通用TTL检查:限制接收的协议报文跳数(TTL值)
                                      提前制定可接收协议报文的TTL值合法范围
                peer 10.1.17.7 valid-ttl-hops 1          /* TTL合法范围:[256-1,255]*/
                peer 10.1.17.7 valid-ttl-hops 100      /* TTL合法范围:[256-100,255]*/
     BGP认证:保障对等体建立安全性/合法性
     BGP GTSM:保障接收BGP报文的合法性

BGP路由限制
     peer 10.1.17.1 route-limit  路由数量


RR在部署时通常采用备份RR方式提高可靠性:
       1.同级RR
       2.分级RR


-----------------------------------------------------------------------------------------------
VLAN高级技术
    VLAN划分广播域,减小广播域的范围
    不同VLAN之间不能二层互通,通过VLAN间路由技术既可以划分广播域又可以实现不同VLAN          的三层互通(单臂路由、三层交换)
    
  一、VLAN聚合/Super VLAN
      汇聚交换机上需要针对每个VLAN创建一个VLANIF接口,每个VLANIF都会占用一个IP地址
      问题:浪费IP地址
      Super VLAN
             Sub-VLAN:绑定到物理接口,用于隔离广播域,Sub-VLAN不需要创建VLANIF接口
             Super-VLAN:不需要绑定物理接口 ,用于创建VLANIF接口,实现不同VLAN间通信
             *Sub-VLAN使用的地址段相同,Super-VLAN对应VLANIF作为所有Sub-VLAN网关 
                                 
         同一个Sub-VLAN内部可以二层通信,不同的Sub-VLAN之间二层隔离
         实现Sub-VLAN间通信:由于Sub-VLAN使用的地址段相同,终端认为和其它Sub-VLAN
                                                 主机在同一个网段内,直接进行ARP请求
                                              Super-VLAN内所有Sub-VLAN使能ARP代理功能
                                              回应终端的ARP响应消息中,携带的MAC地址为Super VLAN
                                                VLANIF接口MAC地址,使不同Sub-VLAN主机之间通信,先
                                                将报文交给网关

------------------------------------------------------------------------------------------
MUX VLAN
     VLAN类型:
             1.主VLAN/Principal VLAN
             2.从VLAN/Subordinate VLAN
                     互通型从VLAN / Group VLAN
                     隔离型从VLAN / Separate port
             *所有的从VLAN都可访问主VLAN
             *互通型从VLAN内部可以互相访问,不能访问其它的从VLAN,只能访问主VLAN
             *隔离型从VLAN内部不能互相访问,不能访问其它的从VLAN,只能访问主VLAN
主VLAN:100
互通型从VLAN:10    20
隔离型从VLAN:50
   10  20  50内主机都可以访问 100 主机
   10内部主机之间、20内部主机之间可以互相访问,50内部主机不能互相访问
   10  20  50之间不能互相访问
 
---------------------------------------------------------------------------------------------------------
QinQ技术  本质:二层的隧道技术
使用场景:
 在公共网络上使用VLAN来区分企业用户,VLAN ID范围:1-4094,满足不了实际需求
 QinQ在私网数据帧(带Tag数据帧)之前再添加公网VLAN Tag,使用公网Tag进行区分不同企业用户  
 原理: 数据帧存在两个Tag   私网Tag   公网Tag
    QinQ封装:  D.MAC   S.MAC   公网Tag  私网Tag   Type    Data(网络层、传输层、Data)   FCS
 
  基本QinQ:为接口收到的所有私网VLAN Tag打上同一个公网Tag
                   1. 基于接口
  灵活QinQ:可以指定根据不同需求,为不同数据帧打上不同的公网Tag
                   1.基于VLAN ID,为携带不同私网Tag的数据帧打上不同的公网Tag
                   2.基于802.1P,为携带不同802.1P取值的数据帧打上不同的公网Tag,实现区分服务QoS
                   3.基于流策略,为匹配流策略的不同分类器的数据帧打上不同的公网Tag

---------------------------------------------------------------------------------------------------------
1.端口隔离
    作用:将交换机加入同一个隔离组的物理接口进行隔离
     端口隔离的类型:
            1.双向隔离,同一个隔离组内端口之间互相隔离、不同端口组之间不隔离
            2.单向隔离,实现不同隔离组之间端口进行隔离,在当前接口指定隔离的端口
     端口隔离的模式:
            1.L2      二层隔离、三层互通
            2.ALL    二层、三层都隔离
2.MAC地址表安全
    MAC地址表组成:
                          1.动态MAC地址表项:交换机通过动态学习数据帧源MAC地址和接收数据帧端口形成
                                                                的映射表项
                                                            特点:老化时间:300s,设备重启后表项会丢失
                          2.静态MAC地址表项:手工在交换机上配置的MAC地址和端口的映射表项
                                                            特点:不会老化,保存配置后设备重启表项不会丢失
                          3.黑洞MAC地址表项:手工在交换机上配置的MAC地址表项,交换机丢弃源MAC或
                                                                目的MAC为黑洞MAC的数据帧
                                                            特点:不会老化,保存配置后设备重启表项不会丢失
3.端口安全
  作用:1.限制接口学习MAC地址数量
            2.将接口学习动态MAC地址转换成安全MAC地址

   安全MAC地址保护动作有:
     Restrict:丢弃源MAC地址不存在的报文并上报告警
     Protect:只丢弃源MAC地址不存在的报文,不上报告警
     Shutdown:接口状态被置为error-down,并上报告警

   安全MAC地址类型:
         1.安全动态MAC地址:
             接口使能端口安全功能,该接口动态学习的MAC地址会变成安全动态MAC地址
             特点:1.存在老化时间,默认不老化
                       2.设备重启表项丢失
         2.安全静态MAC地址:
             接口使能端口安全功能,该接口对应的静态MAC地址会变成安全静态MAC地址
             特点:1.不会老化
                       2.保存配置后,设备重启表项不会丢失
         3.Sticky MAC:
              接口使能端口安全功能、并使能Sticky MAC功能,该接口动态学习的MAC地址会
                   变为Sticky MAC
              特点:1.不会老化
                        2.保存配置后,设备重启表项不会丢失
   

4.MAC地址漂移检测、防止MAC地址漂移
    交换机同一个VLAN内不同端口学习到相同的MAC地址频繁进行覆盖行为,称为MAC地址漂移
    造成MAC地址漂移的原因:1.二层环路   2.网络攻击
   
    防止MAC地址漂移:
            1.提高接口的MAC地址优先级,优先级低的接口不允许覆盖优先级高的接口
            2.不允许优先级相同的接口进行覆盖
    MAC地址漂移检测:
             1.基于VLAN MAC漂移检测
             2.基于全局 MAC漂移检测
5.MAC Security/ IP Security       
   MACSec/IPSec
   安全保障功能:1.数据完整性校验    2.数据加解密   3.数据源鉴别    4.防重放攻击

6.交换机流量控制
          1.流量抑制:指定特定流量的阈值,对超出阈值部分进行丢弃
                交换机接口入方向针对所有类型数据帧(广播、已知单播、未知单播、已知组播、未知组播                       )进行百分比、包速率、比特速率进行限制,超出部分直接丢弃
                交换机在VLAN视图,对VLAN内广播流量进行比特速率进行限制
                交换机接口出方向针对广播、未知组播、未知单播报文进行阻塞
          2. 风暴控制:通过关闭端口或阻断广播、未知组播、未知单播流量来实现消除广播风暴
                原理:在检测间隔时间内监测三种类型报文各自的平均速率,如果超过指定的阈值,则
                          进行响应动作处理
                                处理方式:1.阻断报文   2.关闭接口
           
  

7.DHCP Snooping
       作用:保障DHCP客户端和服务器之间安全交互
       原理:交换机监听DHCP协议报文,记录DHCP客户端IP、MAC、接口、VLAN等信息
                  DHCP Snooping映射表          
      1.DHCP信任接口功能
             将交换机连接DHCP服务器的接口手工指定为信任接口
             交换机丢弃从非信任接口收到的服务器发送的报文(Offer、ACK、NAK)
             作用:防止仿冒服务器攻击
      2.限制接口学习MAC地址数量
             防止伪造MAC地址“饿死”攻击
      3.检查Request报文中CHADDR和数据帧源MAC地址是否一致 
             防止伪造CHADDR DoS拒绝服务攻击
      4.检查收到的ARP消息、IP报文中携带源MAC+源IP匹配DHCP Snooping绑定表
             防止中间人攻击

8.IPSG  IP源防攻击
      防止IP欺骗攻击,防止非法用户伪造S.IP获取网络访问权限


-----------------------------------------------------------------------------------------------

MPLS多协议标签交换
    作用:提高转发效率
    原理:使用标签转发替代IP转发,在网络层前面添加定长MPLS头部,根据MPLS头部转              发报文
              
传统IP转发的特点:
    1.逐跳基于报文D.IP地址匹配路由表执行转发
    2.所有设备都需要维护去往目的地的路由
    3.IP头部不定长,导致硬件处理效率低
    4.IP协议面向无连接,无法保障端到端QoS


MPLS 基本概念
     1.MPLS域:运行MPLS协议的设备集合,称为MPLS域
     2.LSR标签交换路由器:运行MPLS的设备
                      LER标签边界路由器,连接传统IP网络的LSR 
                      Core LSR核心LSR,MPLS域内核心设备
     3.根据转发平面处理方式,对LSR进行分类
             1.ingress LSR, 入节点
                         在传统数据包压入标签转发到MPLS网络
             2.transit LSR,中间节点
                         将收到的带标签数据包执行标签的交换/替换
             3.egress LSP,出节点
                         将收到的带标签数据包执行标签的剥离,转发到传统IP网络
     4.FEC转发等价类
         是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以
               相同方式处理
        华为默认根据D.IP/掩码作为FEC分类依据,FEC实际上为路由
               匹配同一条路由/FEC的数据包会被同一台LSR执行相同处理
      5.LSP标签交换路径
          标签报文在MPLS域内的转发路径
          每个FEC对应一个标签,标签和FEC进行映射形成LSP


MPLS标签
   MPLS在2.5层插入MPLS头部,MPLS支持标签嵌套
   MPLS头部参数:总长度4B
         1.Label标签,20bit,标签空间/范围 0---2^20 -1 
         2.EXP,3bit,用于实现MPLS网络QoS,范围0--7
         3.S位,栈底位,标识是否为最后一个标签头部
         4.TTL,8bit,与IP头部TTL作用一致

      Label标签:短而定长只具有本地意义的标识符   
            标签空间:
                 1.特殊标签,取值范围:0----15
                 2.静态LSP标签,取值范围:16---1023
                 3.动态LSP标签,取值范围:1024及以上
      标签动作:
                1.Push压入,将接收的报文前压入MPLS头部
                2.Swap交换,将收到标签报文的最外层头部进行交换
                3.Pop弹出,将收到标签报文的最外层MPLS头部进行弹出
                    
  


一、LSP建立
     建立原则:1.FEC对应的路由必须存在于本地路由表中
                      2.同一个FEC,上游设备的入标签等于下游设备出标签(路由方向)
     建立方式:1.静态LSP
                      2.动态LSP
二、标签转发(LSP已经建立完成)
       1.FTN /转发表(FEC到下一跳标签转发表)
           存在于Ingress入节点
           参数:FEC/路由、Tunnel-ID
       2.NHLFE(下一跳标签转发表)
           存在于Ingress入节点、Transit中间节点
           参数:Tunnel-ID、出接口、下一跳、出标签、标签动作
       3.ILM(入标签映射表)
          存在于Transit中间节点、egress出节点
          参数:Tunnel-ID、入接口、入标签、标签动作

       
1.ingress
   收到不带标签数据包,查找FIB转发表,转发表中存在Tunnel-ID
       Tunnel-ID取值为0,则代表IP转发
       Tunnel-ID取值非0,则代表隧道转发,根据Tunnel-ID取值,查找下一跳标签转发表
               并按照下一跳标签转发表的信息,压入标签执行MPLS转发
2.Transit
   收到带标签数据包,查找ILM入标签映射表,匹配后根据Tunnel-ID再查找
   下一跳标签转发表,并按照下一跳标签转发表的信息,执行MPLS标签交换
           
3.egress
   收到带标签数据包,查找ILM入标签映射表,入标签映射表标签动作为弹出
   根据IP头查找FIB转发表,执行IP转发


   


-----------------------------------------------------------------------------------------------
MPLS LDP协议
 实现标签转发前提:建立LSP
       静态LSP、动态LSP
 LDP标签分发协议,作用: FEC分类,标签分配,动态建立、维护LSP
    LSP中FEC入标签:下游为FEC分配的标签
    LSP中FEC出标签:上游收到的下游设备通告的标签

基本概念:
1.LDP会话类型:
    1.本地会话,LDP协议报文采用组播方式发送,适用于LSR之间直连场景
    2.远程会话,LDP协议报文采用单播方式发送,适用于LSP之间直连、非直连场景
2.邻接体:  
     LSR之间通过Hello报文发现、建立、维护邻居关系
3.对等体:
     LSR基于邻接体关系互相交互会话消息,协商并建立会话
4.LSR-ID与LDP-ID
     LDP-ID由LSR-ID和标签空间标识符组成
           标签空间标识符:取值为0,代表基于平台的标签空间(华为默认)
                                              为同一个FEC分配一个唯一的标签,通告给自身所有上游设备
                                      取值非0,代表基于接口的标签空间
                                              为同一个FEC每个接口连接的上游设备分配一个唯一的标签
5.LDP报文格式
      基于传输层TCP/UDP协议封装
      结构:LDP通用头部、LDP专用消息
              LDP通用头部:1.版本     2.PDU长度   3.LDP-ID
              LDP专用消息:固定部分:1.Ubit,标识对未知LDP消息处理,为0表示通知,为1表示忽略
                                                      2.Type,标识报文的类型
                                                      3.消息长度
                                                      4.消息ID,用于区分同类型消息的不同报文
                                     可变长部分:1.必选可变长部分,不同报文携带参数不一致
                                                         2.可选可变长部分,扩展功能        

--------------------------------------------------------------------------------------------------------
LDP状态机
Non-Existent,代表邻接体建立,会话未完成建立
Initialized,TCP连接建立完成后进入该状态
                   主动端先向被动端发送Init报文,该报文中携带主动端参数信息   
                   被动端收到主动端发送的init报文,检查参数,并回应Keepalive报文、Init报文
OpenSent,主动端发送Init报文后进入该状态
                   等待被动端的Init报文和Keepalive报文,收到后,检查被动端Init报文参数
                           并回应Keepalive报文           
OpenRec,被动端检查主动端参数合法,并回应报文后进入该状态
                  主动端检查被动端参数合法,并回应报文后进入该状态
Operational,双方状态进入OpenRec后,立马进入Operational,代表会话建立完成
--------------------------------------------------------------------------------------------------------

LDP工作过程:
1.发现阶段,建立LDP邻接体
    涉及报文:Hello报文,发现、建立、维护邻接体关系
                    基于UDP 源端口、目的端口646
    接口使能LDP后,立即发送Hello报文,报文周期时间5s/次,超时时间:15s
      报文中携带Transport Address传输地址(默认为本地LSR-ID)
      互相收到对方Hello报文后,比较传输地址大小,以大为优确定主动端和被动端

2.TCP阶段,建立TCP连接  D.Port:646
      主动端使用本地的传输地址向被动端的传输地址发起TCP连接建立
      *传输地址用于后期双方通信使用的地址,必须保障LSR-ID为本地存在的IP地址并且路由可达

3.会话阶段,建立LDP会话,成为对等体
      涉及报文:init报文,协商参数        Keepalive报文,表示协商成功,后期保活15s/次 超时:45s
      工作过程:
                1.主动端发送Init报文给被动端
                2.被动端收到后,检查参数,参数合法,回应Keepalive报文和Init报文
                3.主动端收到后,检查参数,参数合法,回应Keepalive报文
    *Init报文协商参数:1.版本   2.Hold-Time  3.标签发布方式  4.最大PDU长度   5.LDP-ID

    display mpls ldp session/*检查LDP会话*/

4.通告阶段,建立LSP
     华为默认只会为32位掩码主机路由触发建立LSP
     标签发布方式:华为默认为下游自主DU
         1.下游自主DU,下游设备直接为本地的FEC分配标签,并将标签映射关系通告给上游设备
                       特点:提前建立LSP,建立LSP速度更快,收敛快
                                 消耗更多的设备硬件资源
         2.下游按需DOD,下游设备必须收到来自上游设备标签请求消息,才会触发为本地FEC分配标签
                                     并将标签映射关系通告给上游设备
                       特点:流量访问才会触发建立LSP,建立LSP速度更慢,效率低
                                 节省设备的内存硬件资源
      标签分配控制方式:华为默认有序
          1.独立:无需收到下游的标签映射消息,即可为上游通告标签映射
                       特点:建立LSP效率高、速度快
                                 容易造成LSP断裂现象
          2.有序:必须收到下游的标签映射消息,才能为上游通告标签映射
                       特点:建立LSP效率低、速度慢
                                 保障LSP建立的可靠性
       标签保持方式:华为默认自由
          1.保守:只接收来自最优下一跳通告的标签
                       特点:故障后收敛更慢
                                 消耗的设备内存资源更少
          2.自由:接收来自所有下一跳通过的标签,使用时会使用最优下一跳通告的标签
                       特点:故障后收敛更快
                                 消耗更多的设备内存资源
     华为默认:下游自主+有序+自由


5.报错阶段,通知邻接体之间错误信息
     涉及报文:报错报文
-----------------------------------------------------------------------------------------------------------
PHP次末跳弹出
    使用特殊标签(隐式空标签)3
    最下游设备为直连路由分配的标签值为3,通告给次末跳设备
    如果出标签为3,则路由器弹出最外层标签头部再转发
    作用:减少最后一跳设备查表的次数,减少最后一跳设备性能资源的消耗

    隐式空标签在MPLS网络部署QoS时存在的问题:
        倒数第二跳设备弹出标签后,导致MPLS头部中EXP信息丢失,最后一跳设备无法读取EXP信息
    解决:IPv4显示空标签,0
         最下游设备为直连路由分配的标签值为0,通告给次末跳设备
         如果出标签为0,则路由器必须携带MPLS头部转发至下游(携带MPLS头部)
             最后一跳设备收到MPLS头部中标签值为0,则读取EXP信息后直接弹出标签
----------------------------------------------------------------------------------------------------------       MPLS LDP工作过程
        控制平面: 标签通告/发布过程
        转发平面: 标签转发过程
--------------------------------------------------------------------------------------------------------- 


MPLS VPN
   VPN虚拟专用网
        VPN类型:1.由运营商搭建VPN网络,租用给企业用户:物理专线、MPLS VPN专线
                         2.企业自建VPN:基于ISP搭建虚拟专线:IPSec VPN、GRE VPN、SSL VPN
    MPLS VPN网络架构:
                 CE:用户设备,企业私网连接到MPLS VPN网络的设备
                 PE:MPLS VPN运营商网络边缘设备,提供接入服务,连接私网的设备
                 P:  MPLS VPN运营商网络核心设备,只负责数据转发
    MPLS VPN技术架构:
                 MP-BGP,PE和PE之间传递私网路由(VPNv4路由)
                 LDP,PE和PE之间建立公网标签隧道
                 VRF,PE为不同私网CE独立维护一张VPN实例的路由表
                 路由技术,CE和PE之间交互私网路由
     MPLS VPN组网方式:
                 Intranet、Extranet、Hub-Spoke
     
一、MPLS VPN控制平面(路由发布过程)
       1.本地CE到入口PE        所有路由协议
       2.入口PE到出口PE        MP-BGP协议
       3.出口PE到远端CE        所有路由协议

1.本地CE到入口PE解决私网地址重叠/路由冲突
  CE将路由传递到PE时,PE需要通过VRF(VPN实例)维护私网路由
   VPN实例:每个VPN实例对应一个企业用户,每个VPN实例路由表逻辑隔离
   解决:不同私网用户地址空间/路由冲突的问题
   
  VPN实例中存在RD路由标识符,RD长度8B,用于PE和PE之间通过BGP交互私网路由时,
  进行标识/区分:入口PE将私网路由添加RD变成全局唯一的路由再发布到出口PE
       VPNv4路由 =  RD + IPv4
  保障不同的VPN实例中的RD值唯一
2.入口PE到出口PE路由传递
   使用MP_BGP传递VPNv4路由
     新增两个属性: 1.MP_Reach_NLRI   2. MP_Unreach_NLRI
         
   出口PE接收到入口PE的路由如何区分并保存在对应的VPN实例路由表中
   VPN Target(也称为Route Target) RT    BGP扩展团体属性
      每个VPN实例:Export-RT   Import-RT
   RT的作用:控制VPNv4路由的发布和接收
   入口PE在发布VPNv4路由时,会携带Export-RT,出口PE收到VPNv4路由检查该路由携带
      Export-RT是否和本地VPN实例的Import-RT相同,如果相同则接收,不同则丢弃路由

二、转发平面
       1.P设备不存在私网路由信息,无法根据D.IP转发数据包
          在公网上部署LDP,PE和PE之间建立公网标签隧道
       2.报文不携带VPN信息,PE收到数据包后判断该报文是属于哪个VPN
         PE在发布VPNv4路由时分配一个私网标签
         在访问对应VPN路由时,报文添加私网标签,从而判断报文属于哪个VPN实例
          


MCE  CE多实例
   在CE上创建VPN实例(VPN实例只需要配置RD),绑定到CE的接口(物理接口、逻辑接口),实现路由隔离
   实现作用:在私网内部基于业务进行隔离(每个业务看作为一个VPN用户)

[Hub-PE3-bgp-A_Out]peer 192.168.4.1 allow-as-loop  /*允许从该对等体接收AS-Path存在本地AS号的路由*/
[PE1-bgp-1] peer 192.168.100.1 substitute-as   /*AS号替换*/
    /*发布路由给该对等体时路由中AS-Path中携带对等体AS号,将AS号变为本地的AS号*/
   在CE双归属场景(PE连接同一个站点两个CE),使用AS号替换功能可能导致环路
    解决:起源站点属性,在PE上指定同一个站点CE设备,配置相同起源站点属性值
           接收路由,为路由添加起源站点属性,再通告给其它对等体
           通告路由,路由携带起源站点属性是否和对等体配置起源站点属性一致,如果一致,则不通告

Hub&Spoke有以下组网方案:CE和PE之间部署协议
方式一:Hub-CE与Hub-PE,Spoke-PE与Spoke-CE使用EBGP
方式二:Hub-CE与Hub-PE,Spoke-PE与Spoke-CE使用IGP
方式三:Hub-CE与Hub-PE使用EBGP,Spoke-PE与Spoke-CE使用IGP


OSPF在MPLS VPN场景,CE和PE部署OSPF时存在的问题:
      1.OSPF和BGP进行互相引入时,导致OSPF路由信息丢失
         PE OSPF import BGP路由,PE产生5类LSA将私网路由发布给CE
       解决:
        新增BGP扩展团体属性:保留OSPF路由信息
            Domain ID:域标识符用来标识和区分不同的域,默认为0
            Route Type:包含被引入到BGP的OSPF路由的 Area-ID 以及Route Type
       2.在CE双归属场景(一个CE连接到两个PE),部署OSPF和BGP互引会出现路由环路
        解决:
             1. Options: DNbit      PE将BGP路由引入到OSPF时,产生的LSA DN:1
                                                  其它PE收到DN:1的LSA时,不计算该路由
             2. 路由过滤:                PE上互引时为路由打上Tag标记,然后进行路由过滤

        3.Sham link  在PE部署
            作用:相当于在CE和CE之间建立域内伪连接,OSPF和BGP互引时,保留OSPF路由类型
                      修改后门链路开销值,使CE优选MPLS VPN专线


    
      


 

你可能感兴趣的:(网络协议)