OSPF(开放最短路径优先)协议概述:

 - 链路状态路由协议
 - 无类路由协议
 - 要点:RouterID、区域ID
 - 触发更新 、以传播 LSA 代替路由表更新
 - 快速响应变更(比距离矢量路由协议快)
 - 邻居发现--使用Hello包发现邻居并简历相邻关系,通过组播地址发送给所有参与SPF计算的路由器
  -组播地址:224.0.0.5、224.0.0.6
 - OSPF采用SPF算法计算到达目的的最短路径
      -链路(Link):路由器接口
      -状态(State):描述接口以及其与邻居路由器之前的关系
 - 三张表:
     -邻居表   //show ip ospf neighbor
     -拓扑表  //show ip ospf database
     -路由表    //show ip route

OSPF Area:

  -为了适应大型的网络,OSPF在AS内划分多个区域

    区域0:主干区域

    其他区域:正常区域;所有正常区域与主干区域直连 (也可以通过虚链路穿透)
  -每个OSPF路由器只维护所在区域的完整链路状态信息

  

OSPF Router-ID:

  -Router-ID:用于在一个OSPF区域中唯一标识一台路由器

  -OSPF Router-ID的设定可以通过手工配置的方式,或者通过自动选取的方式

  -自动选取的机制是:若配置有loopback口,则选取最大的loopback口地址,若无,则选取活跃物理接口中IP地址最大的作为Router-ID

OSPF ProcessID(仅本地有效):

  一、OSPF单进程

  

  -OSPF ProcessID,范围为1-65535,仅本地有效,用来在本地区分不同的OSPF进程

  -上图意思是,对于R1而言,它并不关心它的直连OSPF邻居-R2使用的是什么OSPF进程号

  -虽然OSPF ProcessID本地有效,但是仍然建议,除非有特殊需求,否则全网使用一致的OSPF进程ID,这将方便网络管理和维护

  二、OSPF多进程

  

  -一台路由器可创建多个OSPF进程,使用OSPF ProcessID进行区分,不同的进程相互独立;

  -上图R2使用OSPF进程20与R1建立邻居关系,使用OSPF进程30与R3建立OSPF邻居关系;

  -这两个OSPF进程相互独立,R2通过OSPF进程20/10从R1/R3学习到的OSPF路由(严格的说,应该是LSA),默认不会直接更新给R3/R1;

  -R2这两个OSPF进程虽然彼此隔离,但是都可以为R2自身贡献路由,例如R1更新过来一条路由1.1.1.0,R3更新过来一条3.3.3.0,那么在R2的全局路由表里都是能看到这两条路由的。这两条路由不会互相灌进对方的OSPF进程(造成的直接结果是R1没有R3的路由,R3没有R1的路由),除非 -- 路由重发布;

  -有一点要注意:如果R1及R3都向R2更新同一条路由。R2会根据COST来选,如果等价,R2会以"先到先得"的原则,谁的路由先过来,就优选谁;

//*什么情况下需要用到多OSPF进程呢?一般而言,一台路由器创建一个OSPF进程,可以实现网络的需求,但是在一些特殊的、复杂的环境当中,单一的OSPF进程可能无法满足要求,因此在一台路由器上创建多个OSPF进程,这样一来的直接好处是,这台路由器从原先的角色--OSPF interArea Router,变成了一台ASBR,它可以在进程之间重发布、可以过滤路由或LSA、可以操控路由、可以做基于route-map的策略、可以做路由汇总等等。

OSPF度量值(Metric):
  -OSPF使用路径开销(Cost)作为度量值;默认情况下,该值的计算结果取决于接口的带宽

  -在每一个运行OSPF的接口上,都维护者一个接口Cost

  -接口Cost=100M/接口带宽,其中100M为OSPF的参考带宽
  -路径开销是指到达目标的所有路径开销之和

  

  修改接口的Cost值

Router(config)#interface fa0/
Router(config-if)#ip ospf cost number(取值范围1~)   //OSPF路由器在接口上使用cost值来决定最佳路径

  配置loopback接口地址

//用于产生路由器的Router ID
Router(config)# interface loopback
Router(config-if)# ip address IP地址 掩码

  开启OSPF路由进程

