CN105812263B - 一种在asic芯片中实现路由arp信息和编辑信息分离的方法 - Google Patents
一种在asic芯片中实现路由arp信息和编辑信息分离的方法 Download PDFInfo
- Publication number
- CN105812263B CN105812263B CN201610136364.1A CN201610136364A CN105812263B CN 105812263 B CN105812263 B CN 105812263B CN 201610136364 A CN201610136364 A CN 201610136364A CN 105812263 B CN105812263 B CN 105812263B
- Authority
- CN
- China
- Prior art keywords
- information
- arp
- editor
- routing
- asic chip
- 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.)
- Active
Links
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
-
- 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/36—Backward learning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,以IP路由转发为起点,路由IPda进行查找之后得到表DsFwd,所述表DsFwd包含一个nexthopPtr信息和一个dstPortid信息,所述nexthopPtr用来索引DsNextHop获取报文编辑信息和出口interface的信息;所述dstPortid用来索引DsPortProf来获取出口信息。本发明在芯片设计较小代价的情况下,简化了软件设计,提高了软件的效率。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种在芯片中实现路由ARP信息和编辑信息分离的方法。
背景技术
在路由网络中,三层报文的转发是通过IP Da查找到网关(gateway)和出接口(interface),然后通过在interface上广播ARP报文来学习MAC地址和Port物理出口,当学习到ARP之后,可以通过MAC地址查找出口。因此在协议层面来看,三层报文的转发可以看着两部来完成的。先查找网关,然后通过网关查找出口。类似的,无论是MPLS,IP tunnel网络都需要ARP信息的学习,才能找到真正的出口。
针对这个问题,不同的芯片有着不同的实现方法。比较常用的有两种实现方法:一种实现方法就是完全按照上面的流程来做,实现两次IPda和MAC da两次查找,找到最终的出口。这样实现的好处是完全按照系统软件的实现来做,软件简单,但是这样来做也带来了延时长和芯片设计成本高的代价。所以这种方法通常只有在NP中实现,在ASIC芯片中不会采用。
方案二就是在芯片中只需要IPda一次查找就可以实现找到对应的出口信息。这种做法从芯片设计的角度来说减少了因为多次查找带来的延时。同时也减少了复杂度,这个是目前大部分ASIC芯片的使用方法。方案2也存在一些问题,主要是软件的复杂度提高。整个路由的Nexthop在初始状态下设置为discard属性。在学习到ARP信息的端口和MAC之后,需要对update所有的nexthop。特别是在端口up/down的时候会对同一个端口的nexthop进行刷新,效率比较低。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种在芯片中实现路由ARP信息和编辑信息分离的方法。
为实现上述目的,本发明提出如下技术方案:一种在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,以IP路由转发为起点,在ASIC芯片应用下,路由IPda进行查找之后得到表DsFwd,所述表DsFwd包含一个nexthopPtr信息和一个dstPortid信息,所述nexthopPtr用来索引DsNextHop获取报文编辑信息和出口界面(interface)的信息;所述dstPortid用来索引DsPortProf来获取出口信息,其分离的方法程序包括:
第一步,创建ARP(地址分辨协议)的ARPID,通过ARPID来管理ARP信息;
第二步,创建Nexthop,整个Nexthop中包括出口界面(interface)和ARPID;
第三步,当ARP没有学习到时候,通过配置DsPortProf中的Dest Port,指定报文去CPU;
第四步,当第一个路由报文转发的时候,会由于ARP没有学习到上送到CPU,CPU发送ARP协议报文;
第五步,当ARP协议报文学习到ARP的信息之后,通过ARPID来更新ARP的出口和MACDA信息;下一个路由报文进行转发时,就可以直接发出去到学习的ARP出口,编辑学习的MACDA信息出去;
第六步,当端口发生变化时,通过ARP ID更新端口(Port)即可,省去了更新所有Nexthop。
优选地,所述编辑信息包括一个是三层信息的编辑和一个二层信息的编辑。
优选地,所述三层信息的编辑是tunnel或mpls标签。
优选地,所述二层信息的编辑是MACDA的信息。
优选地,所述ARP信息包括DsPortProf和DsL2EditEth。
优选地,所述编辑信息包括DsNextHop,DsFwd和L3Edit。
优选地,所述步骤一和二在创建时,把关联ARPId中的L2Edit和DestPortProf的索引放到对应的DsFwd和DsNexthop表中。
本发明的有益效果是:通过本方案实现ARP和Nexthop编辑信息的分离,在芯片设计较小的代价的情况下,经可能了简化了软件设计,提高了软件的效率。
附图说明
图1是本发明芯片中报文转发的流程图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
结合图1所示,本发明所揭示的一种在芯片中实现路由ARP信息和编辑信息分离的方法,以下以IP路由转发为例来说明ARP和报文编辑分离的方法。在本发明中路由IPda进行查找之后,会得到表DsFwd,其中包含两个重要的信息;一个是nexthopPtr,用来索引DsNextHop获取报文编辑和出口interface的信息;另外一个dstPortid,用来索引DsPortProf来获取出口信息。
其中编辑信息可以分成两部分,一个是三层信息的编辑,可以是tunnel,mpls标签等。另外一个二层信息的编辑,主要就是MACDA的信息。
我们把上述的信息分成两类,DsPortProf和DsL2EditEth可以归为ARP相关的信息;DsNextHop,DsFwd和L2Edit可以归结为报文编辑的信息。
在软件使用的时候,可以如下步骤来实现:
第一,创建ARP的ARPID,通过ARPID来管理DsL2EditEth和DsPortProf;
第二,创建Nexthop,整个Nexthop中包括出口Interface,和ARP ID,管理的表有DsNexthop,DsFwd,并且在创建的时候,把关联ARPId中的L2Edit和DestPortProf的索引放到对应的DsFwd和DsNexthop表中;
第三,当ARP没有学习到时候,可以通过配置DsPortProf中Dest Port,指定报文去CPU;
第四,当第一个路由报文转发的时候,会由于ARP没有学习到上送到CPU,CPU发送ARP协议报文;
第五,当ARP协议报文学习到ARP的信息之后,通过ARP ID来更新ARP的出口和MACDA信息;
第六,这样,下一个路由报文进行转发时,就可以直接出去了。
第七,当端口发生变化时,通过ARP ID更新Port即可,省去了更新所有Nexthop的问题。
通过本发明的技术方案实现ARP和Nexthop编辑信息的分离,在芯片设计较小的代价的情况下,尽可能了简化了软件设计,提高了软件的效率。本方案不仅限于IP路由,同样使用MPLS,IP tunnel等。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (7)
1.一种在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,其特征在于:以IP路由转发为起点,路由IPda进行查找之后得到表DsFwd,所述表DsFwd包含一个nexthopPtr信息和一个dstPortid信息,所述nexthopPtr用来索引DsNextHop获取报文编辑信息和出口interface的信息;所述dstPortid用来索引DsPortProf来获取出口信息,其分离的方法程序包括:
第一步,创建ARP的ARPID,通过ARPID来管理ARP信息;
第二步,创建Nexthop,整个Nexthop中包括出口Interface和ARPID;
第三步,当ARP没有学习到时候,通过配置DsPortProf中的Dest Port,指定报文去CPU;
第四步,当第一个路由报文转发的时候,会由于ARP没有学习到上送到CPU,CPU发送ARP协议报文;
第五步,当ARP协议报文学习到ARP的信息之后,通过ARPID来更新ARP的出口和MACDA信息;下一个路由报文进行转发时,就直接发出去;
第六步,当端口发生变化时,通过ARPID更新端口。
2.根据权利要求1所述的在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,其特征在于,所述编辑信息包括一个是三层信息的编辑和一个二层信息的编辑。
3.根据权利要求2所述的在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,其特征在于,所述三层信息的编辑是tunnel或mpls标签。
4.根据权利要求2所述的在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,其特征在于,所述二层信息的编辑是MACDA的信息。
5.根据权利要求1所述的在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,其特征在于,所述ARP信息包括DsPortProf和DsL2EditEth。
6.根据权利要求1所述的在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,其特征在于,所述编辑信息包括DsNextHop,DsFwd和L3Edit。
7.根据权利要求1所述的在ASIC芯片中实现路由ARP信息和编辑信息分离的方法,其特征在于,所述步骤一和二在创建时,把关联ARPId中的L2Edit和DestPortProf的索引放到对应的DsFwd和DsNexthop表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610136364.1A CN105812263B (zh) | 2016-03-10 | 2016-03-10 | 一种在asic芯片中实现路由arp信息和编辑信息分离的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610136364.1A CN105812263B (zh) | 2016-03-10 | 2016-03-10 | 一种在asic芯片中实现路由arp信息和编辑信息分离的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812263A CN105812263A (zh) | 2016-07-27 |
CN105812263B true CN105812263B (zh) | 2019-03-29 |
Family
ID=56468090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610136364.1A Active CN105812263B (zh) | 2016-03-10 | 2016-03-10 | 一种在asic芯片中实现路由arp信息和编辑信息分离的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812263B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850441B (zh) * | 2017-01-17 | 2019-11-29 | 盛科网络(苏州)有限公司 | 堆叠系统网络芯片NextHop资源分配方法 |
CN110011920B (zh) * | 2019-04-11 | 2021-03-23 | 盛科网络(苏州)有限公司 | 一种报文处理方法及装置 |
CN111355674A (zh) * | 2020-02-24 | 2020-06-30 | 盛科网络(苏州)有限公司 | 路由报文的处理方法及装置、存储介质和电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1041776A1 (en) * | 1999-03-30 | 2000-10-04 | International Business Machines Corporation | Multiple ARP functionality for an IP data transmission system |
CN101114989A (zh) * | 2006-07-28 | 2008-01-30 | 中兴通讯股份有限公司 | 一种三层以太网交换机直连主机路由的处理方法 |
CN102217253A (zh) * | 2011-05-05 | 2011-10-12 | 华为技术有限公司 | 报文转发方法、装置及网络设备 |
CN104079486A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 一种网关及其传送数据的方法 |
CN104184664A (zh) * | 2014-08-05 | 2014-12-03 | 杭州华三通信技术有限公司 | 路由转发表项生成方法及装置 |
-
2016
- 2016-03-10 CN CN201610136364.1A patent/CN105812263B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1041776A1 (en) * | 1999-03-30 | 2000-10-04 | International Business Machines Corporation | Multiple ARP functionality for an IP data transmission system |
CN101114989A (zh) * | 2006-07-28 | 2008-01-30 | 中兴通讯股份有限公司 | 一种三层以太网交换机直连主机路由的处理方法 |
CN102217253A (zh) * | 2011-05-05 | 2011-10-12 | 华为技术有限公司 | 报文转发方法、装置及网络设备 |
CN104079486A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 一种网关及其传送数据的方法 |
CN104184664A (zh) * | 2014-08-05 | 2014-12-03 | 杭州华三通信技术有限公司 | 路由转发表项生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105812263A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103546374B (zh) | 一种边缘二层网络中转发报文的方法和装置 | |
CN106664252B (zh) | 实现业务链接的方法、设备及系统 | |
CN104243270B (zh) | 一种建立隧道的方法和装置 | |
CN105072038B (zh) | 一种数据报文转发方法及装置 | |
CN105812263B (zh) | 一种在asic芯片中实现路由arp信息和编辑信息分离的方法 | |
EP1722520A1 (en) | A method for implementing multicast based on multiple service transmission plate | |
CN102316028B (zh) | 发送因特网协议分组的方法及装置 | |
CN109729012B (zh) | 一种单播报文传输方法和装置 | |
CN102368727A (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
CN104601472A (zh) | 在芯片中实现vxlan网关分布式路由的方法及报文处理系统 | |
CN105024985A (zh) | 一种报文处理方法及装置 | |
CN109729019B (zh) | 一种evpn组网中专线业务的限速方法及装置 | |
CN106850380A (zh) | 实现多协议标签交换的三层虚拟专用网络的方法和系统 | |
CN103841013B (zh) | Trill网络中的报文转发方法及设备 | |
CN104125128A (zh) | Linux软桥支持VLAN的方法 | |
CN104365066A (zh) | 用于以太虚拟专用网的方法和设备 | |
CN103841026B (zh) | 一种路由器ip协议栈的vpn路由管理系统及方法 | |
CN106209559B (zh) | 一种建立组播隧道的方法和装置 | |
CN104219149B (zh) | 一种基于虚连接的报文传输方法和设备 | |
CN105763439A (zh) | 一种多链接透明互联网络中数据中心的互联方法及装置 | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
CN105187320B (zh) | 一种mpls负荷分担的处理方法及装置 | |
CN102970224A (zh) | 一种兼容atm体制并基于ip交换网络实现mpls报文转发方法 | |
CN108616450A (zh) | 一种基于sdn的ip网络实现约束路径转发的方法 | |
CN105721305B (zh) | L3vpn路由迭代出口的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |