ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TCPIP卷一(5):Classless【无类】与Classful【有类】区别 【包括数据包转发与路

2021-03-09 21:55:01  阅读:162  来源: 互联网

标签:Classless 匹配 R1 主类 有类 网络 172.16 Classful 路由


说明

Classless和classful指的是无类和有类的意思,有类非常好理解,就是按子网掩码A、B、C的主类网进行划分的,而无类就是支持VLMS(变长子网掩码)和CIDR(超网)。

在卷一中只有稍微提了下有类和无类的概念,但是 说的不是非常的清晰,如果是初学看的话,估计不是那么容易懂。所以,这里,详细介绍下Classless和classful的工作过程。

路由协议有Classless和classful的区别:
1、classful:RIPV1,IGRP
2、classless:RIPV2,EIGRP,OSPF,ISIS,BGP

IOS本身也可以工作在classless和classful的状态下。

分析一:IOS的classles和classful

在IOS 11.0以后,默认是工作在classless状态下。

有类和无类的区别:
1、无类别的处理方式,当一个数据包经过路由器的时候,它查看目的地址是否存在于路由表,并且执行的是逐条查询(最长掩码匹配)
2、有类别的处理方式:当一个数据包经过路由器的时候,路由器会查找该目的地址是否在路由表中存在主类网络,如果存在的话,继续查找子网,如果匹配子网条目,则转发,如果不匹配,则丢弃(就算有默认路由存在)。如果不匹配主类网络,查看是否有默认路由,如果有则转发,没有则丢弃。

tcpip

主要分析有类别的处理方式,因为无类别在讲解之前的静态路由的时候就已经说过了,其实也非常好理解,就是最长掩码匹配。

开启有类别的工作方式:
no ip classless
no ip cef
这里必须关闭CEF,有类别方式才能生效,否则在CEF下,也是无类别在工作

R1(config)#ip route 172.16.1.0 255.255.255.0 12.1.1.2

tcpip

因为路由器查找关于172.16.0.0/16的主类网络路由是否存在于路由表,关于172.16.1.0/24是172.16.0.0的子网,所以继续查找172.16.1.1是否在172.16.1.0/24的范围内,这是存在的,所以,路由器转发这个数据包。

R1(config)#no ip route 172.16.1.0 255.255.255.0 12.1.1.2
R1(config)#ip route 172.16.1.32 255.255.255.224 12.1.1.2
R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2

这次把之前的静态路由去掉,加了一条172.16.1.32/27和一条默认路由,测试的是当路由匹配主类网络的时候,但是不匹配子网路由,是否使用默认路由。

tcpip

这次测试是不通的,介绍过有类的工作方式,当匹配了主类路由的时候,子网路由不匹配的话,则直接丢弃,不管是否存在默认路由。

R1(config)#no ip route 172.16.1.32 255.255.255.224 12.1.1.2
R1(config)#ip route 13.1.1.0 255.255.255.0 12.1.1.2
这次默认路由保留,把关于匹配主类网络去掉,新加了一条不匹配去往17.16.0.0的主类路由。

tcpip

是可以通信的,因为当不匹配主类网络的时候,查看时是否有默认路由存在,有的话则转发,没有则丢弃。

总结:在有类别的方式下对数据包的处理过程,如果匹配 主类网络,只查看是否匹配主类或子网路由的范围,匹配则转发,如果不匹配则丢弃,不会进行查看默认路由。 如果不匹配主类网络,那么只会查看路由表中是否有默认路由存在,有则转发,没有则不转发。

分析二:路由选择协议下的区别

在路由选择协议下的classle和classful的区别在于:更新的路由信息中是否携带子网掩码信息。

这里只要分析有类别的更新过程,虽然在现在的网络中已经不适应了,但是,作为学习网络的人来说,了解了解是有必要的。
RIP
R1——————R2
R1发送更新规则

1、1向2广播的网络网络是否与源接口(发送路由更新的接口) 处于同一个主类网络
2、如果不是,则R1在主网络边界自动汇总网络或子网并广播该网络
3、如果是,则判断网络(所连接的掩码)与源接口是否有相同的子网掩码
4、如果是,则广播该路由
5、如果不是,则丢弃该路由。除非次路由是主机路由,并且路由器支持。

R2接受更新的规则

1、判断从更新接受的子网与接受的端口是否处于同一主类网络
2、如果是,则R2使用接受接口的掩码。如果是32位路由,则R2使用主机掩码
3、如果不是,则判断主网络中的任一子网是否已在路由表中,并且是从另外一个接口所学习到
4、如果是,则R2忽略更新
5、如果不是,则路由器2使用有类掩码。


简单说下发送的更新原则:比如R1有条172.16.1.0/24的路由需要更新给R2,这时候R1会查看这条路由条目是否与接口处于同一主类网络,也就是说处于172.16.0.0/16,如果没有处于,就按照主类边界自动汇总并且广播给邻居。也就是说当R1的接口为192.168.1.1的时候,不处于同一主类网络,则把这条路由按照主类网络进行汇总。 如果是相同主类网络的话,则查看它们的子网掩码是否匹配,如果不匹配则丢弃,匹配的话,则发送这条路由更新。

关于在RIP中会出现32为的主类路由,这到RIP的时候在进行介绍。

总结:关于classle和classful在实际应用中,其实没有太多的必要去了解,因为现在的IPV4网络或者IPV6网络都是以无类别的方式在工作的,只是作为一个网络工程师或者爱好者来说,对协议的进一步了解,有助于自己的知识充实和对学习的态度。

本文首发于公众号:网络之路博客

标签:Classless,匹配,R1,主类,有类,网络,172.16,Classful,路由
来源: https://blog.51cto.com/ccieh3c/2653130

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有