OSPF:现实情况中99%的网络运行的是这种路由协议

OSPF有三张表:邻居表,链路状态数据库(LSDB),路由表 SPF算法

OSPF架构为花瓣形(不同area组成花瓣)就是为了防环,因为骨干区域运行的是贝尔曼福特算法,容易产生环路,设计成星型就不怕形成环路了(物理上打破的环路)。

单个区域内运行的是SPF算法(形成一个树状结构)来打破环路。

OSPF和RIP同时支持触发更新和周期更新,RIP30s发送一次,OSPF30min发送一次。EIGRP只支持触发更新。

OSPF的5种数据包
1.hello
2.Database Description DBD
3.Link-State Request LSR
4.Link-State Update LSU
5.Link-State Acknowledgment LSAck

OSPF接口状态:
1:down 初始状态,接口被宣告进OSPF,没有发送任何报文
2:init 通过接口发送一份Hello
3:two-way 通过接口收到了一份Neighbor字段包含自身RID的Hello
4:exstart 交互3个不带LSA报头的DBD选择Master/Slave
5:exchange 由Master发起的带有LSA报头的DBD信息交互
6:loading 交互LSR LSU以及LSAck实现LSDB的同步
7:full 一旦LSDB同步,邻接关系到达Full

在MA网段建立OSPF邻接关系时DR和BDR的选举原则
1:参与该MA网段的路由器接口的OSPF优先级,越高越好(0-255)
2:该MA网段所连接的路由器的RID,越高越好

OSPF MA网段接口的OSPF优先级如果值为0,代表的不是优先级的最小值,而是该接口没有资格在这个网段参选DR和BDR,只能成为DRother.

1:DR和BDR都无法被抢占
2:DR挂了BDR会立即抢占成为新的DR,而新的BDR通过在DRother中重新选举得出
3: DR和BDR都是路由器的接口接口的概念,每个网段的DR和BDR都是通过相同的机制单独选举的.
4:在以太网环境建议拥有DR和BDR实现备份,而在FR环境中,只能是HUB节点成为DR,任何Spoke节点都不能成为DR或BDR.
5:如果一个MA网段没有DR和BDR,没有任何邻接关系存在也不会有任何LSA的传递

一台运行OSPF的路由器,只要在一个接口开启了OSPF进程,则该接口会立即监听发往224.0.0.5的组播组流量,而仅当一个节点成为DR或BDR时,该接口才会同时监听发往224.0.0.5和224.0.0.6的组播组流量

在一个MA网段内,所有路由器发送给DR和BDR的报文的目的地址都是.6而DR将LSA整合之后以.5的地址发送给网段内所有其他的路由器。

OSPF常见的几种LSA:
1.Router LSA
传播范围:只能在一个Area内传递,不能穿越ABR
通告者:每台属于一个区域的路由器都会基于该区域通告一条1类LSA
包含内容:拓扑信息,其中描述该路由器所有宣告进该区域的链路的前缀,掩码,网络类型以及度量值
link-ID(该路由器所通告的LSA的唯一标示符):通告该路由器的RID
ADV Router(通告者路由器):通告该LSA的路由器的RID

2.Network LSA
传播范围:同一类
通告者:MA网段中的DR
包含内容:纯拓扑信息,包含了该MA网段直连的所有路由器的RID信息,该MA网段的掩码
Link-ID:该MA网段DR接口的IP地址
ADV Router:该DR的RID

3.Summary Network LSA
传播范围:除了该区域外的整个OSPF路由选择域
通告者:ABR
包含内容:一条3类LSA包含一条OSPF域间路由,O IA
Link-ID:3类LSA路由的前缀
ADV Router:ABR的RID。3类LSA在OSPF路由选择域内传递的时候为了保证可达性,每跨越一个ABR都会自动改写为该ABR的RID。

4.Summary ASB LSA
传递范围:除了ASBR所在区域之外的整个路由选择域
通告者:和ASBR在同一个区域的ABR路由器
包含内容:纯拓扑信息,描述了ASBR所在位置
link-ID:ASBR的RID
ADV Router:通告者ABR的RID,并且该值每跨越一个ABR都会自动改变,同3类LSA

5.External LSA
传递范围:整个OSPF路由选择域
通告者:ASBR
包含内容:纯路由信息,一条OSPF域外路由对应一条5类LSA
link-ID:域外路由的路由前缀
ADV Router:ASBR的RID.该LSA在OSPF域内传递的时候,ADV Router不会发生任何改变

Seed Metric:种子度量值,对于OSPF而言如果将BGP路由重分发进入,则Seed Metric默认为1,所有其他外部路由缺省Seed Metric是20

域间汇总:需要在ABR上部署,实现对3类LSA的汇总传递

域外汇总:需要在ASBR上部署,实现对5类LSA的汇总传递

RIP和EIGRP的汇总都是链路级别(在接口模式下),OSPF汇总是在进程级别(在router ospf 下)。

OSPF手工域间汇总(在ABR上做)命令(OSPF没有自动汇总):area X rang X.X.X.X X.X.X.X.
OSPF手工AS之间汇总(在ASBR上做):summary-address 路由前缀

