草庐IT

HCIA-OSPF协议

小白 2023-03-28 原文

------------恢复内容开始------------

OSPF

开放式最短路径优先协议:

  基于链路状态得内部网关协议

为什么要有OSPF协议?

  RIp缺点:收敛慢,易产生环路、可扩展性差,不支持认证,最大15跳。

OSPF协议优点:

  基于IP封装 协议号89

  无环路,收敛快,扩展性好,支持认证。

  更新方式:组播更新 224.0.0.5

OSPF原理:

  1、相互发送Hello报文,建立邻居关系。

  2、相互泛洪LSA(链路状态信息),形成相同得LSDB(链路状态信息库)。

  3、运行SPF算法,得到最短路径。

划分区域:

  为什么要划分区域?

    为了减少设备压力。

  如何减少设备压力,通过划分区域

 划分方式:基于接口划分

  分类:

  骨干区域:AREA0

  非骨干区域:所有得非“0”区域都叫非骨干区域。

  部署原则:非骨干区域间相互通信,必须和骨干区域相连。

配置:

  开启OSPF-----默认进程ID=1

  关闭OSPF-----UNdo OSPF 1

  指定OSPF进程----【R】 OSPF 10

  开启OSPF时,指定router-ID -----【R】ospf router-id1.1.1.1

  创建区域--------【R1-OSPF-1】area 0

  宣告网段:network 1.1.1.0 0.0.0.255

  重启OSPF进程------<R1>reset ospf process

  查看OSPF邻居关系:

    <R1>display ospf peer brief

报文:

  HEllo:建立邻居,维护邻居关系。

  DD:本地链路状态描述报文。

  LSR:链路状态信息请求报文。

  LSU:链路状态更新报文。

  LSACK:链路状态确认报文。

 

 

 

 

router ID选举规则:

  router ID选举规则:

    可以进行手工制定;在有些情况下为设备配置的第一个IP地址

    如果没有进行手工只顶你按下面规则选举router ID:

    如果设备存在多个逻辑接口地址,则路由器使用逻辑接口中最大的IP地址作为Router     ID;如果没有配置逻辑接口,则路由器使用物理接口的最大IP地址作为Router ID。

    作用:用来标识一台OSPF路由器

      逻辑接口稳定:一般情况下不发生抖动,只有在设备宕机时接口才会关闭,否则接口会一直处于UP状态。

    在为一台运行OSPF的路由器配置新的Router ID后,可以在路由器上通过重置OSPF进程来更新router ID。

    

 

开销:

  参考带宽/接口实际带宽=cost

  100M/s / 100 =1

  100M/s / 1000 =0.1

  修改开销:

  方法一:直接修改cost值

    接口模式下:ospf cost (数字)

  方法二:修改参考带宽

    【OSPF】bandwidth-reference(1000)

OSPF认证:

  

 

 

配置:

 

  

 

 

LSA过度泛洪:

 

  

 

 

 

 

为什么要选举DR和BDR?

 

  1、选举DR是为了减少LSA过度泛洪

 

  2、选举BDR是为了保证DR的可靠。

 

DR特性:不可抢占性!

 

邻居和邻接关系:

 

  DR BDR Drother

 

  邻居关系:只相互发送hello报文,不泛洪

 

        Drother和Drother

 

  邻接关系:发送hello也发送LSA泛洪

 

        Drother和DR/BDR

 

  修改路由器优先级:【接口模式下】ospf dr-priority 0

 

            "0"不参加DR和BDR选举,激素DRrother

 

什么时候进行的DR和BDR选举?

 

状态机:

 

  

 

DOwn:初始状态下(没有发送或者接收hello报文)

init:进行hello报文的交互,建立邻居时进行协商(DR和BDR)

2way:邻居状态关系的建立的标志(收到的hello报文中的邻居字段为本地的router-id)

exstart:进行主从关系的选举(为了保证DD报文的可靠)

Exchange:进行DD报文的交互

loading:进行LSR、LSU和LSACK报文交互

Full:运行SPF算法,得到最优路径

为什么要有exstart状态?

  为了保证DD报文的可靠

为什么要保证DD报文可靠?

  因为报文函带部分LSA信息,所以不可以丢失

  因为OSPF路由信息时基于IP协议封装,而IP协议不可以保证可靠。

  因为LSR、LSU和LSACK可以互相保证可靠。所以需要保证DD报文的可靠。

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

    

    

 

