基本概念
协议使用范围----IGP
链路状态型协议----传递拓扑
传递真实掩码信息----无类别路由协议
OSPF版本
OSPFv1
OSPFv2----IPv4
OSPFv3----IPv6
SPF算法
OSPF传递的是LSA信息(链路状态通告)
OSPF更新方式
触发更新
周期链路状态刷新-----30min
OSPF更新地址---组播
224.0.0.5/224.0.0.6
OSPF开销值===参考带宽/实际带宽(参考带宽默认为100Mbps)
OSPF进行跨层封装----基于IP协议进行封装,协议号89
OSPF区域化结构
OSPF为了适应大中型网络环境,进行了结构化部署---区域化分
区域划分的特点:
区域内部传递拓扑信息,区域间传递路由信息
区域化分是基于路由器接口的
区域编号---32位bit
区域0---骨干区域
非骨干区域----非0区域
区域化分规则:
所有非骨干区域必须与骨干区域直接相连---星形拓扑
骨干区域唯一
区域边境路由器---ABR(
条件:同时属与多个区域,且至少有一个接口属于骨干区域
在骨干区域存在一个活跃的邻居
OSPF数据包类型
1.Hello报文:用来周期性发现,建立,保活(确认存在)OSPF邻居关系
10s发送一次Hallo报文确认邻居存在
如果一个dead time时间内没有收到邻居的Hallo报文,则认为邻居不存在,dead time一般为Hallo时间的四倍,默认情况下为40s
Router-ID---RID
全城唯一,
2.DBD报文
数据库描述报文
包含了所有拓扑的目录信息。
3.LSR报文
链路状态请求报文
请求获取未知的链路信息(LSA信息)
4.LSAck报文
链路状态更新报文
携带有真正的LSA信息
5.LSAck报文
链路状态确认报文
OSPF七种状态机
1.down--关闭状态--一旦启动OSPF协议,则发出Hallo报文,进入下一状态
2.init--初始化状态--当收到的hello报文中,存在本地RID值时,进入下一状态
3.2-way--双向通讯状态----邻居关系建立的标志
条件匹配:匹配成功则进入下一阶段,失败则停留在邻居关系。
4.exstart--预启动状态---使用未携带信息的DBD报文进行主从关系选举,RID大的为主
5.exchange--准交换---使用携带目录信息的DBD包进行目录共享
6.loading--加载状态---邻居间使用LSR/LSU/LSACK三种报文来获取完整的拓扑信息
7.full--转发状态---拓扑信息交换完成后进入该状态-----邻接关系建立的标志。
条件匹配
设备接口角色:
指定路由器---DR
备份指定路由器---BDR
其他路由器---DRother
角色之间的关系:
DR于BDR---邻接
DR于DRother---邻接
DR于DRother---邻接
DRother于DRother---邻居
OSPF条件匹配的情况
在以太网网络中---必须进行条件匹配
在点到点网络中---不需要进行条件匹配
选举规则
1.优先级,默认为1,0-255,越大越优
2.RID,越大越优
选举范围
一个广播域,进行一次条件匹配
条件匹配属于非抢占模式---一旦选举成功,不会因为新设备的加入重新选举
再次选举:
OSPF工作过程
OSPF协议启动后,路由器A向本地所有启动了OSPF协议的直连接口,使用组播地址224.0.0.5发送 hello报文。
该hello报文中携带了本地的全域唯一的RID值。
当对端路由器B接收到该报文后,也会回复hello报文
该hello报文中携带了A的RID值。
此时,A与B建立邻居关系,并生成邻居表。
邻居关系建立后,邻居之间进行条件匹配,匹配失败则停留在邻居关系,仅使用hello报文保活。
若匹配成功,则可以开始建立邻接关系。
邻接间共享DBD报文,将本地与邻接之间的DBD报文进行对比,查找本地没有的LSA信息,之后使 用LSR来询问,对端使用LSU回复具体的LSA信息,之后本地使用LSAck报文进行确认。
该过程全部完成后,生成数据库表(LSDB)。
在之后,本地基于数据库表,启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到 本地的OSPF路由表中。
并将OSPF路由表中的部分路由加载到本地全局路由表中。
此时,路由器完成路由收敛工作。
最后,使用hello报文进行周期保活,并且每30min进行一次链路状态刷新。
基本配置
启动OSPF协议,配置进程号(仅具有本地意义),手工配置RID值 若没有配置RID值,则设备自动生成(环回接口最大IP>物理接口最大IP)
[r1]ospf 1 router-id 1.1.1.1
配置区域
[r1-ospf-1]area 0
宣告:激活接口,发布拓扑或路由
宣告网段
[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
反掩码:32位二进制,使用点分十进制表示,由连续0+连续1
接口宣告方式-----精准宣告
[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0
OSPF邻居表
[r2]display ospf peer ---查看OSPF邻居
[r2]display ospf peer brief ----查看OSPF邻居简表
OSPF数据库表
[r2]display ospf lsdb -----查看OSPF数据库表
OSPF路由表
[r2]display ospf routing ---查看OSPF路由表
OSPF优先级====10
reset ospf 1 process -----重置OSPF进程
OSPF扩展配置
1.修改OSPF默认参考带宽
[r2-ospf-1]bandwidth-reference 10000 -----修改参考带宽,两端均需要修改
2.修改接口优先级,从而干涉条件匹配
[r1-GigabitEthernet0/0/0]ospf dr-priority 10 -----在接口修改
[r1-GigabitEthernet0/0/0]ospf dr-priority 0 ---优先级修改为0,代表放弃选举
3.手工汇总
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
必须在ABR上配置
汇总的明细路由来源在那个区域,进入那个区域进行配置
必须在ABR上配置
4.缺省路由
在边界设备上
[r1-ospf-1]default-route-advertise -----非强制性下发,要求边界路由器中存在缺省路由才
可以下发
[r1-ospf-1]default-route-advertise always -----强制性下发,不要求本地存在缺省路由
5.静默接口
不接受也不发送hello报文,与RIP的静默接口不同。
[r3-ospf-1]silent-interface GigabitEthernet 0/0/1
6.接口认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode ?
md5 Use MD5 algorithm -----MD5认证
null Use null authentication -----不认证----OSPF默认情况
simple Simple authentication mode ------简单认证----明文认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[r2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
7.加快收敛
[r3-GigabitEthernet0/0/0]ospf timer hello ? -------一端修改,另一端必须修改,若不修改,
则会导致邻居关系无法建立。
INTEGER<1-65535> Second(s)
ACL基数----访问控制列表
是一种策略(方式)
对于网络中的流量而言,通常有两种处理方式
*允许
*拒绝
ACL原理
配置了ACL的网络设备会根据事先设计好的报文匹配规则对经过该设备的报文进行匹配,然后对报文执行预先设定好的处理动作
ACL的功能(仅做抓取流量)
访问控制:在设备的流入或者流出接口上,匹配流量,然后执行设定的动作。
permit---允许
deny---拒绝
抓取流量:因为ACL经常会与其他协议共同使用,所以ACL一般只做匹配流量的作用,而对应 的动作由其他协议完成。
ACL的匹配规则
自下而上,逐条匹配,匹配上则按照预先设定的动作执行,不再向下匹配
华为设备ACL访问控制列表最后隐含条件:允许所有
cisco设备ACL访问控制列表最后隐含条件:拒绝所有
ACL分类
基本ACL:
只能基于IP报文的源IP地址定义规则
编号:2000-2999(区分不同ACL)
高级ACL:
可以基于IP报文的源IP地址、目的IP地址、IP报文协议字段、IP报文优先级、IP报文长 度、TCP源目端口号、UDP源目端口号等一系列信息来定义规则。
编号:3000-3999
二层ACL:
编号:4000-4999
用户自定义ACL
编号:5000-5999
需求一
要求PC1可以访问192.168.2.0/24,而PC2不可以。
基本ACL配置位置应尽量靠近目标
由于基本ACL仅关注数据包中的源IP地址;故配置时尽量靠近目标,避免对其他目的地址访问 产生误伤。
基本ACL配置
创建ACL列表
[r2]acl 2000
[r2-acl-basic-2000]
设定规则
[r2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0 ----拒绝192.168.1.2的地址通过
通配符:0代表不可变,1代表可变;0和1可以随意穿插。
使用通配符可以精准匹配某一个IP地址或多个IP地址或网段。
[r2-acl-basic-2000]rule permit source any ----允许所有,在ACL的最后配置
[r2]display acl 2000 ----查看ACL配置
[r2-acl-basic-2000]rule 8 permit source 192.168.1.1 0.0.0.0
序列号----序列号用于规定ACL规则的顺序,匹配时,从小到大匹配。
华为默认步长为5。方便插入或删除规则。
调用列表
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
*一个接口的一个方向只能调用一张ACL列表;但是一张ACL列表可以在不同的地方多次调用。
拒绝192.168.1.2和192.168.1.3
192.168.1.00000010
192.168.1.00000011
0.0.0.00000001=====0.0.0.1
拒绝192.168.1.0/24网段中的所有单数IP地址
192.168.1.0000 0001
192.168.1.0000 0011
192.168.1.0000 0101
192.168.1.0000 0111
...
192.168.1.1111 1111
0.0.0.1111 1110
需求二
要求PC1可以正常访问PC3和PC4,而PC2只能访问PC3,不能访问PC4. 高级ACL配置位置应尽量靠近源点。
由于高级ACL对流量进行了精确的匹配,可以避免误伤,所以调用时应该尽快靠近源,减少链 路资源你的占用。-----不需要再网络中进行无用传输。
高级ACL配置
创建ACL列表
[r1]acl 3000
[r1-acl-adv-3000]
添加规则
[r1-acl-adv-3000]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.2.2
0.0.0.0
[r1-acl-adv-3000]rule permit ip source any ----允许所有
调用
[r1-GigabitEthernet0/0/1]traffic-filter inbound acl 3000
需求三
要求R1能够ping通R2的环回,但是不能通过telnet 环回的方式登录R2
要求R1能够ping通R2的环回,但是不能通过telnet 环回的方式登录R2
[r2-acl-adv-3000]rule permit tcp destination 2.2.2.2 0.0.0.0 destination-port eq telnet
[r2-acl-adv-3000]rule deny tcp destination 12.0.0.2 0.0.0.0 destination-port eq telnet
[r1]acl 3100
[r1-acl-adv-3100]rule deny tcp source 12.0.0.1 0.0.0.0 destination 2.2.2.2 0.0.0.0 destination•port eq 23
[r1-GigabitEthernet0/0/1]traffic-filter outbound acl 3100
ACL如果配置在流量的发出者本地,则不会对该流量生效