您的位置 >> 默认分类

NetFPGA平台系统架构分析(三)——IP_LPM&IP_ARP 更新于2010-07-24 00:21:39 文章出处:与非网

关键字:

IP_LPM&IP_ARP

         这两个模块都是基于CAM存储器的查找模块,其中IP_LPM是目的IP查询模块,维护一个基于LPM(最长前缀优先)的CAM存储器,并在eth_parser模块找到并标志出目的IP位置后,取出目的IP进行查表,并将查表结果反馈给IP_ARP和寄存器组;IP_ARP是IP地址映射MAC地址模块,保存了目的网段下一跳节点的MAC地址和目的子网的对应关系。
         要分析并搞清楚这两个模块的工作机制,必须先搞清楚eth_parser模块的作用。由名可知,eth_parser模块的主要功能是解析数据包头(不是额外的附加包头)。由图一可见。

 

          
 
图一 eth_parser标志包头
        其中,数据流过程如上所示,每个64bit字段都是高位优先,例如:


           if(word_IP_SRC_DST) dst_ip[31:16] <= in_data[15:0];


         标志word_IP_SRC_DST置高时,数据in_data的低16位是正在传输数据包目的IP的高16位。搞清楚这几个标志位后,IP_LPM&和IP_ARP模块就容易的多。两个模块中各自例化了一个CAM,一个CAM控制器。以IP_LPM为例:其连接关系如图二:

 
 图二 ip_lpm模块连接关系

 


 图三IP_LPM&和IP_ARP模块连接图