HCNP Routing&Switching之OSPF网络类型
前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html;今天我们聊聊一聊OSPF中的网络类型相关话题;
在na的笔记里,我们也提到过ospf的网络类型;ospf的网络类型是根据对应接口二层封装来进行分类的;对于二层链路是以太网封装的,在ospf里叫广播型网络类型;这种网络类型支持广播和组播,也是我们最常见的一种ospf网络类型;对于二层链路是ppp点到点封装的,在ospf里叫点到点网络类型,该网络类型,支持广播和组播,但不支持多路访问;所谓多路访问是指是否有共享介质将多个网络设备连接在一起;对于点到点类型的网络,接口和接口中间没有其他共享介质连接其他设备,所以点到点类型的网络不是多路访问网络,但支持广播和组播;除上述两种常见的网络类型以外;还有一种就是非广播多路访问;这种网络类型的二层链路封装是帧中继封装;不支持广播和组播,但是它是多路访问,原因是帧中继网络类型,可以用帧中继交换机将多个路由器连接起来,实现帧中继网络;以上是三种ospf里的网络类型;它们的二层链路封装都有默认的协议封装;但对于第四种网络类型P2MP(点到多点,是多个点到点的网络集合),这种网络类型来说,它没有默认的二层链路封装协议,只有我们手动更改对应接口的网络类型为P2MP网络类型;这种手动更改为P2MP网络类型我们可以看作一组点到点网络的集合;这种网络类型支持广播、组播;
P2P网络类型

提示:P2P网络连接了一对通过PPP协议的二层链路封装的路由器,中间没有其他设备,广播、珠宝数据包都可以正常转发;该网络类型,ospf是不需要选DR和BDR;
广播型网络

提示:广播型网络支持两台及以上的设备接入同一共享链路且可以支持广播、组播报文的转发,是ospf中最常见的网络类型;广播型网络是通过以太网链路相连的路由器网络;该网络类型,ospf是需要选DR和BDR;
NBMA网络

提示:NBMA网络默认不支持广播域组播报文的转发,在NBMA网络上,OSPF模拟在广播型网络上的操作,但每个路由器的邻居需要我们手动配置;NBMA网络是全互联的帧中继链路相连的路由器网络;该网络类型,ospf是需要选DR和BDR;
P2MP网络

提示:P2MP网络我们可以看作一组P2P网络,这样便行成为了一个点到多点网络;在P2MP网络上,每个路由器的OSPF邻居可以使用方向地址解析协议(Inverse ARP)来发现;P2MP可以看作多个P2P的集合,所以P2MP可以支持广播、组播的转发;没有一种链路层协议默认属于P2MP类型网络,也就是说我们必须由其他的网络类型强制更改为P2MP;最为常见的做法将非完全连接的帧中继或ATM(异步传输)改为P2MP;该网络类型,ospf是不需要选DR和BDR;
实验:如下拓扑,实现全互联的帧中继网络

提示:DLCI我们可以理解为以太网交换机中的mac地址;上图中AR1上有去往AR2的HDLC为102,去往AR3的DLCI为103;AR2去往AR1的HDLI为201,去往AR3的DLCI为203;AR3去往AR1的DLCI为301,去往AR2的DLCI为302;
配置各路由器接口ip地址和更改对应接口为帧中继封装
配置R1

sys
sys R1
int s4/0/0
link-protocol fr
y
ip add 202.11.0.1 24

配置R2

sys
sys R2
int s4/0/0
link-protocol fr
y
ip add 202.11.0.2 24

配置R3

sys
sys R3
int s4/0/0
link-protocol fr
y
ip add 202.11.0.3 24

提示:三个路由器都需要将对应串口的二层封装修改为帧中继网络;从上面的截图可以看到,更改对应接口的封装为帧中继封装,配置好ip地址以后,对应的接口都up起来;
验证:在R1上pingR2 、R3看看是否能正常ping通?

提示:可以看到在R1上ping R2、R3都不能Ping通;什么原因呢?其实原因就是因为我们中间连接的是帧中继交换机,它和以太网交换机不同,需要我们手动配置对应网络的映射关系,类似以太网交换机中的mac地址表;
配置帧中继交换机映射

