三层交换:思科惯称为MLS(多层交换机)
VLAN间通信
1.单臂路由
如果我们想要创建一个子接口,为下游的本征vlan的成员提供网关功能,需要再加上native字段
R1(config-subif)#encapsulation dot1Q 1 ?
native Make this as native vlan
<cr>
默认情况下VLAN 1通过的流量不加任何vlan标签,如果要求路由器处理vlan 1的数据帧,需要加上native(在比较新的IOS版本中自动会添加native)。
如果想为下游的本征vlan的成员提供网关功能,可以不使用子接口,直接在主接口上配置IP地址即可。
(前提是路由器的子接口和交换机都使用802.1Q进行封装,因为ISL没有native的概念)
2.三层交换机
SVI:三层交换机上一个vlan可以创建唯一一个svi(交换机的虚拟接口),svi是个逻辑的三层接口,可以配置IP地址,类似于单臂路由中路由器的子接口。
SVI的作用:
1.跨vlan通信的时候作为vlan内成员的网关
2.远程telnet
三层交换机在实现跨vlan通信的时候,必须要手工开启路由功能:
SW1(config)#ip routing
使用SVI实现VLAN间通信的步骤:
1.在MLS启用相应的VLAN的SVI,将IP地址配置为和相应的VLAN成员任何一个子网段
2.在该MLS上开启ip routing,让其拥有去往各个VLAN网段的路由表项。
使用SVI实现跨vlan通信,为了实现冗余备份,可以在多台三层交换机上启用相同的svi,但相同的svi必须配置不同的IP地址。
思科的交换机无论是二层还是三层的,每个物理接口都有一个mac地址,华为的交换机不管有多少接口,mac地址都是相同的。
交换机的SVI接口的MAC地址来自于交换机背板,一般交换机的背板会有连续的若干个MAC地址,其中最小的一个永远会自动分配给VLAN 1的SVI,原因是该SVI不用创建就会自动生成,并且不会消失。当在交换机上创建一个新的VLAN的SVI的时候,交换机会自动的将背板可以使用的最小的MAC地址分配后该SVI,当该SVI down掉的时候或者被删除的时候,交换机会将其MAC地址回收。SVI的MAC地址不会永远维持同一个,取决于该SVI什么时间被创建。背板在分配MAC的时候有一个规律,vlan 1的SVI会使用背板mac中最小的一个,其他SVI的mac地址按照创建时间的先后顺序,从小到大依次分配。三层交换机三层接口的MAC如同SVI接口的原理。
SVI的mac地址与背板中的mac地址并不是一一映射,当一个SVI关闭再开启,或者删除后再重新创建的时候,SVI的mac地址都会发生改变。
当启用SVI以后,会随机从背板中选取一个mac地址,作为SVI接口的mac地址。当要实现vlan间通信的时候,PC首先把数据包发送给SVI,三层交换机会使用SVI接口的mac地址作为应答。
二层交换机无法实现跨vlan通信的分析:
1.二层交换机无法开启ip routing,没有路由功能因此也就无法拥有路由表。
2.对于二层交换机而言,在一个时间段内,只能有一个SVI可以工作(不管配置了多少个SVI,一个SVI配置了no shutdown,其他的SVI都会自动shutdown)
三层交换机的所有VLAN的SVI不管配置多少个,都可以同时工作,并且拥有arp表。
二层交换机,在同一时间段仅有一个SVI可以工作,但也有arp表。(telnet的时候)
3.在思科的三层交换机上,启用三层接口,接入层交换机与三层交换机的连接使用access模式。
局限性:一个vlan必须占用一个物理接口
注意:虽然思科的三层交换机可以启用三层接口,但不能像路由器那样配置子接口。
三层交换机的交换机制:
进程交换:逐个查表,逐个转发
快速交换:一次查表,多次转发
CEF:将整张路由表形成FIB,ARP表形成adj表,基于这两张表进行转发。
3560和3750等交换机开启cef
SW1(config)#ip cef distributed (分布式的CEF)
能够支持CEF的设备尽量开启,在开启后可以基于目的地的负载均衡,而在路由器上开启cef可以实现基于目的地和数据包的负载均衡。
尽可能开启基于数据包的负载均衡。
RACL、VACL、MACL的防护机制:
RACL:在路由器上做的ACL只能过滤基于广播域间的流量,无法实现广播域内的流量过滤,广播域内的流量转发不经过路由器。
VACL:实现VLAN内部的ACL的流量过滤。
配置示例:
禁止PC 1的1.1.1.1访问服务器的1.1.1.4:
在接入层交换机上配置
SW1(config)#access-list 100 permit ip 1.1.1.1 0.0.0.0 1.1.1.4 0.0.0.0
SW1(config)#vlan access-map TEST 10
SW1(config-access-map)#action drop (交换机上基于access-map工具,只能drop或farward)
SW1(config-access-map)#match ip address 100
SW1(config-access-map)#exit
SW1(config)#vlan access-map TEST 20
SW1(config-access-map)#action forward (空语句放行其他)
SW1(config-access-map)#exit
SW1(config)#vlan filter TEST vlan-list 1(基于vlan 1应用该策略)
MACL:基于mac地址的ACL过滤
PC 1的mac:0015.622f.58d0
服务器的mac:0016.9db4.fff0
基于MACL完成上面的示例:
mac access-list extended DELL
permit host 0015.622f.58d0 host 0016.9db4.fff0
vlan access-map TEST 10
action drop
match mac address DELL
vlan access-map TEST 20 (空语句放行其他)
action forwad
vlan filter TEST vlan-list 1 (基于vlan 1应用该策略)
注意:此时如果SW1如果拥有去往服务器的arp表项,即使启用了基于mac地址的MACL过滤,也同样可以访问。需要把PC 1的接口shutdown,然后clear arp-cache,然后再开启PC 1的接口,此时就无法访问服务器了。
=======================================================
SPAN:Switched Port Analyzer,交换端口分析器。是一种交换机的端口镜像技术。作用主要是为了给某种网络分析器提供网络数据流,SPAN并不会影响源端口的数据交换,它只是将源端口发送或接收的数据包副本发送到监控端口。
基于接口进行监听:
SW1(config)#no monitor session all (首先清除其他监控会话)
SW1(config)#monitor session 1 source interface fastethernet 0/1 rx (rx入站流量,tx出站流量)
SW1(config)#monitor session 1 destination interface fastethernet 0/4 (把来自fa 0/1的入站流量复制一份发送到fa 0/4接口,默认情况fa 0/4接口不再接收除了监控流量以外的其他流量,方便抓包软件区分流量)
SW1(config)#monitor session 1 destination interface fastethernet 0/4 ingress vlan 1(a 0/4接口除了接收监控流量,还可以接收来自vlan 1的流量,仅限实验室环境,生产环境中不可取!)
基于VLAN进行监控:
SW1(config)#monitor session 1 source vlan 1 rx
SW1(config)#monitor session 1 source interface fastethernet 0/23 rx (还可以监控中继链路)
在3550上只能监控入站流量,在3560及以上型号的交换机上可以同时监控入站和出站的流量,不过建议监控入站方向的流量即可。
SW1(config)#monitor session 1 source interface fastethernet 0/1 - 3 rx(同时监控fa 0/1-3的入站流量)
RSPAN:Remote SPAN
远程SPAN
SW1---SW2---Server(监控/日志)
SW1把vlan内的流量发送到vlan 1000,然后SW2把接收到的vlan 1000的流量,发送给监控/日志服务器。
需要使用特殊的vlan,vlan 1000
一个VLAN是一个基于二层实现的广播域,不是由路由器来分隔。
两种VLAN的部署方案:
静态VLAN部署(当前的主流):
手工把交换机的接口和vlan进行关联,建立接口和vlan的映射的关系。
Local VLAN(本地VLAN):同一个VLAN只能出现在一个交换区块之内。
动态VLAN部署(早期的部署方案):
基于MAC地址的VLAN映射。交换机的接口不会和任何VLAN关联,只要PC连接到client交换机,该交换机不仅会学到源MAC地址,还会发送一个VQP(vlan query protocol)查询报文给server,这个源MAC地址该对应哪个VLAN,server收到该报文之后会立即查看本地的MAC地址到VLAN的映射,如果有映射会立即发送一个VQP的reply给client的交换机,告知client交换机该PC应该和哪个VLAN关联。
End-to-End VLAN(端到端VLAN):一个VLAN的成员可以分布在园区网的各个交换区块之内。
在现如今的网络环境中端到端VLAN已经没有意义,因为在每个交换区块之间的交换机,作为汇聚层或核心层交换机,一般使用三层交换机,这种跨越交换机的VLAN被三层设备隔断以后,相同的VLAN在不同的广播域内。
好处:不管PC连接哪台交换机,不管使用哪个接口与交换机相连,只有server端交换机有该PC的MAC地址到VLAN的映射,就可以加入该VLAN。
缺陷:静态配置MAC地址和VLAN的映射对于一个拥有成千上万台PC的园区网来说,十分繁琐。
VMPS:vlan membership policy server(VLAN组成员策略服务器)
VMPS交换机和client端交换机相连。
相同VLAN内的PC要在一个子网段,不同的VLAN内的PC要在不同的网段。
-------------------------------------------------------------------------------------------------
SVI:switch virtual interface
交换机虚拟接口,逻辑的三层接口,既交互三级的管理VLAN地址。
SVI是联系vlan的ip接口,一个SVI只能和一个VLAN相关联。
SVI可以对应vlan创建,有多个VLAN,就可以创建多少SVI,而且每个SVI都可以配置IP地址。
对于二层交换机而言,在一个时间段内,只能有一个SVI可以工作(一个svi配置了no shutdown,其他的svi都会自动shutdown),一般推荐VLAN 1的SVI,因此,VLAN 1称之为管理VLAN。
-------------------------------------------------------------------------------------------------
access和trunk接口模式:
交换机连接PC和服务器接口必须要使用access模式
交换机连接交换机建议使用trunk中继模式(允许多个VLAN数据通过)
交换机连接路由器建议使用access(没有做单臂路由)
-------------------------------------------------------------------------------------------------
交换机的管理模式:
DTP(dynamic trunk protocol)动态中继协议:用于协商链路是中继链路还是接入链路
switchport mode dynamic auto:
该模式接口只会接收DTP报文,不会主动发起DTP报文,只要接收到DTP报文,链路就成为中继链路
switchport mode dynamic desirable:
主动协商机制,该模式下接口既能够接收DTP又能够主动发送DTP报文。
switchport mode trunk:
将接口设置为中继模式,并强制协商将链路转换为中继链路,发送DTP报文。
switchport mode access:
将接口设置为接入模式,并强制协商将链路转换为非中继链路,不发送也不接收任何DTP报文。
如果两端接口模式都为trunk,建议关闭DTP协议,使用switchport nonegotiate
3550及以下的交换机接口的管理模式默认为dynamic desirable,3560及以上的交换机默认接口的管理模式为dynamic auto。如果两台交换机都为3560,由于默认情况下接口的管理模式都是dynamic auto,无法启用中继链路,必须在接口模式下手工修改。
把3560交换机的接口管理模式修改为dynamic desirable
SW1(config)#interface fastEthernet 0/19
SW1(config-if)#switchport mode dynamic derirable
如果一端交换机接口强制启用trunk,而且启用switchport nonegotiate关闭自动协商(不会发送DTP报文),另一端启用dynamic 模式,则此端交换机接口只能为access模式。
========================================================
802.1Q tunnel(Q-In-Q):
常用于运营商网络环境。
当多家企业使用二层的VPN接入的时候,假设每个公司都定义了VLAN 1-100,如果在公司A中一台PC属于VLAN 10,当数据帧通过企业内部的交换机发送至运营商端交换机时会添加VLAN 10的标识,此时,假如其他公司也部署了VLAN 10,那么该数据帧该发送至哪个公司的VLAN 10呢?
解决方案是,当该数据帧到达运营商端交换机的时候,给该属于公司A中VLAN 10的数据帧,再打一层标识(double tag,双重标记),针对每家公司的数据帧都做相应的双重标记,这样就能够区分数据帧从哪家公司发出要去往哪家公司了。
在企业连接运营商端的交换机的出接口一定要配置为802.1Q trunk模式,连接运营商端的交换机的入接口要定义为802.1Q tunnel
-------------------------------------------------------------------------------------------------
L2 protocol tunnel:二层的协议隧道。
在企业总部和分支结构使用二层VPN接入的网络环境中,总部和分支机构两个场点的边缘交换机相当于是逻辑上的直连。启用L2 protocol tunnel可以让运营商端交换机,收到一端边缘交换机传来的例如VTP、CDP、spanning-tree报文的时候,能够把组播发送的报文,转换成单播加上一个标签,直接以隧道的形式发送给另一端的边缘交换机。这样两端的边缘交换机彼此能够收到对端的VTP、CDP、spanning-tree报文,这样两个场点的边缘交换机就是逻辑的直连。
VTP(VLAN Trunking Protocol)VLAN中继协议
VTP domain(VTP域):一组使用中继链路互联的拥有相同VTP域名的交换机所组成。
同步的是vlan.dat中的VLAN信息。
VTP域名洗刷:初始化的时候所有交换机之间使用中继链路互联,所有交换机的域名都为空,只要在一台交换机上配置VTP域名,该域名会被所有直连的交换机同步过来。
-------------------------------------------------------------------------------------------------
VTP模式:
①server(服务器模式,缺省模式)
1.创建、修改和删除VLAN(只能是标准VLAN)
2.会把本地vlan.dat中的VLAN信息,通告给域内其他交换机。
3.域内其他交换机会同步VLAN的配置信息
4.保存配置到NVRAM。
5.可以被其他server端交换机同步VLAN信息。
6.收到VTP通告会通过中继链路泛洪
②client(客户端模式)
1.无法创建、修改和删除VLAN(可以是标准VLAN和扩展VLAN)
2.所有的VLAN信息都要通过server端发送的VTP通告报文来学习。
3.一般情况下,只接受server端的VLAN信息,不会发送VTP通告。
4.不保存配置到NVRAM
5.收到VTP通告会通过中继链路泛洪
③transparent(透明模式)
1.只能在本地创建、修改和删除VLAN
2.不通告本地vlan.dat中的VLAN信息
3.不会从server端同步VLAN信息
4.保存配置到NVRAM
-------------------------------------------------------------------------------------------------
VTP通告:
汇总通告和子集通告,一般两种通告一起周期性发送,采用组播的形式(因此VTP通告可以基于中继链路泛洪)。
周期性发送:server端一般300s周期性发送一次通告
触发性发送:VTP域内新增加交换机的时候,新增加的交换机会发送VTP通告的请求。
汇总通告:相当于是一份通知,告知接收者,伴随着这个报文之后将会接收到多少份子集通告,汇总通告本身不包含VLAN信息。
子集通告:包含VLAN信息的通告。
特例:client端交换机会发送VTP通告
一般情况下,VTP不会发送VTP通告,只会接收VTP通告,被server端交换机同步VLAN信息。特殊情况是,一台交换机新增加进VTP域,VTP模式为client而且配置修订号为X,此时server端配置修订号为Y,当Y<X的时候,该新加入的交换机不仅不会学习server端的VLAN信息,还会反向发送VTP通告给域内其他交换机。
原因:一台交换机收到一份VTP通告,收到要查看该VTP通告中包含的配置修订号的值和本地的做比较,如果该VTP通告中配置修订号的值大于等于本地的,就会接收该VTP的通告,进行VLAN信息的同步;如果该VTP通告中的配置修订号的值小于本地的,不会接收该VTP通告。
注意:这种特例情况一般而言比较有风险,建立把交换机新加入到VTP域之前,首先清零配置修订号。如果是本来就一直连接的,建议先把中继链路的接口shutdown。
方法:①修改域内为其他,然后再修改回来;②修改VTP模式为transparent,然后再改为client模式。
=========================================================
VTP pruning(VTP剪裁):
在所有的server端和transparent端交换机上开启,client端交换机无法开启。
当一台交换机发送组播或广播的报文给域内的其他的交换机(假设为SW2和SW3),如果SW2和SW3在本VLAN内没有连接任何PC,它们将不会把报文通过中继链路泛洪给下游的其他交换机。
-----------------------------------------------------------------------------------------------------
配置VLAN、trunk、VTP的顺序:
1.在交换机间配置trunk
如果遇到trunk链路起不来,解决方法:
①接口shutdown,日志信息出来以后再no shutdown
②default 接口配置,再shutdown no shutdown。
如果trunk链路起来以后,交换机的灯会闪烁,如果不闪烁,继续上面的步骤。如果看不到灯亮,建议把接口的管理模式修改为dynamic desirable或dynamic auto。
show interfaces trunk(查看接口配置trunk的信息)
2.部署VTP
show vtp status (一定要注意修订号的值)
3.创建VLAN
show vlan brief (查看vlan配置列表)
OSPF的基本特性
1.IGP 一般用于大型网络,属于开放性协议,支持不同的厂商。传递的时候TTL=1.
2.链路状态协议,发送LSA[link status advertisment](链路状态通告),不发送路由。
LSDB(link-state database)链路状态数据库
三张表:邻居表,拓扑表,路由表。
3.无类路由协议,支持VLSM,也支持CIDR
4.OSPF和eigrp都是4层传输层协议,RIP是7层应用层协议。
组播更新:224.0.0.5(常用) 224.0.0.6(DR和BDR用)
5.OSPF的cost值,即为Metric度量值。
6.不是基于传闻的路由协议,路由条目是根据LSDB用SPF算法自己算出来的。
7.在单个区域内,每台路由器都有一张完整的区域内的拓扑图
8.单区域可以是非area 0,区域的划分基于接口。
9.减少了路由条目的数量,OSPF无域内汇总,只能域间汇总和域外汇总,原因是只能对包含纯路由信息的LSA进行汇总。
10.某些LSA只能在一个区域内泛洪,减少了其他区域内的LSDB的数量。
11.OSPF共有5种报文,neighbor:三层直连的路由,adjacency:建立七层关系叫邻接。
12.DR和BDR首先建立邻接关系,然后DR和BDR和所有其他路由器建立邻接关系,DROTHER之间的邻接关系只能达到two-way状态,无法交换LSA。(DR和BDR以及DROTHER可以理解为,班长,副班长,普通学生)
13.Dijkstra算法:①区域内的所有路由器都有相同的LSDB。②每台路由器把自己作为root计算路径。③计算路径使用分段带宽,cost=10^8/BW(bit/s)---每段累加。④最优路径放入路由表来转发。
14.即支持触发更新,又支持周期性更新。LSA30min重发一次。aging-time确定LSA在LSDB中的时间,默认为60min。
OSPF邻接关系建立的7个状态:
1.Down:初始状态,接口被宣告进OSPF,未发送任何报文。
2.Init:通过接口发送一份hello
3.Two-Way:通过接口收到一份neighbor字段包含自身的RID的hello(在MA网段,此时开始选举DR和BDR)
4.Exstart:交互3个不带LSA报头的DBD,根据RID选举主从关系(master/slave)
first DBD中Flag位:I--M--M/S,如果两个路由器的MTU不一致,可能一直卡在Exstart状态。
5.Exchange :由Master发起的带有LSA报头的DBD信息的交互同步。
6.Loading :交互LSR、LSU以及LSack,以实现LSBD的同步。
7.Full :一旦同步,邻接关系就到达Full状态。
环回口路由
假设R3上有一个环回口:3.3.3.3 255.255.255.0
eigrp中路由 D:3.3.3.0/24
OSPF中路由 O:3.3.3.3/32
环回口不是真实的网段,仅仅用于测试。如果环回口被通告进IGP,通告的是个网段3.3.3.0/24,R3路由如果收到一个去往3.3.3.4的报文,会丢包,丢包前可能会经过很多台路由器,浪费了路由器的资源和链路的带宽。如果环回口路由为3.3.3.3/32,R3的邻居收到这个报文后,直接丢包,不会发给R3。
OSPF中的路由表和环回口路由
R1#show ip route
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/65] via 12.1.1.2, 00:00:00, Serial1/0
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/129] via 12.1.1.2, 00:00:00, Serial1/0
23.0.0.0/24 is subnetted, 1 subnets
O 23.1.1.0 [110/128] via 12.1.1.2, 00:00:00, Serial1/0
12.0.0.0/24 is subnetted, 1 subnets
C 12.1.1.0 is directly connected, Serial1/0
--------------------------------------------------------------
R1#show ip ospf interface loopback 0
Loopback0 is up, line protocol is up
Internet Address 1.1.1.1/24, Area 1
Process ID 110, Router ID 1.1.1.1, Network Type LOOPBACK, Cost: 1
Loopback interface is treated as a stub Host
在MA网段建立OSPF邻接关系时,DR和BDR的选举原则:
1.参与该MA网段的路由器接口的OSPF优先级,越高越好(0-255),缺省为1
2.该MA网段所连接的路由器的RID,越高越好。
默认选举时间为wait时间40s,在不选举DR和BDR的链路,邻接关系建立的比较快。
在MA网段,邻接关系建立的过程中,第一台到达two-way状态的路由器立即宣布开始选举,此时wait时间开始倒计时,选举完成后,DR/BDR的身份就固定了。
修改路由器的优先级。
OSPF划分区域的好处:
1、可以在区域边界做汇总,减少了路由表的条目
2、只有一个区域内的路由器才会同步LSDB,LSA的flood在网络边界停止,减少了LSA的flood,加速会聚。
3、缩小网络的不稳定性,一个区域的路由问题不会影响其它区域。
4、利用OSPF解决企业多分部互联。内网互通。同时也可以作为一种热备路由,断线后进行协议切换。
建议:
1.一个ABR最多关联3个区域
2.一个区域内最多50台路由器
3.对于一台运行OSPF的路由器,其邻接状态的邻居最多60台。
ASBR可以是骨干区域内的路由,也可以ABR,也可以是常规区域内的路由器。只要该路由器除了运行OSPF,还运行其他路由选择协议,并且在该路由器上执行了路由重分发,把外部路由引入OSPF域内。
1类LSA:router LSA
①每台路由会为它所连接的区域生成一条1类LSA,无论路由器都多少接口连接到该区域,只发一条LSA。
②这条LSA包含纯拓扑信息,描述该路由所有直连的链路,这些链路的前缀、掩码以及类型。
传播范围:LSA的泛洪只在一个area内,不会穿过ABR(floods within its area only;doesn't cross ABR)
③一台1类LSA的通告者路由器的标识是通告该LSA的路由器的RID,也是路由器的唯一标识。
link-ID:通告该LSA的路由器的RID
ADV Router:通告该LSA的路由器的RID
通告者:每台属于一个area的路由器都会基于该area通告一条1类LSA
把一个串口宣告进OSPF进程,会在LSA中形成关于这条串行链路的两条链路信息。一条是point-to-point网络信息,另一条是stub末节网络信息,看到串行接口,在link count中数量减1即为链路的真实数量。
2类LSA:network LSA
传播范围:只能在一个area内传递,不能穿越ABR
通告者:MA网段中的DR
包含内容:纯拓扑信息,包含该MA网段直接的所有Router的RID信息,该MA网段的掩码
Link-ID:该MA网段的DR接口的IP地址
ADV Router:该DR的RID
注:在OSPF中,关于一个区域内的路由器,所获悉的非直连MA网段的路由是同时通过1类和2类LSA加一起才能获悉。
3类LSA:summary network LSA
传播范围:除了该区域外的整个OSPF路由选择域
通告者:ABR
包含内容:一条3类LSA包含一条OSPF域间路由
link-ID:分别是每条3类LSA路由的前缀
ADV Router:ABR的RID
为了实现3类LSA域间路由可达,接收到3类LSA的路由器一定要知道通告者在哪儿,因此3类LSA在域内传递的时候,每经过一个ABR,其ADV Router都会自动被改写为该ABR的RID。
4类LSA:Summary ASB LSA
传播范围:除了ASBR所在区域之外的所有其他路由选择域
通告者:和ASBR在同一区域的ABR路由器
包含内容:纯拓扑信息,描述了ASBR所在位置。
Link-ID:ASBR的RID
ADV Router:通告者ABR的RID,并且该值每跨越一个ABR都会自动改变,同3类LSA。
5类LSA:external LSA(通过重分发引入的LSA)
外部路由:通过重分发引入的路由,假设在ASBR上既运行OSPF,又运行eigrp,把eigrp的路由通过重分发引入OSPF域内,这些重分发进OSPF进程的eigrp路由,对于ASBR来说就是外部路由。
传播范围:整个OSPF的路由选择域
通告者:ASBR
包含内容:纯路由信息,每一条OSPF域外路由对应一条5类LSA
Link-ID:域外路由的路由前缀
ADV Router:ASBR的RID,该LSA在OSPF域内传递的时候,ADV Router不会发生任何改变。
Summary
域间汇总:需要在ABR上部署,实现对3类LSA的汇总传递。
域外汇总:需要在ASBR上部署,实现对5类LSA的汇总传递。
做手工汇总要考虑4点:
1.是基于链路级的还是进程级的?
RIP和eigrp都是基于接口的链路级汇总,而OSPF是基于进程的
2.汇总路由什么时候消失?
最后一条明细路由消失的时候,汇总路由消失。
3.汇总之后,汇总路由被通告,本地是否会产生一条指向NULL接口的防环路由?
RIP不会,eigrp和OSPF都会。
4.汇总路由的度量值。
都是明细路由中度量值最小的。
域间路由汇总:本地路由器会生成一条指向Null0接口的路由
--限制的LSA条数
100阈值(threshold percentage),默认75,达到LSA的75%会报警。
ignore-time:默认5分钟。当非本地产生的LSA超过限制数量的时候,如果5分钟内依然没能解决问题,就会保护LSDB会down掉邻居,down掉以后在5分钟后会重新建立邻接关系。最小为1分钟。
ignore-count:down邻居的次数,超过一定的限制再也建立不了邻居关系。
reset-time 用于ignore-count,默认为3分钟。假设现在ignore-count为2,down了以后重新建立邻居关系,如果这一次邻居关系在3分钟内十分稳定,就会重置ignore-count。
OSPF建立邻接关系的6个条件:
①相同的hello和dead时间
②直连接口属于相同的区域
③相同认证类型和密钥
④相同的末节网络标识
⑤相同的MTU
⑥相同的网络类型
stub区域特性:
①建议一个区域内只有一个ABR
②当把一个区域部署为stub区域时,保证此区域内所有的路由器都把此area部署为stub区域。
③当把一个区域部署为stub区域时,此area内不能包含ASBR。
④此area不能为area 0
⑤此area内不允许虚电路(即:边界上不能连接其他区域)
RIP路由重分发进OSPF进程
如果将一个OSPF区域部署为stub区域,该区域的ABR会将进入区域方向的4、5类LSA同时过滤,同时该ABR会主动向区域内部发送一个O*IA的0.0.0.0/0的3类缺省路由,seed metric默认为1。
【需要注意的是】:NSSA区域内的ABR虽然能够把NSSA区域内的7类LSA转换成5类LSA发给其他区域,却阻止其他区域传来的4类和5类LSA,并且该ABR不会主动向区域内部下放一个O*N2的0.0.0.0/0的缺省路由。
作用:其他区域的路由想要访问ASBR所在的网段,必须要通过NSSA区域的ABR把其他区域的O E2路由转换为7类路由下放到NSSA区域,这样才能够实现NSSA区域和其他区域的连通性。
假设此时,在NSSA区域的ABR上把RIP路由重分发进OSPF,那么该ABR同时为ASBR。那么该ABR会把外部RIP路由以5类LSA的形式在其他区域传递,以7类LSA的形式在NSSA区域内传递。ASBR和其他区域的路由也会收到重分发进OSPF的RIP路由。而此时,ABR已经给NSSA区域下放了一条标记为O*N2的0.0.0.0/0的7类缺省路由,ASBR不需要这条RIP路由也可以与ABR和其他区域的路由进行互通,这无疑增加了LSA的数量。
如果将一个OSPF区域部署为stub区域,该区域的ABR会将进入区域方向的4、5类LSA同时过滤,同时该ABR会主动向区域内部发送一个O*IA的0.0.0.0/0的3类缺省路由,seed metric默认为1。
如果要修改seed metric值要在下方缺省路由的路由器上。
在stub区域的基础至上,ABR路由会同时将3、4、5类入向传递的LSA过滤掉,同时会主动向该区域注入一条0.0.0.0/0 O* IA的缺省路由,seed metric缺省也为1。
not-so-stubby area(次末节区域)
NSSA区域允许有ASBR。外部重分发进OSPF进程的路由以7类LSA的形式在域内传递 ,该区域内的ABR成为translator,把7类LSA翻译成5类LSA通告给其他区域。
7类LSA只能在NSSA区域内,forward address为ASBR的环回口地址。
假如NSSA区域内有两个或多个ABR,比较router-ID,router-ID最大者成为translator。
R3(config)#router ospf 110
R3(config-router)#area 2 nssa
所有路由器都要配置为 nssa区域
此时,ABR 路由器会收到两条标记为O N1和O N2的路由条目
O N1类似于O E1,seed metric值为1,在NSSA区域内传递的时候,度量值累计,只能被ABR转换成 O E1路由,传递给其他区域的路由器。
O N2类似于O E2, seed metric值为2,在NSSA区域内传递的时候,度量值不累计,只能被ABR转换成 O E2路由,传递给其他区域的路由器。
此时,NSSA区域内的ABR,在其他区域的路由器看来,既是ABR也是ABSR,O E1和O E2都是5类LSA。
ASBR的概念:只要一台路由器可以产生5类LSA,该路由器就是ASBR。
NSSA区域的每一台路由器,都可以成为ASBR。
对NSSA区域而言,区域内的ASBR,其他区域的路由器不知道它的身份,因为向其他区域通告LSA,都是ABR通过translate完成的,在其他区域的路由器看来NSSA区域内的ABR才是“真正的ASBR”。其实,NSSA区域的ABR是个伪ASBR,因为forward address是ASBR的环回口地址,所有其他区域的路由器想与外部AS通信,都要把报文最终发送给NSSA区域内部的ASBR,这才是真正的ASBR。
【需要注意的是】:NSSA区域内的ABR虽然能够把NSSA区域内的7类LSA转换成5类LSA发给其他区域,却阻止其他区域传来的4类和5类LSA,并且该ABR不会主动向区域内部下放一个O*N2的0.0.0.0/0的缺省路由。
作用:其他区域的路由想要访问ASBR所在的网段,必须要通过NSSA区域的ABR把其他区域的O E2路由转换为7类路由下放到NSSA区域,这样才能够实现NSSA区域和其他区域的连通性。
假设此时,在NSSA区域的ABR上把RIP路由重分发进OSPF,那么该ABR同时为ASBR。那么该ABR会把外部RIP路由以5类LSA的形式在其他区域传递,以7类LSA的形式在NSSA区域内传递。ASBR和其他区域的路由也会收到重分发进OSPF的RIP路由。而此时,ABR已经给NSSA区域下放了一条标记为O*N2的0.0.0.0/0的7类缺省路由,ASBR不需要这条RIP路由也可以与ABR和其他区域的路由进行互通,这无疑增加了LSA的数量。
我们现在知道forward address地址是NSSA区域的真正的ASBR的环回口地址,其他区域想要发送报文至外部AS,最终还是要使用该地址。可我们没有必要让NSSA以外的区域知道真实ASBR的存在,因为ABR实际已经成为ASBR的代言,其他区域的路由器想要发送报文到外部AS,只要把报文发送到ABR即可,ABR通过1类LSA把报文发送给ASBR。现在需要把forward address置为0.0.0.0,在ABR上进行配置,让ABR进行7类LSA---5类LSA转换的时候,抑制掉其中的forward address。
ABR(config-router)#area 2 nssa translate type 7 suppress-fa(当把7类LSA转换成5类的时候,会抑制掉其中的fa地址)
这样做的好处是:①节约了ABR的资源②隐藏了NSSA中真实ASBR的身份。
最后注意一个细节:在ABR上抑制forward address之前,NSSA域外的路由器上显示关于重分发进OSPF进程的RIP路由的forward address为0.0.0.0,这是为什么?因为这台NSSA区域的ABR,同时也是相邻区域的ABR,由于此时ABR上重分发了RIP路由,在相邻区域的路由器看来,RIP路由是正常的外部路由,forward address为0.0.0.0
Totally not-so-stubby area(完全次末节区域)
ABR(config-router)#area 2 nssa no-summary (过滤3、4、5类进入NSSA区域的LSA)
Totally NSSA区域,是基于NSSA区域概念的基础之上,ABR会主动阻止3、4、5类进入NSSA区域的LSA,并且ABR会主动向区域内下放O IA 0.0.0.0/0的缺省路由。
路由加入路由表的优先级顺序:
O>O IA>O E1/E2=O N1/N2(内部路由>域间路由>外部路由)
*********************************************************************************************
不规则区域:
①远离骨干区域的非骨干区域。
②被分割的Area 0
不规则区域一般是由于网络割接造成的。
三种临时解决方案:
1.在出现问题的ABR上(没有和Area 0直连的ABR),使用双OSPF进程,并且执行单点双向重分发。
在出问题的ABR上使用两个OSPF进程,110和100,两个进程相当于是两个IGP路由协议
2.在出现问题的ABR上建立一个tunnel链路,连接到离其最近的Area 0中的ABR路由器上。在这两台ABR上对Tunnel配置IP地址为同一个IP网段,并且将其宣告进OSPF的Area 0。
通过tunnel这条虚电路,出问题的ABR逻辑上就相当于直连了Area 0,可以实现与其他区域3类LSA的传递,因此这台ABR上就有了正常的路由表,通过1类LSA,出问题的这个区域的路由器都有了正常的路由表,就可以与其他区域互联互通。
在距离Area 0最近的ABR路由器R1上进行相应的配置:
注意:写静态路由,不要将tunnel的源、目的地址宣告入OSPF,这样容易引起路由翻动,邻接关系频繁的down和up
3.使用virtual-link,在出问题的ABR以及离它最近的Area 0中的ABR上部署。
virtual-link类似与tunnel的逻辑链路,OSPF专有的特性。
virtual-link只能跨越非骨干的常规区域,特殊区域不可以。
在出现问题的ABR上进行如下配置:
R3(config)#router ospf 110
R3(config-router)#area 2 virtual-link 91.1.1.1 (对端R1的router-ID)
在距离Area 0最近的ABR路由器R1上进行相应的配置:
R1(config)#router ospf 110
R1(config-router)#area 2 virtual-link 93.3.3.3 (对端R3的router-ID)
virtual-link建立的条件:
出问题的ABR和离它最近的Area 0中的ABR必须在同一个区域(必须能收到1类LSA),因为virtual-link的建立是通过两端的router-ID,两者必须能通过1类LSA知道互相的位置。
**********************************************************************************************
OSPF的认证:
两种:链路级认证和区域级认证
都支持明文和密文
----key ID
----密文
两端必须一致,否则无法建立邻接关系。
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
区域级认证:
在区域内的一台路由器上启用了关于该区域的认证,区域内的所有路由器上必须做相同的认证。
如果区域内部有多个网段,每个网段中使用的密钥可以不同,只要保证每个网段中链路两端的接口配置的认证密钥相同即可。
启用virtual-link的密文认证,只有在virtual-link初始化建立邻接关系的时候生效。
OSPF Network Type
1.Loopback类型
无论接口掩码多少,都以/32主机路由通告。
2.point-to-point类型
serial/ISDB/BRI/ 、FR point-to-point(帧中继点到点)、subif支持组播,没有DR和BDR
点到点链路,修改接口的网络类型,可以实现DR和BDR的选举。
如果一端是点到点类型,一端是广播类型,这样不匹配的网络类型,即使建立起邻居也没有意义。
只有一种情况:链路两端的网络类型可以不匹配:一端是P2P,一端是P2MP,可以正常建立邻居,也可以有正常的路由表,不选举DR和BDR。比如:hub和spoke结点,一端P2MP,一端P2P,不过要修改hello时间,P2MP网络中OSPF的hello时间为30s,把hub的hello时间修改为10秒。此时,路由器之间ping不通,不过ping 2.2.2.2 source 3.3.3.3可以通,说明主机之间可以互通,而这才是我们真正关心的。
3.broadcast类型
Ethernet:支持组播,选举DR和BDR。
4.NBMA类型
FR主接口/FR多点子接口
不支持组播,只支持单播,选DR和BDR
hello 30秒发送一次,dead和wait时间120秒一次。在帧中继环境,建立邻居关系要2分钟。
小结:点到点和广播型网络,10秒发送一次。NBMA30秒发送一次。
MA网段:①Ethernet(广播型网络)②FR帧中继(MBMA非广播)
两端都是非广播non-broadcast,需要在ospf进程下指定neighbor,只需要在一端指定即可。
R1(config)#router ospf 110
R1(config-router)#neighbor 12.1.1.2
而RIP需要双向指定neighbor
eigrp也要双向指定
5.point-to-Multipoint类型
不选举DR和BDR,hello时间也是30秒
支持组播
自动生成关于直连邻居接口的/32的主机路由
在帧中继环境中这个类型是最佳的网络类型。
6:Point-to-Multipoint Non-Broadcast类型
不支持组播,只支持单播,需要在ospf进程下指定neighbor
没有DR和BDR
也会自动生成关于直连邻居接口的/32的主机路由
hello时间也是30秒
支持组播:如果接口支持组播,被宣告进OSPF进程后,会主动发送组播报文。
不支持组播:被宣告进OSPF进程后,不会主动发送组播报文。
在FR环境中部署OSPF
1.使用NBMA网络类型
为了建立邻居需要在Hub节点手工指neighbor,为了保证路由传递没问题,需要手工修改接口的OSPF优先级,保证Bub成为DR,spoke什么都不是。
为了保证spoke节点所连接的下游网段内的PC可以互访,需在spoke节点彼此指FR映射。
2.使用Broadcast网络类型
由于支持组播发送,因此不需要手工指Neighbor(FR Map开启伪广播功能)
需要修改接口OSPF优先级改变,使得Hub为DR,spoke什么都不是。
需要手工配置FR的映射,实现spoke节点彼此访问。
3.使用P2P-Multipoint Non-Broadcast
需要手工指Neighbor才能建立邻居
不需要手工修改接口OSPF优先级,因为不选举DR/BDR
不需要手工指定FR映射,因为自动生成关于直连邻居接口的/32的主机路由。
4.使用P2P-Multipoint网络类型
不需要手工指neighbor
不需要手工修改接口的OSPF优先级
不需要手工指定FR映射。
OSPF被动接口:
RIP:不能发送广播和组播,但可以发送单播,可以接收任何报文。
eigrp:不能发送和接收任何报文
ospf:不能发送和接收任何报文