CN110753133A - 处理地址的方法和网络设备 - Google Patents
处理地址的方法和网络设备 Download PDFInfo
- Publication number
- CN110753133A CN110753133A CN201810812492.2A CN201810812492A CN110753133A CN 110753133 A CN110753133 A CN 110753133A CN 201810812492 A CN201810812492 A CN 201810812492A CN 110753133 A CN110753133 A CN 110753133A
- Authority
- CN
- China
- Prior art keywords
- address
- length
- bit
- network device
- indication information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/748—Address table lookup; Address filtering using longest matching prefix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/668—Internet protocol [IP] address subnets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种处理地址的方法和网络设备,该方法包括:第一网络设备获取地址;该第一网络设备确定该地址的有效地址的长度,其中该地址的有效地址为该地址的第一个比特值为1的比特至该地址的最后一个比特;该第一网络设备在该地址的有效地址的长度小于目标表的表宽的情况下,在该地址的有效地址前增加S个0得到调整地址,并根据该调整地址和该目标表对该调整地址进行处理,其中S为该目标表的表宽与该地址的有效地址的长度的差。基于上述技术方案,该第一网络设备获取到并进行处理的地址的长度可以与目标表的表宽不等。
Description
技术领域
本申请涉及信息技术领域,更具体地,涉及处理地址的方法和网络设备。
背景技术
在一些情况下,网络中的一个网络设备(例如网络设备A)需要将地址发送至该网络中的另一个网络设备。该另一个网络设备(例如网络设备B)可以根据保存的表对该地址进行处理。然而,网络设备B保存的表的表宽需要与网络设备A发送的地址的长度相等,这样网络设备B才能正确处理该地址。
发明内容
本申请提供一种处理地址的方法和网络设备,能够处理长度与目标表的表宽不等的地址。
第一方面,本申请实施例提供一种处理地址的方法,该方法包括:第一网络设备获取地址;该第一网络设备确定该地址的有效地址的长度,其中该地址的有效地址为该地址的第一个比特值为1的比特至该地址的最后一个比特;该第一网络设备在该地址的有效地址的长度小于目标表的表宽的情况下,在该地址的有效地址前增加S个0得到调整地址,并根据该调整地址和该目标表对该调整地址进行处理,其中S为该目标表的表宽与该地址的有效地址的长度的差,该目标表包括至少一个表项,该至少一个表项中的每个表项包括目的地址,该目标表的表宽为该目标表存储一个目的地址占用的总比特数目。基于上述技术方案,该第一网络设备获取到并进行处理的地址的长度可以与目标表的表宽不等。换句话说,网络中传输的地址的长度与网络设备保存的表的表宽可以不相同。这样,网络中的网络设备传输地址的方式可以更加灵活。此外,传输的地址的长度可以比目标表的表宽少一个或多个比特,这样可以减少传输的地址的长度。因此,可以节省传输地址所占用的资源,提高网络中数据的传输效率。
结合第一方面,在一种可能的实现方式中,在该第一网络设备在该地址的有效地址的长度小于目标表的表宽的情况下在该地址的有效地址前增加S个0得到调整地址之前,该方法还包括:该第一网络设备确定该目标表,其中该目标表为表宽大于或等于该地址的有效地址的长度的表中表宽最小的表。根据上述技术方案,该第一网络设备中可以保存有多个表。该第一网络设备可以根据地址的有效地址的长度确定对应于该地址的目标表,并根据该目标表进行后续操作。这样,该第一网络设备可以支持对不同长度的地址进行操作。以IP地址为例,该第一网络设备可以保存用于处理IPv4地址的表,还可以保存用于处理IPv6地址的表。或者,该第一网络设备可以保存变长IP地址体系下用于处理不同长度IP地址的表。
结合第一方面,在一种可能的实现方式中,该根据该调整地址和该目标表对该调整地址进行处理,包括:确定该目标表中对应于该调整地址的目的地址。
结合第一方面,在一种可能的实现方式中,该根据该调整地址和该目标表对该调整地址进行处理,包括:在该目标表中建立表项,该表项的目的地址为该调整地址。
结合第一方面,在一种可能的实现方式中,该第一网络设备获取地址,包括:该第一网络设备接收第二网络设备发送的地址指示信息,该地址指示信息用于指示该地址的第1个比特至第N个比特的值和第一长度M,N与M均为大于或等于1的正整数;该第一网络设备根据该地址指示信息,确定该地址,其中该地址的第1个比特至第N个比特的值为该地址指示信息所指示的该地址的第1个比特至第N个比特的值,该地址的第N+1个比特至第N+M个比特的值为预设值。基于上述技术方案,在传输地址时,该第二网络设备无需将该地址的每个比特的具体值都发送给该第一网络设备。这样,可以减少传输的比特数目。传输的比特数目减少可以更快地传输该地址,还可以降低传输错误的机率。
结合第一方面,在一种可能的实现方式中,该地址指示信息还用于指示第二长度N,该第一网络设备根据该地址指示信息,确定该地址包括:该第一网络设备根据该第二长度N,确定该地址指示信息中的N个比特分别用于指示该地址中的第1个比特至N个比特的值;该第一网络设备确定该地址的第1个比特至第N个比特的值分别为该N个比特的值;该第一网络设备确定该地址的第N+1个比特至第N+M个比特的值为该预设值。
结合第一方面,在一种可能的实现方式中,该地址指示信息还用于指示子网掩码。
结合第一方面,在一种可能的实现方式中,该地址指示信息包括前缀字段和长度字段,该前缀字段包括该地址的第1个比特至第N个比特的值,该长度字段用于指示该第一长度M和该第二长度N。
结合第一方面,在一种可能的实现方式中,该长度字段包括第一子字段和第二子字段,其中,该第一子字段包括该第一长度M,该第二子字段包括该第二长度N;或者该第一子字段包括该第一长度M,该第二子字段包括该地址的总长度L,其中L为N与M的和;或者该第一子字段包括该第二长度N,该第二子字段包括该地址的总长度L。
第二方面,本申请实施例提供一种传输地址方法,该方法包括:第一网络设备接收第二网络设备发送的地址指示信息,该地址指示信息用于指示该地址的第1个比特至第N个比特的值和第一长度M,N与M均为大于或等于1的正整数;该第一网络设备根据该地址指示信息,确定该地址,其中该地址的第1个比特至第N个比特的值为该地址指示信息所指示的该地址的第1个比特至第N个比特的值,该地址的第N+1个比特至第N+M个比特的值为预设值。基于上述技术方案,在传输地址时,该第二网络设备无需将该地址的每个比特的具体值都发送给该第一网络设备。这样,可以减少传输的比特数目。传输的比特数目减少可以更快地传输该地址,还可以降低传输错误的机率。
结合第二方面,在一种可能的实现方式中,该地址指示信息还用于指示第二长度N,该第一网络设备根据该地址指示信息,确定该地址包括:该第一网络设备根据该第二长度N,确定该地址指示信息中的N个比特分别用于指示该地址中的第1个比特至N个比特的值;该第一网络设备确定该地址的第1个比特至第N个比特的值分别为该N个比特的值;该第一网络设备确定该地址的第N+1个比特至第N+M个比特的值为该预设值。
结合第二方面,在一种可能的实现方式中,该地址指示信息包括前缀字段和长度字段,该前缀字段包括该地址的第1个比特至第N个比特的值,该长度字段用于指示该第一长度M和该第二长度N。
结合第二方面,在一种可能的实现方式中,该长度字段包括第一子字段和第二子字段,其中,该第一子字段包括该第一长度M,该第二子字段包括该第二长度N;或者该第一子字段包括该第一长度M,该第二子字段包括该地址的总长度L,其中L为N与M的和;或者该第一子字段包括该第二长度N,该第二子字段包括该地址的总长度L。
结合第二方面,在一种可能的实现方式中,该方法还包括:该第一网络设备确定该地址的有效地址的长度,其中该地址的有效地址为该地址的第一个比特值为1的比特至该地址的最后一个比特;该第一网络设备在该地址的有效地址的长度小于目标表的表宽的情况下,在该地址的有效地址前增加S个0得到调整地址,并根据该调整地址和该目标表对该调整地址进行处理,其中S为该目标表的表宽与该地址的有效地址的长度的差,该目标表包括至少一个表项,该至少一个表项中的每个表项包括目的地址,该目标表的表宽为该目标表存储一个目的地址占用的总比特数目。基于上述技术方案,该第一网络设备获取到并进行处理的地址的长度可以与目标表的表宽不等。换句话说,网络中传输的地址的长度与网络设备保存的表的表宽可以不相同。这样,网络中的网络设备传输地址的方式可以更加灵活。此外,传输的地址的长度可以比目标表的表宽少一个或多个无效的比特,这样可以减少传输的地址的长度。因此,可以节省传输地址所占用的资源,提高网络中数据的传输效率。
结合第二方面,在一种可能的实现方式中,在该第一网络设备在该地址的有效地址的长度小于目标表的表宽的情况下在该地址的有效地址前增加S个0得到调整地址之前,该方法还包括:该第一网络设备确定该目标表,其中该目标表为表宽大于或等于该地址的有效地址的长度的表中表宽最小的表。根据上述技术方案,该第一网络设备中可以保存有多个表。该第一网络设备可以根据地址的有效地址的长度确定对应于该地址的目标表,并根据该目标表进行后续操作。这样,该第一网络设备可以支持对不同长度的地址进行操作。以IP地址为例,该第一网络设备可以保存用于处理IPv4地址的表,还可以保存用于处理IPv6地址的表。或者,该第一网络设备可以保存变长IP地址体系下用于处理不同长度IP地址的表。
结合第二方面,在一种可能的实现方式中,该根据该调整地址和该目标表对该调整地址进行处理,包括:确定该目标表中对应于该调整地址的目的地址。
结合第二方面,在一种可能的实现方式中,该根据该调整地址和该目标表对该调整地址进行处理,包括:在该目标表中建立表项,该表项的目的地址为该调整地址。
结合第二方面,在一种可能的实现方式中,该地址指示信息还用于指示子网掩码。
第三方面,本申请实施例提供一种传输地址的方法,该方法包括:第二网络设备确定地址的第一部分和第二部分,其中该地址由该第一部分和该第二部分组成,该地址长度为L,该第一部分为该地址的第1个比特至第N个比特,该第二部分为该地址的第N+1个比特至第L个比特,其中组成该第二部分的比特的值均为预设值;该第二网络设备确定地址指示信息,该地址指示信息用于指示该地址的第1个比特至第N个比特的值以及第一长度M,其中,M为L与N的差,其中M和N均为大于或等于1的正整数;该第二网络设备向第一网络设备发送该IP地址指示信息。
结合第三方面,在一种可能的实现方式中,该地址的第N个比特为该地址的最后一个比特值为1的比特,该第二网络设备确定地址的第一部分和第二部分,包括:该第二网络设备确定该第一部分为该地址的第1个比特至该IP地址的最后一个比特值为1的比特,确定该第二部分为该IP地址中除该第一部分以外的比特。
结合第三方面,在一种可能的实现方式中,该地址的子网掩码为N,该第二网络设备确定地址的第一部分和第二部分,包括:该第二网络设备确定该第一部分为该地址的第1个比特至第N个比特,确定该第二部分为该地址的第N+1个比特至该IP地址的第L个比特。
结合第三方面,在一种可能的实现方式中,该地址指示信息还用于指示第二长度N。
结合第三方面,在一种可能的实现方式中,该地址指示信息包括前缀字段和长度字段,该前缀字段包括该IP地址的第一个比特至第N个比特的值,该长度字段用于指示该第一长度M和该第二长度N。
结合第三方面,在一种可能的实现方式中,该长度字段包括第一子字段和第二子字段,其中,该第一子字段包括该第一长度M,该第二子字段包括该第二长度N;或者该第一子字段包括该第一长度M,该第二子字段包括该地址的总长度L,其中L为N与M的和;或者该第一子字段包括该第二长度N,该第二子字段包括该地址的总长度L。
结合第三方面,在一种可能的实现方式中,该地址指示信息还用于指示子网掩码。
第四方面,本申请实施例提供一种网络设备,该网络设备包括用于执行第一方面或第一方面的任一种可能的实现方式的单元。
第五方面,本申请实施例提供一种网络设备,该网络设备包括用于执行第二方面或第二方面的任一种可能的实现方式的单元。
第六方面,本申请实施例提供一种网络设备,该网络设备包括用于执行第三方面或第三方面的任一种可能的实现方式的单元。
第七方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储用于实现第一方面或第一方面的任一种可能的实现方式所述的方法的指令。
第八方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储用于实现第二方面或第二方面的任一种可能的实现方式所述的方法的指令。
第九方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储用于实现第三方面或第三方面的任一种可能的实现方式所述的方法的指令。
第十方面,本申请提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能的实现方式所述的方法。
第十一方面,本申请提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能的实现方式所述的方法。
第十二方面,本申请提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第三方面或第三方面的任一种可能的实现方式所述的方法。
附图说明
图1是根据本申请实施例提供的传输地址的方法的示意性流程图。
图2是一种该地址指示信息的示意图。
图3是另一种该地址指示信息的示意图。
图4是根据本申请实施例提供的处理地址的方法的示意性流程图。
图5是根据本申请实施例提供的一种网络设备的结构框图。
图6是根据本申请实施例提供的一种网络设备的结构框图。
图7是根据本申请实施例提供的一种网络设备的结构框图。
图8是根据本申请实施例提供的一种网络设备的结构框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了帮助本领域技术人员更好地理解本申请实施例,首先介绍一下本申请实施例中涉及的一些概念。
除非特殊说明,本申请实施例中所称的地址可以是任何完整的地址,也可以是一个完整地址的一部分。例如,本申请实施例中所称的地址可以是IPv4地址,IPv6地址,变长IP地址体系下的IP地址,MAC地址等。又如,本申请实施例中所称的地址可以是IP地址的前缀(prefix)。又如,本申请实施例中所称的地址也可以是IP地址的主机标识(hostidentifier)。又如,本申请实施例中所称的地址也可以是变长IP地址体系下的IP地址的全局前缀(global prefix),也可以是变长IP地址体系下的IP地址的本地地址(localsuffix)。本申请实施例中所称的地址还可以是去除了无效部分后的地址。无效部分是指地址中的第一个比特值为1之前的部分。以点分十进制为1.128.0的IP地址为例,该地址的完整的地址是:000000011000000000000000,去除无效部分后的地址为:11000000000000000。
IP地址是分配给网络上使用互联网协议的进行通信设备的数字标签。IPv4是互联网协议第四版,也是第一个被广泛使用的,构成现今互联网技术的基础协议。IPv4地址被规定为32比特长度。理论上,IPv4最多可以提供约42.9亿个IP地址。然而,随着互联网的不断发展和互联网规模的逐渐扩大,接入互联网的设备越来越多,IPv4地址不足以分配给每一个接入网络的设备。
为了解决这一问题,业界提出的变长IP地址体系。变长IP地址包括两部分:全局前缀(global prefix)和本地地址(local suffix)。本地地址的长度和全局前缀都是由地址管理机构分配的。本地地址的具体内容是由全局前缀所有者决定的。这样,通过扩展全局前缀,就可以实现地址空间的无限增长。
例如,分配给某机构A一个前缀128(十进制表示)和一个8比特长的本地地址空间。那么该机构A下的某个具体IP地址可以表示为128.x,其中x为8比特长度能够表达的值,即0至255。
为了便于理解,本申请实施例中的具体例子均是以IP地址为例进行描述的。本领域技术人员可以理解,为了方便描述,通常以点分十进制的方式来描述一个IP地址,例如1.128.0,192.168.1.1等。然而,当网络中的一个网络设备需要将IP地址发布至该网络中的另一个网络设备时,该网络设备传输的是IP地址的二进制形式。假设网络设备A将IP地址1.128.0传输给网络设备B,则该网络设备A向网络设备B发送是该IP地址的二进制形式,即00000001.10000000.00000000。上述例子中的IP地址都是以8比特为单位的点分十进制来表示的。IP地址也可以通过其他任意长度作为点分十进制的基本单位。例如,以4比特为单位的点分十进制的IP地址可以是8.15.0,对应的二进制为1000.1111.0000。又如,以6比特为单位的点分十进制的IP地址可以是32.63.0,对应的二进制位100000.111111.000000。为了便于描述,图1所示的实施例中以8比特为单位的点分十进制来表示IP地址。
本申请实施例中所称的长度是指比特数目。例如,IP地址的长度是32,表示该IP地址由32个比特组成。又如,IP地址长度是128,表示该IP地址由128个比特组成。又如,IP地址前缀长度为16,表示该IP地址前缀由16个比特组成。例如,以8比特为单位的点分十进制来表示的IP地址1.128.0的长度是24,即该IP地址由24个比特组成。
本申请实施例中提供的传输IP地址的方法可以应用于任何需要传输IP地址的场景中。例如,在应用边界网关协议(border gateway protocol,BGP)的系统中的路由器A可以利用本申请实施例中提供的方法的将需要发布的IP地址发送至路由器B。
本申请实施例中所称的网络设备可以是网络中的任何设备,例如,路由器、服务器、终端设备等。例如,第一网络设备可以是网络中的一个路由器,第二网络设备可以是该网络中的另一个路由器。又如,该第一网络设备可以是接入网络的终端设备,第二网络设备可以是该网络中的一个路由器。又如,该第一网络设备可以是网络中的服务器,另一个网络设备可以是网络中的一个路由器。本申请实施例中所称的终端设备可以是计算机、平板电脑、手机等。
可以理解的是,本申请实施例中第一网络设备和第二网络设备中的“第一”和“第二”仅是为了区分不同的网络设备,而并非是对网络设备本身功能进行限定。一个网络设备既可以作为该第一网络设备,也可以作为该第二网络设备。假设网络中包括路由器A和路由器B两个路由器,若路由器A发送地址指示信息至路由器B,则路由器A可以是该第二网络设备,路由器B可以是该第一网络设备。若路由器B发送地址指示信息至路由器A,则路由器A可以是该第一网络设备,路由器B可以是该第二网络设备。
图1是根据本申请实施例提供的传输地址的方法的示意性流程图。
101,第二网络设备确定地址的第一部分和第二部分。
该地址可以是第二网络设备需要发送至第一网络设备的任意地址。例如,该地址可以是该第二网络设备的地址。又如,该地址可以是由第二网络设备转达的网络中的其他设备的地址。又如,该地址可以是该第二网络设备需要提供给该第一网络设备使用的地址。
具体地,地址的长度可以是L。地址可以由第一部分和第二部分组成。该第一部分为地址的第一个比特至第N个比特,第二比特为地址的第N+1个比特至第L个比特。换句话说,地址的第一部分的长度为N,地址的第二部分的长度为L-N。为了便于描述,令M等于L-N,N与M均为大于或等于1的正整数。换句话说,L为M与N的和。第二部分的长度为M。组成该第二部分的M个比特的值均为预设值。
可选的,在一些实施例中,该第二网络设备可以通过如下方式确定该地址的第一部分和第二部分:确定该第一部分为该地址的第1个比特至该地址的最后一个比特值为1的比特;确定该第二部分为该地址中除了该第一部分以外的比特。换句话说,在此情况下,该地址的第N个比特是该地址中最后一个比特值为1的比特。在该地址的第N+1个比特至最后一个比特的值都是预设值。为便于描述,以下将通过上述方式称为第一方案。
可选的,在一些实施例中,该第二网络设备还可以根据该地址的子网掩码确定该地址的第一部分和该地址的第二部分。具体地,假设该地址的子网掩码为N,则该地址的第一部分为该地址的第1个比特至该地址的第N个比特,该地址的第二部分为该地址的第N+1个比特至该地址的第L个比特。可以理解的是,在此情况下该地址是IP地址。为便于描述,以下将通过上述方式称为第二方案。
可选的,在一些实施例中,该预设值可以是0。可选的,在另一些实施例中,该预设值可以是1。可选的,在另一些实施例中,该预设值可以是其他值,例如,0和1的循环。例如,若M等于5,则该第二部分可以为01010。又如,若M等于6,则第二部分可以为010101。
可选的,在一些实施例中,该地址可以是完整的地址。
以点分十进制为1.128.0的IP地址为例,该地址的完整的地址是:000000011000000000000000。采用第一方案确定的该地址的第一部分为该地址的第1个比特至第9个比特,即000000011;采用第一方案确定的该地址的第二部分为该地址的第10个比特至第24个比特。若该地址的子网掩码为12,则采用第二方案确定的该地址的第一部分为该地址的第1个比特至第12个比特,即000000011000;采用第二方案确定的该地址的第二部分为该地址的第13个比特至第24个比特。
以点分十进制为1.129.0的IP地址为例,该地址的完整的地址是:000000011000000100000000。采用第一方案确定的该地址的第一部分为该地址的第1个比特至第16个比特,即0000000110000001;采用第一方案确定的该地址的第二部分为该地址的第17个比特至第24个比特。若该地址的子网掩码为16,则采用第二方案确定的该地址的第一部分为该地址的第1个比特至第16个比特,即0000000110000001;采用第二方案确定的该地址的第二部分为该地址的第17个比特至第24个比特。
可选的,在另一些实施例中,该地址可以是去除了无效部分后的地址。无效部分是指地址中的第一个比特值为1之前的部分。相应的,子网掩码N也是去除了无效部分后的值。去除地址的无效部分可以进一步减少地址指示信息的长度。
以点分十进制为1.128.0的IP地址为例,该地址的完整的地址是:000000011000000000000000,去除无效部分后的地址为:11000000000000000。采用第一方案确定的该地址的第一部分为该地址的第1个比特至第2个比特,即11;采用第一方案确定的该地址的第二部分为该地址的第3个比特至第17个比特。若完整的地址的子网掩码为12,去除了前7位无效部分后的地址的子网掩码的值为5。采用第二方案确定的该地址的第一部分为该地址的第1个比特至第5个比特,即11000;采用第二方案确定的该地址的第二部分为该地址的第6个比特至第17个比特。
以点分十进制为1.129.0的IP地址为例,该地址的完整的地址是:000000011000000100000000,去除无效部分后的地址为:11000000100000000。采用第一方案确定的该地址的第一部分为该地址的第1个比特至第9个比特,即0000000110000001;采用第一方案确定的该地址的第二部分为该地址的第10个比特至第17个比特。若完整的地址的子网掩码为16,去除了前7位无效部分后的地址的子网掩码的值为9。则采用第二方案确定的该地址的第一部分为该地址的第1个比特至第9个比特,即110000001;采用第二方案确定的该地址的第二部分为该地址的第10个比特至第17个比特。
可选的,在另一些实施例中,该地址可以是完整地址的一部分地址,例如IP地址的前缀(prefix)、IP地址的主机标识(host identifier)、变长IP地址体系下的IP地址的全局前缀(global prefix)、IP地址的本地地址(local suffix)。
假设该地址是本地地址。以点分十进制为192.1.1.1.128.0的IP地址为例,1.128.0是该IP地址的本地地址。该地址的二进制表示是:000000011000000000000000,采用第一方案确定的该地址的第一部分为该地址的第1个比特至第9个比特,即000000011;采用第一方案确定的该地址的第二部分为该地址的第10个比特至第24个比特。若该地址的子网掩码为12,则采用第二方案确定的该地址的第一部分为该地址的第1个比特至第12个比特,即000000011000;采用第二方案确定的该地址的第二部分为该地址的第13个比特至第24个比特。
102,该第二网络设备确定地址指示信息,该地址指示信息用于指示该地址的第1个比特至第N个比特的值以及第一长度M。
103,该第二网络设备将该地址指示信息发送至第一网络设备。
以BGP网络为例,该地址指示信息可以由更新消息携带。具体地,更新消息中可以携带网络层可达信息(network layer reachability information,NLRI),该NLRI信息就是该地址指示信息。
104,该第一网络设备根据该地址指示信息,确定该地址。
该地址指示信息可以直接指示该地址的第1个比特至第N个比特的值。因此,该地址指示信息中可以包括一个前缀字段,该前缀字段包括该地址的第1个比特至第N个比特的值。换句话说,该前缀字段包括该地址第一部分的每个比特的值。
例如,假设该地址的第一部分为000000011,则该前缀字段的内容为000000011。假设该地址的第一部分为11,则该前缀字段的内容为11。
该第一长度M就是该地址第二部分的长度。或者说,该第一长度M是该地址的第二部分包括的比特数目。例如,若该地址的第二部分为该地址的第17个比特至第24个比特,则该M的值为8。又如,若该地址的第二部分为该地址的第10个比特至第24个比特,则M的值为15。因此,该第一网络设备可以根据M的取值,确定在第N个比特后面补充的预设值的个数。
可选的,在一些实施例中,该地址指示信息还可以指示第二长度N。在此情况下,该第一网络设备在接收到该地址指示信息后,可以根据该第二长度N确定出该地址指示信息中包括有N个比特的值。该第一网络设备可以确定地址的第1个比特的值至第N个比特的值是该地址指示信息所指示的该地址的第1个比特的值至第N个比特的值。换句话说,该第一网络设备在接收到该地址指示信息后,可以确定出需要读取的用于指示地址的比特的个数。更具体地,该地址指示信息中除该前缀字段外的其他字段的长度都是固定的。换句话说,该前缀字段的长度是可变的。例如,该地址指示信息包括前缀字段和长度字段。该长度字段可以指示该第二长度N。可选的,在一些实施例中,该地址指示信息中,长度字段位于前缀字段之前,或者长度字段中用于指示该第二长度的子字段位于该前缀字段之前。这样,该第一网络设备可以根据该长度字段确定出长度字段后的N个比特所指示的内容是地址的第1个比特至第N个比特的值。
可选的,在一些实施例中,该地址指示信息可以直接指示该第一长度M和第二长度N。具体地,该地址指示信息中可以包括该前缀字段和长度字段。前缀字段具体内容如上描述,在此就不必赘述。该长度字段包括第一子字段和第二子字段。该第一子字段包括该第一长度M。该第二子字段包括该第二长度N。上面两个例子中,M的值都是十进制下的取值。可以理解的是,与传输地址类似,第一子字段中包括的第一长度M是M的二进制值,第二子字段包括的第二长度N是N的二进制值。若该地址的第二部分为该地址的第17个比特至第24个比特,则该第一字字段包括的内容为1000。若该地址的第二部分为该地址的第10个比特至第24个比特,则该第一子字段包括的内容为1111。若该地址的第一部分的长度为8,则该第二子字段包括的内容为1000。
可选的,在一些实施例中,该地址指示信息可以直接指示该第一长度并间接指示该第二长度。具体地,具体地,该地址指示信息中可以包括该前缀字段和长度字段。前缀字段具体内容如上描述,在此就不必赘述。该长度字段包括第一子字段和第二子字段。该第一子字段包括该第一长度M。该第二子字段包括该地址的总长度L。上面两个例子中,M的值都是十进制下的取值。可以理解的是,与传输地址类似,第一子字段中包括的第一长度M是M的二进制值,第二子字段包括的该地址的总长度L是L的二进制值。若该地址的第二部分为该地址的第17个比特至第24个比特,则该第一字字段包括的内容为1000。若该地址的第二部分为该地址的第10个比特至第24个比特,则该第一子字段包括的内容为1111。若该地址的总长度为24,则该第二子字段包括的内容为11000。该第一网络设备在接收到该地址指示信息中,可以根据该地址指示信息所指示的地址的总长度L与该第一长度M计算出该第二长度N。具体地,该第一网络设备可以确定第二长度N为L与M的差。
可选的,在一些实施例中,该地址指示信息可以直接指示该第二长度并间接指示该第一长度。具体地,具体地,该地址指示信息中可以包括该前缀字段和长度字段。前缀字段具体内容如上描述,在此就不必赘述。该长度字段包括第一子字段和第二子字段。该第一子字段包括该第二长度N。该第二子字段包括该地址的总长度L。可以理解的是,与传输地址类似,第一子字段中包括的第二长度N是N的二进制值,第二子字段包括的该地址的总长度L是L的二进制值。若该地址的第一部分长度为8,则该第一字字段包括的内容为1000。若该地址的总长度为24,则该第二子字段包括的内容为11000。该第一网络设备在接收到该地址指示信息中,可以根据该地址指示信息所指示的地址的总长度L与该第而长度N计算出该第一长度M。具体地,该第一网络设备可以确定第一长度M为L与N的差。
如前所述,在一些实施例中,长度字段的长度是固定的,前缀字段的长度是可变的。该地址指示信息中,长度字段位于前缀字段之前,或者长度字段中用于指示该第二长度的子字段位于该前缀字段之前。这样,该第一网络设备可以根据该长度字段确定出长度字段后的N个比特所指示的内容是地址的第1个比特至第N个比特的值。例如,图2是一种该地址指示信息的示意图。如图2所示,该地址指示信息依次包括该第一子字段、该第二子字段和该前缀字段。可以看出,图2所示的地址指示信息中的第一子字段和第二子字段是连续的,且第一子字段位于第二子字段之前。当然在另一些实施例中,该第二子字段也可以位于第一子字段之前。又如,图3是另一种该地址指示信息的示意图。如图3所示,该地址指示信息依次包括该第二子字段、该前缀字段和该第一子字段。
可选的,在另一些实施例中,在该长度字段的长度是固定的且前缀字段的长度是可变的情况下,该长度字段也可以位于该前缀字段后。具体地,该第一网络设备可以识别出接收到的字符串中的表示该地址指示信息的部分。例如,根据协议规定,该第二网络设备在一些情况下发送给该第一网络设备的所有内容就是该地址指示信息。又如,该地址指示信息前与该地址指示信息后设置有标志字段。当第一网络设备接收到一段字符串后,该第一网络字段可以根据该标志字段确定出该字符串中该地址指示信息部分。在确定出该地址指示信息部分后,该第一网络设备可以现根据该地址指示信息后的长度字段确定出该第二长度N,然后确定长度字段之前N个比特所指示的内容是地址的第1个比特至第N个比特的值。
可选的,在另一些实施例中,该地址指示信息可以无需指示该第二长度N。
例如,在一些实施例中,该第二长度N可以是一个固定值。例如,该第一网络设备与该第二网络设备可以事先协商好N的取值,然后该第二网络设备根据协商好的N的取值确定该地址的第一部分和第二部分。这样,当该第一网络设备接收到该地址指示信息后,该第一网络设备可以直接确定出该地址指示信息指示有N个比特的值,然后确定该地址的第1个比特至第N个比特的值是该地址指示信息所指示的值,并根据该地址指示信息所指示的第一长度M,确定出该地址的第N+1个比特至第N+M个比特的值为预设值。
又如,在一些实施例中,该长度字段的长度是固定的且前缀字段的长度是可变,且该第一网络设备可以识别出接收到的字符串中的表示该地址指示信息的部分。在此情况下,该长度子都仅指示该第一长度M。例如,根据协议规定,该第二网络设备在一些情况下发送给该第一网络设备的所有内容就是该地址指示信息。又如,该地址指示信息前与该地址指示信息后设置有标志字段。当第一网络设备接收到一段字符串后,该第一网络字段可以根据该标志字段确定出该字符串中该地址指示信息部分。该第一网络设备在确定出该地址指示信息部分后,可以确定出该地址指示信息中除长度字段以外的内容就是该地址指示信息所指示的地址的第一部分的N个比特的值。例如,假设地址指示信息的长度字段的长度为8个比特且长度字段位于前缀字段之前。若该第一网络设备识别出地址指示信息,则该第一网络设备可以确定除了该地址指示信息的前8个比特外的所有比特就是指示该地址的第1个比特至第N个比特的值。换句话说,该第一网络设备可以确定出该地址指示信息除了前8个比特外的部分是该地址指示信息的前缀字段。
基于上述技术方案,在传输地址时,该第二网络设备无需将该地址的每个比特的具体值都发送给该第一网络设备。这样,可以减少传输的比特数目。传输的比特数目减少可以更快地传输该地址,还可以降低传输错误的机率。另外,现有方案中发布地址的方法依赖于地址长度是固定这一特性。因此,若地址长度不固定,则无法采用现有技术传输地址。因此,上述技术方案可以用到地址长度不是固定值网络中。例如,网络中采用的是变长IP地址体系。又如,网络中的部分IP地址是IPv4地址,另一部分IP地址是IPv6地址。若采用现有的方案,接收端设备无法正常解析出IP地址。
可选的,在一些实施例中,若该地址是完整IP地址或者IP地址的前缀,该地址指示信息还可以指示该地址的子网掩码。可选的,在一些实施例中,若该地址的第一部分和第二部分是通过上述第二方案确定的(即第一部分长度等于子网掩码),则该地址指示信息中指示第二长度N的字段所指示的值就是该子网掩码。
进一步,该第一网络设备在接收到该地址后,可以继续对该地址进行处理。该第一网络设备可以根据图4所示的方法对该地址进行处理。
图4是根据本申请实施例提供的一种处理地址的方法的示意性流程图。
401,第一网络设备获取地址。
可选的,在一些实施例中,该第一网络设备可以采用图1所示的方法获取该地址。
可选的,在另一些实施例中,该第一网络设备也可以采用其他方式获取该地址。例如,第二网络设备可以直接以完整形式将该地址发送至该第一网络设备。
402,该第一网络设备确定该地址的有效地址的长度,其中该地址的有效地址为该地址的第一个比特值为1的比特至该地址的最后一个比特。
例如,以点分十进制为1.128.0的IP地址为例,该地址的完整的地址是:000000011000000000000000。该地址的有效地址为:11000000000000000。因此,该IP地址的有效长度是17。
403,该第一网络设备在该地址的有效地址的长度小于目标表的表宽的情况下,在该地址有效地址前增加S个0得到调整地址,并根据该调整地址和该目标表对该调整地址进行处理,其中S为该目标表的表宽与该地址的长度的差,该目标表能够包括至少一个表项,该至少一个表项中的每个表项包括目的地址,该目标表的表宽为该目标表存储一个目的地址占用的总比特数目。
以点分十进制为1.128.0的IP地址为例,该地址的完整的地址是:000000011000000000000000。该地址的有效地址11000000000000000。假设该目标表的表宽为32比特,则需要在该地址前增加15个0得到调整地址,该调整地址以点分十进制表示为0.1.128.0。该第一网络设备可以根据该调整地址和该目标表对该调整地址进行处理。
基于图4所示的技术方案,该第一网络设备获取到并进行处理的地址的长度可以与目标表的表宽不等。换句话说,网络中传输的地址的长度与网络设备保存的表的表宽可以不相同。这样,网络中的网络设备传输地址的方式可以更加灵活。此外,传输的地址的长度可以比目标表的表宽少一个或多个无效的比特(即地址的第一个1前面的0),这样可以减少传输的地址的长度。因此,可以节省传输地址所占用的资源,提高网络中数据的传输效率。
可以理解的是,若地址的有效地址的长度等于目标表的表宽,则该第一网络设备可以直接根据该地址的有效地址和该目标表对该地址的有效地址进行处理。
以点分十进制为172.16.1.0的IP地址为例,该IP地址的完整地址是10101100000100000000000100000000。该IP地址的有效长度等于该IP地址的长度。假设该目标表的表宽为32比特。可见,该IP地址的有效长度与该目标表的表宽相同。因此,该第一网络设备可以直接根据该地址和该目标表对该地址进行处理。
可选的,在一些实施例中,该第一网络设备可以仅保存一个表。在此情况下,该第一网络设备所保存的表就是该目标表。
可选的,在另一些实施例中,该第一网络设备可以保存多个表(即两个或两个以上表)。在此情况下,该第一网络设备需要先确定该目标表,然后在确定调整地址。换句话说,在该第一网络设备在该地址的长度小于目标表的表宽的情况下在该地址前增加S个0得到调整地址之前,该第一网络设备还需要确定目标表。
与目标表类似,该第一网络设备保存的每个表包括至少一个表项,该至少一个表项中的每个表项包括目的地址,该表的表宽为该表存储一个目的地址占用的总比特数目。
在该第一网络设备保存多个表的情况下,该第一网络设备保存的不同表的表宽不同。
例如,该第一网络设备可以保存三个表,表a、表b和表c。表a的表宽为16比特,表b的表宽为32比特,表c的表宽为64比特。换句话说,表a的一个表项中存储目的地址的比特的数目为16,表b的一个表项中存储目的地址的比特的数目为32,表c的一个表项中存储目的地址的比特的数目为64。
可选的,在一些实施例中,该第一网络设备可以根据该地址的有效地址的长度,确定该目标表。
具体地,该第一网络设备可以确定该地址的有效地址的长度。该地址的有效地址为该地址的第一个比特值为1的比特至该地址的最后一个比特。例如,以点分十进制为1.128.0的IP地址为例,该地址的完整的地址是:000000011000000000000000。该地址的有效地址为:11000000000000000。因此,该IP地址的有效长度是17。
该第一网络设备确定该目标表,其中该目标表为表宽大于或等于该地址的有效地址的长度的表中表宽最小的表。
还以上述表a、表b和表c为例。因此,若该地址的有效长度小于或等于16比特,则第一网络设备可以确定表a为该目标表;若该地址的有效长度大于16比特且小于或等于32比特,则该第一网络设备可以确定表b为该目标表;若该地址的有效长度大于32比特且小于或等于64比特,则该第一网络设备可以确定表c为该目标表。
以点分十进制为1.128.0的IP地址为例,该地址的完整的地址是:000000011000000000000000。该地址的有效地址为:11000000000000000。因此,该IP地址的有效长度是17。17大于16且小于32。因此,对应于该地址的表为表b。
根据上述技术方案,该第一网络设备中可以保存有多个表。该第一网络设备可以根据地址的有效地址的长度确定对应于该地址的目标表,并根据该目标表进行后续操作。这样,该第一网络设备可以支持对不同长度的地址进行操作。以IP地址为例,该第一网络设备可以保存用于处理IPv4地址的表,还可以保存用于处理IPv6地址的表。或者,该第一网络设备可以保存变长IP地址体系下用于处理不同长度IP地址的表。
本申请实施例中所称的网络设备所保存“表”可以是指能够用于处理携带有地址的信息的各种表。例如,路由表,MAC地址表等。表中除了目的地址外,还可以包括转发信息。转发信息在不同表中的名称可能是不同的。例如,路由表中的转发信息可以称为下一跳(next hop)。MAC地址表中的转发信息可以称为端口(port)。除了目的地址和转发信息外,不同的表的表项中还可以包括其他内容。例如,路由表的表项中还可以包括子网掩码。又如,MAC地址表的表项中还可以包括虚拟局域网(virtual local area network,VLAN)标识。为了便于描述,以下具体实施例均以路由表为例。
可选的,在一些实施例中,根据该调整地址和该目标表对该调整地址进行处理,包括:确定该目标表中对应于该调整地址的目的地址。
表1是一个路由表的示意。如表1所示的路由表中包括三个表项。每个表项包括一个目的地址、一个子网掩码和一个下一跳。
地址 | 子网掩码 | 下一跳 |
0.16.1.0 | 24 | 路由器A |
0.16.2.0 | 24 | 路由器B |
0.16.0.0 | 16 | 丢弃 |
表1
假设表1所示的路由表是目标表。若该目标表中对应于该调整地址的目的地址是表1中的第一个表项的目的地址(即0.16.1.0,以下简称地址1),则该第一网络设备可以将携带该地址的消息转发至路由器A。若该目标表中对应于该调整地址的目的地址是表1中的第二个表项的目的地址(即0.16.2.0,以下简称地址2),则该第一网络设备可以将携带该地址的消息转发至路由器B。若该目标表中对应于该调整地址的目的地址是表1中的第三个表项的目的地址(即0.16.0.0,以下简称地址3),则将携带该地址的消息丢弃。
可选的,若目标表中没有对应于该调整地址的目的地址,则可以根据预设规则处理携带该地址的消息。例如,该预设规则可以是将携带该地址的消息丢弃。又如,该预设规则可以是将携带该地址的消息发送至一个指定的网络设备等。
该第一网络设备基于最长匹配原则、最短匹配原则或模糊匹配等匹配原则,从该目标表中确定对应于该调整地址的目的地址。
下面以最长匹配原则为例进行描述。
以表1所示的路由表和点分十进制为16.2.1的IP地址为例(为便于描述,以下将该IP地址称为待匹配IP地址)。假设该路由表是该待匹配IP地址的目标表。该路由表的表宽为32比特,而该待匹配IP地址的长度为24比特。因此,需要确定该待匹配IP地址的调整地址。该待匹配IP地址的调整地址为0.162.2.1(点分十进制表示)。
表2示出了该路由表中的三个IP地址以及该待匹配IP地址的调整地址的点分十进制值和二进制值。
0.16.1.0 | 00000000.00010000.00000001.00000000 |
0.16.2.0 | 00000000.00010000.00000010.00000000 |
0.16.0.0 | 00000000.00010000.00000000.00000000 |
0.16.2.1 | 00000000.00010000.00000010.00000001 |
表2
地址1的子网掩码为24。因此,该待匹配IP地址的调整地址的前24个比特需要与地址1的前24个比特严格匹配。换句话说,只有该待匹配IP地址的调整地址的前24个比特需要与地址1的前24个比特相同的情况下,该待匹配IP地址的调整地址才能与地址1匹配。如图6所示,该待匹配IP地址的调整地址的第23个比特和第24个比特与地址1的第23个比特和第24个比特均不相同。因此,该待匹配IP地址的调整地址与地址1不匹配。地址2的子网掩码为24。该待匹配IP地址的调整地址的前24个比特与地址2的前24个比特完全相同。因此,该待匹配IP地址的调整地址与地址2匹配。地址3的子网掩码为16。该待匹配IP地址的调整地址的前16个比特与地址3的前16个比特完全相同。因此,该待匹配IP地址的调整地址与地址3匹配。综上,该待匹配IP地址的调整地址与地址2和地址3均匹配。进一步,该待匹配IP地址的调整地址与地址2的前31个比特均相同,该待匹配IP地址的调整地址与地址3的前22个比特相同。因此,该待匹配IP地址的调整地址与地址2的匹配长度大于该待匹配IP地址的调整地址与地址3的匹配长度。因此该待匹配IP地址的调整地址的目标地址为地址2。
可选的,在另一些实施例中,该根据该调整地址和该目标表对该调整地址进行处理,包括:在该目标表中建立表项,该表项的目的地址为该调整地址。
可选的,在一些实施例中,该目标表可以是已经保存有至少一个表项的表。
例如,假设接收到的地址的点分十进制为0.16.3.0,子网掩码为24。假设如表1所示的路由表是对应于该地址的目标表。该第一网络设备可以确定在目标表上建立新的转发表项,该转发表项的目的地址为0.16.3.0,该下一跳为路由器C。在此情况下,表1所示的可以更新为如表3所示的路由表。
表3
这样,当该第一网络设备再次接收地址后,可以根据更新后的路由表进行处理。例如,若接收到的地址与0.16.3.0匹配,则可以将携带该地址的消息转发至路由器C。
可选的,在一些实施例中,该目标表可以是一个尚未保存有任何表项的表。换句话说,该目标表可以是该第一网络设备新建的表。
例如,假设接收到的地址的点分十进制为176.16.3.0,子网掩码为24。该第一网络设备可以新建一个表,该表包括一个转发表项,该转发表项的目的地址为176.16.3.0,该下一跳为路由器C。这样,当该第一网络设备再次接收地址后,可以根据更新后的路由表进行处理。例如,若接收到的地址与176.16.3.0匹配,则可以将携带该地址的消息转发至路由器C。
图5是根据本申请实施例提供的一种网络设备。如图5所示,网络设备500包括接收单元501和处理单元502。图5所示的网络设备可以执行图1所示的方法中第一网络设备执行的各个步骤。
接收单元501,用于接收第二网络设备发送的地址指示信息,该地址指示信息用于指示地址的第1个比特至第N个比特的值和第一长度M,N与M均为大于或等于1的正整数。
处理单元502,用于根据该地址指示信息,确定该地址,其中该地址指示信息用于指示该地址的第1个比特至第N个比特的值和第一长度M,N与M均为大于或等于1的正整数,该地址的第1个比特至第N个比特的值为该地址指示信息所指示的该地址的第1个比特至第N个比特的值,该地址的第N+1个比特至第N+M个比特的值为预设值。
一种可能的方式中,处理单元502可以由处理器实现,接收单元501可以由接收器实现。
可选的,在一些实施例中,该地址指示信息还用于指示第二长度N,处理单元502,具体用于根据该第二长度N,确定该地址指示信息中的N个比特分别用于指示该地址中的第1个比特至N个比特的值;确定该地址的第1个比特至第N个比特的值分别为该N个比特的值;确定该地址的第N+1个比特至第N+M个比特的值为该预设值。
可选的,在一些实施例中,该地址指示信息包括前缀字段和长度字段,该前缀字段包括该地址的第1个比特至第N个比特的值,该长度字段用于指示该第一长度M和该第二长度N。
可选的,在一些实施例中,该长度字段包括第一子字段和第二子字段,其中,该第一子字段包括该第一长度M,该第二子字段包括该第二长度N;或者该第一子字段包括该第一长度M,该第二子字段包括该地址的总长度L,其中L为N与M的和;或者该第一子字段包括该第二长度N,该第二子字段包括该地址的总长度L。
可选的,在一些实施例中,网络设备500还可以包括存储单元,该存储单元用于存储目标表。该存储单元可以由存储器实现。处理单元502,还用于确定该地址的有效地址的长度,其中该地址的有效地址为该地址的第一个比特值为1的比特至该地址的最后一个比特;在该地址的有效地址的长度小于该目标表的表宽的情况下,在该地址的有效地址前增加S个0得到调整地址,并根据该调整地址和该目标表对该调整地址进行处理,其中S为该目标表的表宽与该地址的有效地址的长度的差,该目标表包括至少一个表项,该至少一个表项中的每个表项包括目的地址,该目标表的表宽为该目标表存储一个目的地址占用的总比特数目。
可选的,在一些实施例中,该存储单元还用于存储多个表。该多个表中包括该目标表。处理单元502,还用于在在该地址的有效地址的长度小于目标表的表宽的情况下在该地址的有效地址前增加S个0得到调整地址之前,确定该目标表,其中该目标表为表宽大于或等于该地址的有效地址的长度的表中表宽最小的表。
可选的,在一些实施例中,处理单元502,具体用于确定该目标表中对应于该调整地址的目的地址。
可选的,在一些实施例中,处理单元502,具体用于在该目标表中建立表项,该表项的目的地址为该调整地址。
接收单元501、处理单元502以及存储单元的具体功能和有益效果可以参见图1所示的方法,在此就不再赘述。
图6是根据本申请实施例提供的一种网络设备。如图6所示,网络设备600包括处理单元601和发送单元602。图6所示的网络设备可以执行图1所示的方法中第二网络设备执行的各个步骤。
处理单元601,用于确定地址的第一部分和第二部分,其中该地址由该第一部分和该第二部分组成,该地址长度为L,该第一部分为该地址的第1个比特至第N个比特,该第二部分为该地址的第N+1个比特至第L个比特,其中组成该第二部分的比特的值均为0。
处理单元601,还用于确定地址指示信息,该地址指示信息用于指示该地址的第1个比特至第N个比特的值以及第一长度M,其中,M为L与N的差,其中M和N均为大于或等于1的正整数;
发送单元602,用于向第一网络设备发送该IP地址指示信息。
可选的,在一些实施例中,该地址的第N个比特为该地址的最后一个比特值为1的比特,处理单元601,具体用于确定该第一部分为该地址的第1个比特至该IP地址的最后一个比特值为1的比特,确定该第二部分为该IP地址中除该第一部分以外的比特。
可选的,在一些实施例中,该地址的子网掩码为N,处理单元601,具体用于该第二网络设备确定该第一部分为该地址的第1个比特至第N个比特,确定该第二部分为该地址的第N+1个比特至该IP地址的第L个比特。
可选的,在一些实施例中,该地址指示信息还用于指示第二长度N。
可选的,在一些实施例中,该地址指示信息包括前缀字段和长度字段,该前缀字段包括该IP地址的第一个比特至第N个比特的值,该长度字段用于指示该第一长度M和该第二长度N。
可选的,在一些实施例中,该长度字段包括第一子字段和第二子字段,其中,该第一子字段包括该第一长度M,该第二子字段包括该第二长度N;或者该第一子字段包括该第一长度M,该第二子字段包括该地址的总长度L,其中L为N与M的和;或者该第一子字段包括该第二长度N,该第二子字段包括该地址的总长度L。
一种可能的方式中,处理单元601可以由处理器实现,发送单元602可以由接收器实现。处理单元601和发送单元602的具体功能和有益效果可以参见图1所示的方法,在此就不再赘述。
图7是根据本申请实施例提供的一种网络设备的结构框图。如图7所示,网络设备700包括获取单元701、存储单元702和处理单元703。
获取单元701,用于获取地址。
处理单元703,还用于确定该地址的有效地址的长度,其中该地址的有效地址为该地址的第一个比特值为1的比特至该地址的最后一个比特。
存储单元702,用于存储目标表。
处理单元703,还用于在该地址的有效地址的长度小于该目标表的表宽的情况下,在该地址的有效地址前增加S个0得到调整地址,并根据该调整地址和该目标表对该调整地址进行处理,其中S为该目标表的表宽与该地址的有效地址的长度的差,该目标表包括至少一个表项,该至少一个表项中的每个表项包括目的地址,该目标表的表宽为该目标表存储一个目的地址占用的总比特数目。
一种可能的方式中,处理单元703可以由处理器实现,获取单元701可以由接收器实现,存储单元702可以由存储器实现。获取单元701、存储单元702和处理单元703的具体功能和有益效果可以参见图4所示的方法,在此就不再赘述。
图8是根据本发明实施例提供的网络设备的结构框图。如图8所示,网络设备包括处理器801、存储器802和收发器803。处理器801可以用于对通信数据进行处理,以及对网络设备进行控制,执行软件程序,处理软件程序的数据等。存储器802主要用于存储软件程序和数据。
当需要发送数据时,处理器801对待发送的数据进行处理后,输出至收发器803。当有数据发送到网络设备时,收发器803接收到该数据并将该数据输出至处理器,处理器对该数据进行处理。为便于说明,图8中仅示出了一个存储器和处理器。在实际的网络设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
在本申请实施例中,可以将具有收发功能的电路视为网络设备的收发器803,将具有处理功能的处理器视为网络设备的处理单元。收发器也可以称为收发单元、收发机、收发装置等。处理单元也可以称为处理器,处理单板,处理模块、处理装置等。可选的,可以将收发器803中用于实现接收功能的器件视为接收单元,将收发器803中用于实现发送功能的器件视为发送单元,即收发器803包括接收单元和发送单元。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
处理器801、存储器802和收发器803之间通过内部连接通路互相通信,传递控制和/或数据信号
上述本发明实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。
本申请各实施例所述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。
可选的,在一些实施例中,存储器802可以存储用于执行如图1所示方法中第一网络设备执行的方法的指令。处理器801可以执行存储器802中存储的指令结合其他硬件(例如收发器803)完成如图1所示方法中第一网络设备执行的步骤,具体工作过程和有益效果可以参见图1所示实施例中的描述。
可选的,在一些实施例中,存储器802可以存储用于执行如图1所示方法中第二网络设备执行的方法的指令。处理器801可以执行存储器802中存储的指令结合其他硬件(例如收发器803)完成如图1所示方法中第二网络设备执行的步骤,具体工作过程和有益效果可以参见图1所示实施例中的描述。
可选的,在一些实施例中,存储器802可以存储用于执行如图4所示方法中第一网络设备执行的方法的指令。处理器801可以执行存储器802中存储的指令结合其他硬件(例如收发器803)完成如图4所示方法中第一网络设备执行的步骤,具体工作过程和有益效果可以参见图4所示实施例中的描述。
可选的,在一些实施例中,存储器802还可以存储目标表。
可选的,在一些实施例中,存储器802还可以存储多个表,该多个表中包括该目标表。
本申请实施例还提供一种芯片,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。该芯片可以执行图1所示方法实施例中第一网络设备的方法。
本申请实施例还提供一种芯片,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。该芯片可以执行图1所示方法实施例中第二网络设备的方法。
本申请实施例还提供一种芯片,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。该芯片可以执行图4所示方法实施例中第一网络设备的方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行图1所示方法实施例中第一网络设备的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被执行时执行图1所示方法实施例中第一网络设备的方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行图1所示方法实施例中第二网络设备的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被执行时执行图1所示方法实施例中第二网络设备的方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行图4所示方法实施例中第一网络设备的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被执行时执行图4所示方法实施例中第一网络设备的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种处理地址的方法,其特征在于,所述方法包括:
第一网络设备获取地址;
所述第一网络设备确定所述地址的有效地址的长度,其中所述地址的有效地址为所述地址的第一个比特值为1的比特至所述地址的最后一个比特;
所述第一网络设备在所述地址的有效地址的长度小于目标表的表宽的情况下,在所述地址的有效地址前增加S个0得到调整地址,并根据所述调整地址和所述目标表对所述调整地址进行处理,其中S为所述目标表的表宽与所述地址的有效地址的长度的差,所述目标表包括至少一个表项,所述至少一个表项中的每个表项包括目的地址,所述目标表的表宽为所述目标表存储一个目的地址占用的总比特数目。
2.如权利要求1所述的方法,其特征在于,在所述第一网络设备在所述地址的有效地址的长度小于目标表的表宽的情况下在所述地址的有效地址前增加S个0得到调整地址之前,所述方法还包括:
所述第一网络设备确定所述目标表,其中所述目标表为表宽大于或等于所述地址的有效地址的长度的表中表宽最小的表。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述调整地址和所述目标表对所述调整地址进行处理,包括:确定所述目标表中对应于所述调整地址的目的地址。
4.如权利要求1或2所述的方法,其特征在于,所述根据所述调整地址和所述目标表对所述调整地址进行处理,包括:在所述目标表中建立表项,所述表项的目的地址为所述调整地址。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述第一网络设备获取地址,包括:
所述第一网络设备接收第二网络设备发送的地址指示信息,所述地址指示信息用于指示所述地址的第1个比特至第N个比特的值和第一长度M,N与M均为大于或等于1的正整数;
所述第一网络设备根据所述地址指示信息,确定所述地址,其中所述地址的第1个比特至第N个比特的值为所述地址指示信息所指示的所述地址的第1个比特至第N个比特的值,所述地址的第N+1个比特至第N+M个比特的值为预设值。
6.如权利要求5所述的方法,其特征在于,所述地址指示信息还用于指示第二长度N,所述第一网络设备根据所述地址指示信息,确定所述地址包括:
所述第一网络设备根据所述第二长度N,确定所述地址指示信息中的N个比特分别用于指示所述地址中的第1个比特至N个比特的值;
所述第一网络设备确定所述地址的第1个比特至第N个比特的值分别为所述N个比特的值;
所述第一网络设备确定所述地址的第N+1个比特至第N+M个比特的值为所述预设值。
7.如权利要求6所述的方法,其特征在于,所述地址指示信息包括前缀字段和长度字段,所述前缀字段包括所述地址的第1个比特至第N个比特的值,所述长度字段用于指示所述第一长度M和所述第二长度N。
8.如权利要求7所述的方法,其特征在于,所述长度字段包括第一子字段和第二子字段,其中,
所述第一子字段包括所述第一长度M,所述第二子字段包括所述第二长度N;或者
所述第一子字段包括所述第一长度M,所述第二子字段包括所述地址的总长度L,其中L为N与M的和;或者
所述第一子字段包括所述第二长度N,所述第二子字段包括所述地址的总长度L。
9.一种网络设备,其特征在于,所述网络设备包括:
获取单元,用于获取地址;
处理单元,用于确定所述地址的有效地址的长度,其中所述地址的有效地址为所述地址的第一个比特值为1的比特至所述地址的最后一个比特;
存储单元,用于存储目标表;
所述处理单元,还用于在所述地址的有效地址的长度小于所述目标表的表宽的情况下,在所述地址的有效地址前增加S个0得到调整地址,并根据所述调整地址和所述目标表对所述调整地址进行处理,其中S为所述目标表的表宽与所述地址的有效地址的长度的差,所述目标表包括至少一个表项,所述至少一个表项中的每个表项包括目的地址,所述目标表的表宽为所述目标表存储一个目的地址占用的总比特数目。
10.如权利要求9所述的网络设备,其特征在于,所述存储单元,还用于保存多个表,所述多个表中中包括所述目标表;
所述处理单元,还用于在所述地址的有效地址前增加S个0得到调整地址之前,确定所述目标表,其中所述目标表为表宽大于或等于所述地址的有效地址的长度的表中表宽最小的表。
11.如权利要求9或10所述的网络设备,其特征在于,所述处理单元,具体用于确定所述目标表中对应于所述调整地址的目的地址。
12.如权利要求9或10所述的网络设备,其特征在于,所述处理单元,具体用于在所述目标表中建立表项,所述表项的目的地址为所述调整地址。
13.如权利要求9至12中任一项所述的网络设备,其特征在于,所述获取单元,具体用于接收第二网络设备发送的地址指示信息;根据所述地址指示信息,确定所述地址,其中所述地址指示信息用于指示所述地址的第1个比特至第N个比特的值和第一长度M,N与M均为大于或等于1的正整数,所述地址的第1个比特至第N个比特的值为所述地址指示信息所指示的所述地址的第1个比特至第N个比特的值,所述地址的第N+1个比特至第N+M个比特的值为预设值。
14.如权利要求13所述的网络设备,其特征在于,所述地址指示信息还用于指示第二长度N,所述处理单元,具体用于根据所述第二长度N,确定所述地址指示信息中的N个比特分别用于指示所述地址中的第1个比特至N个比特的值,确定所述地址的第1个比特至第N个比特的值分别为所述N个比特的值,确定所述地址的第N+1个比特至第N+M个比特的值为所述预设值。
15.如权利要求14所述的网络设备,其特征在于,所述地址指示信息包括前缀字段和长度字段,所述前缀字段包括所述地址的第1个比特至第N个比特的值,所述长度字段用于指示所述第一长度M和所述第二长度N。
16.如权利要求15所述的网络设备,其特征在于,所述长度字段包括第一子字段和第二子字段,其中,
所述第一子字段包括所述第一长度M,所述第二子字段包括所述第二长度N;或者
所述第一子字段包括所述第一长度M,所述第二子字段包括所述地址的总长度L,其中L为N与M的和;或者
所述第一子字段包括所述第二长度N,所述第二子字段包括所述地址的总长度L。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810812492.2A CN110753133B (zh) | 2018-07-23 | 2018-07-23 | 处理地址的方法和网络设备 |
PCT/CN2019/097258 WO2020020142A1 (zh) | 2018-07-23 | 2019-07-23 | 处理地址的方法和网络设备 |
EP19839959.4A EP3817340A4 (en) | 2018-07-23 | 2019-07-23 | METHODS FOR ADDRESS PROCESSING AND NETWORK DEVICE |
US17/153,028 US11570106B2 (en) | 2018-07-23 | 2021-01-20 | Address processing method and network device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810812492.2A CN110753133B (zh) | 2018-07-23 | 2018-07-23 | 处理地址的方法和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110753133A true CN110753133A (zh) | 2020-02-04 |
CN110753133B CN110753133B (zh) | 2022-03-29 |
Family
ID=69180232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810812492.2A Active CN110753133B (zh) | 2018-07-23 | 2018-07-23 | 处理地址的方法和网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11570106B2 (zh) |
EP (1) | EP3817340A4 (zh) |
CN (1) | CN110753133B (zh) |
WO (1) | WO2020020142A1 (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
US20080056262A1 (en) * | 2006-09-01 | 2008-03-06 | Dheeraj Singh | Approach for fast ip address lookups |
CN101827137A (zh) * | 2010-04-13 | 2010-09-08 | 西安邮电学院 | 一种基于哈希表和扩展存储器的高性能IPv6地址查找方法 |
CN103986656A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 查找方法和查找装置 |
US20140237157A1 (en) * | 2011-02-08 | 2014-08-21 | Diablo Technologies Inc. | System and method for providing an address cache for memory map learning |
CN104021250A (zh) * | 2014-06-09 | 2014-09-03 | 中国科学院微电子研究所 | Fpga rom存储数据的工艺映射方法 |
CN104170333A (zh) * | 2012-03-15 | 2014-11-26 | 阿尔卡特朗讯公司 | 用于快速且大规模的最长前缀匹配的方法和系统 |
CN104866502A (zh) * | 2014-02-25 | 2015-08-26 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
CN107506310A (zh) * | 2017-07-13 | 2017-12-22 | 北京东土军悦科技有限公司 | 一种地址查找、关键字存储方法及设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563823B1 (en) * | 1997-10-30 | 2003-05-13 | Marconi Communications, Inc. | Multi-resolution tree for longest match address lookups |
US6553000B1 (en) * | 1998-01-27 | 2003-04-22 | Alcatel Internetworking (Pe), Inc. | Method and apparatus for forwarding network traffic |
JP3199051B2 (ja) * | 1999-02-10 | 2001-08-13 | 日本電気株式会社 | キャッシュを有するルータの方路決定装置及びプログラムを記録した機械読み取り可能な記録媒体 |
US20020138648A1 (en) * | 2001-02-16 | 2002-09-26 | Kuang-Chih Liu | Hash compensation architecture and method for network address lookup |
US7310685B2 (en) * | 2002-08-29 | 2007-12-18 | International Business Machines Corporation | Method and system for reducing look-up time in packet forwarding on computer networks |
KR100541846B1 (ko) * | 2002-11-27 | 2006-01-11 | 한국전자통신연구원 | 3 단계 테이블로 구성된 아이피 주소 룩업 시스템 및 그방법 |
US7251651B2 (en) * | 2003-05-28 | 2007-07-31 | International Business Machines Corporation | Packet classification |
US7564841B2 (en) * | 2004-03-05 | 2009-07-21 | Samsung Electronics Co., Ltd. | Apparatus and method for performing forwarding table searches using consecutive symbols tables |
JP4556761B2 (ja) * | 2005-05-06 | 2010-10-06 | 株式会社日立製作所 | パケット転送装置 |
CN100549938C (zh) * | 2007-11-28 | 2009-10-14 | 北京中星微电子有限公司 | Fifo控制电路及控制方法 |
EP2073118A1 (en) * | 2007-12-17 | 2009-06-24 | Nokia Siemens Networks Oy | Load distribution in distributed database system |
US7986696B1 (en) * | 2009-02-12 | 2011-07-26 | Compass Electro-Optical Systems | Method and apparatus for longest prefix matching |
US8717793B2 (en) * | 2009-05-26 | 2014-05-06 | Arizona Board Of Regents, For And On Behalf Of Arizona State University | Longest prefix match internet protocol content addressable memories and related methods |
CN102487374B (zh) * | 2010-12-01 | 2014-09-10 | 中兴通讯股份有限公司 | 一种访问控制列表实现方法及装置 |
US20150003458A1 (en) * | 2013-06-27 | 2015-01-01 | Futurewei Technologies, Inc. | Boarder Gateway Protocol Signaling to Support a Very Large Number of Virtual Private Networks |
US9596181B1 (en) * | 2014-10-20 | 2017-03-14 | Juniper Networks, Inc. | Two stage bloom filter for longest prefix match |
US9985885B1 (en) * | 2015-12-11 | 2018-05-29 | Amazon Technologies, Inc. | Aggregating common portions of forwarding routes |
US10135734B1 (en) * | 2015-12-28 | 2018-11-20 | Amazon Technologies, Inc. | Pipelined evaluations for algorithmic forwarding route lookup |
US9979648B1 (en) * | 2015-12-28 | 2018-05-22 | Amazon Technologies, Inc. | Increasing entropy across routing table segments |
US9906443B1 (en) * | 2016-03-28 | 2018-02-27 | Amazon Technologies, Inc. | Forwarding table updates during live packet stream processing |
-
2018
- 2018-07-23 CN CN201810812492.2A patent/CN110753133B/zh active Active
-
2019
- 2019-07-23 WO PCT/CN2019/097258 patent/WO2020020142A1/zh unknown
- 2019-07-23 EP EP19839959.4A patent/EP3817340A4/en active Pending
-
2021
- 2021-01-20 US US17/153,028 patent/US11570106B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
US20080056262A1 (en) * | 2006-09-01 | 2008-03-06 | Dheeraj Singh | Approach for fast ip address lookups |
CN101827137A (zh) * | 2010-04-13 | 2010-09-08 | 西安邮电学院 | 一种基于哈希表和扩展存储器的高性能IPv6地址查找方法 |
US20140237157A1 (en) * | 2011-02-08 | 2014-08-21 | Diablo Technologies Inc. | System and method for providing an address cache for memory map learning |
CN104170333A (zh) * | 2012-03-15 | 2014-11-26 | 阿尔卡特朗讯公司 | 用于快速且大规模的最长前缀匹配的方法和系统 |
CN103986656A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 查找方法和查找装置 |
CN104866502A (zh) * | 2014-02-25 | 2015-08-26 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
CN104021250A (zh) * | 2014-06-09 | 2014-09-03 | 中国科学院微电子研究所 | Fpga rom存储数据的工艺映射方法 |
CN107506310A (zh) * | 2017-07-13 | 2017-12-22 | 北京东土军悦科技有限公司 | 一种地址查找、关键字存储方法及设备 |
Non-Patent Citations (1)
Title |
---|
孙艳峰等: "基于多处理机结构的IP路由搜索技术", 《电脑知识与技术(学术交流)》 * |
Also Published As
Publication number | Publication date |
---|---|
US20210144093A1 (en) | 2021-05-13 |
EP3817340A1 (en) | 2021-05-05 |
CN110753133B (zh) | 2022-03-29 |
US11570106B2 (en) | 2023-01-31 |
EP3817340A4 (en) | 2021-08-18 |
WO2020020142A1 (zh) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417657B (zh) | 一种处理组播数据报文的方法及装置 | |
US7599364B2 (en) | Configurable network connection address forming hardware | |
US7653065B2 (en) | Method and system for internet protocol address concatenation | |
JP2005117171A (ja) | パケット転送装置 | |
US8161185B2 (en) | Method and apparatus for assigning IPv6 link state identifiers | |
KR100975109B1 (ko) | 네트워크 데이터 전송을 위한 방법 및 시스템 | |
CN111510386A (zh) | 用于处理报文的方法和装置 | |
WO2015151184A1 (ja) | 通信システム、通信方法、中継装置、および、通信プログラム | |
CN107547407A (zh) | 报文传输方法、装置和实现装置 | |
CN113132503A (zh) | 一种地址分配方法和装置 | |
CN108989175B (zh) | 一种通信方法及装置 | |
CN110753133B (zh) | 处理地址的方法和网络设备 | |
CN113179215A (zh) | 组网通信方法、系统、节点设备、存储介质和电子设备 | |
CN112532563B (zh) | 报文的发送方法和装置 | |
CN111131548A (zh) | 信息处理方法、装置和计算机可读存储介质 | |
CN113973074B (zh) | 一种报文处理方法、装置、电子设备及介质 | |
US10348634B2 (en) | Technologies for tracking out-of-order network packets | |
CN109257458B (zh) | 一种报文转发方法及装置 | |
CN107547687B (zh) | 一种报文传输方法和装置 | |
US7586910B2 (en) | Overhead reduction and address and protection in communication stack | |
US11902158B2 (en) | System and method for forwarding packets in a hierarchical network architecture using variable length addresses | |
US8218542B2 (en) | Overhead reduction and address protection in communication stack | |
CN115001883A (zh) | 一种报文处理方法及位转发路由器 | |
US9800591B2 (en) | Method and apparatus for processing packet on trill network | |
CN107547409B (zh) | 一种路由查找方法、装置和路由设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |