| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 泰克网络学习HCIA-OSPF -> 正文阅读 |
|
[网络协议]泰克网络学习HCIA-OSPF |
一、动态路由概述 ? ? ? ? 1.1 动态路由协议通过交互一些链路状态信息,动态的计算出路由,加入路由表,优点是可以适应拓扑变更。如下图所示:R2-R1在配置了静态正常通信的情况下,是可以通信到14链路的,但是当R2-R1链路断掉的时候,静态路由条目就从路由表中删除了,所以,静态路由的缺陷就体现出来了。此时需要配置动态路由。 ???????? ????????1.2 动态路由分类(工作区域划分),IGP(内部网关协议):RIP OSPF ISIS 静态 ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????????????????????EGP(外部网关协议):BGP(一般部署在广域网) ? ? ? ? ? ? ? ? ? ? ? ? ? (按工作机制划分),距离矢量路由协议,RIP ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 链路状态路由协议,OSPF note:无论是OSPF,还是ISIS 开销都是使用cost值计算的,cost=参数带宽/实际带宽 ? ? ? ? 1.3路由递归:路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个连得下一跳和对应的出接口,这个过程就叫路由递归(迭代) ? ? ? ? 理解:1.在配置静态的时候将出接口的指对,不然到达不了目的路由器,又或者没有指出出接口,路由器根据下一跳算出出接口,就称为迭代。 ? ? ? ? ? ? ? ? ? ?2.在串口链路中,只需要指定出接口,即使下一跳不是对端路由器也可以,因为串口中是P2P根据IP地址通信,所以可以通。 ? ? ? ? 1.4 浮动路由 静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份(实际就是备份路由,出故障的时候可以替换) ? ? ? ? 1.5 路由汇总,用于减少路由条目数量可以使用路由汇总 如下图所示 ?此时就可以汇总成一个大网络:192.168.0.0/21,必须精细一点不然浪费资源。 ? ? 二、链路状态路由协议 ? ? ? ? 2.1 与距离矢量路由协议不同,链路状态路由协议通告的是链路状态,而不是路由表,运行链路状态路由协议的路由器先会建立一个邻居关系,然后彼此开始交互LSA。 ? ? ? ? 理解:通过交互OSPF报文----建立邻居-----交互LSA构建LSDB-----计算出最优路径 ? ? ? ? ? ? ? ? 2.1.1.Ospf区域:AREA 0 ? ? ? ? ? ? ? ? ? ?常规区域:普通区域:area1等 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 特殊区域:把普通区域中一些区域拿出来划分为特殊区域 note:spf算法有极限,如果只有一个区域算不出来,而且收敛慢,都在一个区域,不能汇总路由,路由表也会很庞大。 ? ? ? ? ? ? ? ? 2.1.2 Router-ID:路由器标识,用在一个OSPF区域中唯一的标识一台路由器,可以手工也可以自动配置。 ? ? ? ? ? ? ? ? eg:用router-id来判断是不是自己的邻居(OSPF中) ? ? ? ? ? ? ? ? 2.1.3 ospf度量值:参考带宽/实际带宽,一跳ospf路由的cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。 ? ? ? ? ? ? ? ? 2.1.4 ospf协议报文类型 hello dd Lsr lsu las ospf 工作原理如下图: 上图为邻居关系:1.R1-->R2发送hello报文(报文里有字段active 空),此时R2收到报文就知道R1想与自己通信,然后进入初始化状态。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.此时R2给R1会Hello报文,带着自己的RID2.2.2.2,ACTIVE1.1.1.1,R1收到之后便与R2建立2-WAY关系。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.R1收到后还需要给R2发送hello报文带着自己的rid 以及active,R2收到后也进入2-WAY状态,此时,邻居关系,建立完成,进入邻接关系的建立。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4.建立2-way之后需要40S选举DR/BDR --------------------------------------------------------------------------------------------------------------------------------- 字段理解:1.空DD报文:用来主从选举,确定序列号(为什么要确定因为有序可靠哈哈哈) ? ? ? ? ? ? ? ? ? ?2.I=0/1表示,1是第一个报文。m=0/1,1还有更多的报文。ms=0/1 1表示主(主发报文,从无条件进行回复) 在R1,R2建立邻居关系后,然后状态迁移到EXSTAT状态如下图。 ? 1.是因为此时R1发报文给R2俩边都exstart状态,此时就会将主从选举出来,通过对比RID,seq=x,rid=1.1.1.1 (报文携带信息,i=1(第一次的报文),m=1(还有更多的报文要交互),ms=1(报文发过去之后对比选主从,此时默认自己为主路由器)) 6.R2收到摘要DD之后exchange状态建立完成,此时要进入Loading状态,发给R1摘要DDseq=y+2 7.R1收到后返回给R2消息,此时R1-R2Loading状态建立成功。 8.此时互相发送LSR请求,LSU更新,LSACK知道建立FULL状态,生成OSPF路由表信息。 ?Note:报文的摘要DD信息不只一条,需要交互完成之后才可以进入loading状态。MA有2类LSA P2P不会产生2类LSA 三、DR与BDR ????????3.1指定路由器与指定备份路由器。DR与BDR存在的必要时因为:如果每个没路由器之间互相建立邻接关系,那么整个OSPF拓扑就会有好多路由,这样拓扑中的资源浪费。所以只需要DR与BDR之间建立邻居关系,以及与DOTHER之间建立,除了DR与BDR之间,其他路由器只需要建立邻居状态即可。这样大大的降低的了网络资源的消耗。 ? ? ? ? 3.2划区域是因为一个区域内承载的路由器有限,如果太多收敛速度也会变慢。需要划分开, ? ? ? ? 3.3 ABR:区域边界路由器(既属于骨干又属于非骨干),跨区域(同一路由器接口可能不在同一区域) ? ? ? ? 3.4 ASBR:只要是引入了其他协议,这台路由器就是ASBR。 note:泛洪与广播:泛洪是被动的,即交换机找不到目的MAC地址,然后将数据包从所有端口转发出去;广播是的目的是全网用户,使用广播地址,在所有端口发送数据包,是主动的。 ? ? ? ? 广播在广播域中发送消息,给每一个联通的设备,而泛洪找不到目的端口与MAC匹配,才开始泛洪 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:38:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |