导航:首页 > 网络设置 > 路由器网络前缀匹配

路由器网络前缀匹配

发布时间:2023-03-18 17:46:46

❶ 在将包的目的地址与路由器的转发表项匹配时,最长的前缀匹配是什么

非分类的IP地址有最长前缀匹配原则,因为最长前缀匹配原则就是为非分类IP地址设计的,而分类的在寻找子网时候是根据亮陪子网掩局键岁码来确定的,所以你会做到一类这样的题目,给你一定桐睁要求,让你划分子网并且设计其子网掩码,还有合并子网掩码,等等。

❷ 为什么要用最长前缀匹配实现域间与域内路由

非分歼氏类的IP地址御改如有最长前缀匹配原则,因为最长前缀匹配原则就是为非分类IP地址设计的,而分类的在寻找子网时候是根据子网掩码来确定的,所以你会做到一类这样的题目,给你一定要求,让你划分子网并且设计其子网掩码,还有合并子网掩码,等等。其实,分类IP严格的说不是最长前缀匹配原则,分类的IP地址是先找匹配的网络号,即所谓的A,B,C类地址,镇启若其有子网,则会有路由来划分,IP下一步会寻找子网号,再去寻找主机号。而最长匹配是直接找与其匹配的最长网络号"/n",再去寻找主机号!CIDR 地址中包含标准的32位IP地址和有关网络前缀位数的信息。以CIDR地址80.18.18/25为例,其中“/25”表示其前面的之中的前25位代表网络部分,其余位代表主机部分。 CIDR建立于“超级组网”的基础上,“超级组网”是“子网划分”的派生词,可看作子网划分的逆过程。子网划分时,从地址主机部分借位,将其合并进网络部分;而在超级组网中,则是将网络部分的某些位合并进主机部分。这种无类别超级组网技术通过将一组较小的无类别网络汇聚为一个较大的单一路由表项,减少了Internet路由域中路由表条目的数量。

❸ 路由前缀有什么用填多少网速快

网友碰到过这样的什么是路由前缀列表?,问题详细内容为:什么是路由前缀列表?,我搜你通过互联网收集了相关的一些解决方案,希望对有过相同或者相似问题的网友提供帮助,具体如下:
解决方案1:
ip prefix-list
用来匹配一个前缀,他可以匹配前缀的范围以及掩码的范围,因为他可以匹配掩码,所以经常用来匹配路由条目。
举个例子 ip prefix-list 1 permit 128.0.0.0/2 le 32
这里定义了一个名字为1的前缀列表,匹配的前缀是128.0.0.0,,掩码范围是从2到32
其实这里就匹配了所有的B类的路由

❹ 路由最长匹配原则配置

最长匹配原则是我司支持IP路由的设备默认的路由查找方式(事实上几乎所有支持IP路由的设备都是这种查找方式)。当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的表项进行bit by bit的逐位查找,直到找到匹配度最长的条目,这叫最长匹配原则。

而当有数据包去往172.17.1.1时,由于172.16.1.0/24及172.16.0.0/16这两条路由均不匹配,于是数据只能“求助于”0.0.0.0/0这条缺省路由,从S2口转发给R4。

下面我们总结一下路由器关于路由查找的几个重点内容:

❺ okcc路由前缀怎么设置

加入前缀列表过滤路。
地址前缀列表过滤路由的原则总结为:顺序匹配、唯一匹配、默认拒绝。IP地址前16位要和规如此则相同,同时匹配掩码高配长度。渣念迅
面临一些非法流量访问的安全性及流量路径不优等问题,故为保证数据访问的安全性,提高链路带宽利用率,就需要对网络中的流量行为进行控制,如控制网络流量可达性,调整网络流量路径等。

如何配置默认路由

