热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OSPF(OpenShortestPathFirst开放式最短路径优先)协议基础

OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。IPv4协议使用OSPFVersion2(RFC2328)&#x
  1. OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。
  2. IPv4协议使用OSPF Version 2(RFC2328);IPv6协议使用OSPF Version 3(RFC2740)。
  3. OSPF支持VLSM(Variable Length Subnet Mask,可变长子网掩码),支持手工路由汇总。
  4. 运行OSPF路由器之间交互的是LS(Link State,链路状态)信息,而不是直接交互路由。
  5. OSPF路由器将网络中的LS信息收集起来,存储在LSDB中。
  6. 每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。
  7. 路由器依据这些路径形成路由加载到路由表中。


动态路由协议的分类

按工作区域分类

IGP(Interior Gateway Protocols,内部网关协议)

RIP、OSPF、IS-IS

EGP(Exterior Gateway Protocols,外部网关协议)

BGP

按工作机制及算法分类

(Distance Vector Routing Protocols,距离矢量路由协议)

RIP(很少用)

(Link-State Routing Protocols,链路状态路由协议)

OSPF、IS-IS


OSPF基础术语

区域

OSPF Area用于标识一个OSPF的区域;区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。

Router-ID

Router-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。

度量值(Cost)开销

一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。


OSPF协议报文类型

Hello

周期性发送,用来发现和维护OSPF邻居关系。

Database Description(DD)

描述本地LSDB的摘要信息,用于两台设备进行数据库同步。

Link State Request(LSR)

用于向对方请求所需要的LSA。

Link State Update(LSU)

用于向对方发送其所需要的LSA。

Link State ACK(LSA)

用来对收到的LSA进行确认。


RA

OSPF状态机

RB

Hello报文,我是1.1.1.1,我还不知道链路上有谁

---->>>

Init

2-way

Hello报文,我是2.2.2.2,我发现了邻居1.1.1.1

<<<----

Hello报文&#xff0c;我是1.1.1.1&#xff0c;我发现了邻居2.2.2.2

---->>>

2-way

邻居关系建立成功

Ex-start

DD我是Master&#xff0c;序列号X我的Router-ID是1.1.1.1

---->>>

Ex-start

Exchange

DD我是Master&#xff0c;序列号Y我的Router-ID是2.2.2.2

<<<----

DD&#xff08;序列号为Y&#xff0c;rou-id大为主&#xff09;这是我的LSDB中的LSA摘要信息

---->>>

Exchang

DD&#xff08;序列号Y&#43;1递增&#xff09;这是我的LSDB中的LSA摘要信息

<<<----

Loading

LSR我要请求xx LSA的完整信息

---->>>

Loading

LSU这是你请求的xx LSA的完整信息

<<<----

......

Full

LS ACK确认收到LSU

---->>>

Full


OSPF网络类型

P2P&#xff08;Point-to-Point&#xff0c;点对点&#xff09;

一段链路上只能连接两台网络设备的环境。

BMA&#xff08;Broadcast Multiple Access&#xff0c;广播式多路访问&#xff09;

BMA也被称为Broadcast&#xff0c;指的是一个允许多台设备接入的、支持广播的环境。

NBMA&#xff08;Non-Broadcast Multiple Access&#xff0c;非广播式多路访问&#xff09;

典型的例子是帧中继&#xff08;Frame-Relay&#xff09;网络。

P2MP&#xff08;Point to Multi-Point&#xff0c;点到多点&#xff09;

常用做法是将非全连通的NBMA改为点到多点的网络。