//本路由器的进程号,用于标识同一路由器上的多个OSPF进程(仅本地有效)
Router(config)# router ospf 进程号

  指定OSPF协议运行的接口和所在的区域

//宣告特定的网络到OSPF区域
Router(config-router)# network 网络号 反向掩码(通配符掩码) area 区域号

 *通配符是一个用于决定哪些IP地址位该精确匹配(0代表精确匹配)哪些地址位被忽略的32位数值,通常用于处理访问控制列表(ACL)、OSPF和EIGRP等路由协议的网络通告。

OSPF建立邻居关系需满足条件:
  -Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网

  -验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居

  -Hello Interval和Dead Interval: OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器
  -stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居

OSPF工作流程

  

  1、OSPF网络中,直连的路由器之间建立邻接关系(建立邻居表)
  

  2、OSPF将LSA泛洪到区域中的所有OSPF路由器,从而使这些路由器了解该OSPF网络内的链路状态信息,以创建 OSPF 链路状态数据库(建立拓扑表)

  

  3、使用 SPF 算法计算到每个目的地的最短距离,并将其置于路由表中(建立路由表) 
  

宣告方式:
  一、网段宣告

OSPF单区域配置命令:

  

 单区域存在的问题

  LSA泛洪严重,OSPF路由器的负担很大

  区域内部动荡会引起全网路由器的SPF计算

  LSDB庞大,资源消耗过多,设备性能下降,影响数据转发

  每台路由器都需要维护的路由表越来越大,单区域内路由无法汇总

OSPF多区域配置命令:
  

  R1

R1(config)#interface GigabitEthernet0/0
R1(config-if)#ip address 10.64.0.1 255.255.255.0
R1(config-if)#ip ospf cost 10
R1(config)#router ospf 9
R1(config-router)#network 10.64.0.0 0.0.0.255 area 0

  R2

R2(config)#interface GigabitEthernet0/0
R2(config-if)#ip address 10.64.0.2 255.255.255.0
R2(config)#interface GigabitEthernet0/1
R2(config-if)#ip address 10.2.1.2 255.255.255.0
R2(config)#router ospf 8
R2(config-router)#network 10.64.0.0 0.0.0.255 area 0
R2(config-router)#network 10.2.1.0 0.0.0.255 area 1

  R3

R3(config)#interface GigabitEthernet0/1
R3(config-if)#ip address 10.2.1.1 255.255.255.0
R3(config)#router ospf 5
R3(config-router)#network 10.2.1.0 0.0.0.255 area 1

 多区域的优点
  减少了LSA洪泛的范围,有效地把拓扑变化控制在区域内,达到网络优化的目的

  在区域边界可以做路由汇总,减小了路由表

  充分利用OSPF特殊区域的特性,进一步减少LSA泛洪,从而优化路由

  多区域提高了网络的扩展性,有利于组建大规模的网络

  二、接口宣告

//查看邻居列表
Router#show ip ospf neighbor
//查看链路状态数据库
Router#show ip ospf database
//查看OSPF接口
Router#show ip ospf interface  
//查看ospf路由条目
Router#show ip route ospf
//查看OSPF的配置
Router#show ip ospf
//查看当前路由协议
Router#show ip protocols
//查看到达网络192.168.1.0的路由信息
Router#show ip route 192.168.1.0

