路由器的递归查询怎样解释?

路由器的递归查询怎样解释?,第1张

什么是路由? 所谓路由的过程就是从入站接口接收到数据包,经过CPU的处理(查找路由表,重构二层帧),把“新”包放入到相应的接口的过程。这个过程实际上可以 转化成下面的一个模型:一辆汽车(数据包)走到了一个十字路口,注意,此时它是有目的地的(目的IP地址),比如这辆汽车想去往北京,到了这个十字路口, 看到了有几个牌子上面写着“北京,石家庄,唐山”,那么这个时候驾驶员(CPU)就应该来选择那个去往北京的路口(出站接口),这样也就完成了路由功能。更进一步,微观上的路由查询是怎么进行的。这里所说的微观,并不去讨论路由转发的各种算法,而是去讨论路由器如何去查找路由表。我们先来看一个简单的拓扑

有四个路由器,分别是POOH,TIGGER,PIDET,RABBIT,在这个拓扑下面显示的是POOH的路由表,可以看到,现在已经可以从POOH上查询到了五个网段,也就是说现在达到了全网互通。

举 例来说,如果想达到网段101100,CPU开始查找路由表,发现了一个路由条目是到达101100的,通过1921681194,而 这个地址就是piglet路由器最左边的那个端口,那么这个1921681194又是怎么到达呢?再一次查找路由表,找到了一个网段 1921681192,这里面就包含了1921681194这个地址,而到达它是通过192168166来实现的。那么 192168166又是应该怎么到达?还得继续查找路由表。1921681194

这个过程在周而复始的进行,形成一个递归的过程,知道路由器找到直连网段位置,按照上面的那个实例来说就是当找到192168164这个条目。

好了,这就是路由器递归查询的过程。

但是,这样的查询方法有什么用途呢?你是否考虑过呢?

先让我们回到一个比较本质的问题上去,路由器和交换机的作用是什么?其实无非是两个作用,一是考虑如何把数据包正确的送到目的地址,二是如何更快的送到。 至于其他的各种安全技术,QoS等等都是为这两个终极目标服务的。由于本篇不涉及到交换机的内容所以在此略过不提,单说路由器,工程师们为了让路由器更好的完成这两个任务做出了不懈的努力,其中一个就是不断改进的包交换方法以达到快速的转发包的目的。

先让我们从历史的角度看一下

最早诞生的是“进程交换”

这种交换很传统,路由器每收到一个包就会通过CPU查找路由表然后送到出站端口,每过来一个包就会这样做一次。这种方法是没有问题的,但是却很慢,明显的效率不高。

为了解决这个问题,“快速交换”诞生了

这 里面有一个前提,也是能开发出“快速交换”的一个先提条件,那就是我们的数据一般都是以流的形式传播的,流,这个词十分形象,就是一串数据包都去往同一个 地方。当工程师发现了这个规律之后,“快速交换”的想法诞生了,所谓快速交换就是,先分析每个流的第一个包,按照进程交换的方式进行查询,然后出站同时把 这个查询的结果保存在一个独立的缓存中。当这个流中剩下的包进站时,路由器不是去查路由表而是去查缓存,这样就能节省CPU的资源,直接把包转发出去。这 样不但提高了包转发的速度,实际上也提高了CPU的使用效率。

最后就是CEF

思科的快速交换,CEF有太多的内容需要讲,相对于前两种交换方式有很大的不同,我在这里只取其在交换形式上的差别。进程交换是当一个新数据流来了后路由第一个包,然后把信息记入缓存来对转发进行加速。而CEF的做法更绝!

连第一个包都不用查了,直接进行缓存 *** 作!而且是在包之前就进行了缓存。

也就是大名鼎鼎的FIB表。

当一个数据包入站的时候,直接查询FIB表而不是路由表,这样就能大大增加转发的速度。

也 许你有疑问,我当初就是有疑问的,本来有好好的路由表,现在又建立了一个FIB表,一个数据包到了不还是需要查找吗?这样有什么作用?很显然现在一般的图 书上并没有写明原因,没有给我一个合理的解释。不过对于这个问题,以及对于CEF的专题讨论我会在下周的时候单独写一篇文章来叙述,让你明白CEF!

现在让我们尊重一个事实,CEF更快!

我用了大量的篇幅来写看似与本篇主题无关的“路由器交换”,我想告诉大家的是“加快交换,远离路由表”,CPU路由查询的次数越少转发的效率越高!

那么现在让我们回到本篇文章的主题“递归路由的查询”,强烈的困惑!人家查一次路由表都嫌多,你却使用递归查询查了那么多遍路由表!

确实,这就是递归查询的最大缺点!也是我们在设计网络的时候必须要考虑的一个问题。不过仔细想一下,既然这是一个极为“不成功”的方法,那么为什么还会允许它的存在呢?这又是为了什么?

递归查询的优势!无与伦比的优势!

我们来看一下这个拓扑,注意一下SANDERZ的静态路由的设计。

这就是一个典型的递归路由的使用案例,可以仔细的看一下。

