长度:32bit
分类 | 开头标识位 | 网络位 | 主机位 | 范围 | 用途 |
---|---|---|---|---|---|
A类 | 0 | 8bit | 24bit | 0.0.0.0 ~ 127.255.255.255 | |
B类 | 10 | 16bit | 16bit | 128.0.0.0 ~ 191.255.255.255 | |
C类 | 110 | 24bit | 8bit | 192.0.0.0 ~ 223.255.255.255 | |
D类 | 1110 | - | - | 224.0.0.0 ~ | 多播 |
E类 | 1111 | - | - | 240.0.0.0 ~ 247.255.255.255 | 保留 |
VLSM(Variable Length Subnetwork Mask,可变长子网掩码):将网络划分为小的子网络,从主机位借位给网络位
在标准的网络中,32bit的IP地址被分为4段,每段8bit来表示。这使得作为网络号的前缀必须是8位,16位或者24位。当网络号是24位的时候,主机号只有8位,也就是说,可分配的最小的地址块是256个(28=256,而实际可分配的主机地址还要减去两个,一个是网络地址,一个是广播地址,最后为254个),这个数量对于大多数企业来说是不够的。
CIDR(Classless Inter.Domain Routing,无类别域间路由):将部分网络位合并为主机位
按照标准的网络分类来说,一个C类地址是24位网络号,如果很多个C类网络在一起,经过路由器的时候就被宣告成很多条子网掩码为255.255.255.0的路由条目,然而这样是很大数目的,同时也非常消耗路由器的资源。
VLSM是子网掩码往右边移,CIDR是子网掩码往左边移
长度:128bit
每16bit划分为一段,每段由4个十六进制数表示,并用冒号隔开
IPv6地址包括网络前缀和接口标识两部分,网络前缀(64bit)+接口标识(64bit)
基本报头
IPv6的基本报头在IPv4报头的基础上,增加了流标签域,去除了一些冗余字段,使报文头的处理更为简单、高效。
▪ **Version**:版本号,长度为4bit。对于IPv6,该值为6;
▪ **Traffic Class**:流类别,长度为8bit,它等同于IPv4报头中的TOS字段,表示IPv6数据报文的类或优先级,主要应用于QoS;
▪ **Flow Label**:流标签,长度为20bit,它用于区分实时流量。流可以理解为特定应用或进程的来自某一源地址发往一个或多个目的地址的连续单播、组播或任播报文。IPv6中的流标签字段、源地址字段和目的地址字段一起为特定数据流指定了网络中的转发路径。这样,报文在IP网络中传输时会保持原有的顺序,提高了处理效率。随着三网合一的发展趋势,IP网络不仅要求能够传输传统的数据报文,还需要能够传输语音、视频等报文。这种情况下,流标签字段的作用就显得更加重要;
▪ **Payload Length**:有效载荷长度,长度为16bit,它是指紧跟IPv6报头的数据报文的其它部分;
▪ **Next Header**:下一个报头,长度为8bit。该字段定义了紧跟在IPv6报头后面的第一个扩展报头(如果存在)的类型;
▪ **跳数限制(Hop Limit)**:长度为8bit,该字段类似于IPv4报头中的Time to Live字段,它定义了IP数据报文所能经过的最大跳数。每经过一个路由器,该数值减去1;当该字段的值为0时,数据报文将被丢弃;
▪ **Source Address**:源地址,长度为128bit,表示发送方的地址;
▪ **Destination Address**:目的地址,长度为128bit,表示接收方的地址;
与IPv4相比,IPv6报头去除了IHL、Identifier、Flags、Fragment Offset、Header Checksum、Options、Padding域,只增了流标签域,因此IPv6报文头的处理较IPv4大大简化,提高了处理效率。另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念。
扩展报头
IPv6扩展报头是跟在IPv6基本报头后面的可选报头,可以有一个或多个
地址范围 | 描述 | 用途 |
---|---|---|
2000::/3 | 全球单播地址 | 相当于公网地址 |
FC00::/7 | 唯一本地地址 | |
FE80::/10 | 链路本地地址 | 相当于169.224.0.0/16,不能跨网络 |
FF00::/8 | 组播地址 | |
::/128 | 未指定地址 | 相当于0.0.0.0/0 |
::1/128 | 环回地址 | 相当于127.0.0.1 |
地址类型 { 单播( U n i c a s t A d d r e s s ) 任播( A n y c a s t A d d r e s s ) 组播( M u l t i c a s t A d d r e s s ) 地址类型\left\{ \begin{aligned} 单播(Unicast Address) \\ 任播(Anycast Address) \\ 组播(Multicast Address)\\ \end{aligned} \right. 地址类型⎩ ⎨ ⎧单播(UnicastAddress)任播(AnycastAddress)组播(MulticastAddress)
RFC 2723将IPv6地址结构中的任播地址定义为一系列网络接口(通常属于不同的节点)的标识,其特点是:发往一个任播地址的分组将被转发到由该地址标识的“最近”的一个网络接口(“最近”定义是基于路由协议中的距离度量)
单播
任播
无状态(ICMPv6、DHCPv6)
有状态(DHCPv6)
①网络前缀的获取:主机向相连的路由器发送RS,请求前缀信息;路由器通过发送路由器通告RA,回复地址前缀信息
②接口标识的生成:将FFFE插入MAC地址的前24位与后24位之间,并将第7位取反,生成接口标识
③IPv6地址组成:网络前缀+接口标识,形成无DHCP情况下的IPv6
④生成地址的冲突检查:DAD用来在本地链路范围内检测将要使用的IPv6地址是否唯一
路由器通报RA中M=1(DHCP分配IP)、O=1(DHCP分配DNS等)
DUID用来标识一台DHCPv6 server或client
DHCPv6有状态自动分配
DHCPv6无状态自动分配
发出UDP报文,收到ICMP不可达报文实现路径跟踪
不断增大TTL值,实现跟踪
ARP代理:同一网段、不同物理网络上的局数据之间,可以通告ARP代理通信
免费ARP:探测IP地址是否冲突,源IP、目的IP都是自己
TCP标志位:
UDP:在传输数据时,由应用程序根据需要提供报文到达确认、排序、流控等功能
V L A N 路由 { 单臂路由: t r u n k + d o t 1 q + 子接口 三层交换 VLAN路由\left\{ \begin{aligned} 单臂路由:trunk+dot1q+子接口 \\ 三层交换 \\ \end{aligned} \right. VLAN路由{单臂路由:trunk+dot1q+子接口三层交换
Eth-Trunk:同一设备链路聚合
E-Trunk:跨设备聚合
1、手工负载分担:加入Eth-Trunk的链路都进行数据的转发
2、LACP(Link Aggregation Control Protocol):M:N模式,M条链路处于活动状态转发数据,N条链路处于非活动状态作为备份链路
LACP(Link Aggregation Control Protocol)
IEEE 802.3ad
活动链路的选取:
1、优先级高的router为主动端(默认32768),值小优先
2、主动端比较成员链路接口优先级
3、优先级相同,接口号小的优先
抢占机制:活动端口从故障状态恢复后,会从备份链路抢占
1、逐流负载分担:源IP、目的IP相同或源MAC、目的MAC相同;可顺序到达;负载均衡很不易保证
2、逐包负载分担:以报文为单位分别从不同的成员链路上发送
权重越大,流量越大
multiplex vlan(MUX VLAN)
和端口隔离有些不同,端口隔离是针对同一个vlan,同一个网段
MUX VLAN可以解决相同网段,不同vlan之间的隔离,也可以解决相同vlan间的隔离,可以控制vlan间的互通,vlan内的隔离,vlan间的隔离
MUX VLAN | VLAN类型 | 所属端口 | 通信规则 |
Principal VLAN 主VLAN |
Principal Port 主端口 |
可以和所有VLAN通信 | |
Subordinate VLAN 从VLAN |
Group VLAN 互通型从VLAN |
Group Port 互通型从端口 |
可以和Principal VLAN和本VLAN通信 |
Separate VLAN 隔离型从VLAN |
Separate Port 隔离型从端口 |
只能和Principal VLAN通信 |
划分端口隔离的成员,虽然在相同VLAN,但无法互访
划分端口隔离的成员和未划分的可互访
华为交换机支持64个个立足,编号1-64,相同隔离组内的成员无法互访
port-isolate enable group 1
STP防止网络出现环路
1、选举一个根桥
2、每个非根桥选举一个根端口RP
3、每个网段选举一个指定端口DP
4、非RP、DP的端口成为BP(阻塞端口)
STP收敛速度慢:
概念说明
正常MAC表由300秒缓存,通过TCN、TC报文加快刷新MAC
端口状态 | 行为 |
---|---|
disabled blocking listening |
不转发流量,不学习MAC |
learning | 不转发流量,学习MAC |
forwarding | 转发流量,学习MAC |
备份端口(Backup Port):指定端口DP的替代端口,最优BPDU来自于自身
预备端口(Alternate Port):根端口RP的替代端口,最优BPDU来自于外部
STP | RSTP | 行为 |
---|---|---|
disbled blocking listening |
discarding | 不转发流量,不学习MAC |
l earning | learning | 不转发流量,学习MAC |
forwarding | forwarding | 转发流量,学习MAC |
P/A机制(Proposal/Agreement)
快速进入forwarding,P/A仅支持P2P链路,如果不是,仍按照STP进行,由于有来回确认机制和同步变量机制,无需依靠计时器保证无环
置位A的BPDU只能由RP发送
步骤3中,SWB-SWC仍需要30秒进入转发状态,但因为SWC本身的AP不转发,因此对数据转发没有影响
RSTP只有一类BPDU(RST BPDU)
边缘端口:端口UP后,立刻进入转发状态,一般用于连接主机;但边缘端口一旦收到BPDU报文,则边缘端口属性会消失
边缘端口的变化,不会触发拓扑变化
RSTP判断拓扑变化的唯一标准:一个非边缘端口迁移到forwarding状态
BPDU保护:边缘端口配置BPDU保护,收到BPDU报文后,将会立刻关闭
根保护:当端口收到更优的RST BPDU后,进入discard ing,不再转发报文;若一段时间内端口未收到更优的RST BPDU,则恢复到forwarding
TC-BPDU泛洪保护:设备只处理阈值指定的次数TC-BPDU
多生成树协议
跨VLAN;流量均衡
通过Instance划分
MSTP域内可以生成多棵生成树,每棵生成树成为一个MSTI;不同Instance可选取不同的根桥
MSTP是基于RSTP的,默认属于MSTP Instance 0
选举原则
根桥选举
1、桥ID(BID)小优先
2、MAC地址 小优先
根端口选举
1、到达根桥的路径开销 小优先
2、BID 小优先
3、比较对端PID
4、比较本端PID
指定端口选举
1、根路径开销 小优先(根桥上的所有端口都是DP)
2、BID 小优先
3、PID 小优先
根桥向非根桥周期性发送BPDU报文,非根在BPDU老化后重新选举根桥(非直连50秒、直连30秒)
以太网
层次 | 说明 | 最小单位 |
---|---|---|
应用层 | 为应用程序提供网络服务 | PDU |
表示层 | 数据格式化、加密、解密 | PDU |
会话层 | 建立、维护、管理会话连接 | PDU |
传输层 | 建立、维护、管理端到端连接 | Segment |
网络层 | IP寻址和路由选择 | packet |
数据链路层 | 控制网络层和物理层之间通信 | frame |
物理层 | 比特流传输 | bit |
MAC地址:
广播(FF:FF:FF:FF:FF:FF)、单播(头8位的最低位为0)、组播(头8位的最低位为1)
两种帧格式
1、Ethernet II:Length/Type ≥ 1536 (0x0600)
2、IEEE 802.3:Length/Type ≥ 1500 (0x05DC)
HDLC、PPP与以太网都属于数据链路层协议,HDLC、PPP用于串口
信息帧I、监控帧S、无编号帧U
逐步被PPP取代
HDLC可以借用Loopback接口的IP地址和对端建立连接
PPP协议是一种点到点链路层协议,主要用于在全双工的同步、异步链路上进行点到点的数据传输
PPP组件:
1、链路控制协议LCP(Link Control Protocol):用来建立、拆除和监控PPP数据链路
2、网络层控制协议NCP(Network Control Protocol):用于对不同的网络层协议进行连接建立和参数协商
报文类型 | 作用 |
---|---|
Configure-Request | 包含发送者试图与对端建立连接时使用的参数列表 |
Configure-Ack | 表示完全接受对端发送的Configure-Request的参数取值 |
Configure-Nak | 表示对端发送的Configure-Request中的某些参数取值在本端不被认可 |
Configure-Reject | 表示对端发送的Configure-Request中的某些参数本端不能识别 |
LCP报文协商参数
参数 | 作用 |
---|---|
最大接收单元MRU | PPP数据帧中Information字段和Padding字段的总长度 |
认证协议 | 认证对端使用的认证协议 |
魔术字 | 魔术字为一个随机产生的数字,用于检测链路环路,如果收到的LCP报文中的魔术字和本端产生的魔术字相同,则认为链路有环路 |
PPP协议在以太网上的应用
报文类型 | 描述 |
---|---|
PADI | PPPoE发现初始报文 |
PADO | PPPoE发现提供报文 |
PADR | PPPoE发现请求报文 |
PADS | PPPoE发现会话确认报文 |
PADT | PPPoE发现终止报文 |
PPPoE过程类似于DHCP
cost默认值:100M(108)/带宽
报文类型:hello、DBD、LSU、LSR、LSAck
类型 | 用途 |
---|---|
Hello | 用来发现邻居、选举DR/BDR,维护OSPF邻居关系 |
DBD(数据库描述) | 用在数据库交换过程中,确立主/从关系,交换LSA报头,以及确定首个序列号 |
LSR(链路状态请求) | 用在DBD交换过程中,请求本路由器已知的特定LSA |
LSU(链路状态更新) | 用来向已发出LSR数据包,以请求特定LSA的邻居,发送完整的LSA |
LSAck(链路状态确认) | 用来确认本路由器已收到的LSU数据包 |
在OSPF路由计算过程中采用的是Dijkstra算法。OSPF路由器会利用此算法来计算出最短路径树(SPT)。每台OSPF路由器都会发送一种易于解读都报文——链路状态通告(LSA),向邻居路由器描述本机以及本机所连接的链路。
224.0.0.5:所有路由器组播接收
224.0.0.6:DR/DR组播接收
OSPF的流程:
启动 → 建立邻居 → 建立邻接 → 维护关系建立LSDB → 使用SPF算法 → 加载到路由表
网络类型 | 是否和邻居建立邻接关系 |
---|---|
P2P | 是 |
Broadcast | 邻接:DR-BDR、DR-DR Other 邻接:BDR-DR、BDR-DR Other 邻居:DR Other-DR Other |
NMBA | 邻接:DR-BDR、DR-DR Other 邻接:BDR-DR、BDR-DR Other 邻居:DR Other-DR Other |
P2MP | 是 |
DR/BDR基于网段进行选举(P2P网络类型下没有DR/BDR)
原则:
OSPF域内路由
类型 | 名称 | 传播范围 | 描述内容 | 生产者 | LINK STATE ID |
---|---|---|---|---|---|
1类 | Router LSA | 区域内 | 自己的拓扑和路由信息 | 每台router | 始发LSA的路由器router-id |
2类 | Network LSA | 区域内 | 网络拓扑 | DR/BDR | DR接口上的IP地址 |
OSPF域间路由
类型 | 名称 | 传播范围 | 描述内容 | 生产者 | LINK STATE ID |
---|---|---|---|---|---|
3类 | Network-Summary LSA | 相邻区域间 | 重新生成描述路由信息 | ABR | 网段的网络地址 |
OSPF外部路由
类型 | 名称 | 传播范围 | 描述内容 | 生产者 | LINK STATE ID |
---|---|---|---|---|---|
4类 | ASBR-Summary LSA | 其他区域 | 向其他区域描述ASBR的信息(描述ASBR在哪) | 与ASBR同区域的ABR | ASBR的router-id |
5类 | AS-External LSA | 所有区域 | 描述外部路由 | ASBR | 外部网络的目的IP地址 |
7类 | NSSA LSA | NSSA区域 | 描述外部路由 | ASBR | 外部网络的目的IP地址 |
外部开销
优先级:
1类LSA > 3类LSA > E1 5类LSA > E2 5类LSA
display current-configuration configuration ospf
#
ospf 1 router-id 1.1.1.1
import-route direct
area 0.0.0.1
network 192.168.12.0 0.0.0.255
network 1.1.1.1 0.0.0.0
#
return
display current-configuration configuration ospf
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.1
network 192.168.12.0 0.0.0.255
#
return
display current-configuration configuration ospf
#
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.2
network 192.168.34.0 0.0.0.255
nssa
#
return
display current-configuration configuration ospf
#
ospf 1 router-id 4.4.4.4
import-route direct
area 0.0.0.2
network 192.168.34.0 0.0.0.255
nssa
#
return
(1)Router LSA
名称: Router LSA
功能:本路由器针对某个区域所产生的路由信息和拓扑信息
传播范围:本区域内传输
Link-ID:产生者的router-id
ADV router:产生者的router-id
特性:在单个区域中分别只产生一条1类LSA,若在MA网络,1类LSA不完整,需要配合二类LSA生成路由信息以及拓扑信息。
1类LSA的类型:有4种
1.stubnet(末节网络)------路由信息
2.transnet(传输网络仅限于MA网络)----拓扑信息
3.point-to-point —拓扑信息
4.virtual link (虚链路)—拓扑信息
display ospf lsdb router 1.1.1.1
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.1
Link State Database
Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 11
Len : 48
Options : E
seq# : 80000006
chksum : 0xff45
Link count: 2
* Link ID: 1.1.1.1
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
* Link ID: 192.168.12.1
Data : 192.168.12.1
Link Type: TransNet
Metric : 1
R1(router-id为1.1.1.1)产生的Router LSA:有2条链路,其中一个是开销为0的 1.1.1.1,掩码为32,说明是自身的环回地址的路由信息,第二条是开销值为1的192.168.12.1,说明是自身的接口IP,但是没有子网掩码,是拓扑信息,这里是MA网络类型,因此需要2类LSA来补充1类LSA的缺失的路由信息。
(2) Network LSA
名称 :Network LSA
功能:用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码
传播范围:只能在本区域之内传输,终止于ABR
Link ID:DR接口的IP地址
ADV router:DR所在路由器的router-ID
特性:只会出现在MA网络,用于补充1类LSA(1.MA网络的掩码2.MA网络路由器的数量)
display ospf lsdb network 192.168.12.1
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.1
Link State Database
Type : Network
Ls id : 192.168.12.1
Adv rtr : 1.1.1.1
Ls age : 664
Len : 32
Options : E
seq# : 80000002
chksum : 0xa72b
Net mask : 255.255.255.0
Priority : Low
Attached Router 1.1.1.1
Attached Router 2.2.2.2
R1(router-id为1.1.1.1)产生的Network LSA:包含着网络掩码是24,所连接的路由器信息: 1.1.1.1 和2.2.2.2这2个路由器相连接。提供网络掩码和连接路由器的数量。
(3)Network-Summary LSA
名称:Network-Summary LSA
功能 :传递不同区域之间的路由信息
传播范围:整个运行OSPF协议的中。
link-id :传递路由的网络号
ADV router:默认为所在区域ABR的router-id
特性:在穿越不同区域时,由其他的ABR重新产生(ADV router 是变化的)
注意:
ABR: 是指运行OSPF协议的,不同区域之间的那个路由器,比如实验中的R2和R3都是ABR。
display ospf lsdb summary 192.168.23.0
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.1
Link State Database
Type : Sum-Net
Ls id : 192.168.23.0
Adv rtr : 2.2.2.2
Ls age : 878
Len : 28
Options : E
seq# : 80000001
chksum : 0x894a
Net mask : 255.255.255.0
Tos 0 metric: 1
Priority : Low
在R1上查看这条3类LSA,里面传递的是掩码24,其中ADV Router表明是由R2产生的这条3类LSA,开销值为1,经过了1个设备。
(4)AS-External LSA
这里先引出5类LSA,因为4类LSA是为5类LSA服务的,没有5类LSA存在,就没有4类LSA.
名称:AS-External LSA
功能 :用于在整个OSPF中传递外部路由(原本不属于OSPF域)
传播范围:整个运行OSPF协议的路由器域中传播。
link-id :传递外部路由的网络号
ADV router:产生该LSA的router-id (产生本LSA的ASBR的router-id )
特性:跨区域传递的时候,ADV router不会改变,一直是产生这条LSA的路由器的ADVrouter。
display ospf lsdb ase 10.10.10.10
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Type : External
Ls id : 10.10.10.10
Adv rtr : 4.4.4.4
Ls age : 273
Len : 36
Options : E
seq# : 80000001
chksum : 0xb8df
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Medium
分析这个5类LSA,可知它是由4.4.4.4这个路由器产生的,传递的网络号是10.10.10.10,网络掩码为32,它的type是2,开销值为1,FA地址为 0.0.0.0。
解析:
type类型: 外部路由引入的时候,默认的type类型为2,可以修改为type 1,两者的主要区别是,type为2的时候,发送的5类LSA沿途不累加开销值,不管传递多少路由器,都为1; 当type修改为1 后,就累加开销值。
开销值: 这里的开销值也叫做种子度量值。可以在引入外部路由时候进行修改,默认为1。
FA地址:也叫做转发地址,5类LSA和7类LSA都有FA地址,5类LSA的FA地址多数是空的(0.0.0.0),转发地址不为空的时候,则以转发地址加入路由表中。
display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 4 Routes : 4
OSPF routing table status :
Destinations : 4 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
4.4.4.4/32 O_ASE 150 1 D 192.168.12.2 GigabitEthernet
0/0/0
10.10.10.10/32 O_ASE 150 1 D 192.168.12.2 GigabitEthernet
0/0/0
192.168.23.0/24 OSPF 10 2 D 192.168.12.2 GigabitEthernet
0/0/0
192.168.34.0/24 OSPF 10 3 D 192.168.12.2 GigabitEthernet
0/0/0
OSPF routing table status :
Destinations : 0 Routes : 0
OSPF协议的路由优先级为10,当将外部路由引入到OSPF中,所有引入的路由的优先级自动修改为150。
(5)ASBR-Summary LSA
名称:ASBR-Summary LSA
功能:除了ASBR所在区域外,用于通告ASBR位置
Link id:ASBR的router-id
ADV router:默认ASBR所在区域的ABR的router-id
特性:在穿越不同区域时,由新的ABR重新产生。(与3类LSA一致)
display ospf lsdb asbr 4.4.4.4
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.1
Link State Database
Type : Sum-Asbr
Ls id : 4.4.4.4
Adv rtr : 2.2.2.2
Ls age : 43
Len : 28
Options : E
seq# : 80000001
chksum : 0x7cc5
Tos 0 metric: 2
R4引入了直连路由后,成为ASBR,在R1上查看这条4类LSA,ADV Router表明是由R2产生的这条4类LSA,Ls id为R4的router-id 4.4.4.4
(6)NSSA LSA
名称: NSSA LSA
功能:在NSSA区域中,传递外部路由。
传播范围: 在NSSA区域中传递。
Link id :传递路由网络号
ADV router:产生该LSA的router-id
特性:默认为类型2 ,度量值(种子度量值)为1 。携带了FA地址(转发地址),对外产生缺省的7类LSA路由。
display ospf lsdb nssa 10.10.10.10
OSPF Process 1 with Router ID 4.4.4.4
Area: 0.0.0.2
Link State Database
Type : NSSA
Ls id : 10.10.10.10
Adv rtr : 4.4.4.4
Ls age : 124
Len : 36
Options : NP
seq# : 80000001
chksum : 0x669a
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 192.168.34.4
Tag : 1
Priority : Low
7类LSA,在特殊区域NSSA区域中产生,传递的是网络掩码,默认type为2,开销值为1,FA地址不为空,是产生该LSA的路由器的环回地址。
7类LSA的FA地址默认不为空,FA地址是通告给其它区域中的环回地址最大的那个地址。
减少LSA规模
区域类型 | 存在的LSA | 配置方法 |
---|---|---|
STUB | 1、2、3类LSA + 缺省3类LSA | 区域内所有路由器均需配置stub |
Totally STUB | 1、2类LSA + 缺省3类LSA | ABR配置stub no-summary,其余配置stub |
NSSA | 1、2、3、7类LSA + 缺省7类LSA | 区域内所有路由器均需配置nssa |
Totally NSSA | 1、2、7类LSA + 缺省3类LSA | ABR配置nssa no-summary,其余配置nssa |
区域内:SPF算法
区域外:
定时更新:LSA 1800秒更新一次,3600秒超时
触发更新:链路状态变化时,立刻发送更新
Hello报文间隔:
default-route-advertise-always:always表示本身无论有没有默认路由,都会下发
abr-summary:配置在ospf区域视图下
asbr-summary:配置在ospf视图下
如下图所示,RTC访问1.1.1.1,由于1.1.1.1属于Area 0接口,所以访问路径为RTC-RTB-RTA,而没有走最近的RTC-RTA,产生次优路径
最初为CLNP设计,为IP设计改造后变成集成IS-IS
工作在数据链路层(相比于IP层,收到的攻击更少)
不使用IP地址,而是用NSAP地址,8-20字节
NET是一种特殊的NSAP(SEL=00)
ospf与IS-IS的对比:
ospf | IP地址 | IP协议 | Area ID+router ID |
---|---|---|---|
IS-IS | NSAP地址 | CLNP协议 | NET标识符 |
Hello报文:IIH
IS-IS支持P2P和Broadcast
广播网络目的组播MAC:L1(0180-C200-0014)和L2(0180-C200-0015)
1、DIS定期发送CSNP报文(类似于DBD报文)
2、普通路由器向DIS发送PSNP报文(类似于LSR报文)
3、DIS发送LSP报文(类似于LSU报文)
LSP:
L S P I D { 0000.0000.0001.00 − 00 常规 L S P 0000.0000.0001.01 − 00 伪节点 L S P 0000.0000.0001.00 − 01 常规 L S P 的一个分片 LSPID\left\{ \begin{aligned} 0000.0000.0001.00-00 常规LSP \\ 0000.0000.0001.01-00 伪节点LSP \\ 0000.0000.0001.00-01 常规LSP的一个分片\\ \end{aligned} \right. LSPID⎩ ⎨ ⎧0000.0000.0001.00−00常规LSP0000.0000.0001.01−00伪节点LSP0000.0000.0001.00−01常规LSP的一个分片
不同区域的邻接关系形成条件
IS-IS中所有路由器都会形成邻接关系,但LSDB的同步仍依靠DIS完成
类型 | Hello发送间隔 |
---|---|
DIS | 10/3秒 |
非DIS | 10秒 |
将L2明细路由引入到L1中
import-route isis level-2 into level-1
默认情况:L1区域类似于ospf的stub区域,L2只发缺省给L1
接口默认开销值是10
默认开销值类型为narrow
narrow:开销值范围 1~63
wide:开销值范围 1~1677215
类型 | 接收 | 发送 |
---|---|---|
narrow | narrow | narrow |
narrow-compatible | narrow/wide | narrow |
wide-compatible | narrow/wide | wide |
wide | wide | wide |
ATT:L1/2路由器发向L1路由器,告诉L1区域中L1/2
OL(LSDB Overload):只计算该设备上的直连路由
IS Type:用来声明生成LSP的IS-IS类型是L1还是L2,01表示L1,11表示L2
IS-IS DIS | OSPF DR | |
---|---|---|
选举优先级 | 所有优先级都参与选举 | 优先级为0不参与选举 |
选举等待时间 | 2个Hello报文间隔 | 40秒 |
备份 | 无 | BDR |
邻接关系 | 所有路由器都是邻接 | DR Other是2-way(邻居)关系 |
抢占性 | 抢占 | 不会抢占 |
作用 | 周期性发送CSNP,保障LSDB同步 | 为了减少LSA泛洪 |
TCP 179端口
无周期性更新,只发送增量路由(新建邻居时会发送全部路由);BGP不能自动发现邻居,需要手工指定
Open:建立邻居
Keepalive:周期性威驰邻居(Keepalive默认60秒,holdtime默认180秒,如果holdtime=0,则不发送Keepalive消息)
Update:传递路由信息
Notification:BGP报错信息
Route-refresh:通知自己支持的路由刷新能力
其中Notification的错误code定义如下:
1:消息头错误
2:Open消息错误
3:Update消息错误
4:保持时间超时
5:状态机错误
6:终止
(1) BGP只把自己使用的最优路由给对等体
(2) 从EBGP获得的路由会通告给EBGP和IBGP邻居
(3) 从IBGP获得的路由不会通告给IBGP邻居
(4) 从IBGP获得的路由是否通告给EBGP要依据IGP和BGP同步情况来决定,该功能正常都关闭
注:同步功能,需要把BGP引入到IGP中保持同步,但BGP海量路由可能导致IGP崩溃
EBGP(非直连):需要配置BGP多跳,指定更新源(更新接口),TTL默认为1,根据需要调整TTL值;EBGP默认为直连
EBGP传递路由时,会把下一跳改为自身
IBGP则不会修改,因此需要保证下一跳可达,可通告next-hop-local强制改为自身
属性 | 说明 | 包含值 |
---|---|---|
公认必遵 | 所有BGP路由器可识别,必须存在于update消息中 | origin、AS_PATH、Next_hop |
公认任意 | 所有BGP路由器可识别,不要求必须存在于update中 | Local_Pref、Atomic_Aggregate |
可选过渡 | 可在update中携带,接收路由器如不识别,则转发 | Aggregator、Community |
可选非过渡 | 可在update中携带,接收路由器如不识别,则丢弃 | MED(cost)、Originator ID、Cluster List |
分类 | 说明 |
共有 | NO-EXPORT:不能传给EBGP |
NO-ADVERTISE:不能传给任何邻居 | |
NO-EXPORT-SUBCONFED:不能传给其他联盟 | |
INTERNET:缺省值 | |
私有(4字节) | AS(2B):Number(2B) |
AS范围:1~65535
私有AS:64512~65535,共1024个;扩展后AS为4字节
(1) 如果此路由的下一跳不可达,忽略此路由
(2) Preferred_Value高的优先(华为自定义的私有属性,只在本设备生效)
(3) Local_Preference高的优先(整个AS内部)
(4) 聚合路由优先于非聚合路由
(5) 本地手动聚合路由优先于本地自动聚合路由
(6) network引入路由优先于import-route引入路由
(7) AS_PATH长度短优先
(8) 比较origin,IGP>EBGP>Incomplete,i>e>?
(9) MED小优先
(10) BGP下一跳的IGP度量低的优先
以上全部相同,则为等价路由,负载分担(需要人工配置)
(11) CLuster-List短的优先
(12) Originator_ID数值小的优先(没有Originator_ID,用router-id)
(13) 对等体接口IP地址数值小的优先
硬复位:关闭邻居 → 删除路由 → 恢复邻居 → 重新学习路由
rest bgp all
软复位:仅刷新路由
refresh bgp all export/import
peer x.x.x.x ignore:保留该peer所有配置,停止和该peer建立连接,并清除所有相关路由
(1) 动态聚合
聚合后向所有邻居通告
aggregate聚合后的路由,AS_PATH变为自己始发,容易成环(丢失好了原有AS信息),使用如下指令可保留
aggregate x.x.x.x/x detail-suppressed as-set {}
attribute-policy:路由聚合时的策略,可以修改BGP路由相关属性
origin-policy:选择符合route-policy的具体路由来生成聚合路由
suppress-policy:发送/抑制部分明细路由,可以用于route-policy的if-match
suppress + route-policy(deny允许发送/permit丢弃)
(2) 静态聚合
静态路由 null0+network
三种模式:标准、反射、联盟
FULL MESH IBGP的连接数量为 n × ( n − 1 ) ÷ 2 n\times(n-1)\div2 n×(n−1)÷2
联盟将一个AS划分为若干个子AS。每个子AS内部建立IBGP全连接关系,子AS之间建立联盟EBGP连接关系,但联盟外部AS仍认为联盟是一个AS。
好处:
配置联盟ID:联盟内所有router均需要配置
confederation as-number 100
配置内部EBGP:表面EBGP,实质IBGP;注意,联盟内部EBGP,仍需要配置next-hop-local
confederation peer-as 65001 65002 65003
路由宣告:
RR防环:
2000-2999:基本ACL(Basic ACL),网络号选择,只能匹配网络号,不能匹配掩码
3000-3999:高级ACL(Advanced ACL)
4000-4999:以太网帧头(mac),Mac-Based ACL
只能做到路由控制,不能做流量控制
默认deny,既可匹配网络号,也可匹配掩码
ip ip-prefix test permit 0.0.0.0/0 le 32 # 所有地址(所有网络前缀)
ip ip-prefix test permit 0.0.0.0/0 # 默认路由
ip ip-prefix test permit 0.0.0.0/0 ge 32 # 所有主机地址
符号 | 说明 |
---|---|
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
. | 匹配任意单个字符,包括空格 |
+ | 前面字符或序列出现1次或多次 |
_ | 匹配一个符号 |
* | 前面字符或序列出现零次或多次 |
() | 匹配变化的AS,一般与” |
| | 或 |
[] | AS范围,一般与”-“使用 |
- | 连接符 |
常用正则表达式
正则表达式 | 意义 |
---|---|
^$ | 匹配所有本地AS始发的路由 |
.* | 匹配所有AS的路由 |
_10_ | 通过AS 10的路由 |
^10$ | 只有AS 10的路由 |
^10_.* | 从相邻AS 10接收的路由 |
^[0-9}+$ | AS_PATH只有一个AS号 |
默认deny
路由策略:调整路由计算的最佳路径,影响路由表 route-policy
策略路由:调整流量转发路径,忽略路由表 PBR
filter-policy:只能要或不要路由
route-policy:还可以修改路由属性
node之间是”或“,多个if-match之间(即node内部)是”与“
本地PBR:只对本地始发报文有效;如果指定路径不可达,则路由表转发
接口PBR:只对转发的报文有效;只对接口如方向有效;如果下一跳不可达,则按路由表转发
调整网络流量路径的方法:
(1) 通过路由策略方式修改协议属性来控制路由表条目
(2) 采用策略路由在查找路由表之前控制流量行为
规则:
(1) 可以在出方向过滤路由
只能过滤路由信息,不能过滤链路状态信息;对ospf来说,只能过滤3、5、7类LSA路由
(2) 可以在入方向过滤路由
对于链路状态路由协议,仅仅是不把路由加入到路由表中
(3) 可以过滤从其他路由协议引入的路由
只能在出方向过滤,可在ASBR重分布时操作或在某节点使用filter-policy;在入方向过滤是没有意义的
(4) 可以使用filter-policy过滤,也可以使用ip-prefix过滤
作用:
(1) 避免路由引入导致的次优路由
(2) 避免路由回馈导致的路由环路
(3) 进行精确的路由引入和路由通告控制
路由协议 | 优先级 |
---|---|
Direct | 0 |
OSPF | 10 |
IS-IS | 15 |
Static | 60 |
RIP | 100 |
OSPF ASE | 150 |
OSPF NSSA | 150 |
IBGP/EBGP | 255 |
组播地址段 | 描述 |
---|---|
224.0.0.0 ~ 225.0.0.255 | 为路由协议预留的永久组地址 |
224.0.1.0 ~ 231.255.255.255 233.0.0.0 ~ 238.255.255.255 |
Any-source临时组播组地址(ASM) |
232.0.0.0 ~ 232.255.255.255 | Source-Specific临时组播组地址 |
239.0.0.0 ~ 239.255.255.255 | 本地管理的Any-Source临时组播组地址 |
部分预留地址:
224.0.0.1——所有组播主机
224.0.0.2——所有组播路由器
224.0.0.5——所有ospf路由器
224.0.0.6——DR/BDR
224.0.0.9——RIPv2
224.0.0.13——PIM Hello
224.0.0.18——VRRP
224.0.0.22——IGMPv3
普遍组查询与响应;响应抑制
(1) RTA周期(60秒)向所有主机(224.0.0.1)发送普遍组查询信息
(2) 收到普遍组查询后,主机发送响应报文,默认10秒,主机随机选取1-10秒任意值,倒计时到0后,发送响应报文
(3) 假设A先到0,A向所有发送响应,C收到后,发现加入组相同,不会再发送响应报文
(4) 新加入的D,可以不用等待普遍组查询,直接发送响应报文
离开方式:静默离开,130秒无响应则删除组播组
没有查询器选举机制,依靠上面组播网络选举
组成员离开:查询器选举
(1) B向224.0.0.2发送离开消息
(2) RTA发送G2特定组查询报文
(3) 发送2次后没有成员报告,则删除;默认特定组查询周期为秒
查询器选举:基于普遍组查询报文选举,接口IP小优先;非查询不再发送普遍组查询,但会监听查询器的普遍组查询报文
没有响应抑制
(1) RTA周期性向224.0.0.1发送普遍组查询
(2) 成员报告中,指出希望加入或拒绝某些组播源的数据
配置时,include(只接口某源)和exclude(不要某源)
IGMPv1
版本:1
类型:11(普遍组查询);12(成员关系报告)
组地址:0.0.0.0(普遍组查询);组播组地址(成员报告)
IGMPv2
类型:11(普遍组查询、特定组查询);16(成员关系报告);17(离开报文最大响应事件:10秒(普遍);1秒(特定)
普遍和特定的区别在于“组地址”
组播数据在二层泛洪:网络资源浪费;存在安全隐患
二层组播转发表
MAC地址 | 端口 |
---|---|
0100.5e01.0203 | 0 1 3 4 |
(1) 普遍组查询报文到达交换机,交换机广播
(2) 交换机先将0(CPU)和1(到router)记录到组播转发表
(3) 交换机将回复成员关系报告的2和4(加入组的成员)记录到转发表中
适用于密集的园区网络
PUSH模式转发组播报文,建立最短路径树SPT
工作机制:邻居发现;扩散与剪枝(Prone);状态刷新;嫁接(Graft);断言(Assert)
Hello报文:建立邻居;选举查询器(IGMPv1);30秒周期发送
(1) 路由器收到组播流,向下游进行扩散
(2) RPF检查(逆向路径):在单播路由表中查找源地址的出接口,如果收到组播的接口一致,则检查通告
(3) 建立转发表项(S,G)
(4) RTE没有加入组,RTC会修剪掉(RTE发送剪枝报文给RTC)
(1) B向RTE发送成员关系报告,申请加入G1
(2) RTE向RTC发送Graft报文
(3) RTC收到后,在(S,G)表项中增加到RTE的接口信息
(4) RTC向RTE回复Graft Ack报文
状态刷新报文沿着(S,G)表项到达路由器,重置定时器;默认剪枝定时器时间为3分钟,60秒发送刷新报文;刷新报文大小很小
避免组播数据重复发送
选举断言机制:
(1) 到源的单播协议优先级低
(2) 到源的单播cost低
(3) 到源的出接口IP大
(4) A断言获胜后,B、C会从(S,G)表项中删除对于出接口(剪枝下游接口)
A、B、C都会扩散组播报文,A、B、C收到相同的组播报文后,发送断言消息
适用于组播成员分布较为稀疏的网络环境
PULL模式转发组播报文,建立共享树(RPT)和最短路径树(SPT)
汇聚点RP:
(1) A发送成员关系报告,申请加入组
(2) RTE向指定的RP发送(*,G) join报文,形成client↔RP的RPT
(3) 组播源将组播报文发送给RTA
(4) RTA单播向RP发送Register报文
(5) RP解封装Register报文,得到source IP和组播地址
(6) RP将解封装得到的组播报文沿RPT发送给Client A
(7) RP向RTA发送(S,G) join报文,形成source↔RP的SPT
(8) RP向RTA发送Register Stop报文,RTA不再将组播封装在单播报文内,此时
s o u r c e ⟺ S P T ( S , G ) R P ⟺ R P T ( ∗ , G ) C l i e n t source \stackrel{SPT(S,G)}{\Longleftrightarrow} RP \stackrel{RPT(*,G)}{\Longleftrightarrow} Client source⟺SPT(S,G)RP⟺RPT(∗,G)Client
(9) RTE收到RPT的组播后,查找(S,G),形成到source的SPT(switchover)
RPT保持:60秒向上游发送join消息,保持组播路由表状态
IGMP:运行于主机与组播路由器之间,实现成员的加入与离开
PIM:实现组播路由的传递
SR(Segment Routing):把网络分为不同的段,然后拼接起来,用于指导按指定的路径转发
关键要素:
三种基本的Segment:
Prefix:由IGP使用SPF计算得到最短路径,也称SR-BE
Adjacency:头节点指定严格显示路径
Adjacency+Prefix:显示路径与组丢按路径结合,主要用于SR-TE,松散路径
SRGB:从本地标签资源隔离出来的一段区间,专门用于SR,使SR的全局标签和传统MPLS在本地共存