关于有类路由协议和无类路由协议

有类路由协议:

RIPv1,IGRP

无类路由协议:RIPv2,EIGRP,OSPF,IS-IS,BGP

有类路由协议在主类边界路由器上自动汇总:(抛开接口谈网络都是扯淡)

(1) 对于相同主类网络的子网,如果mask与出口mask相同,则把该子网通过外出接口发布出去;

(2) 对于相同主类网络的子网,如果mask与出口接口的mask不同,则把该子网丢弃;对于不同主类网络的子网,无论mask与出口接口的mask是否相同,把该网段汇总成主类网络发布出去。

(3)对于不同主类网络的子网,无论mask与出口接口的mask是否相同,把该网段汇总成主类网络发布出去。

R1配置:

interface Loopback0

ip address 10.0.1.1 255.255.255.0

interface Loopback1

ip address 10.0.2.1 255.255.255.128

interface Loopback2

ip address 11.0.0.1 255.255.255.0

interface Loopback3

ip address 11.0.1.1 255.255.255.128

interface Serial1/0

ip address 10.0.0.1 255.255.255.0

R2配置:

interface Serial1/0

ip address 10.0.0.2 255.255.255.0

interface Serial1/1

ip address 172.16.0.2 255.255.255.0

R3配置:

interface Serial1/1

ip address 172.16.0.1 255.255.255.0

对R1和R2路由器配置RIPv1路由协议:

R1:

router rip

network 10.0.0.0

network 11.0.0.0

R2:

router rip

network 10.0.0.0

查看R2的路由表:

172.16.0.0/24 is subnetted, 1 subnets

C 172.16.0.0 is directly connected, Serial1/1

10.0.0.0/24 is subnetted, 2 subnets

C 10.0.0.0 is directly connected, Serial1/0

R 10.0.1.0 [120/1] via 10.0.0.1, 00:00:02, Serial1/0      //与发布路由的出接口掩码相同,则发布出去

R 11.0.0.0/8 [120/1] via 10.0.0.1, 00:00:02, Serial1/0      //与接口处于不同子网,则按照主网络发布出去

解析:

(1)R 10.0.1.0 [120/1] via 10.0.0.1, 00:00:02, Serial1/0

Loopback0的IP地址设置掩码为24位,与出口接口s1/0的掩码一致,因此按照上文中的第一种情况,该子网可以发布出去;

Loopback1的IP地址设置掩码为25位,与出口接口s1/0的掩码不一致,因此按照上文中的第二种情况,该子网被抛弃:

R2#ping 10.0.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.0.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 20/84/340 ms

R2#ping 10.0.2.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.0.2.1, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

(2)R 11.0.0.0/8 [120/1] via 10.0.0.1, 00:00:02, Serial1/0

Loopback2和Loopback3的IP地址与出口接口s1/0属于不同的主类网络,因此按照上文中的第三种情况,将该网段汇总成主类网络发布出去。

对R3路由器配置RIPv1路由协议:

router rip

network 172.16.0.0

在R2路由器上发布172.16.0.0网段

router rip

network 172.16.0.0

查看R3路由表:

172.16.0.0/24 is subnetted, 1 subnets

C 172.16.0.0 is directly connected, Serial1/1

R 10.0.0.0/8 [120/1] via 172.16.0.2, 00:00:28, Serial1/1

R 11.0.0.0/8 [120/2] via 172.16.0.2, 00:00:28, Serial1/1

解析:

R 10.0.0.0/8 [120/1] via 172.16.0.2, 00:00:28, Serial1/1

R2上的路由表信息:

C 10.0.0.0 is directly connected, Serial1/0

R 10.0.1.0 [120/1] via 10.0.0.1, 00:00:02, Serial1/0

需要通过R2路由器的s1/1接口发布出去,因为与s1/1接口不属于同一主类网络,因此汇总为10.0.0.0/8发布出去。

R3路由器ping R1路由器的结果如下所示:

R3#ping 10.0.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.0.1.1, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 44/418/1540 ms

R3#ping 10.0.2.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.0.2.1, timeout is 2 seconds:

UUUUU

Success rate is 0 percent (0/5)

R3#ping 11.0.0.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 11.0.0.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 44/48/64 ms

R3#ping 11.0.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 11.0.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 44/51/80 ms

只有对loopback1接口显示UUUUU,意思为主机不可达