问题一:配置默认路由 ip route 〔网络号〕〔子网掩码] [下一跳IP地址或是出站接口〕。
你说的那条下ip route是配置默认路由的命令。第一个0.0.0.0是IP网络,表示所有网络,后面的这个0.0.0.0是子网掩码,表示所有IP位都可以为0或闭此是1,它和前面的IP地址来共用表示所有IP地址。

后面的200.18.8.,,这个应该还有一个数字,表示一个IP,指所有网络都通过这个IP来连接,比如说你要连接到202.102.111.111,它会通过200.18.8.*这个IP来连接。

问题二:思科交换机怎么配置默认路由 配置前提:交换机是三层或三层以上交换机;
另外,要使默认路由起作用,该交换机需充当某个网段的网关。

Switch>enable 进入特权模式

S场itch#config terminal 进入全局模式

Enter configuration mands, one per line. End with CNTL/Z.

Switch(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1 默认路由,假设你的下一跳地址是192.168.1.1

Switch(config)#exit

%SYS-5-CONFIG_I: Configured from console by console

Switch#write 保存配置文件到NVRAM中,也可使用 running-config startup-config

Building configuration...

[OK]

Switch#

以上,供参考。

问题三:思科路由器 如何设置路由器默认路由和网关 设置默认路由:进入全局模式 config t 后
route 0.0.0.0 0.0.0.0 下一跳IP地址

设置默认网关:也是在全局模式下 default gateway IP地址

1楼的理解有误 在主机上默认路由跟网关的概念有点类似 可是在路由器上就不是那么回事了 默认路由一般用在出公网的边界路由器上

问题四:怎么理解默认路由 默认路由中0.0.0.0 0.0.0.0 前面的0.0.0.0 代表任意IP,后面的0.0.0.0代表任意掩码,凑在一起就代表任何IP地址,IP与mask在一起使用才能区分子网的网络号与主机位。如果IP与掩码是0.0.0.0 255.255.255.255 就是特指0.0.0.0 这个网络,掩码都是255对应的IP地址都固定的。掩码与IP写成而二进制形式:
IP: 00000000

------------------------ 这里每掩码每个1与IP每个0对应,做与运算。二进制掩码和IP都1结果为1, 掩码:11111111 反之其他都为0。

192.168.1.1 一般都是指三层设备的接口地址或者网关。

问题五:怎么设置静态路由和默认路由 在各个路由器设备之间写静态路由表:在core交换机上的路由为:
ip route 202.3.40.0/30 192.1储8.0.1 ip route 202.3.4.0 255.255.255.0 192.168.0.1

内部路由器上:ip route 202.3.4.0 255.255.255.0 202.3.40.1 0.0.0.0 0.0.0.0 192.168.0.2 /30 静态路由的格式是:目的网段加下一跳地址或者出口,我写你的自己好生之间看看轿腊迅,不知道有错没有,你的图很是牛的!

写好之后用show iop route 看一下看他们学习到没有!

问题六:配置默认路由有什么好处吗 好处就是,当计算机或路由器找不到路由路径时,就可以使用默认路由来转发信息,就像你找不到回家的路可以打110一样。如果没有默认路由,那么那个包就会被抛局滚弃了。
麻烦采纳,谢谢!

问题七:在windows系统中设置默认路由的作用是 我能想到的有两个作用
提高访问速度。

默认路由表里面直接设置了域名所对应的ip地址的场合,当客户机通过域名访问某个服务器的时候,就不需要经过dns进行解析了,直接就可以通过默认路由表中配置的ip地址访问该服务器,省去了解析所花费的时间。

改变域名指向。

假设有这样的需求:不同的客户机在访问同一个域名时候,需要访问不同的服务器,这时候就可以通过在客户机中设置默认路由以达到上述目的。

比较常见的应用是,分别从外网和内网访问同一台服务器时,可以在内网的客户机,把该服务器的域名映射到此服务器的内网ip地址。这样当从内网和外网访问此服务器时,使用的是同一个域名,但是从内网访问该服务器的速度得到了大幅提高。

问题八:如何设置路由器默认网关 你无法上网,和路由网关与浏览器输入什么内容无关
路由器的默认网关是192.168.1.1

那么你的网卡改为手动设置IP,要改为192.168.1.2掩码255.255.255.0网关192.168.1.1

然后在浏览器中输入192.168.1.1才可进入路由设置页面。(如果路由是192.168.0.1的,前面参数地址的倒数第二个1要改为0)

进入路由器后,在状态栏中看看,PPPOE连接有否数据流,有的话就说明路由已经上网了,没的话就说明路由还没上网,那你的电脑当然也上不了网了。。先不要路由,电脑直接接网线或MODEM上网看看行不行,还不行的打电脑问下宽带客服,看有否没交费,或叫他们检查一下线路。过了一天还不行,换个MODEM看看。。

问题九:如何选择默认路由的下一跳 1、默认路由是一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择。
2、如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃・ 默认路由在某些时候非常有效,当存在末梢网络时,默认路由会大大简化路由器的配置,减轻管理员的工作负担,提高网络性能。

3、(Default route),是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。目的地不在路由器的路由表里的所有数据包都会使用默认路由。这条路由一般会连去另一个路由器,而这个路由器也同样处理数据包: 如果知道应该怎么路由这个数据包,则数据包会被转发到已知的路由;否则,数据包会被转发到默认路由,从而到达另一个路由器。每次转发,路由都增加了一跳的距离。

4、当到达了一个知道如何到达目的地址的路由器时,这个路由器就会根据最长前缀匹配来选择有效的路由。子网掩码匹配目的IP地址而且又最长的网络会被选择。用无类别域间路由标记表示的IPv4默认路由是0.0.0.0/0。因为子网掩码是/0,所以它是最短的可能匹配。 当查找不到匹配的路由时,自然而然就会转而使用这条路由。同样地,在IPv6中,默认路由的地址是::/0. 一些组织的路由器一般把默认路由设为一个连接到网络服务提供商的路由器。这样,目的地为该组织的局域网以外――一般是互联网、城域网或者VPN――的数据包都会被该路由器转发到该网络服务提供商。当那些数据包到了外网,如果该路由器不知道该如何路由它们,它就会把它们发到它自己的默认路由里,而这又会是另一个连接到更大的网络的路由器。同样地,如果仍然不知道该如何路由那些数据包,它们会去到互联网的主干线路上。这样,目的地址会被认为不存在,数据包就会被丢弃。

❼ 对于给定的网络前缀适合使用哪种ospf通配符掩码

13和0.7.25.255
关于OSPF用反向掩码前言通配符掩码(反向掩码)总结

首先,我们知道声明在路由器上安装OSPF的网段的命令是network IP反向掩码。

通配符掩码(反向掩码) )

在子网掩码中,将掩码的1位设定为1时,表示IP地址对应的位属于网络地址部分。

相反,如果在访问列表中将通配符掩码的1位设置为1,则I P地址的相应位将同时为1和0。

在某些情况下,它也称为“无关”位,因为它不关心路由器是否匹配。 如果将掩码位设置为0,则IP地址的对应位必须正确匹配。

在通配符掩码中,0表示要检查的位,1表示不需要检查的位。 在IP子网掩码中,数字1、0用于确定网络、子网或相应主机的IP地址。 例如,名为172.16.0.0/16的网段将子网掩码设置为255.255.0.0。

通配符掩码允许使用255.255.255.255.255表示所有IP地址。 因为都是1,所以不需要肢册世检查所有32位的位。 在这种情况下,可以用any代替。 另一方面,0.0.0.0中的通配符意味着所有32位都必须匹配,并且只能用host表示一个IP地址。

正掩码表示根条目,相反的掩码表示范围。

在反向掩码中,对应位为1的地址将被忽历肢略,0的地址必须被检查。

所以,我个人认为,在路由姿清器上安装OSPF时,通过设置反向掩码,可以更正确地确定匹配范围。

❽ 请问:在OSPF路由地址汇总后,匹配最长前缀是什么意思

比如有个数据包的目的地址是10.10.10.10/30
路由器里有这几个路由信息滑或:
10.10.0.0/16 [E1]
10.10.10.0/24 [E2]

这里的E1和E2指的是Ethernet接口

这时候路由器就会将该数据包斗晌转到E2口
因为10.10.10.0/24是最长匹配前缀的

1,我举的这个例子10.10.10.10/30 这个是主机地址,不是网段,也没说10.10.10.0/24可能不会有10/30这个主机
2,只要路由表里有路由信息,路由信销伍器就会转发.至于这个网段里有没有10.10.10.10/30这台主机,路由器是不管的
3,匹配最长是为了提高转发精确度和避免路由黑洞或回环

❾ 18张图带你详解IP路由表七大要素:路由前缀、协议类型、优先级等

IP 路由表

上次有写过一篇《20张图深度详解MAC地址表、ARP表、路由表 》的文章,里面有提到路由表,那么什么是IP路由、什么又是IP路由表呢?


路由 :路由是网络中的基本概念,网络的基本功能就是使得处于网络中两个IP地址能够互相通信。


当路由器收到一个IP数据包时,路由器会解析出IP数据包中的 目的IP地址 ,然后根据目的IP地址查找路由表,依据 最长掩码匹配原则 ,找到对应的路由条目,根据路由条目中的下一跳或者出接口将报文转发出去,这就是 路由


路由表 :简单点说路由表就是路由器用于指导数据包如何转发的表项,记录了去往目的IP的下一跳去哪里(如下图)。



路由表的作用类似于我们生活中的地图或者指示牌,指引我们去往一个目的地该如何走?


IP路由表包含了哪些要素

IP路由表中包含了 目的网络/掩码,协议类型,优先级,开销,标志,下一跳,出接口 这个七大要素。


下面我们来看下一个真实的路由表:



从这个路由器我们可以通过命令  display ip routing-table   来查询该设备的路由表,我们可以看到这条设备一共有12条路由条目。


每个路由条目必须包括下面几个信息元素:

目的网络/掩码

目的网络/掩码: 也被称为 路由前缀 ,这是路由条目所关联的目的网络地址及网络掩码。


一条完整的路由前缀由: 网络地址+前缀长度(或者网络掩码) 构成,两者缺一不可,例如192.168.1.0/24与192.168.1.0/25,虽然网络地址相同,都是192.168.1.0,但是两者绝对是两条不同的路由,因为他们的前缀长度不相同。 


当路由器收到一个IP数据包时,路由器会解析出IP数据包中的目的IP地址,然后根据目的IP地址查找路由表,依据 最长掩码匹配 原则,找到对应的路由条目。

最长掩码匹配原则匹配的就是目的网络/掩码。

比如:路由器收到一个目的IP地址为10.1.1.1的数据包,此时查找路由表,有两个路由条目,一个路由条目的A的目的网络/掩码是10.1.1.0/24,另一条路由条目B的目的网络/掩码是10.1.1.0/28,那么这个数据包匹配的是哪一个路由条目呢?


正确答案:是匹配路由条目B,因为B的掩码长。

协议类型

协议类型: 指该路由条目是通过什么路由协议学些过来的。例如是直连的,或是静态的,或者是通过OSPF、IS-IS、EIGRP、BGP等动态路由学习到的。


1、直连路由: 指和路由器的接口直接的地址生成的路由。


如下图中,协议类型是direct的就是直接直连地址生成的路由。


2、静态路由 :静态路由是指通过静态路由协议生成的路由。


3、动态路由: 动态路由协议主要有RIP、OSPF、ISIS、BGP。RIP和BGP是基于距离矢量的路由协议,OSPF和ISIS都是基于链路状态的路由协议。



优先级

路由表中去往同一目的地的路由可能通过多种路由协议生成。

举个例子:去往目的IP为192.168.2.1的通过静态路由生成了,也通过OSPF路由生成了。那么这个时候什么样的路由才会加入到路由表中呢?这个时候就和 路由协议的优先级 有关系了。

每种协议类型对应不同的优先级, 优先级值越小则路由越优

常用路由协议和优先级的关系表如下图。


那么当一台路由器同时从多种不同的路由协议学习到去往同一个目的地的路由时,它将 优选路由协议优先级值最小的那条路由

 


因此,本次例子中,正确的应该是通过 OSPF 学习到路由加入到路由表中(OSPF的路由优先级比静态路由优先级小)

开销

开销: 路由的度量值,经常也使用 metric 来描述。

直连及静态路由的Cost为0。

通过动态路由协议学习到的Cost则根据实际情况而定。不同的路由协议计算Cost的方法不同。 



例如上图中,R1去往PC2的路由条目通过OSPF路由协议学习到,开销为3。

标记

标志: 路由标记,R表示该路由是 迭代路由 。D表示该路由下发到FIB(Forwarding Information Base)表。



迭代路由: 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由迭代。BGP路由、静态路由和UNR路由的下一跳都有可能不是直连的,都需要进行路由迭代。


例如,BGP路由的下一跳一般是非直连的对端loopback地址,不能指导转发,需要进行迭代。即根据以BGP学习到的下一跳为目的地址在IP路由表中查找,当找到一条具有直连的下一跳、出接口信息的路由后(一般为一条IGP路由),将其下一跳、出接口信息填入这条BGP路由的IP路由表中并生成对应的FIB表项。

下一跳

下一跳: 去往目标网络的下一跳IP地址。

出接口

出接口: 去往目标网络从本设备的哪个接口出去。




---END---


计算机网络-网络层-超网

在一个划分子网的网络中可同时使用几个不同的子网掩码。使用变长子网掩码VLSM(Variable Length Subnet Mask)可进一步提高IP地址资源的利用率。在VLSM的基础上又进一步研究出无分类编址方法,它的正式名字是 无分类域间路由选择CIDR (Classless Inter-Domain Routing,CIDR的读音是“sider'”)。

CIDR最主要的特点有两个汪团:

(I)CIDR把32位的IP地址划分为前后两个部分。前面部分是“网络前缀”(network-prefix)(或简称为“前缀”),用来指明网络,后面部分则用来指明主机。因此CIDR使IP地址从三级编址(使用子网掩码)又回到了两级编址,但这已是无分类的两级编址。其记法是:

            IP地址:={<网络前缀>,<主机号>}   (4-3)

CIDR还使用“斜线记法”(slash notation),或称为CIDR记法,即在IP地址后面加上斜线“/”,然念稿后写上网络前缀所占的位数。

(2)CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。我们只要知道CIDR地址块中的任何一个地址,就可以知道这个地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。例如,已知IP地址128.14.35.7/20是某CIDR地址块中的一个地址,现在把它写成二进制表示,其中的前20位是网络前缀,而后面的12位是主机号:

            128.14.35.7/20= 1000 0000 0000 1110 0010 0011 0000 0111

这个地址所在的地址块中的最小地址和最大地址可以很方便地得出:找出 地址掩码(斜线后面的数字个数是掩码地址1的个数, 20位)中1和0的交界处 发生在地址中的哪一个字节。现在是在第三个字节,取后面12 都写成0是最小地址,写成1为最大地址。

最小地址:128.14.32.0       1000  0000 0000 1110 0010 0000 0000 0000

最大地址:128.14.47.255   1000 0000 0000 1110 0010 1111 1111 1111

以上这两个特殊地址的主机号是全0和全1的地址。一般并不使用。通常只使用在这两个特殊地址之间的地址。 这个地址块共有2^12个地址(2 的主机号位数次幂) 。我们可以用地址块中的最小地址和网络前缀的位数指明这个地址块。例如,上面的地址块可记为128.14.32.0/20。在不需要指出地址块的起始地址时,也可把这样的地址块简称为“/20地址块”。

为了更方便地进行路由选择,CIDR使用32位的地址掩码(address mask)。地址掩码由一串1和一串0组成,而1的个数就是网络前缀的长度。虽然CIDR不使用子网了,但由于目前仍有一些网络还使用子网划分和子网掩码,因此CIDR使用的地址掩码也可继续称为子网掩码。例如,/20地址块的地址掩码是:1111 1111 1111 1111 1111 0000 0000 0000(20个连续的1)。 斜线记法中,斜线后面的数字就是地址掩码中1的个数。

在“CIDR不使用子网”是指CIDR并没有在32位地址中指明若干位作为子网字段。但分配到一个CIDR地址块仔陵孝的单位,仍然可以在本单位内根据需要划分出一些子网。这些子网也都只有一个网络前缀和一台主机号字段,但子网的网络前缀比整个单位的网络前缀要长些。例如,某单位分配到地址块/20,就可以再继续划分为8个子网(即需要从主机号中借用3位来划分子网)。这时每一个子网的网络前缀就变成23位(原来的20位加上从主机号借来的3位),比该单位的网铭前缀多了3位。

由于一个CIDR地址块中有很多地址,所以在路由表中就利用CIDR地址块来查找目的网络。这种地址的聚合常称为 路由聚合 (route aggregation),它使得路由表中的一个项目可以表示原来传统分类地址的很多个(例如上干个)路由, 路由聚合也称为构成超网 (supemetting)。路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。

CIDR记法有多种形式,例如,地址块10.0.0.0/10可简写为10/10,也就是把点分十进制中低位连续的0省略。另一种简化表示方法是在网络前缀的后面加一个星号*,如:0000101000*意思是:在星号*之前是网络前缀,而星号◆表示P地址中的主机号,可以是任意值。

前缀位数不是8的整数倍时,需要进行简单的计算才能得到一些地址信息。表47给出了最常用的CIDR地址块。表中的K表示2^10=1024,网络前缀小于13或大于27都较少使用。在“包含的地址数”中没有把全1和全0的主机号除外。

从表4-7可看出,每一个CIDR地址块中的地址数一定是2的整数次幂。CIDR地址块多数可以包含多个C类地址(是一个C类地址的2”倍,n是整数),这就是“ 构成超网 ”这一名词的来源。

使用CIDR的一个好处就是可以更加有效地分配PV4的地址空间,可根据客户的需要分配适当大小的CIDR地址块。假定某ISP已拥有地址块206.0.64.0/18(相当于有64个C类网络)。现在某大学需要800个IP地址。ISP可以给该大学分配一个地址块206.0.68.0/22,它包括1024(即2^10)个1P地址,相当于4个连续的C类(/24地址块),占该ISP拥有的地址空间的1/16。这个大学然后可自由地对本校的各系分配地址块,而各系还可再划分本系的地址块。

从图4-25可以清楚地看出地址聚合的概念。这个ISP共拥有64个C类网络。如果不采用CIDR技术,则在与该SP的路由器交换路由信息的每一个路由器的路由表中,就需要有64个项目,但采用地址聚合后,就只需用路由聚合后的一个项目206.0.64.0/18就能找到该ISP,同理,这个大学共有4个系,在1SP内的路由器的路由表中,也需使用206.0.68.022这个项目。这个项目好比是大学的收发室。凡寄给这个大学任何一个系的邮件,邮递员都不考虑大学各个系的地址,而是把这些邮件集中投递到大学的收发室,然后由大学的收发室再进行下一步的投递。这样就减轻了v递员的工作量(相当于简化了路由表的查找)。

从图4-25下面表格中的二进制地址可看出,把四个系的路由聚合为大学的一个路由(即构成超网),是将网络前缀缩短。 网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的P地址中,划分子网是使网铬前缀变长。

在使用CIDR时,由于采用了网络前缀这种记法,IP地址由网络前缀和主机号这两个部分组成,因此在路由表中的项目也要有相应的改变。这时, 每个项目由“网络前缀”和“下一跳地址”组成 。但是在查找路由表时可能会得到不止一个匹配结果。这样就带来一个间题:我们应当从这些匹配结果中选择哪一条路由呢?

答案是:应当从匹配结果中 选择具有最长网络前缀的路由 。这叫做 最长前缀匹 配longest-.prefix matching) ,这是因为网铬前缀越长,其地址块就越小,因而路由就越具体(more specific)。最长前缀匹配又称为最长匹配或最佳匹配,为了说明最长前缀匹配的概念。

假定大学下属的四系希望IS把转发给四系的数据报直接发到四系面不要经过大学的路由器,但又不愿意改变自己使用的P地址块。因此,在SP的路由器的路由表中,至少要有以下两个项目,即206.0.68.0/22(大学)和206.0.71.128/25(四系)。现在假定ISP收到一个数据报,其目的IP地址为D=206.0.71.130。把D分别和路由表中这两个项目的掩码逐位相“与”(AND操作)。将所得的逐位AND操作的结果按顺序写在下面:

D和 1111 1111 1111 1111 1111 11 00 0000  0000逐位相“与” = 206.0.68.0/22 匹配

D和 1111 1111 1111 1111 1111 1111 1 000 0000逐位相“与” = 206.0.71.128/25 匹配

不难看出,现在同一个IP地址D可以在路由表中找到两个目的网络(大学和四系)和该地址相匹配。根据 最长前缀(1的位数) 匹配的原理,应当选择后者,把收到的数据报转发到后一个目的网络(四系),即选择两个匹配的地址中更具体的一个。

从以上的讨论可以看出,如果IP地址的分配一开始就采用CIDR,那么我们可以按网络所在的地理位置来分配地址块,这样就可大大减少路由表中的路由项目。例如,可以将世界划分为四大地区,每一地区分配一个CIDR地址块:

地址块194/7(194.0.0.0至195255.255,25)分配给欧洲:

地址块198/7(198.0.0.0至199.255.255,255)分配给北类洲

地址块2007(200.0.0.0至201255.255.255)分配给中美洲和南美洲:

地址块202/7(202.0.0.0至203255.255.255)分配给亚洲和太平洋地区,

上面的每一个地址块包含有钓3200万个地址,这种分配地址的方法就使得IP地址与地理位置相关联。它的好处是可以大大压缩路由表中的项目数。例如,凡是从中国发往北美的IP数据报(不管它是地址块198/7中的哪一个地址)都先送交位于美国的一个路由器,因此在路由表中使用一个项目就行了。

使用CIDR后,由于要寻找最长前缀匹配,使路由表的查找过程变得更加复杂了。当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。例如,连接路由器的线路的速率为10Gbit/s,而分组的平均长度为2000bit,那么路由器就应当平均每秒钟能够处理500万个分组(常记为5Mpps)。或者说,路由器处理一个分组的平均时间只有200s(1ns=10^-9秒)。因此,查找每一个路由所需的时间是非常短的。

对无分类编址的路由表的最简单的查找算法就是对所有可能的前缀进行循环查找。例如,给定一个目的地址D。对每一个可能的网络前缀长度M,路由器从D中提取前M个位成一个网络前缀,然后查找路由表中的网络前缀。所找到的最长匹配就对应于要查找的路由。

"这种最简单的算法的明显缺点就是查找的次数太多。最坏的情况是路由表中没有这个路由。在这种情况下,算法仍要进行32次(具有32位的网络前缀是一个特定主机路由)。就是要找到一个传统的B类地址(即/16),也要查找16次。对于经常使用的歌认路由,这种算法都要经历31次不必要的查找。"

为了进行更加有效的查找,通常是把无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是 二叉线索 (binary trie),它是一种特殊结构的树。IP地址中从左到右的比特值决定了从根节点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。

图4-26用一个例子来说明二叉线索的结构。图中给出了5个IP地址。为了简化二叉线索的结构,可以先找出对应于每一个P地址的唯一前缀(unique prefix)。所谓唯一前缀就是在表中所有的P地址中,该前缀是唯一的。这样就可以用这些唯一前缀来构造二叉线索。在进行查找时,只要能够和唯一前缀相匹配就行了。

从二叉线索的根节点自顶向下的深度最多有32层,每一层对应于IP地址中的一位。一个IP地址存入二叉线索的规则很简单。先检查IP地址左边的第一位,如为0,则第一层的节点就在根节点的左下方;如为1,则在右下方。然后再检查地址的第二位,构造出第二层的节点。依此类推,直到唯一前缀的最后一位。由于唯一前缀一般都小于32位,因此用唯一前缀构造的二叉线索的深度往往不到32层。图中较粗的折线就是前缀0101在这个二叉线索中的路径。二叉线索中的小圆圈是中间节点,而在路径终点的小方框是叶节点(也叫做外部节点)。每个叶节点代表一个唯一前缀。节点之间的连线旁边的数字表示这条边在唯一前缀中对应的比特是0或1。

假定有一个IP地址是1001 1011    0111 1010   0000 0000     0000 0000,需要查找该地址是否在此二叉线索中。我们从最左边查起。很容易发现,查到第三个字符(即前缀10后面的0)时,在二叉线索中就找不到匹配的,说明这个地址不在这个二叉线索中。

以上只是给出了二叉线索这种数据结构的用法,而并没有说明“与唯一前缀匹配”和“与网络前缀匹配”的关系。显然,要将二叉线索用于路由表中,还必须使二叉线索中的每一个叶节点包含所对应的网络前缀和子网掩码。当搜索到一个叶节点时,就必须 将寻找匹配的目的地址和该叶节点的子网掩码进行逐位“与”运算,看结果是否与对应的网络前缀相匹配 。若匹配,就按下一跳的接口转发该分组。否则,就丢弃该分组。

总之,二叉线索只是提供了一种可以快速在路由表中找到匹配的叶节点的机制。但这是否和网络前缀匹配,还要和子网掩码进行一次逻辑与的运算。

“为了提高二叉线索的查找速度,广泛使用了各种 压缩技术 。例如,在图4-26中的最后两个地址,其最前面的4位都是1011。因此,只要一个地址的前4位是1011,就可以跳过前面4位(即压缩了4个层次)而直接从第5位开始比较。这样就可以减少查找的时间。当然,制作经过压缩的二叉线索需要更多的计算,但由于每一次查找路由表时都可以提高查找速度,因此这样做还是值得的。”

阅读全文

与路由器网络前缀匹配相关的资料

热点内容
欧洲成年人网络安全 浏览:998
网络信号源怎么选择 浏览:532
如何防范网络暴力的危害 浏览:835
网络盒子连接wifi网不好 浏览:498
钣金产品网络推广平台有哪些 浏览:766
usb共享网络访问 浏览:87
为什么我家wifi无法连接网络 浏览:982
火腿网络营销 浏览:664
学习网络如何创业 浏览:231
网络上哪里能借到钱 浏览:703
网络安全运维巡检 浏览:103
公共网络系统设置 浏览:552
电脑关掉网络通信 浏览:561
催乳师网络培训哪里不错 浏览:598
网络彩票500公司在哪里 浏览:761
路由器哪个网络都可以用吗 浏览:900
网络设置权限在哪里找 浏览:520
香信找回密码网络异常 浏览:756
索尼系统usb共享网络 浏览:89
计算机网络毕设ppt 浏览:852

友情链接