前文我们了解了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网络类型的更多相关文章

  1. HCNP Routing&Switching之OSPF LSA类型

    前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...

  2. HCNP Routing&Switching之OSPF LSA类型(二)

    前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...

  3. HCNP Routing&Switching之OSPF虚连接

    前文我们了解了OSPF的网络类型.帧中继交换机映射以及路由器帧中继映射相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15195762.html:今天我 ...

  4. HCNP Routing&Switching之OSPF外部路由类型以及forwarding address

    前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...

  5. HCNP Routing&Switching之OSPF LSA更新规则和路由汇总

    前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...

  6. HCNP Routing&Switching之OSPF特殊区域

    前文我们了解了OSPF LSA更新规则以及路由汇总相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15231880.html:今天我们来聊一聊OSPF的 ...

  7. HCNP Routing&Switching之IS-IS报文结构和类型

    前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...

  8. OSPF网络类型不一致路由无法计算的问题

    晚上割接,远端的ASR9001-s网络类型为广播类型,本端为6509-e,网络接口类型修改成p2p后,OSPF邻居关系建立,但是路由无法计算.

  9. HCNA Routing&Switching之OSPF度量值和基础配置命令总结

    前文我们了解了OSPF的网络类型,OSPF中的DR和BDR的选举规则.作用等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15054938.html: ...

随机推荐

  1. JSON字符串和对象之间的转换

    JSON(JavaScript Object Notation) 是JavaScript编程语言的一个子集.正因JSON是JavaScript的一个子集,所以它可清晰的运用于此语言中. eval函数 ...

  2. flex开发小技巧集锦

    关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ...

  3. linux下.run文件的安装与卸载

    linux下.run文件的安装与卸载   .run文件的安装很简单,只需要为该文件增加可执行属性,即可执行安装 以 virtualbox 的安装文件 virtualbox-3.1.6-59338-Li ...

  4. Codeforces Round #198 (Div. 2) —— A

    最水的题,可惜当时赶时间没有注意数据范围:暴力超时了! 其实应该用x,y的最大公约数来判断: 代码: #include<iostream> using namespace std; int ...

  5. 那些年被我坑过的Python——摩拳擦掌(第三章)

    集合类型: 集合类型中的元素是唯一的! 集合的定义与赋值: set_1 = set([1, 3, 5, 7, 2]) set_2 = set([2, 4, 6, 8, 3]) 集合的运算操作 # 交集 ...

  6. 域名解析 URL转发

    URL转发 转发功能:如果您没有一台独立的服务器(也就是没有一个独立的IP地址)或者您还有一个域名B,您想访问A域名时访问到B域名的内容,这时您就可以通过URL转发来实现.url转发可以转发到某一个目 ...

  7. ::在c++中什么意思

    (1)表示“域操作符” 例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时, 就要写成void A::f(),表示这个f()函数是类A的成 ...

  8. hive:数据库“行专列”操作---使用collect_set/collect_list/collect_all &amp; row_number()over(partition by 分组字段 [order by 排序字段])

    方案一:请参考<数据库“行专列”操作---使用row_number()over(partition by 分组字段 [order by 排序字段])>,该方案是sqlserver,orac ...

  9. Android ColorMatrix类图像颜色处理-黑白老照片、泛黄旧照片、高对比度等效果

    在Android中,对图像进行颜色方面的处理,如黑白老照片.泛黄旧照片.高对比度.低饱和度等效果,都可以通过使用颜色矩阵(ColorMatrix)来实现. 1.颜色矩阵(ColorMatrix)介绍 ...

  10. MySQL8.0.15安装教程(Windows)

    下载 第一步 去官网下载社区版本(GPL版本) 第二步 不登录,直接选下方的跳过 下载解压后 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个my ...