CCNA2.0笔记_OSPF v2的更多相关文章

  1. CCNA2.0笔记_OSPF v3

    OSPF v3 是可以在ipv6上实现路由的一种路由协议 OSPF v2(for IPv4),OSPF v3(for IPv6)在一台路由器中互相独立运行 OSPF v3与v2有很多类似的功能: - ...

  2. CCNA2.0笔记_动态路由

    动态路由协议: 向其他路由器传递路由信息 接收(学习)其他路由器的路由信息 根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成并维护路由表 根据网络拓朴变化及时调整路由表,同时向其他路由器宣 ...

  3. CCNA2.0笔记_安全管理设备

    设备安全 配置Console密码 Switch(config)#line console 0 Switch(config-line)#login Switch(config-line)#passwor ...

  4. CCNA2.0笔记_WAN技术-帧中继

    帧中继   -使用虚电路进行连接: -提供面向对象的服务 -帧中继 PVC 由 DLCI 标识,PVC 的状态通过 LMI 协议报告 Frame Relay NBMA连接引起的路由协议问题:  -水平 ...

  5. CCNA2.0笔记_WAN技术-专线

    WAN拓扑 Routers.CSU/DSU.WAN switches.Core routers.Modems 使用 数据链路层协议(二层) 来建立对端连接 WAN的三种连接方式 广域网链路类型: ·V ...

  6. CCNA2.0笔记_NAT

    NAT:园区网内的PC是私有地址,整个园区网共享一个公有IP,如果园区网内的PC不做NAT,那么在发数据包给外网的时候会出现传输问题 NAT的原理:改变IP包头,使目的地址.源地址或两个地址在包头中被 ...

  7. CCNA2.0笔记_ACL

    要点: 1.按顺序执行,一旦某条语句匹配,后续语句不再处理. 2.默认ACL 结尾语句是deny any,所以你要记住的是在ACL 里至少要有1 条permit 语句. 3.记得创建了ACL 后要把它 ...

  8. CCNA2.0笔记_ipv6的EIGRP

    IPv6的eigrp特征: 邻居发现 增量更新 快速收敛 负载均衡 三个表 -邻居表 -拓扑表 -路由表 配置ipv6的eigrp Router(config)#ipv6 unicast-routin ...

  9. CCNA2.0笔记_EIGRP

    EIGRP特征: •高级距离矢量路由协议 •快速收敛——路由条目不过期,拥有备份路由 •负载均衡 •无类路由 -支持 VLSM 和不连续子网,可关闭自动汇总(建议关闭) •占用带宽小 -触发更新(当拓 ...

随机推荐

  1. Kubernetes 1.7版本安装

      为什么搞完kubernetes 1.5又要装1.7, :( 是因为微服务架构istio的要求,而且直接用yum安装怎么都是1.5,所以只能通过下载包并且改配置文件的方式了,也好,花两天时间把整个过 ...

  2. piwik网站访问统计系统

    一.Piwik介绍 Piwik是一套基于PHP+MySQL技术构建的开源网站访问统计系统.Piwik可以给你详细的统计信息,比如网页浏览人数,访问最多的页面,搜索引擎关键词等流量分析功能.此外,它还采 ...

  3. Android视图SurfaceView的实现原理分析(示例,出错代码)

    在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面.由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独 ...

  4. MySql 建库建表脚本

    1.建库 CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 2.建表脚本 CREATE TABLE `c ...

  5. Java笔记14:泛型初探

    一.泛型简介 泛型是从Java SE 1.5开始出现的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛 ...

  6. JAVA NIO 之ByteBuffer的mark、position、limit、flip、reset,get方法介绍

    参考博客:http://blog.csdn.net/sunzhenhua0608/article/details/31778519 先来一个demo: import java.nio.ByteBuff ...

  7. PHP实现程序单例执行

    原创文章,转载请注明出处:http://huyanping.sinaapp.com/?p=222 作者:Jenner 一.场景描写叙述: 近期我们一块业务.须要不断的监听一个文件夹的变化.假设文件夹中 ...

  8. 防止继承和覆盖(PHP类)

    可能出现需求:我们不希望继承的类覆盖abstract类中的某个方法. 解决方案:我们可以在某个方法前面加上final关键词,可以防止继承的类覆盖它并实现继承类自己的版本. 继承类仍然可以访问和调用这些 ...

  9. iOS项目开发实战——使用CoreLocation获取当前位置信息

    随着基于位置服务LBS和移动互联网的兴起,你的位置是越来越重要的一个信息.位置服务已经是当前的热门应用如微信.陌陌等社交应用的杀手锏.而在iOS开发中,苹果已经给我们提供了一个位置接口.CoreLoc ...

  10. 分布式消息系统Jafka入门指南

    分布式消息系统Jafka入门指南 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.JafkaMQ简单介绍 JafkaMQ是一个分布式的公布/订阅消息系 ...