有类和无类协议的区别就在于是否支持VLSM,有类的不发送掩码,不支持VLSM,无类的相反。默认情况下有类和无类在边界路由器上自动进行汇总(OSPF不在边界自动汇总),无类协议可以关闭自动汇总,no auto-summary。

假如在R3路由器上配置loopback0接口,地址配置为10.0.3.1/24,路由协议采用RIPv2,如果按照默认汇总默认路由,R2路由表会出现10.0.0.0/8不知道出口的情况。

原文地址:https://www.cnblogs.com/cumo/p/9493683.html

时间: 2024-10-28 07:52:40

关于有类路由协议和无类路由协议的相关文章

有类路由与无类路由的区别

最近看到RIP和OSPF方面了.这两个协议在NA里面被划分为距离矢量路由协议和链路状态路由协议.但是在NP里面划分路由又有种方法是基于有类的路由协议和无类的路由协议. RIP正是基于有类的路由协议,OSPF则是无类的路由协议. 有类的路由不会识别子网的信息,如宣告10.0.1.0/24 172.16.1.0/22 192.168.1.64/28 路由表中只会识别A类10.0.0.0/8,B类172.16.0.0/16 C类192.168.1.0/24 无类的路由协议不会根据A B C类来识别,根

各种DTO类最好有 无参数的构造方法

以一下这个类为例 @Getter @Setter @ToString class Person { private String s; public Person(String s) { this.s = s;} } 这个Person类,是无法通过 new Person();和Person.class.newInstance();实例化的. 在一部分反序列化工具类中,这个类作为泛型的时候会报错,如下所示 这里会出现java.lang.NoSuchMethodException 给Person类追

实体类、数据访问类中的属性拓展

类中: using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public class Users { SqlConnection conn = null; SqlCommand cmd = null; public Users() { conn = new S

实体类、数据访问类、属性扩展

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 实体类_数据访问类.App_Code { public class Users { private string _username; //封装 /// <summary> /// 用户名 /// </summary> public

C#1(.net和C#的关系、VS与.net的对应关系、VS2012常用的几种应用程序、C#定义一个类的方法、类页面内容的解释、定义Person的类、调用Person类的方法、命名规范、数值类型)

1..net和C#的关系 .net是一个开发平台,C#是应用在.net平台上的一种语言.   2.VS与.net的对应关系  3.VS2012常用的几种应用程序 第一种是Windows窗体应用程序,也即是我们常用的C/S端的应用软件: 第二种是控制台应用程序,主要是用来学习调试C#代码的(老师上课应用的模式): 第三种是空Web应用程序,建立空的网页模式,B/S模式: 第四种是Web 窗体应用程序,建立后会生成一些常用的网页组件和功能,例如JS.image等,也是B/S模式. 4.C#定义一个类

ado.net 实体类_数据访问类

实体类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public class Users { private int _code; /// <summary> /// code /// </summary> public int Code { get { return _code; } set

聚合类和字面值常量类

聚合类 聚合类使得用户可以直接访问其成员,并且具有特殊的初始化语法形式.当一个类满足如下条件时,我们说它是聚合的: 所有成员都是public的 没有定义任何构造函数 没有类内初始化 没有基类,也没用virtual函数. 下面的类都是一个聚合类 struct Data { int ival; string s; }; 我们可以提供一个花括号括起来的成员初始化列表,并用它初始化聚合类的数据成员: //val1.ival=0;val1.s=string("Anna") Data val1={

java类及编写public类的基础点

1.一个java文件中只能有一个public类.且公共类名称必须与java文件名一致,否则会出现错误提示.与其他面向对象编程语言的一样,在利用java分析问题时,基本思路即为将问题的属性(静)与行为(动)抽象封装成类,对象是类的某一实体化结果,在实体化之后,可运用对象解决问题:主方法是程序的入口,执行点,一个文件只能含有一个主方法:构造函数:与公共类同名,但无返回值.默认无参:主方法与一般方法是并列关系,不可在主方法中编写一般方法,只能互相调用:例如下列程序: package kindobjec

标记页数、页码的实体类(分页实体类)

/** * 标记页数.页码的实体类(分页实体类) */public class PaginationData{ private int recordCount;             // 数据条数总数    private int pageCount;                 // 页面总数    private int index = 1;                 // 当前页    private int pageSize = 10;             // 每页显