ospf双向重发布,LSA优化综合

news2024/12/30 2:56:39

目录

  • 实验分析
  • ip地址划分
  • 写公网缺省路由
  • 区域0公网MGRE搭建
  • 各个区域ospf的宣告
  • 改变ospf接口工作方式和更改接口优先级
  • ospf多进程及双向重发布
  • 减少LSA的更新量
    • 1,减少特殊区域的LSA更新量
    • 2,骨干区域的优化
      • 域间汇总
      • 域外汇总
      • 防环
  • nat的设置

实验分析

如图实际的拓扑图,各个网段,区域都已经标注
在这里插入图片描述

ip地址划分

1,第一次划分
根据题目给出的网段 172.16.0.0/16 进行划分
可以将该图中每一个区域分配一个网段,需要6个,所以掩码借3位,得到如下8个网段。多出来的网段方便以后扩展。

172.16.0.0/19      area0
172.16.32.0/19   area1
172.16.64.0/19    area2
172.16.96.0/19   area3
172.16.128.0/19  area4
172.16.160.0/19   rip段
172.16.192.0/19   保留备用
172.16.224.0/19    保留备用

只需要其中6个网段即可,选择前6个使用即可,分配的区域已经在上面标出。
2,第二次划分
在上面划分后的基础上来划分
在实际工程中,图中每一个路由器环回下面很可能代表的是真实的用户,用户一般几十个最多上百个就已经很大了,保险起见,用户网段的掩码分配为25。所以一个网段又划分成了2^6=64个网段,划分后如下

172.16.0.0/19      172.16.0.0/25  172.16.0.128/25      前2个分配给骨干
							172.16.1.0/25  172.16.1.128/25....    
							172.16.31.128/25
172.16.32.0/19 
172.16.64.0/19
172.16.96.0/19  
172.16.128.0/19
172.16.160.0/19  

然后将各个路由器上的ip 配上
各个环回已经配置,不再写

写公网缺省路由

对R3
[r3]ip route-static 0.0.0.0 0 34.1.1.2
对R5
[r5]ip route-static 0.0.0.0 0 45.1.1.2
对R6
[r6]ip route-static 0.0.0.0 0 46.1.1.2
对R7
[r7]ip route-static 0.0.0.0 0 47.1.1.2

可以测试公网是否通了

区域0公网MGRE搭建

图中红色的代表的是MGRE图
注意:在搭建MGRE前,确保公网是能够通的

中心站点R3
[r3]int Tunnel 0/0/0
[r3-Tunnel0/0/0]ip add 172.16.0.129 29
[r3-Tunnel0/0/0]tunnel-protocol gre p2mp
[r3-Tunnel0/0/0]source 34.1.1.1
[r3-Tunnel0/0/0]nhrp entry multicast dynamic

R5
[r5]int Tunnel 0/0/0
[r5-Tunnel0/0/0]ip add 172.16.0.130 29
[r5-Tunnel0/0/0]tunnel-protocol gre p2mp
[r5-Tunnel0/0/0]source GigabitEthernet 0/0/2
[r5-Tunnel0/0/0]nhrp entry 172.16.0.129 34.1.1.1 register

R6
[r6]int Tunnel 0/0/0
[r6-Tunnel0/0/0]ip add 172.16.0.131 29
[r6-Tunnel0/0/0]tunnel-protocol gre p2mp
[r6-Tunnel0/0/0]source GigabitEthernet 0/0/2
[r6-Tunnel0/0/0]nhrp entry 172.16.0.129 34.1.1.1 register

R7
[r7]int Tunnel 0/0/0
[r7-Tunnel0/0/0]ip add 172.16.0.132 29
[r7-Tunnel0/0/0]tunnel-protocol gre p2mp
[r7-Tunnel0/0/0]source GigabitEthernet 0/0/2
[r7-Tunnel0/0/0]nhrp entry 172.16.0.129 34.1.1.1 register

