Vlan

虚拟广播域

交换机和路由器协同工作后,将原来一个广播域逻辑上分为多个广播域

第一步:创建VLAN

VID由12位二进制构成,取值范围1-4094

第二步:将接口划入VLAN 一层VLAN vid配置映射到交换机接口,实现VLAN划分---物理vlan/一层VLAN

VID配置映射到数据帧中的MAC地址来区分不同的VLAN---二层VLAN

数据帧种类型字段标记的上层协议映射对应的VID来区分VLAN---三层VLAN

交换机的转发原理:数据通过接口进入到交换机,交换机先记录其SMAC和接口的映射关系, 顺便将接口对应的VID进行记录,之后看DMAC,若目标MAC在MAC地址表中有记录,且VID与 SMAC对应的VID相同,则进行单播,否则进行泛洪,泛红范围为VID与SMAC对应的VID相同的 接口。

具有tag的帧,我们称为tagged帧(802.1Q帧),电脑认识的叫untagged帧,也就是不带标签的 [Huawei-GigabitEthernet0/0/1]port link-type access 接口划入access链路

[Huawei-GigabitEthernet0/0/1]port default vlan 2 将VLAN划入接口

[Huawei]port-group group-member g0/0/3 t g0/0/4 批量创建组

[Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 t vlan 3

[Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan all

我们把交换机和电脑之间的链路称为access链路,access链路只能通过untagged帧

把交换机和交换机之间的链路称为trunk链路,trunk干道,trunk干道中允许通过tagged帧

在access链路中交换机侧的接口我们称为access接口,在trunk链路中,我们把交换机侧的接口 叫做trunk接口、

第三步配置trunk干道

Hybrid---混杂接口

[Huawei]dis port vlan active

PVID---port vlan ID接口所属的VID 就是所有通过接口进入到交换机的数据,都必须打上接口对应的PVID的标签,也就是说交换机 内部的数据都是带标签的数据

Vlan list接口允许通过的列表

T代表tagged帧,指后面对应列表中的VLAN的数据在通过时将携带标签出去

U代表untagged帧,指后面对应列表中的vlan的数据在通过时将不携带标签出去 access接口的工作方式

1.当access接口从链路上收到一个untagged帧后,交换机会在这个帧中添加VID为PVID的tag,然 后再看这个VID在不在允许的列表中(这种情况一定在,因为允许列表中就是PVID),如果 在,则对得到的tagged帧进行转发

2.当tagged帧从交换机的其他端口到达一个access接口后,(也就是交换机内部转发 的处理) 交换机会检查这个帧的tag中的VID是否在自己的允许列表中,如果在,则将tag剥离变成 untagged帧从链路上发出,如果不再,则丢弃。

3.如果access接口从链路上收到一个tagged帧(这种情况也可能发生,比如交换机的一段设为 access,另一端为trunk)交换机会检查他的VID是否在自己的允许列表中,在则转发,不再则 丢弃

需要打标签就按PVID打,是否转发遵循我们的允许列表,从交换机出去时就依据U/T标记来决 定是否携带tag标签

trunk接口的工作方式

1.当trunk接口从链路上收到一个untagged帧,交换机就会在这个帧上添加一个VID为PVID的 tag,然后查看这个VID是否在允许列表中,如果在,则转发,若不在,则丢弃。

2.当一个tagged帧从交换机的其他接口到达一个trunk接口之后,如果这个tag中的VID不在trunk 的允许列表中,则直接丢弃。如果在,则进行转发。如果VID和trunk的PVID相同,则转发出去 先剥离tag标记,如果和PVID不同,则转发时携带tag标记。

3.如果trunk接口在链路上收到一个tagged帧,交换机将先查看这个tagged帧中的VID是否在允许 通过列表中,如果在则转发,否则丢弃。

access接口修改权限:

可以修改PVID,可以修改允许列表(但PVID和允许列表相同且均仅通过一个vlan),出口的封 装方式为不封装----port default vlan ?

trunk接口修改权限:

可以修改PVID,可以修改允许列表,PVID仅一个,允许列表可以多个,出口封装方式为封装 (PVID若在允许列表中,则默认为不封装)

Port trunk allow-pass vlan ?修改允许列表 Port trunk PVID vlan ?修改PVID

hybrid接口修改权限:

可以修改PVID,可以修改允许列表,PVID仅一个,允许列表可以多个,且出去的封装方式可以 修改

A:[Huawei-GigabitEthernet0/0/1]port link-type hybrid

[Huawei-GigabitEthernet0/0/1]port hybrid pvid vlan 2

[Huawei-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3 4

B:[Huawei-GigabitEthernet0/0/2]port hybrid pvid vlan 3

[Huawei-GigabitEthernet0/0/2]port hybrid untagged vlan 2 3

SW1的trunk接口:[Huawei-GigabitEthernet0/0/3]port link-type trunk

[Huawei-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 4

SW2的trunk接口:[Huawei-GigabitEthernet0/0/2]port hybrid untagged vlan 1

[Huawei-GigabitEthernet0/0/2]port hybrid tagged vlan 2 3 4

C:[Huawei-GigabitEthernet0/0/1]port hybrid pvid vlan 4

[Huawei-GigabitEthernet0/0/1]port hybrid untagged vlan 2 4

VLAN间路由

[Huawei]int g0/0/0.1

[Huawei-GigabitEthernet0/0/0.1]ip address 192.168.1.254 24

[Huawei-GigabitEthernet0/0/0.1]dot1q termination vid 2

[Huawei-GigabitEthernet0/0/0.1]arp broadcast enable

SVI技术(交换机的虚拟接口)

VLANIF接口--虚拟三层接口

telnet远程登录服务

通过SVI/VLANIF去实现三层交换机实现VLAN间路由

在二层交换机中,一个设备只能配置一个SVI接口,选择的这个VLAN叫做管理VLAN

在三层交换机中,每一个VLAN,都可以创建一个VLAN接口

STP

spanning tree

生成树协议

1.广播风暴---二层交换机一旦形成环路,将数据帧永远循环下去,最终造成设备瘫痪,设备宕机。

2.MAC地址漂移(MAC地址翻摆)---在MAC地址表里,MAC地址和接口的对应关系回来会变换,来回变换会消耗设备性能

3.多帧复制---同一台设备将会重复收到相同数据帧,消耗设备性能

最短路径树

什么是生成树协议?

在二层网络中,它可以逻辑上阻塞部分接口,可以实现从根交换机到各个交换机设备、各个节点的树形结构,最短 路径树结构,之后就可以避免环路,形成无环的网络,形成没有环路的拓扑。万一出现链路故障,要把部分阻塞的 接口放通,形成备份资源,备份链路。

STP------802.1D---标准生成树

私有协议:PVST、PVST+

RSTP----802.1W---快速生成树

MSTP---802.1S---多生成树协议

交换机和交换机之间发送的数据包叫BPDU

配置BPDU

TCN BPDU

配置BPDU:生成树形结构,维护树形结构的数据包

根桥ID---根网桥ID---根交换机的身份标识---RID---注意:在802.1D一个交换网络生成一棵树,只有一个根

网桥ID--BID----8个字节构成---两部分构成----前两个优先级+后六个MAC地址

交换机彼此之间,需要发送BPDU,所以,交换机需要拥有至少一个MAC地址,如果只有一个MAC地址,则直接使用这个MAC地址放在BID中,三层交换机拥有多个MAC地址,则将选择其中数值最小的作为BID中的MAC地址。

根路径开销---RPC---发出该BPDU设备到达根网桥的开销值大小。

接口ID---PID---发出BPDU接口的身份标识--由两个字节构成---16位二进制构成----前四位优先级 和后12位接口的标识

消息寿命--max hop--20跳--当BPDU的消息寿命达到最大跳数,则设备将不在处理该BPDU

TCN BPDU:用于传递拓扑变更信息的数据包

RPC:接收到的RPC+进入接口的开销值

配置BPDU工作过程::一开始所有交换机运行之后,都将认为自己是根网桥,根网桥则会主动发送 配置BPDU,从所有激活的STP接口上发出,此时也能接收到其他设备的配置BPDU,则进行参数比 较,选择参数最好的作为根,之后将仅由根网桥周期发送配置BPDU,其他设备仅接受根网桥的配 置BPDU进行转发,转发过程中也会修改部分参数,周期是2秒一次,最大老化时间--20秒

TCN BPDU的工作过程:本地的交换链路如果发生故障了,STP要重新收敛,为了加速刷新MAC地 址表,将会给自己所有本地的接口发送TCN BPDU,上级设备收到后,将回复TCA位置1的配置 BPDU作为确认,之后再逐级向上转发TCNBPDU,同时也要逐级确认,最终传递到根网桥上,之 后,根网桥下发TC位置1的配置BPDU,再逐级下发到每一台设备上,所有收到TC位置1的配置 BPDU的设备,将自己的MAC地址表的老化时间从默认的300秒减少到15秒(和转发延迟同 步),目的加快错误信息的删除。

生成树角色选举

1.根网桥--RB---交换网络中有且仅有一台设备

2.根端口--RP----所有非根网桥上有且仅有一个端口作为根端口---用来去接受根网桥发送的配置 BPDU

3.指定端口--DP----每一条链路里有一个端口是指定端口,根网桥的所有端口都是指定端口---用来 发送包括转发我们根网桥的BPDU

4.非指定端口--NDP---被阻塞的接口

BID:8个字节--64位---前两位优先级和后六位MAC地址优先选择数值小的,数值越小,优先级越 高。

两位优先级:16位二进制,取值范围:0-61440,默认值32768,这16位中只取前4位为优先级,后 十二位用作拓展系统ID(仅在MSTP中使用)在修改优先级时,只能按照4096的倍数来进行修改

注意:华为设备支持以上三种标准,但是默认使用的时802.1T标准。

[Huawei]stp pathcost-standard ?

dot1d-1998 IEEE 802.1D-1998

dot1t IEEE 802.1T

legacy Legacy

[Huawei]stp pathcost-standard dot

[Huawei]stp pathcost-standard dot1d

[Huawei]stp pathcost-standard dot1d-1998

根端口:1.比较接口在接收根网桥BPDU时的开销值大小,与最小的作为根端口

2.如果存在多个接口(两个或两个以上)到达根网桥的开销值相同,则比较对端设备的BID,优先 选择BID最小的设备所对应的接口作为根端口

3.如果对端的BID也相同,则比较对端的PID,优先选择PID小的端口所对应的端口

4.如果对端的PID也相同,则比较本端的PID,优先选择PID最小的作为我的根端口

PID:16位二进制,前四位是优先级,后十二位为端口

优先级:4位二进制,每一位代表16 0-240 默认值128

在修改接口优先级的时候,也必须按照16的倍数去修改

指定端口:1.根网桥的所有端口都是指定端口

2.根端口的对端一定是指定端口

转发或者比较发出BPDU时携带的开销值,选择开销值小的作为指定端口

如果发出时的开销值相同,则比较本端的BID,就是你两个端口所在设备的BID,优先选择BID小的 设备对应的接口作为指定端口

如果BID也相同,则比较PID,优先选择PID小的作为指定端口

如果PID也相同,直接阻塞

禁用:不能收发BPDU,也不能收发业务数据帧

阻塞:仅能侦听BPDU,不能发送BPDU和业务数据帧 

侦听:角色选举状态,可以收发BPDU,但是不能转发业务帧,也不能学习MAC地址,等15S之 后(转发延迟)进入下个状态,给15秒的选举时间,主要是防止部分角色没有选举出来,导致 临时环路的出现

学习:仅记录MAC地址表信息,并不转发业务数据帧,持续时间15秒

首次收敛时间50S

1.根网桥故障

2.直连链路故障

3.非直连链路故障

配置生成树:

启动生成树[SW1]stp enable

选择生成树版本[SW1]stp mode stp [SW1]display stp查看生成树信息 [SW1]dis stp brief 查看生成树信息的摘要 [SW5]stp priority 28672修改BID优先级

[SW1]stp root primary 设为主根

[SW2]stp root secondary 设为备份根

[SW1-GigabitEthernet0/0/1]stp port priority 16修改PID

[SW1-GigabitEthernet0/0/1]stp cost 修改接口开销值

PVST:一个VLAN一棵树,将不同VLAN的流量分流到不同的链路上,保证所有链路都参与到流 量转发中,提高了链路链路利用率,如果VLAN较多,树也会多,最终造成维护树形结构的流 量会增多,导致占用资源

RSTP改进点:

1.修改了接口的角色

非指定端口:替代端口、备份端口

替代端口:所有因为和其他设备参数比较最终落败,导致被阻塞的端口,都可以称为替代端口 可以作为根端口的替代,一台设备可以同时存在多个替代端口,当根端口出现故障时,可以立 即将所有替代端口中参数最优的成为根端口,并进入转发状态

备份端口:作为指定端口的替代,所有因为和自己比参数最终落败,导致被阻塞的端口,可以 成为备份端口

当指定端口出现故障时,备份端口将立即成为指定端口,指定端口直接进入转发状态

2.优化了接口的状态

丢弃状态(discarding):不能学习MAC地址,也不能转发业务帧

学习状态(learning):可以学习MAC地址,但是不能转发业务帧

转发状态(forwarding):可以学习MAC地址,也可以转发业务帧

3.对配置BPDU的报文内容进行修

RSTP BPDU类型号0x02

PA机制:摆脱了计时器的束缚,变成了一旦角色确定,则直接进入到后续状态 将角色选举变成两两之间的选举 角色相对确定后,指定端口会发送RSTP BPDU,其中的P位会置1,提议了,我要进入转发状态 了 之后,对端根端口收到后会进入到同步状态,所谓的同步状态,就是将除了该接口以外的其他 接口置于丢弃状态,避免临时环路的出现,同时,对端接口直接进入转发状态,并恢复 BPDU,其中A位置1,之后,指定端口收到后,也立即进入到转发状态,加速收敛

4.对配置BPDU的处理进行了优化

网络收敛后,所有设备可以主动发送配置BPDU(RSTP BPDU) 仅需等待超时时间,三个周期时间6S

5.快速收敛机制

靠替代端口和备份端口实现根端口和指定端口的快速切换

PA机制

边缘接口[SW5-GigabitEthernet0/0/1]stp edge enable

[SW5-GigabitEthernet0/0/1]stp bpdu-filter enable可以过滤掉BPDU

保护机制:因为边缘接口是手动配置,如果接口链接的不是终端设备,而是交换设备,则可能 造成环路影响,所以,生成树提供了保护机制

[SW5]stp bpdu-protection

6.拓扑变更机制进行修改

802.1S MSTP:多生成树:一个或多个VLAN的集合,每一个实例生成一棵树型结构

Instance实例

Instance ID:12位二进制0-4094

域Region:如果交换网络规模较大,则可以分为多个域,分别生成树形结构,如果交换网络规 模并不大,也可以仅使用一个域

MST域

Regon Name

相同的修订等级 Revison Level

实例和VLAN 的对应关系

BID的前两个字节的后面,12位作为拓展系统ID使用,将携带Instance ID,因此,Instance

ID用来区分不同的树。

[SW1]stp enable

[SW1]stp mode mstp [SW1]display stp region-configuration

[SW1]stp region-configuration

[SW1-mst-region]region-name A

[SW1-mst-region]revision-level 1

[SW1-mst-region]instance 1 vlan 1 to 5 SW1-mst-region]active region-configuration

[SW1]stp instance 1 root primary

[SW1]stp instance 2 root secondary

链路聚合技术:可以将多个物理接口捆绑成为逻辑接口,可以在不升级硬件的情况下,达到叠 加带宽的效果

Ether--trunk以太网汇聚链路

链路聚合的条件

1.聚合链路的成员接口需要拥有相同的传输速率

2.聚合链路的两端必须分别在同一台设备上

配置

1.创建聚合口 [Huawei]interface Eth-Trunk 0

2.将物理接口、成员接口划入到聚合口

[Huawei-Eth-Trunk0]trunkport g0/0/1

[Huawei-GigabitEthernet0/0/1]eth-trunk 0

负载分担:

逐包的负载分担

逐流的负载分担

[Huawei]int Eth-Trunk 0

[Huawei-Eth-Trunk0]load

[Huawei-Eth-Trunk0]load-balance ?

dst-ip According to destination IP hash arithmetic

dst-mac According to destination MAC hash arithmetic

src-dst-ip According to source/destination IP hash arithmetic

src-dst-mac According to source/destination MAC hash arithmetic

src-ip According to source IP hash arithmetic

src-mac According to source MAC hash arithmetic

自动聚合方式:LACP

[Huawei-Eth-Trunk0]undo portswitch

注意:成员接口做了其他配置之后,将无法拉入到聚合口中,需要先加入聚合口,再在聚合口 里做配置

VRRP---虚拟路由器冗余技术

版本---V2-----IPV4---华为设备默认使用的是VRRPV2版本

-------V3-----IPV4和IPV6

V2

在VRRP里面存在一个组的概念,需要将所有协同工作的路由器加入到同VRRP组中,不同的 VRRP组需要通过VRID来区分

VRID----8位二进制---1-255

虚拟MAC地址:0000-5e00-01XX(XX指的是VRID)

选举规则:首先,先比较参数中的优先级,优先选择优先级大的作为主设备,其余的为备设 备,如果优先级相同,则比较IP地址,数值最大的作为主设备,其余的为备设备,之后,决策 选举,一旦选举成功之后,将只有主设备会周期性的发送VRRP的报文,一秒一次,失效判断 时间3.6S(Master Down计时器,三倍的周期时间3*周期时间+偏移时间(256-优先 级)/256),如果超时时间内都没有收到主设备的报文,那将重新选举新的主设备去替代原 有的主设备。

优先级--8位二进制----1-255,初始默认值100,注意:在华为设备中,可以将虚拟IP地址配置的 和物理接口的IP地址相同,则该接口将直接成为主接口,成为优先级被定义为255

VRRP 工作过程:首先,一旦网关接口配置了 VRRP ,则所有网关均会发送 VRRP 报文,其中报文 携带参数,然后携带参数选举,先比较参数中的优先级,优先级大的为主设备,其余为备设 备,如果要是优先级相同,则比较IP 地址,选择数值大的作为主设备,其余为备份设备,选取 结束后,将由主设备周期发送 VRRP 报文,作保活。其余设备仅侦听,如果在 器结束后,依然没有收到主设备发送的 Master Down 计时 VRRP 报文,则将认定主设备故障,将重新选举新的主 设备

[R2-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 192.168.1.3配置vrrp

[R2]dis vrrp查看vrrp表

VRRP仅针对优先级进行抢占

[R3-GigabitEthernet0/0/0]vrrp vrid 1 priority 110

PC>tracert 1.1.1.1 追踪流量通过节点

PC>tracert 1.1.1.1一直ping

上行链路监控

[R3-GigabitEthernet0/0/0]vrrp vrid 1 track interface g0/0/1 reduced 11

抢占延迟---一般给主设备配置--20S

为了避免接口、主接口出现来回震荡的故障,可以给主设备配置抢占延迟。在延迟时间后,在 进行抢占。

[R3-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode timer delay 20配置抢占延迟

OSPF数据包

Hello 包

DBD包

LSR包

LSU包

LSACK包

跨层封装

OSPF-协议号----89

ICMP-互联网控制消息协议---协议号--1

OSPF的头部

类型————hello包---1,DBD--2. LSR---3 LSU---4 LSACK---5

路由器ID---发出该数据包设备的RID

区域ID----数据包从哪个接口发出去,就写该接口所在区域ID

认证类型:华为支持三种:1.None不认证2.Simple明文认证3.MD5比对摘要值的认证

哈希算法:相同输入、相同输出。雪崩效应,不可逆性,任意长度的输入都可以转换程相同长度 的输出,输出的内容叫做摘要值

HELLO包--周期性的发现、建立以及维护邻居关系,DR和BDR选举是hello包

网络掩码

hello 时间

路由器失效时间( Dead 时间)

特殊区域标记位

路由器的优先级=接口的优先级,,参与DR和BDR的选举的参数 影响OSPF邻居关系的建立

1. 网络掩码 2.hello 时间3. 路由器失效时间( DBD包-数据库描述报文:主从关系选举,共享数据库的摘要信息,做确认

接口的IP地址就是DR和BDR的身份标识,如果选举出来DR和BDR,则将该接口的IP地址放在对应位 置

DBD包-数据库描述报文:主从关系选举,共享数据库的摘要信息,做确认

接口最大传输单元MTU

注意:华为设备没有默认开启MTU的检测,如果双方均开启,则如果双方MTU值不同,则会停留 在ExStart状态

[R2-GigabitEthernet0/0/0]ospf mtu-enable 开启MTU检测

LSA的头部:摘要信息

DD序列号:保证DBD的顺序性、可靠

本地链路组播:以224.0.0.X为格式的组播地址,都叫做本地链路组播,,他们的特点是TTL归为1,则该组播包仅能在当前的广播域内部发送.

LSR-链路状态请求报文

LSA的三元组:链路状态类型、链路状态ID、通告路由器,三元组可以唯一表示出来一条LSA LSU---链路状态更新报文

LSACK---链路状态确认报文

OSPF接口的网络类型

MA---多点接入网络

BMA--支持广播的多节点接入网络

       (以太网最主要的特点:需要通过MAC地址进行物理寻址,主要因为以太网可以同时 接入多个节点,则不同节点在通信时需要进行区分标识,否则造成通信障碍)

NBMA---不支持广播的多节点接入网络

P2P---点到点网络--

串线标准

T1北美---1.544MBPS

E1---2.048Mbps

频分技术

OSPF接口网络类型----OSPF协议在不同的网络类型下默认的不同的工作方式

[R2]display ospf interface GigabitEthernet 0/0/0

注意:华为设备的串口默认遵循E1标准

注意:环回接口的开销值默认被定义为0

[R1-LoopBack0]ospf network-type broadcast ---修改接口网络类型

OSPF接口五种状态:DR、BDR、DRother、waiting、P2P

注意:如果将环回接口的网络类型从默认的P2P修改为Broadcast,则可以还原真实的掩码长度

[R2-ospf-1]peer 23.0.0.2手动建邻

Attempt尝试状态---当对端指定本端作为单播邻居后,将进入下个状态

P2MP----multipoint

OSPF的不规则区域

OSPF的区域划分:

      1.区域之间必须要存在ABR设备

      2.必须按照星型拓扑划分

1.远离骨干的非骨干

2.不连续骨干

解决方法: 1.虚链路:让非法的设备去找合法的设备,去成为担保人的过程

注意:虚链路的配置是双向的

开销值:到达虚链路对端或者虚链路邻居的开销值

注意:虚链路两端,需要使用单播方式周期发送hello包,进行保活 虚链路永远属于区域0

缺点:1.会存在周期性的数据穿过中间区域,导致额外资源的占用 2.只能穿过单个区域

2.多进程双向重发布

可以把一种协议的数据通过另外一种协议的规则发布出去

因为不同的协议之间,运行的规则各方面都不相同,所以存在信息隔离,可以通过重发布,将一种协议的 数据通过另一种协议的方式发布出去,去打破信息隔离

ASBR-自治系统边界路由器

O-ASE,域外路由信息

ospf的路由:1.域内2.域间3.域外

OSPF的LSA

Type

       区分不同的LSA

linkstate ID链路状态ID

       标识一条LSA,承载LSA信息的载体

Advrouter通告路由器

       谁发的LSA,通告路由器就写谁 [R1]display ospf lsdb router 2.2.2.2

LS Age 链路状态的老化时间

从一条LSA诞生开始,开始计时,在整个网络传播过程中,计时不间断,当一条LSA的老化时间 达到1800S时,则将重新发送一条新的LSA,新的LSA会替代旧的LSA

最大老化时间-3600S:当一条LSA他的老化时间达到最大老化时间之后,我将认为这条LSA信息失 效。会直接删除

周期更新当1800S到达之后,这台设备会把这条LSA重新发一遍,用新的LSA去替代旧的LSA

LEN

Option

序号,主要目的保证新旧关系,设备在发送同一条LSA时,将附加序号,并且依次加一。 序列号空间

80000001----7FFFFFFE

0X80000001---0X7FFFFFFE

注意:当一条LSA的序号使用到最后的序号时,发送时会同时将该LSA的老化时间置为3600S,之后发 给其他设备,其他设备收到后,将根据新旧判断,覆盖掉本地相同的LSA,又因为该LSA的老化时间为 3600S,则将该LSA删除,之后发送一遍该LSA,里边的序号使用0X80000001,起到刷新序列号空间 的效果。

校验和:除了确保数据传输完整性以外,也会参与到新旧判断 如果收到两条LSA,序号也相同,则将认为校验和数值大的为新

Type 1 LSA:一个网络中所有设备都需要发送,且仅发送一条一类LSA,作用携带拓扑信息,并 且直接使用通告者的routerID作为linkstateID

link---用来描述接口连接情况,一个接口可以由多条link来进行描述

Type 2 LSA:用来补充一类LSA在描述拓扑信息时,描述MA网络缺失的内容

一个MA网络只需要DR发送一条二类LSA即可

使用DR的IP地址作为linkID

除了一类LSA和二类LSA,其余4种LSA携带的均为路由信息,并且他们都需要一类和二类LSA的验算

Type 3 LSA---都是由ABR设备通告,使用通告路由的目标网络号作为LSAID-linkID,使用通告者到 达目标网段开销值的累加值作为开销值,之后,设备将该路由信息进行加表的时候,开销值需要用携 带的开销值加自己到达通告者的开销值,通告者的RID需要通过一类和二类拓扑信息进行计算,所谓 的验算过程就是需要通过一类和二类LSA计算出通告者的位置信息

Type 5 LSA---携带的是域外的路由信息,通告者是ASBR设备,使用目标网络的网络号作为linkID

Metric:种子度量值:ospf默认值为1

因为不同协议开销值的评判标准不同,所以在重发布之后,需要舍弃原先的开销值,之后赋予新的度 量值叫做种子度量值

[R4-ospf-1]import-route rip 1 cost 2修改种子度量值

E type 开销值类型:

1.类型一---设备将域外路由信息加表时的开销值等于自己到达通告者的开销值加 种子度量值

2.类型二----设备将域外路由信息加表时的开销值值等于种子度量值 默认使用类型2,E位置0使用类型一,E位置1使用类型2 [R4-ospf-1]import-route rip 1 type 1

FA地址---一般情况下,在5类LSA中,使用0.0.0.0填充

Tag---标记---默认标记为1

[R4-ospf-1]import-route rip 1 tag ?

INTEGER<0-4294967295> Tag value

Type 4 LSA---用来指示ASBR位置的LSA,由ABR设备通告,使用ASBR的RID作为LSID,使用通告者到达 ASBR的开销值的累加值作为开销值(48+1+1)

V位---如果置1,则代表该设备是虚链路的一个端点

E位--如果置1,则代表该设备是ASBR设备

B位--如果置1,则代表设备是ABR(包括非法ABR)

OSPF的优化

 1.汇总----减少骨干区域LSA的更新量

2.特殊区域--减少非骨干区域LSA的更新量

域间路由汇总

在ABR上针对三类LSA进行汇总

[r4-ospf-1-area-0.0.0.2]abr-summary 192.168.0.0 255.255.252.0

注意:域间路由汇总必须是ABR设备自己通过一类和二类拓扑信息学来的才能汇总

域外路由汇总 在ASBR上针对五类/七类

[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0

类型1

注意:如果开销值的类型为类型1,则汇总之后的度量值,为所有明细路由度量值中的最 大值,如果开销值类型为类型2,则汇总之后的度量值为所有明细路由度量值中的最大值 加1

[r4-ospf-1]import-route rip 1 type 1

第一大类特殊区域(末梢区域stub):不能是骨干区域,区域中不能存在虚链路,不能存在 ASBR设备

1.末梢区域--stub---如果将一个区域配置成为末梢区域,则该区域不再学习4类和5类LSA, 并且将自动生成一条指向骨干的3类缺省TYpe3

[Huawei-ospf-1-area-0.0.0.2]stub

2.完全的末梢区域---totally stub---在末梢区域的基础上,进一步拒绝学习3类LSA,仅保留3类缺 省 [Huawei-ospf-1-area-0.0.0.2]stub no-summary

注意:该命令仅需要在ABR设备上配置即可

第二大类特殊区域:不能是骨干区域,不能存在虚链路,必须存在ASBR设备

1.非完全末梢区域--NSSA---如果将区域配置成为非完全末梢区域,则该区域拒绝学习四类和 五类LSA,并且会自动生成一条指向骨干的7类缺省

[Huawei-ospf-1-area-0.0.0.1]nssa

7类LSA---携带的是域外的路由信息,和五类完全相同,但是传播区域仅NSSA区域

FA地址:转发地址 应对选路不佳,如果出现选路不佳,则通告者会将最佳的下一跳放到FA地址中,接收者 将不再按照算法去转发,而是通过直接使用FA地址作为下一跳进行转发。

E位---E位置1,代表该设备支持5类LSA

N位---N位置1,代表设备支持7类LSA

P位---P位置1,代表该LSA支持7转5

2.完全的非完全末梢区域--totally NSSA--进一步拒绝三类LSA,自动生成一条指向骨干的3类 LSA [Huawei-ospf-1-area-0.0.0.1]nssa no-summary

OSPF的拓展配置

1.OSPF的手工认证

        Null-认证

        Simple-认证 MD5对比摘要值的认证方式

             接口认证 [r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

                         注意:两边的认证类型还有Key ID以及口令都必须相同

             区域认证 [r2-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456

             虚链路认证 [r5-ospf-1-area-0.0.0.2]vlink-peer 4.4.4.4 md5 1 cipher 123456

2.OSPF的加速收敛

[r1-GigabitEthernet0/0/0]ospf timer hello 5

[r1-GigabitEthernet0/0/0]ospf timer dead 40

死亡时间修改,hello时间不会自动修改

死亡计时器时间和Waiting time(DR和BDR选举时间)是同步的

Poll--轮循时间---120S

在NBMA环境下,如果一边指定了另一边做邻居,但是对端没有指定自己,则如果超过 等待计时器时间,则将邻居关系视为down,则之后的hello包将间隔轮循时间去发送,减 少资源的浪费

[r1-GigabitEthernet0/0/0]ospf timer poll

Retransmit-重传时间---5S:如果在重传时间内没有收到对方发送的确认报文,则将重新 发送数据包

[r1-GigabitEthernet0/0/0]ospf timer retransmit

Transmit Delay--转发延迟时间--1S:为了补偿LSA在网络中传递消耗的时间,就将该时间 补偿到LSA的老化时间中

[r1-GigabitEthernet0/0/0]ospf trans-delay

3.沉默接口

       如果将接口配置为沉默接口,则该接口将只接收不发送OSPF的数据包 [r1-ospf-1]silent-interface GigabitEthernet 0/0/0

4.缺省路由

三类缺省:末梢区域、完全的末梢区域,完全的NSSA区域

五类缺省:只能通过手工配置 [r3-ospf-1]default-route-advertise----相当于针对本地已有的缺省路由进行了一次重发 布,则以5类LSA传递 [r3-ospf-1]default-route-advertise always --如果本地没有缺省,则可以通过后面加 always来强制下发缺省

七类缺省 [r2-ospf-1-area-0.0.0.1]nssa default-route-advertise

5.路由过滤--实际上是针对3类、5类、7类LSA进行过滤

[r2-ospf-1-area-0.0.0.1]abr-summary 1.1.1.1 255.255.255.255 not-advertise

注意:针对3类LSA的过滤需要在ABR设备上完成,也可以过滤明细路由,但是也必须是 ABR设备自己通过拓扑信息学来的路由信息

[r5-ospf-1]asbr-summary 10.0.0.0 255.255.255.0 not-advertise

6.路由控制

优先级:域内域间

[r5-ospf-1]preference 50

域外:[r5-ospf-1]preference ase 100

开销值

Cost=参考带宽/真实带宽

[r5-ospf-1]bandwidth-reference 1000修改参考带宽

[r1-GigabitEthernet0/0/0]undo negotiation auto

[r1-GigabitEthernet0/0/0]spe

[r1-GigabitEthernet0/0/0]speed 10 修改真实带宽

注意:该操作需要重启接口

[r1-LoopBack0]ospf cost 10

控制层面----路由信息传递的层面,它的方向和数据传输的方向刚好相反 数据层面---根据路由信息转发数据的流量的层面

OSPF中的开销值实际上计算的是控制层面流量的入接口的开销值

7.附录E

RFC文档

在以上情况中,掩码较短的LSA将正常传递,掩码较长的将LSAID改为直接广播地址

OSPF的选路原则

LSA

域内路由信息

       1类和2类LSA

域间路由信息

       3类LSA

域外路由信息

      5类/7类LSA

横向对比

域内--域内

       优先选择开销值小的,如果开销值相同,则负载均衡

域间--域间

       优先选择开销值小的,如果开销值相同,则负载均衡

域外--域外

       E type 开销值类型:

          1.类型一---设备将域外路由信息加表时的开销值等于自己到达通告 者的开销值加种子度量值

          2.类型二----设备将域外路由信息加表时的开销值值等于种子度量 值

类型一永远优于类型二

类型二的选路原则---首先比较种子度量值,优先选择种子度量值小 的,如果种子度量值相同,则比较沿途累加开销值,优先选择沿途累加 开销值小的,如果沿途累加开销值也相同,则负载均衡

OSPF计算区域内路由-区域内防环

OPSF在区域内会产生俩类LSA:Router LSA ,Network LSA 路由器以自己为树根构建最短路径树 ,这里的最短路径树按两步形 成,第一步,仅考虑路由器和传输网络之间的连接。通过 Dijkstra 算 法,根据链路状态数据库的子集形成树。第二步,考虑末节网络连接, 作为叶子加入树。 区域内部OSPF对网络是通过Router LSA ,Network LSA来描述网络 的,最终路由器收到LSA构建出LSDB。 LSDB通过描述一个有向线段图来描述网络拓扑结构,该有向图的端点有 三种类型:路由器节点,Stub网段和Transit网段。

Router LSA使用Link ID,Data,Type和Metric描述一条链路

Stub网段表示该网段只有数据入口,例如一个Loopback接口就是一个 Stub网段。 此胶片描述了路由器节点和Stub网段的表示方式。 Cost表示从一个端点到另一个端点的开销,该参数可以在OSPF接口上配 置,表示数据离开该接口(出接口)的开销。

Transit网段有能力转发既不是本网段产生的,也不以本网段做为目的 地的数据。 有至少两台路由器的广播型网段或NBMA网段就是一种Transit网段。 从路由器到所连Transit网段的开销值就是连接到这个网段的接口所配 置的开销值。 从一个Transit网段到连接到这个网段的路由器的开销为0。(称为伪节点)

在描述点到点接口的Router-LSA中: 1. 通告一个到邻居路由器的点到点链接,Link ID设置为对端的Router ID,Data设置为本地接口的IP地址; 2. 通告一个到该点到点网段的Stub连接,Link ID设置为该点到点网段 的网络号,Data设置为该点到点网段的网络掩码; 3. 上述两个连接的Cost值均为该点到点接口上的Cost值。

LSDB描述两接口处于不同网段的点到点网段的规则如下: 两台路由器经由两条有向线段直接相连,每个方向一条。 两个接口的网段被表示成Stub网段。 每个路由器通告一个Stub连接到该路由器所连的网段。

LSDB描述两接口处于同一网段的点到点网段的规则如下: 两台路由器经由两条有向线段直接相连,每个方向一条。 连接两个接口的网段被表示成Stub网段。 两个路由器同时通告Stub连接到该PPP网段。

在描述广播型或NBMA型接口的Router-LSA中: 1. 如果接口状态是Waiting,或者该网段上只有一个运行OSPF的路由 器,或者该网段上没有DR,则通告一个通往该网段的Stub链接,Link ID设置为该网段的IP网络号,Link Data设置为该网段的网络掩码; 其他情况下,通告一个通往该网段的Transit连接,Link ID设置为DR的 接口IP地址,Link Data设置为本地接口的IP地址。 2. 连接的开销值为接口的开销。

在描述广播型网段或者NBMA网段的Network-LSA中: Link State ID设置为DR的接口IP地址。 Net mask设置为该网段的网络掩码。 Link State ID和Net mask做与运算,即可得出该网段的IP网络号。 在该LSA中,还包含一个连接到该网段的路由器列表。 从一个Transit网段到所连接的路由器的连接没有开销。

计算过程中首先初始化最短路径树,RTA将自己做为根节点添加到最短 路径树上

RTA将自己添加到最短路径树上之后,检查自己生成的Router-LSA,对 于该LSA中所描述的每一个连接,如果不是一个Stub连接,就把该连接 添加到候选列表中,端点ID为Link ID,到根端点的开销为LSA中描述的 Metric值。本例中,添加端点4.4.4.4和2.2.2.2。

当有新节点添加到最短路径树上的时候,则检查LS ID为新节点的link-id ID的LSA,本例中检查LS ID为2.2.2.2的LSA。 如果LSA中所描述的连接的Link ID在最短路径树上已经存在,则忽略该 连接。本例中,Link ID为1.1.1.1的连接被忽略,只有10.3.1.1的连接 被添加到候选列表中。到根端点的开销设置为此连接的Metric值(本例 中此连接的Metric值为1)与父端点(本例中此连接的父端点为2.2.2.2)到根端点的开销(本例中此开销值为48)之和。

检查LS ID为最新添加节点的端点ID的LSA,本例中检查LS ID为 10.3.1.1的LSA。 在所描述的连接中,忽略2.2.2.2,将3.3.3.3和4.4.4.4添加到候选列 表中。从Transit网段到所连路由器的开销为0。 如果在候选列表中出现两个端点ID一样但是到根端点的开销不一样的端 点,则删除到根端点的开销大的端点。

检查LS ID为最新添加节点的端点ID的LSA,本例中检查LS ID为3.3.3.3 的LSA。 本例中,没有新端点被添加到候选列表中。

将候选列表中到根端点的开销最小的端点移动到最短路径树上,本例 中,将4.4.4.4移到最短路径树上。

检查LS ID为最新添加节点的端点ID的LSA,本例中检查LS ID为4.4.4.4 的LSA。 本例中,没有新端点被添加到候选列表中。 如果在此时候选列表为空,则计算最短路径树的第一阶段结束。

OSPF区域间防环

Type-3 LSA及Type-4 LSA的防环 1) OSPF要求所有的非0区域必须与骨干区域直接相连,区域间路由需经由骨干区域中转。 OSPF要求所有的非0区域必须与骨干区域直接相连,区域间(Inter-Area Route)路由需经 由骨干区域中转。这个要求使得区域间的路由传递不能发生在两个非0的区域之间,这在很 大程度上规避了区域间路由环路的发生,也使得OSPF的区域架构在逻辑上形成了一个类似 星型的拓扑,如下图所示。

2) ABR只能够将其所连接的区域的区域内部路由注入到Area0,但是可以将区域内部路由及 区域间的路由注入到非0常规区域。ABR从非骨干区域收到的Type-3 LSA不能用于区域间路 由的计算。 OSPF对ABR有着严苛的要求,区域间的路由传递的关键点在于ABR对Summary LSA的处理。

在上图中,如果R3是一台普通的OSPF路由器(不是ABR),例如当它与R2没有OSPF邻居关系 时,它会根据R4在Area2中泛洪的Type-3 LSA计算出1.1.1.0/24路由并将路由加载进路由表 中。但是当R3与R2建立起OSPF邻接关系后,R3在Area0中就有了一个活跃的全毗邻连接,此 时如果它把描述1.1.1.0/24路由的Type-3 LSA再注入回Area0,那么就会带来潜在环路的风 险,如下图所示:

因此当一台ABR在非Area0的区域中收到Type-3 LSA时,虽然它会将其装载进LSDB,但是该 路由器不会使用这些Type-3 LSA进行路由计算,当然它更不会将这些Type-3 LSA再注入回 Area0中。

这里有一个有意思的细节,就是如果R3连接R2的接口虽然激活了OSPF(而且属于Area0), 但是不与R2形成邻接关系(例如R2连接R3的接口不激活OSPF),那么此时R3其实并不算是 严格意义上的ABR(虽然它产生的Type-1 LSA中B-bit会被置位,但是它在Area0中并没有全 毗邻的邻居),因此它会将Area2内收到的Type-3 LSA用于区域间路由的计算,所以在R3的 路由表中能看到1.1.1.0/24的区域间路由(下一跳为R4),但是一旦R2-R3之间的邻接关系 建立起来,R3将不能再使用R4下发的Type-3 LSA计算路由,而仅能使用从Area0中收到 的、R 2下发的Type-3 LSA进行区域间路由计算,所以此时R3路由表中1.1.1.0/ 24路由的 下一跳为R2,而且即使这条路径的Cost要比从R4走更大(例如将R3连接R 2的接口Cost调 大),R3也始终不会走R4到达1.1.1.0/24,除非R2挂掉,或者R2-R3丢失邻接关系。这个现 象在思科、华为的真机上验证过了,两者均是如此实现。

3) ABR不会将描述一个Area内部的路由信息的Type-3 LSA再注入回该区域中。 实际上,OSPF区域间路由的传递行为,很有点距离矢量路由协议的味道。以下图为例,在 Area1中,R1及R2都会泛洪Type-1 LSA、Type-2 LSA,两台路由器都能够根据这些LSA计算 区域内路由,而R2作为ABR还担负着另一个责任,就是向Area0通告区域间的路由,实际上 它是向Area0中注入用于描述Area1内路由的Type-3 LSA,而这些Type-3 LSA是不会发回 Area1的——是的,类似水平分割行为对吧?接下来R3利用这些Type-3 LSA计算出了区域间 的路由,并且为Area2注入新的Type-3 LSA用于描述区域间的路由,而这些Type-3 LSA同样 的不会被注入回Area0。 R2在向Area0通告Type-3 LSA,为每条区域间路由携带上Cost值,这个值就是它自己到达各 个目标网段的Cost,而R3收到这些Type-3 LSA并计算路由时,路由的Cost就是在R2所通告 的Cost值的基础上,加上R3自己到R2的Cost值,然后,R3向R4通告这些区域间的路由时也 携带者自己到达目标网段的Cost,而R4到达目标网段的Cost则是在R3的通告值基础上累加 自己到R3的Cost——典型的距离矢量行为。

Type-4 LSA实际上与Type-3 LSA都是Summary LSA,只不过一个是Network Summary LSA——用于描述网段路由,另一个则是ASBR Summary LSA——用于描述ASBR,他们使用的 防环机制是一致的。

OSPF域外防环

利用type-4 LSA防环 当一台OSPF路由器将外部路由引入OSPF域后,它就成为了一台 ASBR,被引入的外部路由以Type-5 LSA在整个OSPF域内泛洪。一台 路由器使用Type-5 LSA计算出路由的前提是两个,其一是要收到 Type-5 LSA,其二是要知道产生这个Type-5 LSA的ASBR在哪里。与 ASBR接入同一个区域的路由器能够根据该区域内泛洪的Type-1 LSA 及Type-2 LSA计算出到达该ASBR的最短路径,从而计算出外部路 由。而其他区域的路由器就没有这么幸运了,因为ASBR产生的 Type-1 LSA只能在其所在的区域内泛洪,所以才需要Type-4 LSA。 因此其他区域的路由器在获取Type-4 LSA后便能计算出到达ASBR的 最短路径,进而利用该ASBR产生的Type-5 LSA计算出外部路 由。Type-5 LSA将会被泛洪到整个OSPF域,表面上看,它本身并不 具有什么防环的能力,但是实际上,它并不需要,因为它可以依赖 Type-1 LSA及Type-4 LSA来实现防环。

OSPF的防环

域间防环 1.区域的水平分割---从哪个区域学来的路由信息,就不再发回这个区域 2.星型拓扑

域内的防环 SPF---最短路径优先算法 I-SPF--局部重新计算,减少计算量,加快收敛速度

有向图

网络优化和控制

BFD---双向转发检测-用于快速检测、监控网络中链路或者IP路由的转发联通情况

BFD会话的建立

Local discrimination---本地标识符--进程号--区分本地BFD会话的标识符

Remote discrimination ----远端标识符----对端---对端系统的本地标识符就是我的远端标

识符

静态会话---本地标识符和远端标识符需要手工配置

动态会话---系统自动分配本地标识符,通过数据包获取远端标识符

DOWN状态

INit状态初始化

UP状态

Admin DOwn(给管理员提供了一种手工断开会话的方式)

1.RA和RB各自启动BFD,其初始状态都为Down状态,发送的状态为down的BFD报文

2.RB收到状态为down的BFD报文后,切换自己的状态为Init,并发送状态为Init的报文

3.当RB将本地的状态置为Init之后,将不再处理状态为Down的报文

4.RA的状态变换和RB相同

5.RB收到状态为Init的BFD报文后,本地的状态切换为UP,之后发送的报文状态均为UP

6.RA的状态变换和RB相同

Down状态的设备: 1.如果接收到状态为Down的BFD报文,则状态切换为Init 2.如果接收到状态为Init的BFD报文,则状态直接切换为UP 3.如果接收到状态为UP的BFD报文,则维持Down状态

Init状态的设备: 1.如果接收到状态为Down的BFD报文,则不做处理 2.如果接收到状态为Init的BFD报文,则状态直接切换为UP 3.如果接收到状态为UP的BFD报文,则状态直接切换为UP

UP状态的设备: 将一直维持在UP状态,直到出现链路检测超时或者收到Admin Down,则将状态改 为down

单跳检测场景

第一步:全局激活BFD功能

          [R1]bfd

第二步:创建BFD会话

         [R1]bfd aa bind peer-ip default-ip interface GigabitEthernet 0/0/0

         [R1-bfd-session-aa]

第三步:配置BFD会话

         [R1-bfd-session-aa]discriminator local 10

         [R1-bfd-session-aa]discriminator re

         [R1-bfd-session-aa]discriminator remote 20

         [R1-bfd-session-aa]commit

注意:这里的default-IP指的是使用默认的组播地址发送BFD报文,组播地址默 认为224.0.0.184

注意:BFD传输层使用的是UDP协议,目标端口号是3784,源端口号为随机值,组 播IP地址为224.0.0.184,并使用对应的组播MAC地址发送信息

本地BFD实际发送间隔=MAX(本地TX,远端RX)

本地BFD实际接收间隔=MAX(本地RX,远端TX)

本地BFD报文检测时间=本地BFD实际接收间隔*对端BFD检测倍数

     本地的TX缺省是1000毫秒 本地的RX缺省是1000毫秒 本地的DM缺省为3

多跳检测场景

多跳检测场景 [R3]bfd 1 bind peer-ip 45.0.0.2

[R3-bfd-session-1]discriminator local 10

[R3-bfd-session-1]discriminator remote 20

[R3-bfd-session-1]commit

动态会话

[R3]bfd 2 bind peer-ip 45.0.0.2 source-ip 34.0.0.1 auto

回声功能----BFD的检测模式---仅限于单跳环境

     被动回声--被动echo功能---查询模式---在异步模式基础上实现,发送BFD Echo报 文---目标IP地址就是本地的IP地址,目标MAC地址是对端的MAC地址 单臂Echo---可以在一端配置BFD而另一端没有配置或者不支持BFD的场景下,通过 回声报文来检测链路 [R3]bfd aa bind peer-ip 45.0.0.2 source-ip 34.0.0.1 interface g0/0/0 one-arm-echo 只有特定设备型号支持被动回声功能

异步模式

BFD和静态路由的联动

[R1]ip route-static 0.0.0.0 0 12.0.0.2 track bfd-session 1

BFD和OSPF的联动

[R1-ospf-1]bfd all-interfaces enable

BFD和VRRP的联动

[R2-GigabitEthernet0/0/1]vrrp vrid 1 track bfd-session session-name 1 increased 20

路由策略---就是针对控制层面流量进行抓取,之后,要么修改其中的参数或者直接不转 发该流量,起到干涉路由表的生成,控制选路的效果

控制层面:路由协议传递路由信息的流量,就属于控制层面流量

数据层面:路由器转发数据的流量

数据层面流量和控制层面流量方向刚好相反

ACL可以抓取控制层面流量,但是因为通配符的设计,更适合抓取数据层面的流量,无 法匹配掩码信息,所以并不能精准的抓取控制层的流量

前缀列表---IP prefix-list
[R1]ip ip-prefix aa permit 192.168.1.0 24
[R1]dis ip ip-prefix aa
[R1]ip ip-prefix aa index 15 permit 192.168.1.0 26 ?
[R1]ip ip-prefix aa permit 192.168.1.0 24 less-equal 28
[R1]ip ip-prefix aa permit 192.168.1.0 24 greater-equal 28 less-equal 28

1.前缀列表的规则会自动以10为步调去添加序号,匹配规则是自上而下,逐一匹配,末 尾隐藏一条拒绝所有的规则 注意:[R1]ip ip-prefix aa permit 192.168.1.0 24 greater-equal 28一旦前后矛盾,则前面的数 字就不代表掩码了,而代表前24位固定,后面的数字代表掩码

[R1]ip ip-prefix aa permit 0.0.0.0 0 greater-equal 32---抓取所有主机路由的方法
[R1]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32---抓取所有流量
[R1]ip ip-prefix aa permit 0.0.0.0 0 ---抓取缺省路由

重发布的发布规则:A协议重发布到B协议中,会将A协议学习到的路由信息以及宣告在A 协议中所有接口的直连网段的路由信息都发布到B协议中

路由回馈:轻则选路不佳,重则出现环路

1.RIP的metric IN Metric Out---偏移列表--仅针对距离矢量型协议
[r4-acl-basic-2000]rule permit source 23.0.0.0 0
[r4-GigabitEthernet0/0/1]rip metricout 2000 3 ---出方向修改,后边跟的是开销值计算中的
累加值
[R1-GigabitEthernet0/0/1]rip metricin ip-prefix bb 3---入方向修改,后边的跟的是直接加在
路由表的开销值上
过滤列表
[r2]ip ip-prefix aa deny 34.0.0.0 24
[r2]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
[r2-rip-1]filter-policy ip-prefix aa export GigabitEthernet 0/0/0出接口
[R1-rip-1]filter-policy 2000 import g0/0/0入接口
路由策略---自上而下--逐一匹配,末尾隐含一条拒绝所有的规则
[R2-acl-basic-2000]rule permit source 1.1.1.0 0
[R2-acl-basic-2001]rule permit source 2.2.2.0 0
[R2]route-policy aa deny node 10
[R2-route-policy]if-match acl 2000
[R2]route-policy aa permit node 20
[R2-route-policy]if-match acl 2001
[R2-route-policy]apply cost-type type-1
[R2-route-policy]apply cost 2
[R2-route-policy]apply tag 6666
[R2]route-policy aa permit node 50---该规则为允许所有的规则
[R2-ospf-1]import-route rip 1 route-policy aa

注意:1.即使要拒绝一个路由,在抓取的时候,也选择允许,之后,在路由策略中拒绝 2.在一条规则中,如果没有匹配流量,则代表匹配所有,若果没有小动作,则仅执行大 动作 3.规则和规则之间按照或执行,规则内部的多个if-match或者apply都按照与的关系执行

BGP

自治系统

AS号--16位二进制----1--65534

64512---65534私有AS号

IANA组织

用在AS内部的----IGP协议      用在AS之间的---EGP协议

BGP---边界网关协议V4---无类别的路径矢量协议

MP-BGP

重发布也可以实现AS之间路由信息的传递,但是肯定会有问题: 1.多点重发布必然会造成选路不佳问题 2.ASBR的归属问题

RIP---无类别的距离矢量协议          BGP----无类别的路径矢量协议

            区别: 1.距离指RIP始终以一个路由器为单位衡量开销 路径指BGP始终以一个AS作为单位来看待 2.距离矢量是一种算法 路径矢量不是算法的概念,不需要计算路由,仅搬运或者仅运输路由即可

1.可控性:因为AS之间需要传递大量的路由信息,所谓可控就是可以方便的干涉选路, 更容易做策略

在BGP中,直接舍弃了开销值,取而代之的是给每一条路由信息附加了很多个路径属性

IGP---触发更新+周期更新        EGP---触发更新

2.可靠性---BGP为了保证传输的可靠性,直接选择使用TCP协议来进行数据传输

一旦选择TCP协议,则将无法支持组播或者广播,将无法自动发现邻居关系---BGP需要手 工指定邻居关系

基于TCP的179号端口进行工作

BGP可以支持非直连建邻

BGP的非直连建邻是建立在IGP的基础上

AS内部的邻居关系---IBGP对等体

AS之间的---EBGP对等体

一般情况下,EBGP对等体之间采用直连建立的方法,所以他们之间交互的数据包中的 TTL值被设定为1,而IBGP对等体之间一般采用非直连建立,所以他们之间交互的数据包 TTL值被设定为255

3.AS-by-AS

AS内部传递路由信息时,属性不发生变化 因为AS内部的情况无法评估,所以在BGP里面几乎不存在负载均衡,如果存在多条路 径,则将选择其中最优的一条进行加表

BGP的数据包

1.open报文 建立BGP对等体关系,实际上就是协商参数

          1.AS号,在发送open报文时会携带本地的AS号,会核对端配置中指定的AS号 进行比对,如果相同则可以正常建立邻居关系,不通则邻居关系建立失败

         2.router-id 手工创建---必须按照IP地址格式进行创建 自动获取---优先选择环回接口中地址最大的作为RID,如果没有环 回接口,则优先选择物理接口中数值最大的地址作为RID open报文中会携带自己的RID,对端使用自己本地的RID和他进行比对,如果 相同,则将无法建立邻居关系

        3.认证---在TCP建立链接时,通过TCP的选项字段携带 注意:手工建立邻居关系时,如果对端发送的数据包中的源IP地址和自己指 定的I地址对不上,则将影响邻居关系的建立 holdtime保活时间---180S,选择两端中较小的来执行 route-refresh---携带自己是否开启该功能,如果双方都开 启,则可以使用该功能,否则不能使用,但是不影响邻居的 建立

2.keepalive报文 默认发送周期为1/3保活时间,60S keep alive报文还会临时充当open报文的确认报文---确认open报文中的参数

3.update报文 真正携带路由信息的数据包---目标网络号、掩码信息、该路由的路径属性 bgp的update报文中存在一个撤销路由条目,可以将失效的需要删除的信息放在 该字段下,用来提醒对端删除路由

4.notification报文 BGP的告警机制

5.route-refresh报文 发现邻居是由网络管理员手工指定实现 建立邻居关系---OPen报文 保活邻居关系---keepalive报文

BGP的状态机

BGP可以实现邻居关系建立和发布路由分开完成,而状态机仅描述的是邻居关系建立过 程中的状态变化

IDLE---空闲---在配置完成BGP之后,会进入到一个检查阶段 检查阶段通过,则将进入到下一个状态,检查阶段没通过,则将停留在idle状态 需要检查对端的地址是否路由可达

connect---连接

进行建立TCP会话 如果会话建立成功,则将进入opensent状态 如果会话建立失败,则将进入active状态

active---尝试状态

如果尝试成功,则也将进入opensent状态 如果超过尝试次数都没有成功,则将回到idle状态

Opensent----发送open报文协商参数,在接收到对端的open报文并确认参数,回复keep alive报文侯进入下一个状态

Opencomfirm---等待对方发送keep alive报文进行参数确认,如果收到对方发送的 keep alive报文,则将进入到下一个状态

Established---标志着BGP会话的建立

BGP的工作过程:实现IP可达,手工指定邻居关系,邻居之间依靠单播发送信息,通过三 次握手建立TCP的会话通道,BGP所有的数据包的可靠性均有TCP来保证,使用open报文 和keep alive进行参数协商,完成邻居关系的建立生成一张邻居表,使用update共享路由 信息,主要携带目标网络号、掩码以及路由的路径属性,之后将学来的路由信息记录在 BGP表中(记录的是所有的BGP收发的路由信息)将BGP表中的路由信息添加到路由表 中。主要是因为打到同一个目标网段可能存在多条路由信息,需要选择其中最优的添加 到路由表中。收敛完成之后,将使用keep alive进行周期保活,保活时间默认180S,周期 发送时间是60S,如果出现错误信息,将使用notification进行告警。若发生结构突变,则 使用update进行触发更新。

BGP的路由黑洞

由于BGP协议可以非直连建立邻居,故出现BGP协议在跨越这些未运行BGP协议的路由器 时,导致BGP路由信息传递后,显示控制层面可达,但是数据层面在流量经过这些没有 运行BGP协议的路由器时,因为没有路由信息而无法通过,造成路由黑洞。

1.所有设备全运行BGP 2.在边界设备上进行重发布 3.MPLS

同步原则:当一台路由器从自己的IBGP对等体学习到一条BGP路由信息,他将不会通告 给自己的EBGP对等体,除非他也从自己的IGP协议初学习到相同的路由信息。华为设备 默认关闭了同步原则

BGP的防环

1.EBGP对等体之间的水平分割

AS_path:当一条路由信息离开一个AS时,会将该AS的AS号记录在AS_path 中,之后,如果一个AS的设备收到一条路由信息,其中的AS_path中包含自 己本地的AS号,则将不再学习这条路由信息,防止路由回传,起到防环的效果 ,也可以影响选路,可以优先选择AS_path中数值最短的路由进行加表

2.IBGP对等体之间的水平分割

当路由器从自己的IBGP对等体学习到一条BGP路由时,他将不再把这条路由转发给 其他IBGP对等体,但是,IBGP对等体的水平分割相当于将IBGP对等体之间传递路由 控制在一跳之内,可能会造成路由传递障碍

全连接:让AS内部所有运行BGP的设备彼此之间都建立IBGP邻居关系

缺点:资源占用高、扩展性差

路由反射器

联邦

BGP的基础配置
1.EBGP对等体之间直连建邻
1.启动BGP进程
[R1]bgp 1----注意:后面的1代表的是设备所在的AS的AS号
注意:因为一个BGP设备只能存在一个AS中,所以,BGP只能创建一个
进程
2.配置RID
[R1-bgp]router-id 1.1.1.1
3.手动建立邻居
[R1-bgp]peer 12.0.0.2 as-number 2--注意:后面的AS号代表的是对端所在
的AS号
2.IBGP对等体之间建邻
[R3-bgp]peer 2.2.2.2 connect-interface LoopBack 0修改更新源
3.EBGP对等体之间的非直连建邻
修改EBGP MAX-HOP
[R4-bgp]peer 5.5.5.5 ebgp-max-hop 255

路由发布 1.通过network命令发布路由 (注意,只要是路由表中存在的路由,都可以发布)

[R1-bgp]network 1.1.1.0 24

如果是自己发送的,则为0.0.0.0

* - valid,---可用--所有路由信息再加入到BGP表中时,第一步需要校验下一跳是否可 达

如果可达,则该路由可用,前面会加上星号,如果不可达,则不可用,这条信息将 不再参与评优,只有可用的路由信息才能参与路由的评优中 >---best---最优---如果到达同一目标网段存在多条路由时,则需要通过属性评 比,选择出最优的

注意:只有可用且优的路由信息可以加表和传递

i - internal--内部的

注意:因为AS-by-AS的原则,所以在AS内部传递路由信息时,它的属性不会主动 发生变化

[R2-bgp]peer 3.3.3.3 next-hop-local

2.通过重发布批量发布路由条目

OGN---起源码---origin
i---IGP---所有通过network命令发布的路由,起源码都是i
E---EGP---所有通过egp协议发布的路由
?---incomplete---除了以上两种来源,其余的都是?
S---suppressed---抑制---自动聚合生成汇总网段后会抑制明细路由,则明细路由将不
再传递

3.BGP的路由聚合--汇总

自动聚合
1.只能针对重发布进来的路由信息进行聚合
[R1]ip ip-prefix aa permit 172.16.0.0 16 greater-equal 24 less-equal 24
[R1]route-policy aa permit node 10
[R1-route-policy]if-match ip-prefix aa
[R1-bgp]import-route direct route-policy aa
[R1-bgp]summary automatic 
注意:聚合生成的路由条目下一跳属性默认为127.0.0.1
2.只能按照主类汇总

注意:BGP的自动聚合会同时自动生成一条指向聚合路由的空接口路由,用来防环

手工聚合

[R1-bgp]aggregate 172.16.0.0 22

BGP的手工聚合会同时自动生成一条指向聚合路由的空接口路由,用来防环

因为手工聚合可以在其他AS中执行,则将导致可能会丢失一部分明细路由的属性,尤其是 AS_path属性,因为该属性是用来防环的,一旦缺失,可能会造成环路的出现

注意点一:手工聚合默认不会自动抑制明细路由 注意点二:手工聚合如果在其他AS中执行,会导致丢失一部分明细路由的属性,尤其是AS_path属性

1.路由条目不减反增:默认不抑制明细路由

2.属性丢失引发环路:在非始发AS聚合丢失AS_path

[R2-bgp]aggregate 172.16.0.0 22 detail-suppressed 抑制明细路由

抑制策略:针对抓取到的流量进行抑制(抓谁就抑制谁)

1.第一步:抓取流量

[R4]ip ip-prefix aa permit 172.16.1.0 24

2.第二步:做路由策略

[R4]route-policy aa permit node 10

[R4-route-policy]if-match ip-prefix aa

3.第三步:配置抑制策略

解决部分属性缺失的问题:

需要在聚合时添加一个关键字---as_set

[R4-bgp]aggregate 172.16.0.0 22 as-set

注意:如果明细路由来自多个不同的AS中,则在进行汇总时,启用了AS_SET之后,汇总路由会 携带多个明细的AS号,只不过会用大括号括起来,在AS_PATH属性用来防环时,括号中的AS都 不能回传防止出环,在AS_PATH属性进行选路时,则大括号中的AS看作是一个数字长度

Atomic--aggregate(告警属性)注意:该属性只有在明细路由全部被抑制的情况下才会出 现,如果没加detail-suppressed,他是不会出现的

Aggregator(聚合者属性):记录了在哪台AS,由哪台设备进行的聚合

路由反射器

在将一台路由器指定为路由反射器的同时,需要指定一个或多个她的IBGP对等体作为客户,其 余的IBGP对等体称为非客户

反射规则: 1.所有从客户发来的路由,将反射给他所有的客户和非客户

2.所有从非客户发来的路由,将反射给他的所有的客户

非非不传

3.只有可用且优的路由信息才能被反射

防环:

Originator ID起源者ID

当一条路由被反射出去时,需要携带该属性,记录的时该路由始发者的Router ID

一条反射的路由中需要携带该属性,记录的是该路由的始发者ID,如果一条路由中 已经存在起源者ID,则将不会修改,如果,设备收到一条路由信息,起源者ID是自 己本地的RID,则将不在学习,防止路由回传

Cluster List簇列表

当一条反射路由离开一个反射簇时,需要将该反射簇的簇ID记录在簇列表属性中,当一 台设备看到簇列表中存在自己所在反射簇的簇ID时,将不再学习该路由信息。

[R3-bgp]peer 2.2.2.2 reflect-client

注意以上两个属性,因为是适用于IBGP内部防环使用,所以在发给EBGP对等体时不会携 带

联邦

联邦设备启动时,用联邦AS号启动
[r2-bgp]confederation id 2声明大的AS号
和联邦内的对等体之间建立使用的是小号建立
[r3-bgp]confederation peer-as 64513
[r3-bgp]peer 4.4.4.4 as-number 64513
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
r3-bgp]peer 4.4.4.4 next-hop-local
[r3-bgp]peer 4.4.4.4 ebgp-max-hop
联邦EBGP对等体需要遵循EBGP对等体的传递规则
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 1.1.1.0/24 2.2.2.2 0 100 0 (64512) 1i

联邦在进行防环的时候,用的也是EBGP的水平分割方法,通过携带联邦的AS号来进行防环, 联邦的AS号使用小括号括起来

联邦的AS号使用小括号括起来 小括号的目的:在进行防环时,需要防止回传,但在进行选路时,将不作为AS_PATH中的长度 计算,并且在EBGP对等体之间发送时将不传递

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