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. python3 str和bytes之间转换

    a bytes-like object is required, not 'str' 碰到 这个错误 ,是因为需要是的bytes,不是str bytes -> str: 1  str-> ...

  2. OpenCV图像金字塔

    图像金字塔 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 pyrUp 和 pyrDown 对图像进行向上和向下采样. 原理 Note 以下内容来自于Bradski和Kaehler的大作:  ...

  3. iOS:操作队列实现多线程NSOperation

    NSOperation具体使用:直接继承NSObject 它的子类有:NSBlockOperation.NSInvocationOperation 还有一个必须的类,队列,用来装创建的线程 NSOpe ...

  4. 阿里云ECS主机内核调优

    #阿里云内核调优 cat /etc/sysctl.conf vm.swappiness = 0net.ipv4.neigh.default.gc_stale_time=120 # see detail ...

  5. 流畅的python第二十章属性描述符学习记录

    描述符是对多个属性运用相同存取逻辑的一种方式.例如,Django ORM 和 SQL Alchemy等 ORM 中的字段类型是描述符,把数据库记录中字段里的数据与 Python 对象的属性对应起来.描 ...

  6. C# 中的"yield"与 "yield break"使用

    yield是C#为了简化遍历操作实现的语法糖,我们知道如果要要某个类型支持遍历就必须要实现系统接口IEnumerable,这个接口后续实现比较繁琐要写一大堆代码才能支持真正的遍历功能.举例说明 usi ...

  7. JMeter 十四:最佳实践

    参考:http://jmeter.apache.org/usermanual/best-practices.html 1. 总是使用最新版本的JMeter 2. 使用合适数目的Thread Threa ...

  8. AngularJS路由设置方法

    Module.config(['$routeProvider', function($routeProvider) { $routeProvider .when('/mall-home', { tem ...

  9. 算法笔记_068:Dijkstra算法简单介绍(Java)

    目录 1 问题描述 2 解决方案 2.1 使用Dijkstra算法得到最短距离示例 2.2 具体编码   1 问题描述 何为Dijkstra算法? Dijkstra算法功能:给出加权连通图中一个顶点, ...

  10. centos无法安装vmvare-tools的问题

    不要使用 vmware 自带的 tools, 版本太老了. 从这里下载:https://github.com/rasa/vmware-tools-patches.git 直接下载或者使用下面的命令: ...