一种地址解析协议表的扩展方法和装置的制造方法

文档序号:9567070阅读:251来源:国知局
一种地址解析协议表的扩展方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络路由技术,尤其涉及一种地址解析协议(ARP)表的扩展方法和装置。
【背景技术】
[0002]随着城域网的快速发展,接入和汇聚网络设备的带宽越来越大,同时运营商要求一个设备接入的用户越来越多。接入模式除了层2(L2)接入以外,还有层3(L3)接入。对于L3接入模式,接入设备如DSLAM、P0N、城域网交换机等,需要使用交换芯片进行数据汇聚和L3转发。由于接入用户越来越多,所以交换芯片存储ARP表的容量无法满足这一需求。现有的做法一般是更换更大ARP表容量的交换芯片,但这种方法受限于两个条件:一是芯片厂家是否能及时提供这样的产品,二是芯片的成本会很高。

【发明内容】

[0003]为解决现有存在的技术问题,本发明主要提供一种地址解析协议表的扩展方法和
目-ο
[0004]本发明的技术方案是这样实现的:
[0005]本发明提供一种ARP表的扩展方法,该方法包括:
[0006]CPU获得ARP表,将ARP表的联网协议(IP)地址设置到交换芯片的主机路由表中;
[0007]当所述主机路由表发生哈希(hash)冲突时,CPU将hash冲突的ARP表的IP地址设置到交换芯片的子网路由表中。
[0008]上述方案中,所述CPU获得ARP表包括:所述CPU接收ARP报文,进行ARP学习,所述ARP学习为建立IP地址、下一跳信息、接口三者之间的映射关系,形成ARP表。
[0009]上述方案中,该方法还包括:CPU将hash冲突的ARP表的IP地址设置到交换芯片的子网路由表中后,还对所述IP地址设置全匹配的子网掩码,所述子网路由表的查表方式采用三态内容寻址存储器(TCAM)查表方式。
[0010]上述方案中,该方法还包括:CPU设置一个门限,当设置到子网路由表的ARP表的IP地址个数达到所述门限后,不再将ARP表的其他IP地址设置到子网路由表中。
[0011]上述方案中,该方法还包括:CPU将设置到主机路由表的ARP表的IP地址的标志(flag)标记为主机(host);将设置到子网路由表的ARP表的IP地址的flag标记为子网(subnet)。
[0012]上述方案中,该方法还包括:交换芯片在对数据包进行主机路由查找时,优先对主机路由表进行IP地址的匹配查找,如果查找到,则按照查找到的IP地址直接转发数据包,如果没有查找到,则对子网路由表进行最长IP掩码的匹配查找,如果查找到,则按照查找到的IP地址直接转发数据包,如果没有查到,则将数据包丢弃或发送到CPU。
[0013]上述方案中,该方法还包括:当ARP条目老化或被删除时,CPU先检查老化或删除的ARP条目的IP地址的flag,如果为host,就从交换芯片的主机路由表中查找并删除所述IP地址的IP表项;如果为subnet,就从交换芯片的子网路由表中查找并删除所述IP地址的IP表项。
[0014]本发明提供一种地址解析协议表的扩展装置,该装置包括:CPU、交换芯片;其中,
[0015]CPU,用于获得ARP表,将ARP表的IP地址设置到交换芯片的主机路由表中;当所述主机路由表发生hash冲突时,将hash冲突的ARP表的IP地址设置到交换芯片的子网路由表中;
[0016]交换芯片,用于提供主机路由表和子网路由表。
[0017]上述方案中,所述CPU,还用于设置一个门限,当设置到子网路由表的ARP表的IP地址个数达到所述门限后,不再将ARP表的其他IP地址设置到子网路由表中。
[0018]上述方案中,所述CPU,还用于将设置到主机路由表的ARP表的IP地址的flag标记为host ;将设置到子网路由表的ARP表的IP地址的flag标记为subnet。
[0019]本发明提供了一种地址解析协议表的扩展方法和装置,CPU获得ARP表,将ARP表的IP地址设置到交换芯片的主机路由表中;当所述主机路由表发生哈希(hash)冲突时,将hash冲突的ARP表的IP地址设置到交换芯片的子网路由表中。如此,可以大大提高交换芯片存储ARP表的IP地址的容量,解决用户主机路由IP地址hash冲突后导致网络不通的问题。
【附图说明】
[0020]图1为本发明实施例实现地址解析协议表的扩展方法的流程示意图一;
[0021]图2为本发明实施例提供的ARP条目老化或手工被删除的流程示意图;
[0022]图3为本发明实施例实现地址解析协议表的扩展装置的结构示意图;
[0023]图4为本发明实施例实现地址解析协议表的扩展方法的流程示意图二。
【具体实施方式】
[0024]交换芯片一般有主机路由表和子网路由表,主机路由表用于存储ARP表的IP地址和下一跳索引,子网路由表用于存储子网IP地址前缀和下一跳索引。主机路由表一般使用hash算法,而子网路由表由于需要优先进行最长路由匹配,所以一般使用三态内容寻址存储器(TCAM, Ternary Content Addressable Memory), TCAM具有查找速度快、操作简单的优点,但同时它也具有明显的缺点:成本高、功耗大和路由更新复杂。交换芯片中主机路由表虽然比较大,但使用hash算法,容易冲突;子网路由表虽然比较小,但查找精确。根据这两个表的特点,提出一种地址解析协议表的扩展方法和装置。
[0025]本发明实施例中,CPU获得ARP表,将ARP表的IP地址设置到交换芯片的主机路由表中;当所述主机路由表发生hash冲突时,将hash冲突的ARP表的IP地址设置到交换芯片的子网路由表中。这样,可以使得交换芯片存储ARP表的IP地址的容量大大提高。
[0026]下面通过附图及具体实施例对本发明做进一步的详细说明。
[0027]本发明实施例实现一种地址解析协议表的扩展方法,如图1所示,该方法主要包括以下几个步骤:
[0028]步骤101:CPU 获得 ARP 表;
[0029]步骤102:CPU将ARP表的IP地址设置到交换芯片的主机路由表中;
[0030]步骤103:当所述主机路由表发生hash冲突时,CPU将hash冲突的ARP表的IP地址设置到交换芯片的子网路由表中。
[0031]上述步骤中,CPU对所述主机路由表的设置或CPU对所述子网路由表的设置,均可以是:CPU通过PCI总线对交换芯片的主机路由表或子网路由表所在的寄存器进行写操作。
[0032]所述步骤101中,CPU通过ARP协议或动态主机配置协议(DHCP,Dynamic HostConfigurat1n Protocol)获得ARP表,所述ARP表包括IP地址、下一跳信息、接口三者之间的映射关系;在步骤101中,所述CPU接收ARP报文,进行ARP学习,所述ARP学习就是建立IP地址、下一跳信息、接口三者之间的映射关系,形成ARP表。
[0033]所述步骤103中,所述CPU根据收到的设置失败消息确定所述主机路由表发生hash冲突,所述设置失败消息为主机路由表中具有相同hash索引的IP地址的个数超出hash桶深时交换芯片反馈的消息,所述hash桶深一般可以为8。
[0034]优选的,CPU将hash冲突的ARP表的IP地址设置到交换芯片的子网路由表中后,还需要对所述IP地址设置全匹配的子网掩码,所述子网掩码为32位(IPV4)或128位(IPV6),所述子网路由表的查表方式采用TCAM查表方式。
[0035]考虑到子网路由的需要,子网路由表不能全部用于存储ARP表的IP地址,因此,需要设置一个门限,当设置到子网路由表的ARP表的IP地址个数达到所述门限后,不再将ARP表的其他IP地址设置到子网路由表中。
[0036]优选的,对于设置到主机路由表的ARP表的IP地址,CPU将各IP地址的标志(flag)标记为主机(host);对于设置到子网路由表的ARP表的IP地址,CPU将各IP地址的flag标记为子网(subnet)。
[0037]交换芯片在对数据包进行主机路由查找时,优先对主机路由表进行IP地址的匹配查找,如果查找到,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1