Stub区域:如果将一个OSPF区域部署为Stub,该区域的ABR会将入区域方向的4、5类LSA同时过滤,同时该ABR会主动向区域内部发送一个O IA的0.0.0.0/0的3类缺省路由,Seed Metric为1

Totally Stub区域:在Stub区域的基础之上ABR路由会同时将3、4、5类入向传递的LSA过滤掉,同时会主动向该区域注入一条0.0.0.0/0 O IA的缺省路由,Seed Metric缺省也为1

NSSA区域:在NSSA区域内可以拥有ASBR,并且重分发进入OSPF的路由是以7类LSA形式存在,该类型的LSA只能存在于NSSA区域内,并且该区域所有ABR会通过比较RID选举出一个转换器(最大的RID者),该转换器会将内部传递给外部的NSSA LSA转换成5类LSA并且通告给其他区域,所有该区域内的ABR都会过滤从外部进入该区域的4、5类LSA。但是该区域的任何ABR都不会主动向内部下放缺省路由。为
了实现内部路由器的外网可达性,需要在该区域ABR上手工放下缺省路由,O*N2 0.0.0.0/0 Seed Metric=1

Totally NSSA区域:基于NSSA区域的概念基础,ABR会主动阻止3、4、5类LSA进入该区域,并且ABR会主动向区域内下放O*IA 0.0.0.0/0 Seed Metric = 1的缺省路由

一台路由器只要可以产生5类LSA,则该路由器就是ASBR。

加表优先级:O> O IA >O E1/E2 = O N1/N2

没有连接到骨干区域的区域(1.远离骨干区域的非骨干区域。2.被分割的Area0.)补救办法:
1:在出现问题的ABR上(没有和Area 0直连的ABR上),使用双OSPF进程,并且执行单点双向重分发。
2:在出现问题的ABR上建立一个Tunnel链路连接到离其最近的Area 0中的ABR路由器上。在这两台ABR上对Tunnel配置IP地址为同一个IP子网段,并且将其宣告进OSPF的区域0.
R1(config)#interface tunnel X(本地意义)
R1(config-if)#tunnel source X.X.X.X(环回地址)
R1(config-if)#tunnel destination X.X.X.X(环回地址)
到目前为止tunnel为2层逻辑链路,要想成为3层逻辑直连还得起一个同一网段的IP地址
R1(config-if)#ip address 1.1.1.1 255.255.255.0
R3(config-if)#ip address 1.1.1.3 255.255.255.0
然后再把1.1.1.0网段宣告进OSPF的0区域
3:使用Virtual-Link在出问题的ABR以及离他最近的Area 0中的ABR上部署(两台路由器之间必须要能彼此收到对方的1类LSA)
R1(config-router)#area X virtual-link 对方的RID
R3(config-router)#area X virtual-link 对方的RID

OSPF的认证:
R4(config-if)#ip ospf authentication-key cisco
R4 (config-if)#ip ospf authentication
这组命令启用了链路级明文认证。

R3(config-if)#ip ospf message-digest-key 13 md5 cisco
R3(config-if)#ip ospf authentication message-digest
这组命令启用了链路级密文认证。

R2(config-if)#ip ospf authentication-key cisco
R2(config-router)#area 0 authentication
这组命令启用了区域级明文认证。

R2(config-if)#ip ospf message-digest-key 12 md5 cisco
R2(config-router)#area 0 authentication message-digest
这组命令启用了区域级密文认证。

R3(config-router)#area 2 virtual-link 91.1.1.1 authentication-key cisco
R3(config-router)#area 2 virtual-link 91.1.1.1 authentication
这组命令启用了VL的明文认证(只有在VL初始化建立连接关系的时候生效)

R3(config-router)#area 2 virtual-link 91.3.3.3 message-digest-key 1 md5 cisco
R3(config-router)#area 2 virtual-link 91.3.3.3 authentication message-digest
这组命令启用了VL的密文认证(同明文认证用途)

OSPF网络类型:
1:Loopback Loopback 无论接口掩码多少,都以/32主机路由通告
2:Point-To-Point Serial/ISDN BRI/FR point2point SubIf 支持组播,没有DR
3:Broadcast Ethernet 支持组播,有DR
4:NBMA FR主接口/FR多点子接口 不支持组播,有DR
5:Point-To-Multipoint 支持组播,无DR,自动生成关于直连邻居接口的/32的主机路由
6:Point-To-Multipoint Non-Broadcast 不支持组播,无DR,自动生成关于直连邻居接口的/32的主机路由

在FR环境中部署OSPF
1:网络类型使用NBMA。
为了建立邻居需要在Hub节点手工指Neighbor
为了保证路由哦传递没问题,需要手工修改接口的OSPF优先级,保证Hub成为DR,Spoke什么都不是
为了保证Spoke节点所连接的下游网段内的PC可以互访,需要在Spoke节点彼此指手工FR映射。

2:网络类型使用Broadcast
由于支持组播发送,因此不需要手工指Neighbor(FR Map开启伪广播功能)
需要修改接口OSPF优先级改变DR的位置。
需要手工配置FR的映射实现Spoke节点的彼此访问。