提示:上述三条映射分别表示R1从帧中继0口收到DLCI为102的数据包,从1口发送出去修改为201;对应返回的数据包,它会自动根据这条映射,将DLCI为201的数据包从1口收到,从0口发送出去,并将对应DLCI修改为102;这样一来就打通了R1到R2的映射;同样的道理R1到R3,源端口为0口,发送出去的的DLCI为103,对应帧中继交换机的1口收到此类数据包,会将对应的数据包的DLCI为103修改为301,然后从2口发送出去,回来的包自动修改对应的DLCI;对于R2到R3也是类似的逻辑;
配置路由器映射
配置R1的映射,将DLCI为102映射为对应网络为202.11.0.2,DLCI为103映射对应网络为202.11.0.3

提示:配置映射需要在对应接口下配置;
配置R2的映射,把DLCI为201映射ip为202.11.0.1,DLCI为203映射ip为202.11.0.3

配置R3的映射,把DLCI为301映射ip为202.11.0.1,DLCI为302映射ip为202.11.0.2

提示:后面的broadcast参数表示支持广播发送;
验证:在R1上看对应映射配置

提示:查看映射,一定要看对应状态为active状态才表示对应映射生效;
验证:现在用R1ping R2、R3看看是否能够ping通呢?

提示:可以看到R1可以正常ping通R2和R3;
验证:在帧中继交换机的0口抓包看看通信过程

提示:可以看到R1ping R2的所有包其DLCI都为102;
验证:用R1PingR3看看对应包的DLCI是否为103呢?

提示:可以看到R1PingR3的DLCI是103;其实我们也很好理解,路由器里有对应的映射,它在发送数据包之前会查看对应的目标地址,根据对应目标地址修改其DLCI;回包也是同样的逻辑;
实验:如下拓扑配置非完全互联的帧中继网络

提示:这个实验和上面那个实验唯一的区别是R2没有直达R3的DLCI,其他都一样,变化的只有R2、R3的映射,以及正宗交换机里的映射;
配置帧中继交换机映射

配置R2、R3映射

提示:上述命令表示R2去往R1或和R3对应的DLCI都为201;

提示:上述命令表示R3去往R1或和R2对应的DLCI都为301;
验证:现在用R2pingR3看看是否能通?

提示:可以看到R2现在也能正常ping通R3;
验证:在帧中继交换机的0口抓包看看R2pingR3对应DLCI的变化

提示:可以看到R2pingR3是,首先R2用DLCI为201把数据包发送给R1,帧中继交换机收到对应的数据包,会从0口发送给R1并把对应DLCI修改为102,随后R1收到对应DLCI为102的数据包,查看目标网络为R3,然后它查映射表,然后把对应的数据包的DLCI修改为103,然后发送给帧中继交换机;从上面的过程可以看到,此时R2和R3没有直达DLCI时,可以借助R1的DLCI实现通讯;
其实上述实验中,我们不配置路由器的映射,对应网络也能正常实现互通;其原因是在帧中继网络里可以用方向地址解析(Inverse ARP)来学习到对应的DLCI映射关系;默认情况下是开启Inverse arp功能;如果手动关闭了此功能,就需要我们手动配置对应路由的映射;
关闭方向地址arp解析

在上述实验环境跑OSPF

提示:上述命令需要在三个路由器上都配置对应ospf;
验证:查看对应ospf网络类型

提示:可以看到对应ospf网络类型为NBMA;
验证:查看ospf邻居信息

提示:可以看到配置好对应ospf以后,对应邻居并没有建立;其原因是NBMA网络类型不支持组播;所以我们还需要手动配置邻居信息;
在R1手动配置邻居关系

提示:可以看到手动配置邻居信息以后,对应邻居就处于attempt状态;该状态表示等待邻居唤醒;只要对应邻居也认识了R1,对应状态就会变为full;
在R2上手动配置邻居关系

提示:可以看到在R2上手动配置邻居信息以后,对应邻居状态就变为full了;此时R2就和R1建立起邻居关系;对于R1和R3也是同样的逻辑;但是R2和R3是建立不起邻居的;原因是R2没有直达R3的链路;他俩通信需要R1的中转,所以建立不起邻居;在完全互联的帧中继网络是可以正常建立邻居关系;这里还需说明一点NBMA虽然不支持广播、组播,但它还是一个多路访问网络,所以它还是会选DR和BDR的;
在R2上查看DR和BDR

更改NBMA网络类型为P2MP
修改R1的s4/0/0接口网络类型为P2MP

提示:可以看到把R1的s4/0/0接口网络类型修改为P2MP以后,对应邻居就down掉了,过一会有起来了;现在R1的s4/0/0的网络类型为P2MP,而R2的接口还是NBMA,从原理上讲,两者封装不同应该建立不起邻居;为什么这里建立起邻居了呢?其实原因就是ospf建立邻居它不看接口网络类型;但通常建议把对应接口都改为通网络类型;
修改R2的s4/0/0接口网络类型为P2MP

