250 likes | 441 Views
OSPF( 开放式最短路径优先 ) Open Shortest Path First. B. C. A. D. OSPF 简介. 链路状态路由协议. Link-State Packets. Topological Database. Routing Table. SPF Algorithm. Shortest Path First Tree. After initial flood, pass small event-triggered link-state updates to all other routers. OSPF 简介.
E N D
OSPF(开放式最短路径优先) Open Shortest Path First
B C A D OSPF简介 • 链路状态路由协议 Link-State Packets Topological Database Routing Table SPF Algorithm Shortest Path First Tree After initial flood, pass small event-triggered link-state updates to all other routers
OSPF简介 • OSPF(Open Shortest Path First,开放最短路径优先) • 是一种链路状态路由协议,无路由循环(全局拓扑),RFC 2328 • “开放”意味着非私有的 • 管理性距离:110 • OSPF采用SPF算法计算达到目的地的最短路径: • 什么叫链路(LINK)?=路由器接口 • 什么叫状态(State)?=描述接口以及其与邻居路由器之间的关系
OSPF简介 • OSPF metric • 每个路由器都把自己当做根,并且给予累积成本(Cost值)来计算到达目的地的最短路径。 • Cost = 参考带宽(10^8) / 接口带宽(b/s) F1/0 192.168.100.0/24 Cost=1 S0/1 Cost=64 A S0/2 Cost=64 S0/1 Cost=64 S0/1 Cost=64 S0/2 Cost=64 S0/2 Cost=64 B C
OSPF简介 • OSPF metric • 每个路由器都把自己当做根,并且给予累积成本(Cost值)来计算到达目的地的最短路径。 • Cost = 参考带宽(10^8) / 接口带宽(b/s)
OSPF简介 • OSPF报文类型 • Hello 建立和维护OSPF邻居关系。 • DBD 链路状态数据库描述信息(描述LSDB中LSA头部信息) • LSR 链路状态请求,向OSPF邻居请求链路状态信息 • LSU 链路状态更新(包含一条或多条LSA) • LSAck 对LSU中的LSA进行确认。
OSPF简介 • OSPF区域 • 在区域边界可以做路由汇总,减小了路由表 • 减少了LSA洪泛的范围,有效地把拓扑变化控制在区域内,提高了网络的稳定性 • 拓扑的变化影响可以只限制涉及本区域 • 多区域提高了网络的扩展性,有利于组建大规模的网络 area 0 area 1 area 2
OSPF简介 • OSPF的三张表 • 邻居表(neighbor table): • OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系OSPF路由器列表的信息。 • 拓扑表(topology table): • OSPF用LSA(link state Advertisement 链路状态通告)来描述网络拓扑信息,然后OSPF路由器用拓扑数据库来存储网络的这些LSA。 • OSPF路由表(routing table): • 对链路状态数据库进行SPF(Dijkstra)计算,而得出的OSPF路由表。
OSPF的基本运行步骤 • OSPF的基本运行步骤 • 步骤1、建立邻接关系(Establish router adjacencies) • 步骤2、必要的时候进行DR的选举(Elect the DR / BDR) • 步骤3、发现路由(Discover routes ) • 步骤4、选择合适的路由器(Select appropriate routes) • 步骤5、维护路由信息(Maintain routing information)
OSPF的基本运行步骤 • 建立邻接关系 - Hello包 Router ID Hello/dead intervals Neighbors Area-ID Router priority DR IP address BDR IP address Authentication password Stub area flag R1 R2 R3 R4 R5 Hello • Hello包用来发现 OSPF 邻居并建立相邻关系,通过组播地址:224.0.0.5发 送给ALLSPFRouters • 通告两台路由器建立相邻关系所必需统一的参数 • 在以太网和帧中继网络等多路访问网络中选举指定路由器 (DR) 和备用指定路由器 (BDR)
OSPF的基本运行步骤 • 建立邻接关系 - Hello包 Neighbor ID Pri State Dead Time Address Interface 192.168.0.13 1 2WAY/DROTHER 00:00:31 192.168.0.13 Ethernet0 192.168.0.14 1 FULL/BDR 00:00:38 192.168.0.14 Ethernet0 192.168.0.11 1 2WAY/DROTHER 00:00:36 192.168.0.11 Ethernet0 192.168.0.12 1 FULL/DR 00:00:38 192.168.0.12 Ethernet0 OSPF over Ethernet - Multiaccess Network Neighbor ID Pri State Dead Time Address Interface 192.168.0.11 1 FULL/ - 00:00:39 10.1.1.2 Serial1 OSPF over HDLC - Point-to-Point Network
OSPF 网络类型 BMA 广播型多路访问 Point-to-Point 点对点 NBMA 非广播型多路访问 x.25 Frame relay
LSA的泛洪 • 必要时选举DR及BDR
LSA的泛洪 • DR、BDR DR BDR • 为减小多路访问网络中的 OSPF 流量,OSPF 会选举一个指定路由器 (DR) 和一个备用指定路由器 (BDR)。 • 选举规则:最高接口优先级被选作DR,如果优先级相等(默认为1),具有最高的路由器ID(Router-ID)的路由器被选举成DR,并且DR具有非抢占性 • 指定路由器 (DR):DR 负责使用该变化信息更新其它所有 OSPF 路由器(DRother) • 备用指定路由器 (BDR):BDR 会监控 DR 的状态,并在当前 DR 发生故障时接替其角色
LSA的泛洪 • RouterID • 用于标识OSPF路由器的ID,全网唯一性;可手动配置,也可动态选举(有Loopback接口时,选择最高的Loopback IP地址;否则,选择最高活跃物理接口的IP地址)。 192.168.255.1 192.168.255.2 192.168.255.3
LSA的泛洪 • LSA的泛洪 DR BDR R1 R2 LSU R3 R4 • 路由器R3用224.0.0.6通知DR路由器及BDR路由器 • DR、BDR监听224.0.0.6这一组播地址
LSA的泛洪 • LSA的泛洪 DR BDR LSU R1 R2 R3 R4 • DR利用组播地址224.0.0.5通知其它路由器 • 所有的OSPF路由器监听224.0.0.5这一组播地址
LSA的泛洪 • LSA的泛洪 DR BDR R1 R2 LSU R3 R4 • 路由器收到包含变化后的LSA的LSU后,更新自己的链路状态数据库,过一段时间(SPF延迟),对更新的链路状态数据库执行SPF算法,必要时更新路由表。
OSPF的配置 • 基本配置 Router(config)#router ospf process-id 开启OSPF进程 Router(config-router)#network addresswildcard-mask area area-id 宣告特定的网络到OSPF区域
OSPF的配置 • 基本配置 • 通配符掩码 • 通配符是一个用于决定哪些IP地址位该精确匹配(0代表精确匹配)哪些地址位被忽略的32位数值,通常用于处理访问控制列表(ACL)、OSPF和EIGRP等路由协议的网络通告。 • 掩码 • 1位表示网络位;0位表示主机位。掩码用于区分IP地址中的网络及主机部分 • 通配符 • 1位表示无所谓;0位表示需严格匹配。通配符用于决定一个IP中的那些位该匹配
OSPF的配置 • 基本配置 • 通配符掩码 • 通配符是一个用于决定哪些IP地址位该精确匹配(0代表精确匹配)哪些地址位被忽略的32位数值,通常用于处理访问控制列表(ACL)、OSPF和EIGRP等路由协议的网络通告。 R2 R3 172.16.1.1/24 172.16.2.1/24 172.16.3.1/24
OSPF的配置 • 基本配置 单区域 area0 192.168.12.0/24 192.168.23.0/24 S0 S0 S1 S0 router ospf 1 network 192.168.23.0 0.0.0.255 area 0 R2 R3 R1 router ospf 1 network 192.168.12.0 0.0.0.255 area 0 network 192.168.23.0 0.0.0.255 area 0 router ospf 1 network 192.168.12.0 0.0.0.255 area 0
OSPF的配置 • 基本配置 多区域 192.168.12.0/24 192.168.23.0/24 S0 S0 S1 S0 area0 area1 R2 R3 R1 router ospf 1 network 192.168.12.0 0.0.0.255 area 0 network 192.168.23.0 0.0.0.255 area 1
OSPF的配置 • 常用命令 Router# show ip ospf neighbor // 查看OSPF邻居表 Router# show ip route // 显示路由表的信息 Router# clear ip route * // 清除 IP路由表的信息 Router# debug ip ospf // 在控制台显示 OSPF的工作状态