3:网络类型使用P2MP Non-Broadcast
需要手工指Neighbor建邻居
不需要手工修改接口OSPF优先级,因为没有DR/BDR
不需要手工帧中继映射,因为/32的主机路由。

4:网络类型使用P2MP
不需要手工Neighbor
不需要修改优先级
不需要手工映射

OSPF笔记的更多相关文章

  1. OSPF笔记——LSA及其字段,及其作用

    Link State ID Link State ID remains at 32 bits in length, Link State ID has shed any addressing sema ...

  2. TCP/IP笔记 二.网络层(2)——ICMP,RIP,OSPF,BGP

    1. ICMP ICMP (Internet Control Message Protocol) 作用:提高 IP 数据报交付成功的机会. 1.1 特点 ICMP 允许主机或路由器报告差错情况和提供有 ...

  3. ospf剩余笔记

    OSPF 流程图: 带宽 开销 10     100 100    19 1000   4 10000 2 区域的划分减少lsdb的大小 有利于网络管理员故障排除 网络故障不会影响到其他区域 邻接关系 ...

  4. OSPF建立邻居、邻接关系 学习笔记

    Ospf中路由器之间存在两种连接关系:邻居关系和邻接关系.本博文将详细介绍这2种关系建立及工作原理. 如果两台路由器之间共享一条公共数据链路(两台路由器中间没有其它路由器,或者两台路由器之间存在虚连接 ...

  5. OSPF + LVS ,突破LVS瓶颈 (转)

    突破LVS瓶颈,LVS Cluster部署(OSPF + LVS) 前言 架构简图 架构优势 部署方法 1.硬件资源准备 2.三层设备OSPF配置 3.LVS调度机的OSPF配置 a.安装软路由软件q ...

  6. TCP/IP详解学习笔记 这位仁兄写得太好了

      TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...

  7. IS-IS完整笔记

    IS-IS笔记大全 1.公开,ISO国际标准化组织(按照中文顺序翻译) 中间系统到中间系统 双栈.集成 数据传递机制 Cons面向连接网络服务(TCP) Clns缺少链接网络服务(UDP) Is-is ...

  8. TCP-IP详解笔记3

    TCP-IP详解笔记3 地址解析协议 IP协议的设计目标是为跨越不同类型物理网络的分组交换提供互操作. 网络层软件使用的地址和底层网络硬件使用的地址之间进行转换. 对于TCP/IP网络,地址解析协议( ...

  9. TCP-IP详解学习笔记1

    TCP-IP详解学习笔记1 网关可以在互不相关的网络之间提供翻译功能: 体系结构: 协议和物理实现,实际上是一组设计决策. TCP/IP协议族允许计算机,智能手机,嵌入式设备之间通信: TCP/IP是 ...

随机推荐

  1. 【MySQL】-2 函数、分组、子查询、联合查询

    函数 Mysql的函数特性没有SQL可移植性强. 大多数情况下支持的函数: 处理文本串的函数: RTrim():处理列值右边的空格 LTrim():处理列值左边的空格   Trim():处理列值的左右 ...

  2. ios下面的按钮和inout框

    在ios系统中,按钮和输入框,会默认给你加一个圆角和阴影,可以用css去掉这个自带的属性 input[type=button], input[type=submit], input[type=file ...

  3. Innodb IO优化-配置优化

    作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 对于数据库来讲 ...

  4. c#new和override

    new是覆盖父类的虚方法,当用子类构造方法构造父类对象时调用该虚方法调的是父类的方法(视为子类屏蔽了父类的方法,没实现,还是调用父类的方法). override是重写父类的虚方法,当用子类构造方法构造 ...

  5. ABP框架系列之二十六:(EventBus-Domain-Events-领域事件)

    In C#, a class can define own events and other classes can register it to be notified when something ...

  6. sublime将python的运行结果在命令行显示

    sublime将python的运行结果在命令行显示 为什么这么折腾? 因为每次查看输出结果都要上下拖动窗口,很烦. 将build system修改为 { "cmd": [" ...

  7. python20分钟入门

    原子类型 # 内建函数名不可以做变量名如sum,ord abs(-1) # 1 d = dict() # d = {}空字典的构造 l = list() # l = [] s = set(list) ...

  8. [UWP]不那么好用的ContentDialog

    ContentDialog是UWP开发中最常用的组件之一,一个体验良好的UWP应用很难避免不去使用它.博客园里也有许多的文章介绍如何来利用ContentDialog实现各种自定义样式的弹窗界面.不过实 ...

  9. ElasticSearch核心知识总结(二)

    如何超出扩容极限,以及如何提升容错性 primary&replica自动负载均衡,6个shared,3个primary,3个replica,随着机器扩容,会被均衡分配到多台机器上 6个shar ...

  10. ASP.NET Core中自定义路由约束

    路由约束 ASP.NET Core中,通过定义路由模板,可以在Url上传递变量,同时可以针对变量提供默认值.可选和约束. 约束的使用方法是在属性路由上添加指定的约束名,用法如下: // 单个使用 [R ...