此时这个环境的MGRE配置完成,可以到中心站点看看map表

各个区域ospf的宣告

图中可以看出各个路由所在区域

对R1
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]network 172.16.0.0 0.0.255.255

R2
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]network 172.16.0.0 0.0.255.255

R3
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 1
[r3-ospf-1-area-0.0.0.1]network 172.16.32.0 0.0.31.255
[r3-ospf-1-area-0.0.0.1]network 172.16.0.129 0.0.0.0

R5
[r3]ospf 1 router-id 5.5.5.5
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255

R6
[r6]ospf 1 router-id 6.6.6.6
[r6-ospf-1]area 1
[r6-ospf-1-area-0.0.0.1]network 172.16.0.0 0.0.1.255
[r6-ospf-1]area 2
[r6-ospf-1-area-0.0.0.2]network 172.16.64.0 0.0.0.255

R7
[r7]ospf 1 router-id 7.7.7.7
[r7-ospf-1]area 0
[r7-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.3.255
[r7-ospf-1]area 3
[r7-ospf-1-area-0.0.0.3]network 172.16.96.0 0.0.0.255

R8
[r8]ospf 1 router-id 8.8.8.8
[r8-ospf-1]area 3
[r8-ospf-1-area-0.0.0.3]network 172.16.0.0 0.0.255.255

R9
[r9]ospf 1 router-id 9.9.9.9
[r9-ospf-1]area 3
[r9-ospf-1-area-0.0.0.3]network 172.16.96.0 0.0.0.255
[r9-ospf-1]area 4
[r9-ospf-1-area-0.0.0.4]network 172.16.128.0 0.0.1.255

R10
[r10]ospf 1 router-id 10.10.10.10
[r10-ospf-1]area 4
[r10-ospf-1-area-0.0.0.4]network 172.16.0.0 0.0.255.255

R11
[r11]ospf 1 router-id 11.11.11.11
[r11-ospf-1]area 2
[r11-ospf-1-area-0.0.0.2]network 172.16.0.0 0.0.255.255

R12
[r12]ospf 1 router-id 12.12.12.12
[r12-ospf-1]area 2
[r12-ospf-1-area-0.0.0.2]network 172.16.64.6 0.0.0.0

1,这个时候可以看看邻居关系
2,可以看见R3 R5 R6 R7 的选举有问题,不能正常建邻。需要改接口的工作方式以及DR设置,至于为什么,可以看以前写的博客

改变ospf接口工作方式和更改接口优先级

注意:每个对应得到路由器都要更改

对R3
[r3]int Tunnel 0/0/0
[r3-Tunnel0/0/0]ospf network-type broadcast 

对R7
[r7]int Tunnel 0/0/0
[r7-Tunnel0/0/0]ospf network-type broadcast 
[r7-Tunnel0/0/0]ospf dr-priority 0

R5
[r5]int Tunnel 0/0/0
[r5-Tunnel0/0/0]ospf network-type broadcast 
[r5-Tunnel0/0/0]ospf dr-priority 0

对R6
[r6]int Tunnel 0/0/0
[r6-Tunnel0/0/0]ospf network-type broadcast 
[r6-Tunnel0/0/0]ospf dr-priority 0

这个时候可以查看一下ospf路由表,area1,2,3,0区域可以互通了。
但是发现不规则区域area4 及rip不能得到area1,2,0的路由,此时就要处理这些区域

ospf多进程及双向重发布

在R12上面进行重发布以后,在R1上查看路由表,可以发现已经有来自rip区域的路由(以5类发布来的O_ASE)

area0,area2,area3组成的是不规则区域,解决方法有:
1,建立虚链路
2,建立tunnle 口
3,多进程双向重发布

对R12重发布
[r12]ospf 1	  
[r12-ospf-1]import-route rip 

在R9上面多进程重发布,注意,之前R9上已经有了进程1,现在创建一个进程2,将区域4弄到进程2里面
[r9]ospf 2
[r9-ospf-2]area 4
[r9-ospf-2-area-0.0.0.4]network 172.16.64.6 0.0.0.0
[r9]ospf 1 进入进程1
[r9-ospf-1]import-route ospf 2   在进程1导入进程2 的路由
[r9]ospf 2 进入进程2
[r9-ospf-2import-route ospf 1  在进程2导入进程1 的路由

这时候在R1上查看路由表,发现有所有网段路由了

减少LSA的更新量

有个方法减少更新量
1,汇总,减少area0更新量
2,特殊区域的汇总,让特殊区域的更新量减少

1,减少特殊区域的LSA更新量

特殊区域优化所有的非骨干
由图中可以看出
1,area1弄成完全末梢区,将不会学习area1以外的路由(既是不学3,4,5,类)
2,area2弄成完全NSSA(非完全末梢区),由该区域连接骨干的ABR发一条3类的缺省到其他区域,该区域后面的区域由7类通过ABR发送,在ABR上将7类转化为5类
3,area3 弄成完全nssa

area1中

R1
[r1]ospf 1
[r1-ospf-1]area 1 
[r1-ospf-1-area-0.0.0.1]stub   设置成末梢
R2
[r2]ospf 1
[r2-ospf-1]area 1 
[r2-ospf-1-area-0.0.0.1]stub   设置成末梢
R3
[r3]ospf 1
[r3-ospf-1]area 1 
[r3-ospf-1-area-0.0.0.1]stub no-summary    R3是ABR ,设置成完全末梢
这个时候等待R1R2R3重新建邻

查看ospf数据库的数量,发现少了很多,只有本区域的路由以及去R3的缺省
[r1]display ospf lsdb

区域2

对R11
[r11]ospf 1
[r11-ospf-1]area 2
[r11-ospf-1-area-0.0.0.2]nssa    调成非完全末梢

对R12
[r12]ospf 1
[r12-ospf-1]area 2
[r12-ospf-1-area-0.0.0.2]nssa 

对R6
[r6]ospf 1
[r6-ospf-1]area 2
[r6-ospf-1-area-0.0.0.2]nssa no-summary  调成完全nssa
等邻居恢复发现R11数据库数据及路由很少了

对区域3

对R8
[r8]ospf 1
[r8-ospf-1]area 3
[r8-ospf-1-area-0.0.0.3]nssa 

对R9
[r9]ospf 1
[r9-ospf-1]area 3
[r9-ospf-1-area-0.0.0.3]nssa 

对R7
[r7]ospf 1
[r7-ospf-1]area 3
[r7-ospf-1-area-0.0.0.3]nssa  no-summary

2,骨干区域的优化

可以从图中看出骨干area0需要一共汇总5条路由(3条域间路由,2条域外路由)

域间汇总

对R3
[r3]ospf 1
[r3-ospf-1]area 1
[r3-ospf-1-area-0.0.0.1]abr-summary 172.16.32.0 255.255.224.0    域间汇总

对R6
[r6]ospf 1
[r6-ospf-1]area 2
[r6-ospf-1-area-0.0.0.2]abr-summary 172.16.64.0 255.255.224.0

对R7
[r7]ospf 1
[r7-ospf-1]area 3
[r7 -ospf-1-area-0.0.0.3]abr-summary 172.16.96.0 255.255.224.0

域外汇总

对R12
[r12]ospf 1
[r12-ospf-1]asbr-summary 172.16.160.0  255.255.224.0  域外汇总

对R9
[r9]ospf 1
[r9-ospf-1]asbr-summary 172.16.128.0  255.255.224.0

可以看到区域0路由数量变少了

防环

哪个路由上面汇总了就要在这个路由上面设置空接口防止出现环路

对R3
[r3]ip route-static 172.16.32.0 19 NULL 0   
其他几个汇总过的路由器也相应的设置空接口即可

nat的设置

nat可以让私网和公网通

对R3
[r3]acl 2000
[r3-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255    允许地址转化的网段
[r3-acl-basic-2000]int g0/0/2
[r3-GigabitEthernet0/0/2]nat outbound 2000

对R6
[r6]acl 2000
[r6-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[r6-acl-basic-2000]int g0/0/2
[r6-GigabitEthernet0/0/2]nat outbound 2000

对R7
[r7]acl 2000
[r7-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[r7-acl-basic-2000]int g0/0/2
[r7-GigabitEthernet0/0/2]nat outbound 2000

这个时候就可以ping通公网环回了

到此实验结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146708.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS Code 为 Clang for MSVC 配置 cmake cmake tools

介绍 在windows平台上,由于平台API差异过大,一般为linux设计的项目(POSIX兼容)无法通过MSVC的编译,而是会报非常多的头文件错误。如果要修改,工程量将巨大。Windows平台上,主要有两个类POSIX兼容…

【JavaScript】事件--总结

千锋 1.Event 对象 代表事件的状态&#xff0c;比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 div{width: 200px;height: 200px;background-color: yellow;} </style> <body><input type"text" id"username"&…

JavaScript 事件

文章目录JavaScript 事件HTML 事件常见的HTML事件JavaScript 可以做什么?JavaScript 事件 HTML 事件是发生在 HTML 元素上的事情。 当在 HTML 页面中使用 JavaScript 时&#xff0c; JavaScript 可以触发这些事件。 HTML 事件 HTML 事件可以是浏览器行为&#xff0c;也可以是…

babel做兼容处理 到底怎么使用?

1.背景 日常项目开发中总是避免不了对低版本浏览器做一些兼容处理&#xff0c;最常见的手段就是结合编译工具使用babel来处理一些语法的兼容&#xff0c;但是每次使用的时候其实Babel的配置和使用到的相关库总是云里雾里&#xff0c;网上的各种推荐方案眼花缭乱不知道到底应该…

自定义DotNetCore 项目模板

在进行代码开发时候&#xff0c;各自的团队或者公司都会有服务自己要求的项目代码模板&#xff0c;再创建新的项目时&#xff0c;都需要按照模板规范进行定义&#xff0c;NET支持自定义项目模板&#xff0c;这样在进行项目创建时就会高效很多。 官方参考文档&#xff1a;dotne…

软测复习01:软件测试概述

文章目录软件测试的目的软件测试的定义软件测试与软件开发软件测试发展软件测试的目的 基于不同的立场&#xff0c;存在着两种完全不同的测试目的 从用户的角度出发&#xff0c;希望通过软件测试暴露软件中隐藏的错误和缺陷&#xff0c;以考虑是否可接受该产品。从软件开发者的…

Java当中的定时器

目录 一、什么是定时器 二、Java当中的定时器 ①schedule()方法&#xff1a; ②TimerTask ​编辑 ③delay 三、实现一个定时器 前提条件: 代码实现: ①确定一个“任务”&#xff08;MyTask)的描述&#xff1a; ②schedule方法&#xff1a; ③需要一个计时器 属性…

MAT-内存泄漏工具使用

目录 一、MAT简介 1.1 MAT介绍 1.2 MAT工具的下载安装 二、使用MAT基本流程 2.1 获取HPROF文件 2.2 MAT主界面介绍 2.3 MAT中的概念介绍 2.3.1 Shallow heap 2.3.2 Retained Heap 2.3.3 GC Root 2.4 MAT中的一些常用的视图 2.4.1 Thread OvewView 2.4.2 Group 2.…

复杂工况下少样本轴承故障诊断的元学习

摘要&#xff1a;近年来&#xff0c;基于深度学习的轴承故障诊断得到了较为系统的研究。但是&#xff0c;这些方法中的大多数的成功在很大程度上依赖于大量的标记数据&#xff0c;而这些标记数据在实际生产环境中并不总是可用的。如何在有限的数据条件下训练出鲁棒的轴承故障诊…

线程状态到底是5种还是六种?傻傻分不清楚

目录 从操作系统层面上描述线程状态 从javaAPI层面上理解线程的6种状态 线程的状态转换. NEW --> RUNNABLE 1.RUNNABLE <--> WAITING 2.RUNNABLE <--> WAITING 3.RUNNABLE <--> WAITING 1.RUNNABLE <--> TIMED_WAITING 2.RUNNABLE <--&…

开源天气时钟项目删减和更新

开源天气时钟项目删减和更新&#x1f4cc;原项目开源地址&#xff1a;https://gitee.com/liuzewen/ESP8266-SSD1306-Watch-mini ✨本文只针对Arduino IDE平台代码进行删减和更新。 &#x1f4fa;按键菜单功能 &#x1f33c;天气时钟功能整体架构描述 代码中所使用的库&…

【MySQL】十,SQL执行流程

MySQL中的SQL执行流程 MySQL的查询流程 查询缓存 Server 如果在查询缓存中发现了这条 SQL 语句&#xff0c;就会直接将结果返回给客户端 如果没有&#xff0c;就进入到解析阶段&#xff08;MySQL 8.0 已经废弃了查询缓存功能&#xff09;。 解析器 在解析器中对 SQL 语句进行…

36、基于STM32的电子闹钟(DS1302)

编号&#xff1a;36 基于STM32的电子闹钟&#xff08;DS1302&#xff09; 功能描述&#xff1a; 本设计由STM32单片机液晶1602按键DS1302时钟模块声光报警模组成。 1、采用STM32F103最小系统。 2、利用DS1302芯片提供时钟信号 3、液晶1602实时显示年月日、时分秒、星期等信息…

java线程池原理

背景&#xff1a;为什么需要线程池java中的线程池是运用场景最多的并发框架&#xff0c;几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中&#xff0c;合理的使用线程池能够带来3个好处。降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消…

(1分钟了解)SLAM的七大问题:地图表示、信息感知、数据关联、定位与构图、回环检测、深度、绑架

编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09;SLAM问题也被称为是CML问题。编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09;编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&…

(JMLR-2019)NAS综述鼻祖-神经架构搜索:一项调查

神经架构搜索&#xff1a;一项调查 paper题目&#xff1a;Neural Architecture Search: A Survey paper是博世人工智能中心发表在JMLR 2019的工作 paper链接&#xff1a;地址 Abstract 过去几年&#xff0c;深度学习在图像识别、语音识别和机器翻译等各种任务上取得了显着进步…

【C++】stl---vector的模拟实现(超级详细,万字详解)

文章目录前言vector的成员属性构造函数size函数cacpcity函数begin和end函数reserve函数insert函数push_back函数[]操作符重载析构函数拷贝构造函数赋值操作符重载erase函数pop_back反向迭代器反向迭代器模板反向迭代器的构造函数运算符重载- -运算符重载*引用操作符重载&#x…

Spring AOP 企业级应用 - 统一功能处理

1.统一用户登录权限效验统一用户登录权限效验使用传统的 AOP 能否解决问题呢 ? Component Aspect // 标识当前类为一个切面 public class LoginAOP {// 定义切点 (拦截的规则) - 拦截 UserController 中的所有方法Pointcut("execution(* com.example.demo.controller.Tes…

React Hooks 基础、实现、原理

React Hooks 基础、实现、原理题外话为什么要有Hooks&#xff1f;但是Class Component 的用法也有缺陷&#xff1a;1.组件复用变的困难2.JavaScript本身的缺陷函数式React HooksuseStateuseEffectuseCallback、useMemouseReducer最后题外话 2023了&#xff0c;新年快乐&#x…

【javascript】DOM 案例

点击查看密码 &#xff1a;就是把type等于password改为text即可&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><…