有关HCIA-OSPF协议的更多相关文章

  1. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  2. ruby - HTTP POST 上的 SSL 错误(未知协议(protocol)) - 2

    尝试通过SSL连接到ImgurAPI时出现错误。这是代码和错误:API_URI=URI.parse('https://api.imgur.com')API_PUBLIC_KEY='Client-ID--'ENDPOINTS={:image=>'/3/image',:gallery=>'/3/gallery'}#Public:Uploadanimage##args-Theimagepathfortheimagetoupload#defupload(image_path)http=Net::HTTP.new(API_URI.host)http.use_ssl=truehttp.verify

  3. 物联网MQTT协议详解 - 2

    一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su

  4. 网络实验之RIPV2协议(一) - 2

    一、RIPV2协议简介  RIP(RoutingInformationProtocol)路由协议是一种相对古老,在小型以及同介质网络中得到了广泛应用的一种路由协议。RIP采用距离向量算法,是一种距离向量协议。RIP-1是有类别路由协议(ClassfulRoutingProtocol),它只支持以广播方式发布协议报文。RIP-1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持非连续子网(DiscontiguousSubnet)。RIP-2是一种无类别路由协议(ClasslessRoutingProtocol),支持路由标记,在路由策略中可根据路由标记对

  5. ruby - 协议(protocol)族不支持的地址族 - 2

    我尝试执行此页面中显示的ruby示例:http://tomayko.com/writings/unicorn-is-unix但我得到的只是echo.rb:9:in`bind':Addressfamilynotsupportedbyprotocolfamily-bind(2)(Errno::EAFNOSUPPORT)fromecho.rb:9:in`'有什么想法吗? 最佳答案 我遇到了同样的问题。只需将localhost更改为0.0.0.0:address=Socket.pack_sockaddr_in(4242,'0.0.0.0')

  6. ruby-on-rails - 在 Github 上 fork Ruby/Rails gem 的正确协议(protocol)/礼仪是什么,可以作为持续的并行 fork 进行维护? - 2

    最近我使用了一个由单个开发人员创建的不错的gem,它托管在Github上。在我的工作中,我不得不对它进行一些实质性的修改,添加一些改进。有些是特定于项目的,有些是特定于gem的,还有一些是独立的改进。对于特定于gem的改进(例如,错误修复),我fork了存储库,应用了修复,并提出了拉取请求。然后,然而,我注意到独立的改进有点属于原始gem的并行、持续的分支类别。更清楚地说,你以前见过它;我重写了原始gem的View以使用TwitterBootstrap框架。因此,我也将它推送到了Github,但是,当然,我没有提出拉取请求——相反,我更新了README以解释不同之处,并感谢gem的原作

  7. OSPF综合实验 - 2

    文章目录实验要求实验思路IP地址规划路由实验配置R1上配置R2上配置R3上配置R4上配置R5上配置R6上配置R7上配置R8上配置R9上配置R10上配置R11上配置R12上配置实验测试R10pingR4的环回R10pingR12的环回R10pingR1实验要求R4为ISP,其只能配置IP地址;R4与其他所有直连设备间均使用公有IP;R3-R5/6/7为MGRE环境,R3为中心站点;整个OSPF环境IP基于172.16.0.0/16划分;所有设备均可访问R4的环回;减少LSA的更新量,加快收敛,保障更新安全;全网可达实验思路IP地址规划公网IP随便配置,这里我R3-R4的网段为34.1.1.0/2

  8. ruby-on-rails - OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=unknown 状态:未知协议(protocol) - 2

    我关注了很多关于这个问题的帖子,但没有一个对我有帮助。我正在尝试使用最简单的irb命令进行连接:require'open-uri'open('https://aristo4stu3.bgu.ac.il')奇怪的是,对于我尝试过的任何其他httpsuri,它都工作正常(即https://google.com)。出于调试目的,我什至尝试使用以下方法禁用SSL验证:OpenSSL::SSL::VERIFY_PEER=OpenSSL::SSL::VERIFY_NONE这似乎也没有帮助。我的设置是(在AWS上):$rvm-vrvm1.21.3(stable)byWayneE.Seguin,Mic

  9. 思科与华为设备OSPF配置命令对比 - 2

    思科与华为设备OSPF配置命令对比[Huawei]ospf1//启动OSPF进程,进入OSPF视图Cisco(config)#routerospf110[Huawei]ospf1router-id10.1.1.1//启动OSPF进程,进入OSPF视图,手动输入router-idCisco(config-router)#router-id1.1.1.1[Huawei-ospf-1]area0//创建并进入OSPF区域视图(骨干区域)[Huawei-ospf-1-area-0.0.0.0]network10.0.1.00.0.0.255//配置区域所包含的网段[Huawei-GigabitEthe

  10. ruby-on-rails - 如何使用rails输出当前协议(protocol)和url? - 2

    我有一个共享对话框。在开发中它看起来像:http://xxxxxx.com/stuff产品上:https://yyyyyyyyyyy.com/stuff输出#Protocol##URL#的最佳Rails方式是什么我可以在哪里设置它们?谢谢 最佳答案 request.protocolrequest.url参见requestobject. 关于ruby-on-rails-如何使用rails输出当前协议(protocol)和url?,我们在StackOverflow上找到一个类似的问题:

随机推荐