这里我们先设计一个情景,从显示的路由路由信息来看,现在到达右侧网段的所有数据都要从HEFFALUMP路由器通过,这个时候如果HEFFALUMP坏了,那么必须要从WOOZLE进行路由。

这个时候网络管理员只需要调整一条路由就可以了。

Sanderz(config)# ip route 1087140 2552552550 1023595

Sanderz(config)# no ip route 1087140 2552552550 1023520

这样就完成了任务。

那么如果不使用递归路由呢?那么图中的每一个路由都要重新设置,如果按照上图的案例来说,我们需要重新写26条路由条目。如果你觉得这样的数量还能忍受, 那么如果有100个,400个网段呢?你要重写200条,800条路由!这个工作量就大了吧,你还能忍受吗?同样是400个网段,使用递归路由还是上面的 两条命令。

借用并改造算法中时间复杂度的概念:不使用递归路由的时间复杂度为O(n),而使用了递归路由的时间复杂度为O(1)!

这也就是递归路由最大的优点!

面对递归路由的优点与缺点,确实是很难办,是需要斟酌的。(这是《ROUTING TCP/IP VOL1 》的说法)

不过我想其实并不是那么“难办”

从实际的网络应用来讲,现在能够使用静态路由的网络拓扑不会很大,相对于路由器CPU的处理能力来讲不是很大的负担,也就不会很影响速度,所以为了管理的方便我们是可以放心的使用递归路由的。

但是,我这种说法并不包含 两个大的园区网之间用静态路由的情况(教育网),这样的情况还是使用最普通的路有方式吧。

具体情况具体分析,相必大家对与递归路由的优势和缺点也是很熟悉了,能够在其间取舍。

很多商家在开餐厅的过程中,经常会遇到后厨打印机故障,或者不打印的情况。特别是在用餐高峰期,如果出现一个打印机的故障,可能会导致后厨所有或者某一类的菜品后厨无法出单,这样会严重影响出餐效率,导致客诉,甚至损失。所以我们在经营的过程中,遇到上面的情况,首先要学会自己排查。

第一种情况是软件的设置,所有的餐厅收银软件都可以设置某个菜或者某类菜在指定的打印机打印。如果发现某类菜品或者某个菜品无法在这个打印机打印,而其他打印正常,首先要检查收银软件打印方面的设置,是否存在错选或者漏选打印机。

第二种情况是打印机设置,比如打印机设置的IP地址是192168114,但是路由器的网段是1921680X 段,这样会导致打印机无法连上内网。这样的情况可以查看收银机的网络网段。

如上图所示,收银机的IP段是101681236。

如上图所示,打印机的IP是192168114。这样的两台设备不在同一个网段下,就无法打印。

(下一节讲解,不同IP网段收银机和打印机,如何成功的互通)

第三种情况是打印机损坏,这样的情况在餐厅的经营过程中市场会发生。每个打印机头都有使用寿命。如果发现打印机提示故障,或者打印机一直持续的滴滴滴声,很大的可能性是打印机损坏。打印机损坏的原因有很多,比如进水、蟑螂、人为损坏、齿轮故障、机头故障等。这种情况,更换一个相同型号,或者相同IP的网络打印机即可。

第四种就是网络故障。这样的情况也很好排查。如果后厨有一个或者多个打印机在同一时间全部无法打印,极有可能是收银机到路由器的线路故障(水晶头或者网线故障),这样的情况联系网络人员,他们有专业的网络测线仪可以快速的测试出是哪里故障。或者收银机到路由器(或交换机)的线路正常。但是后厨某个打印机不打印,这样的情况和上面的类似,很有可能是打印机到路由器(或者交换机)的线路故障(水晶头或者网线故障)。如下图所示:

第五种在近几年的网络情况中,比较常见,就是收银机和打印机不在同一个网络(或者网络设备)下。现在大部分的光猫都带路由和WIFI功能。商家在安装的过程中,很有可能会把收银机的网络连接到光猫上,可以正常上网。但是后厨的打印机却连接在自己另一个路由器上。导致收银机和后厨打印机不在同一个网络下,导致不能打印。这样的情况,可以先打印出打印机的IP原本的IP,一般打印机先关机,再按住出纸键不放,开机,过五秒后,释放出纸键。就会打出这样的测试纸,上面标注的地方就是打印机的IP地址。

这时候在收银机上打开命令终端,

输入:ping 打印机的IP,类似:ping 192168114:

如果出现无法访问,就说明收银机和打印机不在同一个网络下。

以上是大部分的收银机到打印机的故障原因及排查方法,如果在经营过程中,出现故障无法解决的,可以私信我。

5中。

根据wincc软件系统查询得知分别是点对点,线形,环形,星形,树形。

wincc是由SIEMENS(西门子)公司开发的一款复杂的SCADA(数据采集与监控)系统,一套功能非常强大的组态软件;它是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。

arcgis中进行拓扑检查是为了数据的正确性地理信息数据的数据结构比较复杂,地物之间又存在很多拓扑关系,如果不进行拓扑检测就进行处理分析的话,很可能产生错误的分析结果,那这种结果对于我们来说就是无用的甚至是有害的比如有时候如果面不闭合,就无法得出正确的叠加分析结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12186647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存