同时支持路由查找、ip包分类、arp查找的方法及查找系统的制作方法

文档序号:7846605阅读:197来源:国知局
专利名称:同时支持路由查找、ip包分类、arp查找的方法及查找系统的制作方法
技术领域
同时支持路由查找、IP包分类、ARP查找的方法及查找系统属于计算机网络技术领域,尤其涉及路由技术领域中的IPv4与IPv6查找系统。
路由查找、IP包分类和ARP表分类是三个独立的功能,并且处在路由器的不同层次上,在以往的技术中,通过三个独立的模块实现,这样整个路由器系统的复杂性很高。另外,在以往的技术中查找速率不高,尤其是IP包分类技术,一般都采用软件算法来实现,由于IP包分类的复杂度相当高,不能达到很高的速率。
本发明所提出的方法的特征在于1.它依次含有以下步骤(1)接收以下信息并缓存IP包头信息、TCP(传输控制协议)包头信息或者UDP(用户数据报)包头信息;接收ARP(地址解析协议)查找的IP地址,刷新路由表和分类规则库的消息,刷新ARP表的以太网地址和IP地址对并缓存;(2)使查找系统内部定时产生一个ARP表老化的消息;(3)对接收到的消息和上述ARP表老化的消息做以下的组合处理(3.1)把刷新路由表和分类规则库的消息,上述ARP表老化的消息各自分解为特定格式的微指令消息并缓存;(3.2)按下述具体情况分别执行不同的操作步骤当在查找系统内部定时设置的信号处于有效状态,并且有特定格式微指令消息存在时,便选中该特定格式微指令消息对应查找系统中的三态内容可寻址存储器(TCAM),并通过TCAM对同步静态存储器(SSRAM)做读写操作;当存在数据包包头信息(包括IP包头信息、TCP包头信息、UDP包头信息)时,选中数据包包头信息通过TCAM和SSRAM做路由查找、IP包分类的查找操作;当存在用于进行ARP查找的IP地址时,便选中ARP查找的IP地址通过TCAM和SSRAM做ARP查找操作;当存在用来刷新ARP表的外来以太网地址和IP地址对时,便选中用于刷新ARP表的以太网地址和IP地址对通过TCAM和SSRAM进行刷新ARP表的查找操作。
(4)对外发送路由查找、IP包分类和ARP查找的结果;2.所述的特定格式微指令消息是以下两种中的任何一种从路由表和分类规则库刷新接口收到的刷新命令分解成的刷新微指令;根据产生ARP老化请求计数电路发出的请求信息和ARP刷新控制电路发出的请求信息生成的ARP老化和ARP刷新微指令。
本发明所提出的查找系统的特征在于它含有控制电路模块,和该控制电路模块双向连接的TCAM,以及输入端和TCAM输出端相连接且和该控制电路模块双向连接的SSRAM;其中控制电路模块含有输入端分别和数据包包头接收接口、ARP查找接收接口、ARP刷新接口相连用来调度的操作选择电路,输入端接路由表和分类规则库刷新接口而输出端和上述操作选择电路相连以便把接收到的刷新命令分解成微指令的指令分解电路,用于向上述指令分解电路输出ARP老化请求信号的ARP老化请求计数电路,输入端与操作选择电路相连而输出端与指令分解电路相连的ARP刷新控制电路,输入端和操作选择电路输出端相连而输出端和TCAM输入端相连的TCAM控制电路,和SSRAM输入/输出连接及TCAM输出端相连而输出端与操作选择电路相连的查找数据接收电路,输入端分别与上述查找数据接收电路、操作选择电路相连而输出端分别与ARP刷新控制电路、路由查找和'包分类结果发送接口、ARP查找结果发送接口相连的查找数据处理电路。
试用证明本发明降低了路由器系统的复杂度,同时又可使系统根据需要灵活配置上述的功能。
图2.查找系统的电路原理框图。
图3.控制电路模块的原理框图及其外接电路和各种接口的连接框图。
图4.网络数据包的多层封装格式。
查找系统对外提供的接口包括1.数据包包头接收接口(1-1)接收数据包包头信息,这是进行路由查找和IP包分类的依据;
2.ARP查找接收接口(1-2)接收IP地址,这是进行ARP查找的依据;3.路由表和分类规则库刷新接口(1-3)接收路由表和分类规则库的刷新命令;4.ARP刷新接口(1-4)接收ARP表的刷新信息;5.路由查找和IP包分类结果发送接口(1-5)发送路由查找和IP包分类的结果;6.ARP查找结果发送接口(1-6)发送ARP查找的结果。
图2是查找系统的电路原理框图,它由以下的三个部分组成1.控制电路模块(2-1)它由可编程器件实现,主要提供查找系统的对外接口,并控制系统中其它模块的工作。它是系统的控制中心。
2.TCAM(2-2)它是内容可寻址存储器,在系统中存放路由表、分类规则库和ARP表的一部分数据,该部分主要是查找决策的依据。
3.SSRAM(2-3)它配合TCAM(2-2)使用,用来存放路由表、分类规则库和ARP表的另外一部分数据,该部分是查找的结果。
这三部分的连接关系是控制电路模块(2-1)与TCAM(2-2)相联,控制TCAM(2-2)的读写和查找操作,TCAM(2-2)与SSRAM(2-3)相连,控制电路模块(2-1)通过TCAM(2-2)控制SSRAM(2-3)的读写操作,SSRAM(2-3)的数据线直接与控制电路模块(2-1)相连。
路由查找、IP包分类以及ARP查找都是查找过程。图4是网络数据包的多层封装格式以及以太网头部、IP头部和传输层头部(以TCP协议为例)的格式。ARP查找是链路层的查找过程,在这个过程中,通过IP地址在ARP表中查找得到以太网帧的目的以太网地址;路由查找是根据IP包的目的IP地址查找路由表,得到IP包的转发信息,包括下一跳的地址,转发端口等;IP包分类是路由器的扩展功能,它可以根据IP头部、传输层头部(如TCP头部、UDP头部等)甚至更高层协议的数据(常用的数据有IP头部的目的IP地址、源IP地址、TOS、协议,TCP或者UDP的目的端口和源端口等)来查找分类规则库,得到对此数据包的特定处理依据(如实现对数据包的过滤,或设定此数据包的优先级等)。
查找系统中的处理过程包括路由查找、IP包分类、ARP查找、路由表刷新、分类规则库刷新、ARP表刷新、ARP表老化。
路由查找控制电路模块(2-1)通过IP包头接收接口(1-1)接收目的IP地址,然后将目的IP地址作为关键字送给TCAM(2-2)进行查找,TCAM(2-2)在路由表中进行查找,根据查找的结果控制SSRAM(2-3),从SSRAM(2-3)中读出路由查找结果,送到控制电路模块(2-1),控制电路模块(2-1)通过路由查找和IP包分类结果发送接口(1-5)将路由查找结果发送出去。
IP包分类控制电路模块(2-1)通过IP包头接收接口(1-1)接收指定的包头字段(由查找系统的使用者指定,可以是包头字段和传输层字段),然后将这些IP包头字段作为关键字送给TCAM(2-2)进行查找,TCAM(2-2)在分类规则库中进行查找,根据查找的结果控制SSRAM(2-3),从SSRAM(2-3)中读出IP包分类结果,送到控制电路模块(2-1),控制电路模块(2-1)经过路由查找和IP包分类结果发送接口(1-5)将IP包分类结果发送出去。
ARP查找控制电路模块(2-1)通过ARP查找接收接口(1-2)接收IP地址,然后将IP地址作为关键字送给TCAM(2-2)进行查找,TCAM(2-2)在其ARP表中进行查找,根据查找的结果控制SSRAM(2-3),从SSRAM(2-3)中读出ARP查找的结果,送到控制电路模块(2-1),控制电路模块(2-1)经过ARP查找结果发送接口(1-6)将ARP查找结果发送出去。
路由表刷新控制电路模块(2-1)通过路由表和分类规则库刷新接口(1-3)接收路由刷新命令,然后刷新TCAM(2-2)和SSRAM(2-3)中相应的路由表项。
分类规则库刷新控制电路模块(2-1)通过路由表和分类规则库刷新接口(1-3)接收分类规则刷新命令,然后刷新TCAM(2-2)和SSRAM(2-3)中相应的分类规则库表项。
ARP表刷新控制电路模块(2-1)通过ARP刷新接口(1-4)接收ARP刷新命令(是以太网、IP地址对),然后以IP地址为关键字送给TCAM(2-2),TCAM(2-2)在ARP表中进行查找,根据查找的结果控制SSRAM(2-3),从SSRAM(2-3)中读出ARP查找的结果,送到控制电路模块(2-1),控制电路模块(2-1)根据查找的结果刷新TCAM(2-2)和SSRAM(2-3)中相应的ARP表项。
ARP表老化控制电路模块(2-1)内部有一个定时器,定时发出命令,使控制电路模块(2-1)从TCAM(2-2)中读出一个ARP表项,将ARP表项的生存时间减一,再将减一后的结果写到TCAM(2-2)中。如果生存时间变为零,则控制TCAM(2-2)删除该表项。
本发明的控制电路模块(2-1)是系统的控制中心,图3是控制电路模块(2-1)原理框图及具体外接电路和各种接口的连接框图,它可以用现场可编程门阵列(FPGA)或专用集成电路(ASIC)实现。系统所有的外部接口都通过控制模块提供。控制模块内部由操作选择电路(3-1)、指令分解电路(3-2)、TCAM控制电路(3-3)、查找数据接收电路(3-4)、查找数据处理电路(3-5)、ARP刷新控制电路(3-6)、ARP老化请求计数电路(3-7)共7个模块组成。对于路由表和分类规则库的刷新,指令分解电路(3-2)将从路由表和分类规则库刷新接口(1-3)接收到的刷新命令分解成微指令,指令分解模块还根据ARP老化请求计数电路(3-7)的请求以及ARP刷新控制电路(3-6)的请求生成ARP老化和ARP刷新的微指令。操作选择电路(3-1)根据指令分解电路(3-2)分解的微指令、IP包头接收接口(1-1)接收的包头信息、ARP查找接收接口(1-2)接收的IP地址、ARP刷新接口(1-4)接收的以太网地址和IP地址对的情况选择一种操作,其中微指令为读写操作,后三者为查找操作,三种查找操作可以流水进行。操作选择电路(3-1)选择了操作以后,通知TCAM控制电路(3-3),TCAM控制电路(3-3)实现相应的时序来访问TCAM(2-2)和SSRAM(2-3)。对于读操作和查找操作,都有结果从TCAM(2-2)或SSRAM(2-3)返回到查找数据接收电路(3-4)。如果为读操作,查找数据接收电路(3-4)将读出的结果送到操作选择电路(3-1),为执行其它微指令提供参数;如果为查找操作,查找数据接收电路(3-4)将查找结果送到查找数据处理电路(3-5)。对于查找操作,如果为IP包分类或路由查找,查找数据处理电路(3-5)将IP包分类结果或者路由查找结果通过路由查找和IP包分类结果发送接口(1-5)发送出去;如果为ARP查找,查找数据处理电路(3-5)将ARP查找结果通过ARP查找结果发送接口(1-6)发送出去;如果为ARP刷新时进行的查找操作,查找数据处理电路(3-5)通知ARP刷新控制电路(3-6)。ARP刷新控制电路(3-6)还接收操作选择电路(3-1)的控制,向指令分解电路(3-2)发出请求,要求指令分解模块生成微指令完成ARP刷新的操作。
指令分解电路(3-2)分解指令的方法是刷新命令包括添加、删除、读取、移动路由和分类规则等多条命令,各种命令的参数,长度和格式不一致,通过指令分解电路(3-2)将这些命令分解成多个长度和格式固定的微指令,并缓存这些微指令,这些微指令完成对TCAM(2-2)和SSRAM(2-3)的读写操作。另外,ARP老化和ARP更新也要对TCAM(2-2)和SSRAM(2-3)进行读写访问,这些读写操作以微指令的形式完成即让指令分解电路(3-2)根据ARP老化和刷新的请求生成并缓存微指令,这些微指令与由路由和分类规则刷新命令分解出的微指令格式一致,由操作选择电路(3-1)统一调度处理。
操作选择电路调度的方法是操作选择电路(3-1)内部定时将一个信号(Signal)设置为有效,当操作选择电路(3-1)检查到TCAM控制模块(3-2)空闲时,如果Signal有效且有微指令,那么选择微指令执行处理,并将Signal设为无效;否则如果有从IP包头接收接口(1-1)接收的包头信息,那么进行路由查找和IP包分类;否则如果有从ARP查找接收接口(1-2)接收的IP地址,那么进行ARP查找;否则如果有从ARP刷新接口(1-4)接收的以太网地址和IP地址对,那么进行ARP刷新时的查找操作。
权利要求
1.同时支持路由查找、IP包分类、ARP查找的方法,其特征在于它依次含有以下步骤(1)接收以下数据包头信息并缓存IP包头信息、TCP(传输控制协议)包头信息或者UDP(用户数据报)包头信息;接收ARP(地址解析协议)查找的IP地址,刷新路由表和分类规则库的消息,刷新ARP表的以太网地址和IP地址对并缓存;(2)使查找系统内部定时产生一个ARP表老化的消息;(3)对接收到的消息和上述ARP表老化的消息做以下的组合处理(3.1)把刷新路由表和分类规则库的消息,上述ARP表老化的消息各自分解为特定格式的微指令消息并缓存;(3.2)按下述具体情况分别执行不同的操作步骤当在查找系统内部定时设置的信号处于有效状态,并且有特定格式微指令消息存在时,便选中该特定格式微指令消息对应查找系统中的三态内容可寻址存储器(TCAM),并通过TCAM对同步静态存储器(SSRAM)做读写操作;当存在数据包包头信息(包括IP包头信息、TCP包头信息、UDP包头信息)时,选中数据包包头信息通过TCAM和SSRAM做路由查找、IP包分类的查找操作;当存在用于进行ARP查找的IP地址时,便选中ARP查找的IP地址通过TCAM和SSRAM做ARP查找操作;当存在用来刷新ARP表的外来以太网地址和IP地址对时,便选中用于刷新ARP表的以太网地址和IP地址对通过TCAM和SSRAM做刷新ARP表的查找操作。(4)对外发送路由查找、IP包分类和ARP查找的结果;
2.如权利要求1所述的同时支持路由查找、IP包分类、ARP查找的方法,其特征在于所述的特定格式微指令消息是以下两种中的任何一种从路由表和分类规则库刷新接口收到的刷新命令分解成的刷新微指令;根据产生ARP老化请求计数电路发出的请求信息和ARP刷新控制电路发出的请求信息产生的ARP老化和ARP刷新微指令。
3.根据权利要求1所述的同时支持路由查找、IP包分类、ARP查找的方法而提出的系统,其特征在于它含有控制电路模块,和该控制电路模块双向连接的TCAM,以及输入端和TCAM输出端相连接且和该控制电路模块双向连接的SSRAM;其中控制电路模块含有输入端分别和数据包包头接收接口、ARP查找接收接口、ARP刷新接口相连用来调度的操作选择电路,输入端接路由表和分类规则库刷新接口而输出端和上述操作选择电路相连以便把接收到的刷新命令分解成微指令的指令分解电路,用于向上述指令分解电路输出ARP表老化请求信号的ARP老化请求计数电路,输入端与操作选择电路相连而输出端与指令分解电路相连的ARP刷新控制电路,输入端和操作选择电路输出端相连而输出端和TCAM输入端相连的TCAM控制电路,和SSRAM输入/输出连接及TCAM输出端相连而输出端与操作选择电路相连的查找数据接收电路,输入端分别与上述查找数据接收电路、操作选择电路相连而输出端分别与ARP刷新控制电路、路由查找和IP包分类结果发送接口、ARP查找结果发送接口相连的查找数据处理电路。
全文摘要
同时支持路由查找、IP包分类、ARP查找的方法及查找系统属于互联网路由技术领域,其方法的特征在于它能采用以下的操作完成路由查找、IP包分类、ARP查找三种不同功能及其任意的组合功能用一个定时信号来周期性地控制执行路由表和分类规则库的外来刷新指令和系统内部的ARP老化刷新指令;另外,根据数据包包头信息执行路由查找和IP包分类指令,根据用于进行ARP查找的IP地址执行ARP查找指令,根据外来的用于刷新ARP表的以太网地址和IP地址完成ARP表刷新指令。它降低了路由器系统的复杂性,同时使系统的功能配置更灵活。
文档编号H04Q3/00GK1426207SQ0310060
公开日2003年6月25日 申请日期2003年1月17日 优先权日2003年1月17日
发明者刘斌, 戴智伟 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1