验证:ospf网络类型

提示:P2MP网络类型是不需要选DR和BDR,其原因是它本质上还是点到点类型网络;但该网络类型支持广播和组播,所以我们无需手动建立邻居;
回环接口/32主机路由现象
实验:在R1上新建回环接口lo1其地址为1.1.1.1 24,并宣告在ospf里,看看R2学习到的路由掩码是多少

在R2上查看对应学习到的路由信息

提示:上述两条命令都可以用来查看ospf路由信息;从上面的信息可以看到对应R2学习到的路由并非/24,而是/32;这到底是为什么呢?原因是ospf认为回环口只有一个地址,它不可能和其他接口在同一网段,所以在传递是自动变成/32的主机路由信息;我们可以通过修改对应回环口网络类型为broadcast来还原;
查看R1回环接口的网络类型

提示:默认情况下lo接口的网络类型为p2p网络类型;
修改lo1接口的网络类型为broadcast,再次看看R2学习到的路由还会是/32吗?

在R2上查看对应学习到的路由

提示:可以看到现在ospf学习到的回环接口的路由的掩码就变为了24,还原了对应网络配置时的掩码;
HCNP Routing&Switching之OSPF网络类型的更多相关文章
- HCNP Routing&Switching之OSPF LSA类型
		
前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...
 - HCNP Routing&Switching之OSPF LSA类型(二)
		
前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...
 - HCNP Routing&Switching之OSPF虚连接
		
前文我们了解了OSPF的网络类型.帧中继交换机映射以及路由器帧中继映射相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15195762.html:今天我 ...
 - HCNP Routing&Switching之OSPF外部路由类型以及forwarding address
		
前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...
 - HCNP Routing&Switching之OSPF LSA更新规则和路由汇总
		
前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...
 - HCNP Routing&Switching之OSPF特殊区域
		
前文我们了解了OSPF LSA更新规则以及路由汇总相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15231880.html:今天我们来聊一聊OSPF的 ...
 - HCNP Routing&Switching之IS-IS报文结构和类型
		
前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...
 - OSPF网络类型不一致路由无法计算的问题
		
晚上割接,远端的ASR9001-s网络类型为广播类型,本端为6509-e,网络接口类型修改成p2p后,OSPF邻居关系建立,但是路由无法计算.
 - HCNA Routing&Switching之OSPF度量值和基础配置命令总结
		
前文我们了解了OSPF的网络类型,OSPF中的DR和BDR的选举规则.作用等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15054938.html: ...
 
随机推荐
- Linux | 文本编辑器vim
			
vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...
 - ARTS第二周
			
第二周. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文 ...
 - RWLock——一种细粒度的Mutex互斥锁
			
RWMutex -- 细粒度的读写锁 我们之前有讲过 Mutex 互斥锁.这是在任何时刻下只允许一个 goroutine 执行的串行化的锁.而现在这个 RWMutex 就是在 Mutex 的基础上进行 ...
 - Git的安装和配置 -入门
			
Git的版本有很多种,适应各种windows,IOS, Linux平台的安装. 我用的是linux Centos7的版本: 1. 安装命令用Yum, 非常简单就可以安装完毕. yum install ...
 - JDK环境配置: javac is not recognized as an internal or external command, operable program or batch file
			
相信大家在配置TestNG的时候,首先都会去确认JDK的安装是否正确,两个命令缺一不可. 打开'cmd' --> 1. 输入'java -version', 返回java home当前路径. j ...
 - C语言:printf标志符
			
%d 十进制整数 %i %lf双精度浮点数 %o八进制整数 0%o或0%O %x十六进制整数 0x%x 或 0X%X %f单精度浮点数 %E %e科学计数法 %s 字符串 %c 字符(单个 ...
 - 重拾javaweb(假期后第一次web测试)
			
上学期通过十六周的时间,完成了javaweb的项目实践,其中包括很多次的练习以及测试.寒假时间大多用来挥霍,并没有对这些知识进行复习以及进一步的学习,所以在这场考试中,最终以八分的可怜成绩收尾,实在过 ...
 - Day8 方法详解及递归思想.
			
何为方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则: 方法的本意是功能块,就是实 ...
 - Java基础之反射总结
			
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. ...
 - Python_结合Re正则模块爬虫
			
##### 爬取古诗文import reimport requestsdef parse_page(url): headers = { 'User-Agent':'Mozilla/5.0 (Windo ...