# H3C路由交换笔记重点
# 一、ARP地址解析协议
作用:在二层网络中,通过实现目的主机的IP与MAC的映射,来完成二层基于MAC地址转发数据的过程。
工作原理:通过广播发送ARP请求,来找到目的设备IP所对应的MAC地址,然后通过ARP单播回应来得知对方主机MAC。
交换机的作用与工作原理
作用:根据MAC地址表项转发数据帧,学习维护MAC地址表项。
MAC地址学习过程:交换机初始启动内部无MAC地址表项,通过接收数据帧,来记录该数据帧所携带的源MAC,并与接收该数据帧的端口关联形成一条MAC地址表项。
数据帧的转发过程:接收到一个数据帧,查看该数据帧的目的MAC地址是否存在交换机MAC地址表项中,如果存在则从该MAC地址所关联的端口转发出去。
MAC地址表项老化时间300s,300s内表项未刷新则删除该表项,一个MAC地址只能对应一个端口,一个端口可以对应多个MAC地址。
# 二、VLAN虚拟局域网隔离技术
作用:将物理上的一个局域网逻辑上划分为多了虚拟局域网,使之二层网络 中相互隔离。
划分的方式:基于端口划分、基于MAC地址划分、基于协议划分、基于IP子网划分。
应用VLAN的接口类型:Access、Trunk、Hybrid
VLAN数据转发过程:
Access类型口接收一个数据帧,则会给该数据帧的VLAN TAG打上该端口的PVID;Access口转发一个数据帧,首先看该数据帧的VLAN TAG是否与转发端口的PVID值一致,一致则剥离掉数据帧VLAN TAG标签进行转发,否则丢弃。 Trunk类型端口接收到一个数据帧,首先看该数据帧的VLAN TAG是否在允许转发列表中,如果在则直携带标签接转发,否则不允许通过。
# 三、STP、RSTP、MSTP生成树协议
作用:通过阻断冗余链路来消除二层网络中的存在的路径回环
配置BPDU:是STP计算中最重要报文信息,由根桥产生和下发,STP根据配置BPDU中携带的重要要参数进行计算选举出交换机的角色和各端口的角色。
配置BPDU携带的重要参数:
- 根桥ID
- 根路径开销
- 指定桥ID
- 指定端口ID
交换机角色:
- 根桥(通过桥ID选举,桥ID最小的为根网桥;桥ID由优先级+MAC组成)
- 指定桥(每个物理段到根路径开销最小的桥是指定桥)
交换机端口角色:
- 指定端口(指定桥下的端口)
- 根端口(非根交换机到达根路径开销最小的端口)
- 阻塞端口(既不是指定端口,也不是根端口的端口)
STP的端口状态:
Disabled 未启用STP的端口,不收发BPDU报文,接收和抓发数据
Blocking 非指定端口或根端口,接收但不发送BPDU,不接收和转发数据
Listening 接收并发送配置BPDU,不接收和转发数据
Learning 接收并发送BPDU,不接收或转发数据
Forwarding 指定端口或根端口,接收并发送BPDU,接收并转发数据
STP的收敛过程:在初次进行STP计算时,所有参与STP计算的交换机都会认为自己是根网桥,那么这些交换机也都会去生成和相互转发自己的配置BPDU;这样每台设备会把自己的配置BPDU中的参数与自己收到的配置BPDU的参数进行比较,看谁最优。如果收到的配置BPDU优于自身的,则把收到的更新为自己的配置BPDU。若自身的配置BPDU优于收到的,则丢弃掉收到的。首先是通过桥ID选举出根网桥,其次通过同样的方式进行端口角色选举,等待所有角色选举完成后完成收敛。
收到低优先级配置BPDU时的处理:网桥会保存当前最优的配置BPDU,该配置BPDU的生存周期为Max Age,当网桥在指定端口收到低优先级BPDU时,网桥会立即回应一个配置BPDU,这样可以保证新加入的网络尽快的确认根和端口角色,使得网络快速收敛。当网桥在非指定端口收到低优先级BPDU时,网桥不会立即回应一个配置BPDU,而是等待Max Age超时之后才会回应配置BPDU。
STP拓扑发生改变:发生拓扑变化的交换机会通过根端口向根桥方向发送TCN BPDU,只有指定端口处理TCN BPDU的报文。上游设备收到TCN BPDU,则会回复TCA置位的配置BPDU,用于终止下游设备发送TCN BPDU。上游设备继续向根桥方向发送TCN BPDU,直到根桥收到后,根桥回复TCA+TC。TC全网泛红,用于清除交换机上的MAC地址表项,避免拓扑发生改变前的MAC未及时更新造成的数据转发错误。
RSTP快速生成树协议
作用:RSTP是从STP发展而来,实现的基本思想一致,具备STP所有功能,可以兼容STP运行。
RSTP与STP区别:减少了端口状态,增加了端口角色,BPDU格式及发送方式不同,当交换网络拓扑结构发生变化时,RSTP可以更快的恢复网络的连通性。
RSTP状态缩减为三个:Discarding、Learning、Forwarding
RSTP端口角色增加到四个:根端口、指定端口、Alternate端口、Backup端口。其中Alternate作为非根桥到达根桥的备用端口,Backup作为非根桥的备份指定端口。正常情况下,Alternate端口和Backup端口作为Disabled状态,当非根桥上的根端口或指定端口出现故障时会立即启用。
RSTP的3个快速收敛机制:
- 边缘端口:用于连接终端设备的端口。配置边缘端口的设备会直接进行数据抓发,不参与RSTP运算。(需要手动指定)
- 根端口快速切换:原来处于Alternate角色的端口只要对端的指定端口处于forwarding状态,则这个Alternate角色端口立即切换为新的根端口进入forwarding状态,不需要等待30秒。
- 指定端口快速切换:P/A机制(Aggrement/Proposal),必须为点到点链路,逐链路收敛。
RSTP的P/A机制:上游设备发出Proposal置位的 RST BPDU 给下游设备,下游设备接收后,该端口进入转发状态,并启用同步机制阻塞其他端口(边缘端口、Alternate端口除外)。然后向上有设备发出Agreement置位的RST BPDU,上游设备接收后立马进入转发状态。
RSTP拓扑改变处理机制:只有非边缘端口转变为Forwarding状态时,产生拓扑改变。拓扑改变后,发生拓扑变化的交换机在两倍Hello时间内向所有其他指定端口和根端口发送TC置位BPDU报文。(RSTP拓扑改变处理过程不再使用TCN)
RSTP和STP的兼容运行:RSTP的端口再连续三次收到版本为STP的BPDU,则端口协议将切换到STP协议。切换到STP协议的RSTP端口将丧失快速收敛特性。出现STP于RSTP混用的情况,建议将STP设备放在网络边缘。运行STP的网桥移除后,由RSTP模式切换到STP模式的端口仍将运行在STP模式。
MSTP多生成树协议
作用:MSTP多协议生成树,具备STP和RSTP的所有功能,解决环路问题的同时可实现多VLAN流量的负载分担。将多个VLAN捆绑到一个实例,每个实例生成独立的生成树,在多条Trunk链路上实现VLAN级负载分担。
MST域(MST Region)的概念:通过配置各交换机MST域中的参数(域名、修订级别、VLAN映射关系)使之一致,那么这些交换机就会处于同一个MST域中。
MSTP实例(Instance)的概念:一个实例可以去绑定多个VLAN,每个实例对应一颗单独的生成树。那么把不同的VLAN映射到不同的实例上,就可以实现VLAN的负载分担。
MSTP中的端口角色:Master端口,IST根桥在CIST上的根端口,其他端口角色的定义和RSTP相同。
MSTP计算方法:CST/IST的计算方法和RSTP类似,MSTP的计算仅限于区域内,MSTI(实例)计算参数包含在IST BPDU中,和IST的计算同步完成。
STP的保护机制:BPDU保护、根桥保护、环路保护、TC保护
# 四、链路聚合
作用:链路聚合可以实现链路备份、增加链路带宽及其数据的负载,链路聚合按照聚合方式不同可以分为静态聚合和动态聚合。
# 五、路由的概述
什么是路由:路由是指导数据包转发的所经过的路径信息
路由的转发过程:
路由查表原则:
- 最长匹配转发原则:如果在查找路由表时匹配到多个路由条目,那么则选择掩码最长的路由对数据进行转发。
- 迭代查询转发原则:如果说匹配的路由下一跳非直连,那么则会以下一跳地址作为目的地址进行查表,直到迭代查询到下一跳是直连的路由后,将数据从此路由的出接口转发出去。
- 默认路由:如果路由表中不存在明细路由,则均按默认路由转发。
路由的来源:直连路由、静态路由、动态路由。
如何选择路由:
优先级:定义路由的可靠性。如果从不同路由协议学习到相同目的网段的路由条目,则选择优先级最小的路由。
度量值:定义路由的开销。如果从同种路由协议学习到相同目的网段的路由条目,则选择度量值最小的路由
注意:当存在多条相同目的网段的路由时,首先比较优先级,优先级越小越优先。当优先级相同时,则比较度量值,越小越优先。当优先级和度量值都相同时,都加入路由表实现等价负载均衡。
动态路由协议作用:通过运行动态路由协议进行相互交换路由信息,来自动获得全网的网段路由。
动态路由有:RIP(基于UDP 520);OSPF(基于IP协议号89);BGP(基于TCP 179)
动态路由协议分类:
按照工作范围划分:
AS自治系统:在相同管理域下,一组具有相同路由协议标准的路由器的集合。
IGP内部网关协议:工作在AS内部。如RIP,OSPF,IS-IS。
EGP外部网关协议:工作在AS之间。如BGP。
按协议算法分类:
距离矢量协议:只关心去往目的地的开销和方向,路由依靠邻居通告,不可靠。
如RIP、BGP(BGP是路径矢量,距离矢量的一种)
链路状态协议:路由器之间互相传递链路状态信息,每台路由器根据自身拥有相同的链路状态信息,然后以自身为根,计算去往每个目的地的最佳路径(路由依靠于自身计算,可靠)。如OSPF、ISIS。
# 六、RIP原理
RIP的概述:RIP是一种距离矢量算路由协议,协议基于UDP端口520。以跳数作为度量值,最大跳数为16跳,有效跳数为15跳。RIP学习到的路由优先级为100。
RIP v1工作原理:广播发送Request请求报文,向周围设备请求路由信息。周围设备通过Response进行广播方式回应
RIP路由的更新原则:
跳数递增操作:RIP路由器在自身路由度量值的基础上,+1后再发送出去 。
收到一条路由判断自身是否存在,若不存在,只要接收路由的度量值<16跳,则更新到路由表中。若自身存在,判断是否从同一邻居学到,若是则无论更新的路由度量值比本地的大还是小,仍然直接更新到路由表中。若不是同一邻居学到的,则选择度量值最小的路由,更新到路由表中。
RIP路由维护:及三个定时器
- 周期更新:30s,每隔30s将自身全部的路由信息发送给邻居
- 老化时间:180s,如果某跳路由在180s内一直没有被更新,则将该路由的度量值设置为16跳,从IP路由表中删除,但是RIP数据库中仍然存在。
- 垃圾清除时间:120s,如果路由设置为16跳开始计时,在之后的120s内仍然没有接收到该路由,则将该路由彻底删除。
RIP避免环路的机制:
- 路由毒化:将故障路由的度量值设置为16跳
- 水平分割:不会将路由从接收接口在发送出去
- 毒性逆转:将路由的度量值设置为16跳后,再从接收接口发送出去
- 最大跳数16跳
- 抑制时间:当某条路由发生故障后,路由器会忽略所有关于这条路由的更新信息,除了从初始邻居学习。
- 触发更新:一旦路由发生故障,就立即更新给邻居
RIP协议存在的问题:
- 存在最大15跳的限制,不能适应大规模组网的需求。
- 周期性发送全部路由信息,占用大量的带宽资源。
- 路由收敛慢。
- 以跳数作为度量值
- 存在路由环路可能性
# 七、OSPF 原理
概述:OSPF(开放最短路径优先)一种基于链路状态的动态路由协议,基于IP 层之上协议号89,OSPF以组播地址发送协议包。
OSPF特点:
- 没有路由跳数的限制
- 使用组播更新变化的路由和网络信息
- 路由收敛快
- 以开销作为(Cost)作为度量值
- 采用SPF算法可以有效的避免环路
6.在互联网上大量使用,是运用最广泛的路由协议
OSPF的网络类型:Broadcast、NBMA非广播多点可达网络、P2MP点到多点、P2P点到点。
NBMA与P2MP:NBMA网络是指那些全联通的、非广播、多点可达网络。而P2MP网络,则并不需要一定是全联通的。NBMA是一种缺省的网络类型,而P2MP网络是由其他的网络强制更改的。NBMA网络采用单播发送报文,需要手工配置邻居。P2MP网络采用组播方式发送报文。
OSPF报文类型与封装:OSPF报文直接封装在IP报文中,协议号89
Hello报文:用于建立维护邻居关系
DD报文:数据库内容的汇总(仅包含LSA摘要)
LSR报文:请求自己没有或者比自己更新的链路状态详细信息
LSU报文:链路状态更新信息
LSAck报文:对LSU的确认
DR/BDR的选举原则:首先比较Hello报文中携带的优先级,优先级最高的被选举为DR,优先级次高的被选举为BDR,其他成为DRother,优先级为0的不参与选举。优先级一致的情况下,比较Router ID,越大越优先。保持稳定原则,当DB/BDR已经选举完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选举的DR/BDR成为新的DR/BDR。当DR失效,那么BDR将立即成为新的DR,DRother路由器进行竞争,Router ID高的成为新的BDR。
OSPF状态机:
LSDB更新:
广播和NBMA网络中LSDB更新:在广播和NBMA网络中,链路状态发生变化时,主要是通过DR路由器发送更新报文。DR/BDR通过组播地址224.0.0.5将报文发送给DRothers,DRothers通过224.0.0.6发送报文只会被DR/BDR识别和接收。
OSPF协议工作过程概述:寻找邻居、建立邻接关系、链路状态信息传递、计算路由。
LSA高级特性:
LSA类型说明:常用LSA Type有6种Type1、2、3、4、5、7类
Type 1 LSA(Router LSA):用于描述区域内部路由器直连的链路信息(包括链路类型,开销等),仅在区域内传播。
Type2 LSA(Network LSA):由DR生成,描述其在该网段上连接的所有路由器以及网段掩码信息,只在区域内传播。
Type3 LSA(Summary LSA):由ABR生成,将所连接区域内部的链路信息以子网的形式传播到相邻的区域。
Type4 LSA(ASBR Summary LSA):由ABR生成,格式与Type3相同,描述的目标网络是ASBR的Router ID
Type5 LSAS(ASE External LSA):由ASBR产生,描述到AS外部的路由信息,携带的外部路由信息可以分为两种,第一类外部路由、第二类外部路由。
Type 7 LSA:只能在一个NSSA 内发布,当到达区域边界路由器ABR 时,由ABR 将Type-7 LSAs 转换成Type-5 LSAs再发布,不直接发布到其它区域或骨干区域。
OSPF选路原则:按照路由类型优先级选择,区域内路由、区域间路由、第一类外部路由、第二类外部路由。在类型相同的情况下,选择路由开销cost较小的路由。
OSPF特殊区域:特殊区域是指人为定义的一些区域,他们在逻辑中一般位于OSPF区域边缘,只与骨干区域相连。常见的特殊有,Stub区域、Totally Stud区域、NSSA区域。
Stub(末梢)区域:是一些特定的区域,目的是为了减少区域中路由器路由表规模以及路由信息传递的数量。Stub区域内不能存在ASBR。换言之:建立末梢过滤掉不必要的type-4、5 类LSA,减少路由条目,默认将由stub 区域ABR 下发一条默认路由,基本一切由ABR 代理。
Totally Stub完全末梢区域:为了进一步减少Stub区域中路由器的路由表规模以及路由信息传递的数量,可以将该区域配置为Totally Stub区域。Totally Stub区域过滤了type-3、4、5 类路由条目。只在ABR 上配置成Totally Stub 就行了。
NSSA区域:是Stub区域的变形,不允许Type5 LSA注入,但可以允许允许Type1和Type3类,Type 7 LSA传递。
# 八、IS-IS原理
IS-IS概述:IS-IS属于IGP协议的一种,也是一种基于链路状态型的路由协议。收敛快速,支持网络分层与路由分级,适用于大规模网络,都有在运营商网络中运行的成功经验。IS-IS是ISO定义的路由协议,工作在OSI网络中,所以其采用OSI地址结构。
OSI地址:在OSI体系结构中,使用OSI地址标识网络设备,建立拓扑信息。OSI地址采用NSAP地址格式。
NSAP地址格式:NSAP的主要作用是提供网络层和上层应用之间的接口。相当于IP网络中的IP地址和协议号。NSAP由IDP和DSP组成。IDP相当于IP地址中的主网络号,DSP相当于IP地址中的子网号和主机地址。
IS-IS中的NSAP地址由:区域地址、System ID、NSEL服务类型选择符组成。
IS-IS中的NET地址:NET(网络实体名称)指的是IS本身网络信息,不包括传输层信息,可以看作是一类特殊的NSAP,即NSEL为0的NSAP地址。每台IS可以有最多不超过三个NET,这些NET拥有相同System ID和不同的区域地址。
典型NET生成方法:为了便于管理,一般根据Router ID来生成对应的System ID
NET地址规划注意事项:同一个区域内的所有IS包含相同的区域地址;每台IS拥有所在区域内唯一的System ID
IS-IS协议报文封装:IS-IS报文直接封装在链路层数据中。IS-IS报文头部中包含了通用报头和专用报头,对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。
IS-IS协议报文类型:
IS-IS网络类型:PPP、HDLC上层,接口缺省网络类型为点对点。Ethernet、Token-Ring上,接口缺省网络类型为广播网络。
邻居关系的建立:
邻居关系有Level-1和Level-2两种。点对点网络上,只要IS能够收到对端的P2P IIH报文,就认为邻居能够建立,邻居状态为UP。广播网络上,邻居建立需要三方握手过程。 广播网络上的邻接建立,通过与DIS建立邻接关系(DIS:创建和更新伪节点,以简化拓扑,减少资源消耗) 两种网络上邻居建立过程比较:
LSDB的同步:
LSP用于描述链路状态信息,Level-1 LSP仅在区域内传播,Level-2 LSP 在骨干网传播。
SNP用于描述LSDB中LSB的摘要,并对邻居之间最新接收的LSP进行确认。
CSNP包括所有LSP的摘要信息,广播网络中周期性发送,点到点网络中只在第一次发送。
PSNP列举最近收到的一个或多个LSP的序列号,用于LSP的确认。
IS-IS的拓扑计算:IS-IS与OSPF的区别,Level-1和Level-2路由器分别构建了自己的LSDB,目的地址是NET地址,DIS到所有IS邻居的开销值为0
IP路由的形成:路由信息分别在LSP中以叶节点的形式传递,分别生成Level-1和Level-2路由。
# 九、BGP原理
BGP概述:BGP(边界网关协议)是一种用于自治系统间的动态路由协议,用来在AS之间传递路由信息。BGP是路径矢量路由协议,从设计上避免了环路的发生。由TCP协议承载,端口号是179。支持CIDR和路由聚合,路由附带丰富的属性,只发送增量路由更新,路由过滤和路由策略。
BGP术语:运行BGP协议的路由器成为BGP发言者,相互之间存在TCP连接、相互交换路由信息的BGP发言者互称为BGP对等体。
EBGP对等体:处于不同AS的BGP对等体为EBGP对等体,通常情况下EBGP对等体是物理上直连。BGP发言者从EBGP对等体获得路由会向它所有BGP对等体通告(包括EBGP和IBGP)
IBGP对等体:处于同一个AS的BGP对等体为IBGP对等体,从IBGP获得的路由不向它的IBGP对等体发布。
IBGP全连接:BGP会话是基于TCP的点到点的单播连接,BGP发言者从IBGP对等体获得的路由不向其他的IBGP对等体发布。
BGP的消息和状态机:
BGP路由属性分类:
AS_PATH属性:是公认必遵属性,是路由到达一个目的地所经过的一系列自治系统号码的有序列表。当BGP将一条路由通告到其他AS时,便会把自己的AS号添加在AS_PATH列表的最前面。
NEXT_HOP属性:是公认必遵属性,为BGP发言者指示去往目的地的吓一跳。
ORIGN属性:ORIGIN属性定义路由信息来源,标记一条路由是怎么成为BGP路由的。在其他选路因素相同的情况下,BGP会比较ORIGIN属性来确定到达相同目的地的最佳路由。IGP优先于EGP,EGP优先于Incomplete。
三种ORIGIN属性类型:
IGP:表明路由信息产生于AS内部,一般聚合路由或者通过Network命令引入的路由。
EGP:路由信息通过EGP协议引入的。
Incomplete:路由信息是通过其他方式的来的,一般是通过Import引入的IGP路由或静态路由。
Local_PREF属性:是公认可选属性,用于AS内部IBGP邻居选择离开本AS时的最佳路由,它表明BGP路由器的优先级。仅在IBGP对等体之间交换,不传递或通告给其他EBGP对等体。
MED属性:是可选非传递属性,相当于IGP路由协议使用的度量值metric,当一个AS有多个入口点时,用于判断流量进入AS时的最优路径。仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给其他任何第三方AS。
Preferred-value属性:是私有属性,为从对等体接收的路由分配首选值,从而影响选路。只在本地有效,不随路由信息传播。
BGP的路由优选原则:
- 首先丢弃吓一跳不可达的路由;
- 优选Preferred-value值最大的路由;
- 优选本地优先级(Local_PREF)最高的路由;
- 依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;
- 优选AS路径(AS_PATH)最短的路由;
- 依次选择ORIGIN属性为IGP、EGP、Incomplete的路由;
- 优选MED值最低的路由;
- 依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由;
- 优选下一跳度量值最低的路由;
- 优选CLUSTER_LIST长度最短的路由;
- 优选ORIGINATOR_ID最小的路由;
- 优选Router ID最小的路由器发布的路由;
- 优选IP地址最小的对等体发布的路由;
应用BGP负载分担时的选路:BGP协议本身一定能够选出唯一一条到达目的网段的最优路由。可通过配置允许BGP负载分担,但BGP的负载分担与IGP的负载分担有所不同。IGP是通过协议自身定义的路由算法,对到达同一目的地址的不同路由,将度量值(metric)相等的路由进行负载分担。BGP本身没有路由计算的算法,但BGP有丰富的选路规则,可以再对路由进行一定的选择后,有条件的进行负载分担。
BGP路由的发布策略:只将最优路由发布给对等体。如果配置了advertise-rib-active命令,则BGP发布IP路由表中的最优路由;否则发布BGP路由表中的最优路由。只把自己使用的路由发布给对等体。从EBGP获得的路由回向它所有BGP对等体发布。从IBGP获得的路由不向它的IBGP对等体发布。从IBGP获得的路由发布给它的EBGP对等体。BGP连接一旦建立,BGP发言者将把满足上述条件的所有BGP路由发布给新的对等体。之后BGP发言者只在路由变化时,向对等体发布更新的路由。
BGP公认团体属性:
BGP聚合:配置路由聚合,可以减小对路由表中的路由数量。BGP支持自动聚合和手动聚合两种聚合方式。配置自动聚合后,BGP发言者将不再发布子网路由,而是发布自然网段的路由。自动聚合只能对引入的IGP子网路由进行聚合,不能对从BGP邻居学习来的路由和通过network命令发布的路由进行聚合。
BGP反射器作用:路由反色可替代IBGP对等体全连接。路由反射原理就是允许某些网络设备将从IBGP对等体处接收到的路由信息发布给其他特定的IBGP对等体,而这些设备被成为路由反射器。
如果路由更新时从非客户机收到的,仅反射给客户机。如果路由更新是从客户机收到的,反射给所有的非客户机以及客户机,除了这个路由更新始发者。如果路由器更新是从EBGP对等体收到,反射给所有的客户机和非客户机。
反射器的冗余:一个集群中的每个路由反射器都要配置相同的集群ID(Cluster_ID),以避免路由环路的产生。
BGP联盟:联盟(Confederation)是处理自治系统内部的IBGP网络连接激增的另一种方法。联盟将一个自治系统划分为若干个子自治系统,每个子自治系统内部的IBGP对等体建立全连接关系,子自治系统之间建立联盟内部的EBGP连接关系。
BGP路由衰减:用通过设置惩罚值来解决路由震荡问题。