一般情况下&#xff0c;链路两端的OSPF接口网络类型必须一致&#xff0c;否则双方无法建立邻居关系


  • OSPF路由器身份&#xff1a;

  1. DR&#xff08;Designated Router&#xff0c;指定路由器&#xff09;。
  2. BDR&#xff08;Backup Designated Router&#xff0c;备用指定路由器&#xff09;。
  3. DRother路由器。
  4. DR、BDR与其他OSPF路由器建立邻接关系。
  5. DRother之间只能保持邻居关系&#xff0c;停滞在2-way状态。
  6. BDR会监控DR的状态&#xff0c;并在当前DR发生故障时接替其角色。

  • OSPF域&#xff08;Domain&#xff09;&#xff1a;一系列使用相同策略的连续OSPF网络设备所构成的网络&#xff1a;

  1. OSPF路由器在同一个区域&#xff08;Area&#xff09;内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知&#xff0c;LSDB需要在区域内进行同步。
  2. 如果OSPF域仅有一个区域&#xff0c;随着网络规模越来越大&#xff0c;OSPF路由器的数量越来越多&#xff0c;这将导致诸多问题&#xff1a;&#xff08; LSDB越来越庞大、OSPF路由表规模增加、路由器资源消耗多、设备性能下降、影响数据转发、庞大的LSDB进行路由计算变得困难、网络拓扑变更时&#xff0c;LSA全域泛洪和全网SPF重计算带来巨大负担。&#xff09;
  3. OSPF引入区域&#xff08;Area&#xff09;的概念&#xff0c;将一个OSPF域划分成多个区域&#xff0c;可以使OSPF支撑更大规模组网。
  4. OSPF多区域的设计减小了LSA泛洪的范围&#xff0c;有效的把拓扑变化的影响控制在区域内&#xff0c;达到网络优化的目的。
  5. 在区域边界可以做路由汇总&#xff0c;减小了路由表规模。
  6. 多区域提高了网络扩展性&#xff0c;有利于组建大规模的网络。

  • OSPF路由器根据其位置或功能不同&#xff0c;有这样几种类型&#xff1a;

  1. 区域内路由器&#xff08;Internal Router&#xff09;
  2. 区域边界路由器ABR&#xff08;Area Border Router&#xff09;
  3. 骨干路由器&#xff08;Backbone Router&#xff09;
  4. 自治系统边界路由器ASBR&#xff08;AS Boundary Router&#xff09;

OSPF基础配置

[R1]ospf 1 router-id 1.1.1.1  ##创建ospf进程并设置router-id

[R1-ospf-1]area 0  ##创建骨干区域

[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.255  ##宣告网段&#43;反掩码

[R1-GE0/0/1]ospf cost 100  ##修改ospf开销&#xff08;取值1&#xff5e;65535&#xff09;

[R1-ospf-1]bandwidth-reference 10000  ##设置带宽参考值&#xff08;缺省100&#xff09;

[R1-GE0/0/1]ospf dr-priority  ##设置选举DR优先级&#xff08;取值0-255&#xff09;

OSPF三大表项

[R1]display ospf peer  ##查看邻居表

[R1]display ospf lsdb  ##查看OSPF库

[R1]display ospf routing  ##查看OSPF路由表

 


推荐阅读
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 视觉Transformer综述
    本文综述了视觉Transformer在计算机视觉领域的应用,从原始Transformer出发,详细介绍了其在图像分类、目标检测和图像分割等任务中的最新进展。文章不仅涵盖了基础的Transformer架构,还深入探讨了各类增强版Transformer模型的设计思路和技术细节。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 本文探讨了Python类型注解使用率低下的原因,主要归结于历史背景和投资回报率(ROI)的考量。文章不仅分析了类型注解的实际效用,还回顾了Python类型注解的发展历程。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • Logging all MySQL queries into the Slow Log
    MySQLoptionallylogsslowqueriesintotheSlowQueryLog–orjustSlowLog,asfriendscallit.However,Thereareseveralreasonstologallqueries.Thislistisnotexhaustive:Belowyoucanfindthevariablestochange,astheyshouldbewritteninth ... [详细]
  • flea,frame,db,使用,之 ... [详细]
author-avatar
萱萱loveTFOOYS
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有