网络转发设备的快速转发方法.pdf

上传人:1520****312 文档编号:1104017 上传时间:2018-03-31 格式:PDF 页数:23 大小:594.41KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010266403.2

申请日:

2010.08.30

公开号:

CN101938415A

公开日:

2011.01.05

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04L 12/56登记生效日:20151126变更事项:专利权人变更前权利人:北京傲天动联技术有限公司变更后权利人:北京华信傲天网络技术有限公司变更事项:地址变更前权利人:100193 北京市海淀区东北旺西路8号中关村软件园9号楼三区1层变更后权利人:100085 北京市海淀区上地东路1号院3号楼北侧313室|||专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 12/56变更事项:专利权人变更前:北京傲天动联技术股份有限公司变更后:北京傲天动联技术有限公司变更事项:地址变更前:100193 北京市海淀区东北旺西路8号中关村软件园5号楼汉王科技大厦2层变更后:100193 北京市海淀区东北旺西路8号中关村软件园9号楼三区1层|||专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 12/56变更事项:专利权人变更前:北京傲天动联技术有限公司变更后:北京傲天动联技术股份有限公司变更事项:地址变更前:100085 北京市海淀区上地信息产业基地北区盈创动力大厦D栋8层变更后:100193 北京市海淀区东北旺西路8号中关村软件园5号楼汉王科技大厦2层|||授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20100830|||公开

IPC分类号:

H04L12/56; H04L29/06

主分类号:

H04L12/56

申请人:

北京傲天动联技术有限公司

发明人:

韦安营; 苏韶华; 刘靖非; 范成龙

地址:

100085 北京市海淀区上地信息产业基地北区盈创动力大厦D栋8层

优先权:

专利代理机构:

北京铭硕知识产权代理有限公司 11286

代理人:

韩明星;张军

PDF下载: PDF下载
内容摘要

提供了一种网络转发设备的快速转发方法。所述快速转发方法包括:由网络转发设备接收报文;判断所述报文的目的MAC是否是所述网络转发设备的MAC;如果目的MAC是所述网络转发设备的MAC,则判断所述报文的目的IP是否是所述网络转发设备的IP;如果目的IP不是所述网络转发设备的IP,则提取所述报文的五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对所述报文进行以太网封装或隧道封装;将以太网封装或隧道封装的报文转发。

权利要求书

1: 一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报文 ; 确定所述报文的目的 MAC 是否是所述网络转发设备的 MAC ; 当目的 MAC 是所述网络转发设备的 MAC 时, 确定所述报文的目的 IP 是否是所述网络转 发设备的 IP ; 当目的 IP 不是所述网络转发设备的 IP 时, 提取所述报文的五元组关键信息并查找快 速转发表, 确定是否能查到与所述五元组关键信息相应的五元组附属信息 ; 如果查找到与所述五元组关键信息相应的五元组附属信息, 则根据五元组附属信息对 所述报文进行以太网封装或隧道封装并将以太网封装或隧道封装的报文转发, 其中, 所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项, 每个快 速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对应上行报文的目的 IP 或者下行报文的源 IP ; 上行 IP, 对应上行报文的源 IP 或者下行报文的目的 IP ; 下行端口, 对应上行报文的目的端 口或者下行报文的源端口 ; 上行端口, 对应上行报文的源端口或者下行报文的目的端口 ; 协议类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类型, 指示快速转发表项对应的报文的隧道类型 ; 下 行 IP, 对应上行报文的隧道目的 IP 或者下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧 道源 IP 或者下行报文的隧道目的 IP ; 下行 MAC, 对应上行报文的目的 MAC 或者下行报文的 源 MAC ; 上行 MAC, 对应上行报文的源 MAC 或者下行报文的目的 MAC。
2: 如权利要求 1 所述的快速转发方法, 还包括 : 如果没有查找到与所述五元组关键信息相应的五元组附属信息, 则在快速转发表中注 册所述五元组关键信息, 使用所述报文的目的 IP 查找所述网络转发设备的路由表, 获得所 述报文的出接口和下一跳 ; 当所述出接口不是隧道时, 使用所述报文的下一跳查找所述网络转发设备的 ARP 表 项, 获得所述报文下一跳的 MAC ; 使用所述报文的出接口的 MAC 和下一跳的 MAC 对所述报文进行以太网封装, 并将所述 报文的出接口的 MAC 和下一跳的 MAC 写入所述报文的五元组附属信息并将以太网封装的报 文转发。
3: 如权利要求 1 或 2 所述的快速转发方法, 其中, 所述快速转发表支持自动老化机制。
4: 如权利要求 1 或 2 所述的快速转发方法, 其中, 所述五元组附属信息还包括协议转换 信息。
5: 如权利要求 1 或 2 所述的快速转发方法, 其中, 在进行所述查找时, 仅查找五元组附 属信息完整的快速转发表项。
6: 一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报文 ; 确定所述报文的目的 MAC 是否是所述网络转发设备的 MAC ; 当目的 MAC 是所述网络转发设备的 MAC 时, 确定所述报文的目的 IP 是否是所述网络转 发设备的 IP ; 当目的 IP 不是所述网络转发设备的 IP 时, 提取所述报文的五元组关键信息并查找快 2 速转发表, 确定是否能查到与所述五元组关键信息相应的五元组附属信息 ; 如果没有查找到与所述五元组关键信息相应的五元组附属信息, 则在快速转发表中注 册所述五元组关键信息, 使用所述报文的目的 IP 查找所述网络转发设备的路由表, 获得所 述报文的出接口 ; 当所述出接口是隧道时, 剥去所述报文的以太网封装, 使用所述隧道先前配置的外层 IP 头的源 IP 和目的 IP 来对所述报文进行隧道封装, 并将所述外层 IP 头的源 IP 和目的 IP 添加到所述报文的五元组附属信息 ; 使用所述报文的外层 IP 头的目的 IP 查找所述网络转发设备的路由表, 获得所述报文 的出接口和下一跳 ; 当所述出接口不是隧道时, 使用所述报文的下一跳查找所述网络转发设备的 ARP 表 项, 获得所述报文下一跳的 MAC ; 使用所述报文的出接口的 MAC 和下一跳的 MAC 对所述报文进行以太网封装, 并将所述 报文的出接口的 MAC 和下一跳的 MAC 写入所述报文的五元组附属信息 ; 将以太网封装的报文转发, 其中, 所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项, 每个快 速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对应上行报文的目的 IP 或者下行报文的源 IP ; 上行 IP, 对应上行报文的源 IP 或者下行报文的目的 IP ; 下行端口, 对应上行报文的目的端 口或者下行报文的源端口 ; 上行端口, 对应上行报文的源端口或者下行报文的目的端口 ; 协议类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类型, 指示快速转发表项对应的报文的隧道类型 ; 下 行 IP, 对应上行报文的隧道目的 IP 或者下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧 道源 IP 或者下行报文的隧道目的 IP ; 下行 MAC, 对应上行报文的目的 MAC 或者下行报文的 源 MAC ; 上行 MAC, 对应上行报文的源 MAC 或者下行报文的目的 MAC。
7: 如权利要求 6 所述的快速转发方法, 其中, 所述快速转发表支持自动老化机制。
8: 如权利要求 6 所述的快速转发方法, 其中, 所述五元组附属信息还包括协议转换信 息。
9: 如权利要求 6 所述的快速转发方法, 其中, 在进行所述查找时, 仅查找五元组附属信 息完整的快速转发表项。
10: 一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报文 ; 确定所述报文的目的 MAC 是否是所述网络转发设备的 MAC ; 当目的 MAC 是所述网络转发设备的 MAC 时, 确定所述报文的目的 IP 是否是所述网络转 发设备的 IP ; 当目的 IP 是所述网络转发设备的 IP 时, 确定所述报文是否是隧道报文 ; 当所述报文是隧道报文时, 剥去所述报文的以太网封装和隧道封装, 获得所述报文的 五元组关键信息, 并查找快速转发表, 确定是否能查到与所述五元组关键信息相应的五元 组附属信息 ; 如果查找到与所述五元组关键信息相应的五元组附属信息, 则根据五元组附属信息对 3 所述报文进行以太网封装并将以太网封装的报文转发, 其中, 所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项, 每个快 速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对应上行报文的目的 IP 或者下行报文的源 IP ; 上行 IP, 对应上行报文的源 IP 或者下行报文的目的 IP ; 下行端口, 对应上行报文的目的端 口或者下行报文的源端口 ; 上行端口, 对应上行报文的源端口或者下行报文的目的端口 ; 协议类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类型, 指示快速转发表项对应的报文的隧道类型 ; 下 行 IP, 对应上行报文的隧道目的 IP 或者下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧 道源 IP 或者下行报文的隧道目的 IP ; 下行 MAC, 对应上行报文的目的 MAC 或者下行报文的 源 MAC ; 上行 MAC, 对应上行报文的源 MAC 或者下行报文的目的 MAC。
11: 如权利要求 10 所述的快速转发方法, 还包括 : 如果没有查找到与所述五元组关键信息相应的五元组附属信息, 则在快速转发表中注 册所述五元组关键信息, 判断所述报文的目的 IP 是否是所述网络转发设备的 IP ; 当所述报文的目的 IP 不是所述网络转发设备的 IP 时, 使用所述报文的目的 IP 查找所 述网络转发设备的路由表, 获得所述报文的出接口和下一跳 ; 当所述出接口不是隧道时, 使用所述报文的下一跳查找所述网络转发设备的 ARP 表 项, 获得所述报文下一跳的 MAC ; 使用所述报文的出接口的 MAC 和下一跳的 MAC 对所述报文进行以太网封装, 并将所述 报文的出接口的 MAC 和下一跳的 MAC 写入所述报文的五元组附属信息并将以太网封装的报 文转发。
12: 如权利要求 10 或 11 所述的快速转发方法, 其中, 所述快速转发表支持自动老化机 制。
13: 如权利要求 10 或 11 所述的快速转发方法, 其中, 所述五元组附属信息还包括协议 转换信息。
14: 如权利要求 10 或 11 所述的快速转发方法, 其中, 在进行所述查找时, 仅查找五元组 附属信息完整的快速转发表项。
15: 一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报文 ; 提取所述报文的五元组关键信息并查找快速转发表, 确定是否能查到与所述五元组关 键信息相应的五元组附属信息 ; 如果查找到与所述五元组关键信息相应的五元组附属信息, 则根据五元组附属信息对 所述报文进行以太网封装或隧道封装 ; 如果没有查找到与所述五元组关键信息相应的五元组附属信息, 则在快速转发表中注 册所述五元组关键信息, 并在转发报文的过程中完善与所述五元组关键信息相应的五元组 附属信息, 其中, 所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项, 每个快 速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对应上行报文的目的 IP 或者下行报文的源 IP ; 4 上行 IP, 对应上行报文的源 IP 或者下行报文的目的 IP ; 下行端口, 对应上行报文的目的端 口或者下行报文的源端口 ; 上行端口, 对应上行报文的源端口或者下行报文的目的端口 ; 协议类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类型, 指示快速转发表项对应的报文的隧道类型 ; 下 行 IP, 对应上行报文的隧道目的 IP 或者下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧 道源 IP 或者下行报文的隧道目的 IP ; 下行 MAC, 对应上行报文的目的 MAC 或者下行报文的 源 MAC ; 上行 MAC, 对应上行报文的源 MAC 或者下行报文的目的 MAC。

说明书


网络转发设备的快速转发方法

    技术领域 本发明涉及一种网络转发设备的转发方法, 更具体地, 涉及一种网络转发设备通 过五元组关键信息和五元组附属信息进行快速转发的方法。
     背景技术
     图 1 是现有技术的网络转发设备的二层转发、 三层转发和三层隧道转发的流程图。 以下将参照图 2、 图 3 和图 4 对图 1 所示的二层转发、 三层转发和三层隧道转发的 流程图进行描述。
     图 2 是示出图 1 所示的现有技术的网络转发设备的二层转发的示图。 如图 2 所示, 网络设备 1 与网络设备 2 通过二层交换机互联, 其中, 二层交换机与网络设备 1 相连的接口 为接口 1, 与网络设备 2 相连的接口为接口 2。网络设备 1 向网络设备 2 发送报文的步骤如 下:
     网络设备 1 向网络设备 2 发送 IP( 互联网协议 ) 报文, 目的 IP 为网络设备 2 的 IP 即 1.1.1.2, 源 IP 为自己即 1.1.1.1。网络设备 1 发现目的 IP 与自己网段相同, 则无需查 找路由, 用目的 IP 查找本地 ARP( 地址解析协议 ) 表项, 得到目的 IP 对应的 MAC( 媒体访问 控制 ) 即 MAC2。网络设备 1 对 IP 报文添加以太网封装并进行转发, 源 MAC 为自己即 MAC1, 目的 MAC 为 MAC2。
     交换机接收到所述报文, 在操作 S210, 判断目的 MAC 是否为本设备 MAC。如果目的 MAC 不是自己, 则在操作 S220 使用目的 MAC 查找交换机 MAC 表。如果所述查找成功, 得到出 接口为接口 2, 则在操作 S230 将报文 ( 不做任何修改 ) 从接口 2 转发, 如果查找不成功, 则 二层转发失败。
     随后, 网络设备 2 接收报文。
     网络设备 2 向网络设备 1 发送报文, 即上述过程的逆向处理, 在此不作详细描述。
     图 3 是示出图 1 所示的现有技术的网络转发设备的三层转发的示图。如图 3 所 示, 网络设备 1 通过路由器 1、 路由器 2 与网络设备 2 相连, 其中, 路由器 1 与网络设备 1 相 连的接口为接口 1, 路由器 1 与路由器 2 相连的接口为接口 2, 路由器 2 与路由器 1 相连的 接口为接口 3, 路由器 2 与网络设备 2 相连的接口为接口 4。网络设备 1 向网络设备 2 发送 报文的步骤如下 :
     网络设备 1 向网络设备 2 发送 IP 报文, 源 IP 为自己即 1.1.1.2, 目的 IP 为网络设 备 2 的 IP 即 3.3.3.1。网络设备 1 发现目的 IP 与自己 IP 不在同一网段, 则用目的 IP 查 找本地路由表, 得到下一跳 IP 即 1.1.1.1 ; 再用下一跳查找 ARP 表项得到 MAC2。网络设备 1 对 IP 报文添加以太网封装并进行转发, 源 MAC 为自己即 MAC1, 目的 MAC 为下一跳 MAC 即 MAC2。
     路由器 1 从接口 1 接收到网络设备 1 发送的报文, 在操作 S210, 判断目的 MAC 是否 为本设备 MAC。如果目的 MAC 为接口 1 的 MAC, 则进行三层转发逻辑处理, 即, 在操作 S310,
     路由器 1 检查报文目的 IP 是否为本设备 IP, 如果不是路由器 1 自己的 IP, 则路由器 1 在操 作 S320 用报文目的 IP(3.3.3.1) 查找路由表。如果查找不成功, 则路由失败, 如果所述查 找成功, 得到下一跳为 2.2.2.2, 出接口为接口 2, 则路由器 1 在操作 S330 用下一跳查找 ARP 表项。如果查找不成功, 则 ARP 失败, 如果所述查找成功, 得到 MAC 为 MAC4, 则路由器 1 在操 作 S340 将报文源 MAC 替换为接口 2 的 MAC 地址即 MAC3, 将报文目的 MAC 地址替换为 MAC4, 从接口 2 转发。
     路由器 2 从接口 3 接收到路由器 1 转发的报文, 进行与上述相同的操作, 并最后将 报文源 MAC 替换为接口 4 的 MAC 地址即 MAC5, 将报文目的 MAC 地址替换为 MAC6, 从接口 4 转发。
     随后, 网络设备 2 接收路由器 2 转发的报文。
     网络设备 2 向网络设备 1 发送报文, 即上述过程的逆向处理, 在此不作详细描述。
     图 4 是示出图 1 所示的现有技术的网络转发设备的三层隧道转发的示图。三层隧 道主要包括 IP 隧道、 GRE( 通用路由封装 ) 隧道、 Capwap 隧道等。隧道有两层 IP 头, 外层 IP 头由隧道发起者加上, 源 IP 为隧道发起者的 IP, 目的 IP 为隧道终结者的 IP ; 内层 IP 头, 源 IP 和目的 IP 为报文真实源 IP 和目的 IP。 如图 4 所示, 网络设备 1 通过路由器 1、 隧道、 路由器 2 与网络设备 2 相连, 路由器 1 与路由器 2 建立隧道, 隧道外层 IP 头的源 IP 为路由器 1 接口 2 的 IP, 隧道外层 IP 头的 目的 IP 为路由器 2 接口 3 的 IP。其中, 路由器 1 上与网络设备 1 相连的接口为接口 1, 路 由器 1 上与隧道相连的接口为接口 2, 路由器 2 上与隧道相连的接口为接口 3, 路由器 2 上 与网络设备 2 相连的接口为接口 4。网络设备 1 向网络设备 2 发送报文的步骤如下 :
     网络设备 1 向网络设备 2 发送 IP 报文, 源 IP 为自己即 1.1.1.2, 目的 IP 为网络设 备 2 的 IP 即 3.3.3.1。网络设备 1 发现目的 IP 与自己 IP 不在同一网段, 则用目的 IP 查 找本地路由表, 得到下一跳 IP 即 1.1.1.1 ; 再用下一跳查找 ARP 表项得到 MAC2。网络设备 1 对 IP 报文添加以太网封装并进行转发, 源 MAC 为自己即 MAC 1, 目的 MAC 为下一跳 MAC 即 MAC2。
     路由器 1 从接口 1 收到网络设备 1 发送的报文, 在操作 S210, 判断目的 MAC 是否 为本设备 MAC。如果目的 MAC 为接口 1 的 MAC, 则进行三层转发处理, 即, 在操作 S310, 路由 器 1 检查报文目的 IP 是否为本设备 IP, 如果不是路由器 1 自己的 IP, 则路由器 1 在操作 S320 使用报文目的 IP(3.3.3.1) 查找路由表。参照图 4 路由器 1 的路由表, 除了 4.4.4.4 和 1.1.1.2 以外的 IP 均按照目的 IP 为 0.0.0.0 处理, 诸如, 查找 3.3.3.1 可得到出接口为 隧道 1。 如果查找不成功, 则路由失败, 如果所述查找成功, 通过在图 4 所示的路由器 1 的路 由表中查找报文目的 IP(3.3.3.1) 得到出接口为隧道 1, 则路由器 1 在操作 S410 剥去报文 以太网封装, 加隧道封装 ( 即, 添加外层 IP 头 ), 外层 IP 头的源 IP 为 2.2.2.1, 目的 IP 为 4.4.4.4, 随后操作返回 S310。 在操作 S310, 路由器 1 检查隧道报文的外层目的 IP 是否为本 设备 IP, 如果不是路由器 1 自己的 IP, 则路由器 1 在操作 S320 使用所述外层目的 IP 查找 路由表。 如果查找成功, 通过在图 4 所示的路由器 1 的路由表中查找报文目的 IP(4.4.4.4) 得到下一跳为 2.2.2.2, 出接口为接口 2, 则路由器 1 在操作 S330 再使用下一跳 2.2.2.2 查 找 ARP 表项。如果查找成功, 得到下一跳 MAC 为 MAC4, 则路由器 1 在操作 S340 对隧道报文 添加以太网封装, 将报文源 MAC 替换为接口 2 的 MAC 地址即 MAC3, 将报文目的 MAC 地址替换
     为 MAC4, 从接口 2 转发。
     经过隧道的转发之后, 路由器 2 从接口 3 接收到转发的隧道报文, 在操作 S210, 判 断外层目的 MAC 是否为本设备 MAC。如果外层目的 MAC 为接口 3 的 MAC, 则进行三层转发处 理, 即, 在操作 S310, 路由器 2 检查报文外层目的 IP 是否为本设备 IP, 如果是路由器 2 自己 的 IP, 则送上层处理, 即, 路由器 2 在操作 S420 判断接收到的报文是否是隧道报文, 如果不 是隧道报文, 则进行主机协议处理。如果是隧道报文, 则路由器 2 在操作 S430 剥去报文以 太网封装和隧道封装, 得到内层 IP 报文, 随后操作返回 S310。在操作 S310, 路由器 2 检查 报文的内层目的 IP 即 3.3.3.1 是否为本设备 IP, 如果不是路由器 2 自己的 IP, 则路由器 2 在操作 S320 使用所述内层目的 IP 查找路由表。 如果查找成功, 在图 4 所示的路由器 2 的路 由表中查找报文目的 IP(3.3.3.1) 得到下一跳为 3.3.3.1, 出接口为接口 4, 则路由器 2 在 操作 S330 再使用所述下一跳查找 ARP 表项, 得到下一跳 MAC 为 MAC8。在操作 S340, 路由器 2 对报文添加以太网封装, 将报文源 MAC 替换为接口 4 的 MAC 地址即 MAC7, 将报文目的 MAC 替换为 MAC8, 从接口 4 转发。
     随后, 网络设备 2 接收路由器 2 转发的报文。
     网络设备 2 向网络设备 1 发送报文, 即上述过程的逆向处理, 在此不作详细描述。
     在现有技术的网络转发设备二层转发逻辑、 三层转发逻辑和三层隧道转发逻辑 中, 网络转发设备需要频繁地查找 MAC 表、 路由表、 ARP 表项等, 转发效率低, 性能压力大。发明内容
     本发明的目的在于提供一种网络转发设备通过五元组关键信息和五元组复数信 息进行快速转发的方法, 从而能够完成报文一次学习、 多次转发, 加快了报文转发效率。
     本发明提供了一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报 文; 确定所述报文的目的 MAC 是否是所述网络转发设备的 MAC ; 当目的 MAC 是所述网络转发 设备的 MAC 时, 确定所述报文的目的 IP 是否是所述网络转发设备的 IP ; 当目的 IP 不是所 述网络转发设备的 IP 时, 提取所述报文的五元组关键信息并查找快速转发表, 确定是否能 查到与所述五元组关键信息相应的五元组附属信息 ; 如果查找到与所述五元组关键信息相 应的五元组附属信息, 则根据五元组附属信息对所述报文进行以太网封装或隧道封装并将 以太网封装或隧道封装的报文转发, 其中, 所述快速转发表存储在所述网络转发设备中并 包括多个快速转发表项, 每个快速转发表项对应于一个报文并包括报文的五元组关键信息 和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对应上行报文的目的 IP 或者下行 报文的源 IP ; 上行 IP, 对应上行报文的源 IP 或者下行报文的目的 IP ; 下行端口, 对应上行 报文的目的端口或者下行报文的源端口 ; 上行端口, 对应上行报文的源端口或者下行报文 的目的端口 ; 协议类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类 型, 指示快速转发表项对应的报文的隧道类型 ; 下行 IP, 对应上行报文的隧道目的 IP 或者 下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧道源 IP 或者下行报文的隧道目的 IP ; 下 行 MAC, 对应上行报文的目的 MAC 或者下行报文的源 MAC ; 上行 MAC, 对应上行报文的源 MAC 或者下行报文的目的 MAC。
     所述快速转发方法还包括 : 如果没有查找到与所述五元组关键信息相应的五元组 附属信息, 则在快速转发表中注册所述五元组关键信息, 使用所述报文的目的 IP 查找所述网络转发设备的路由表, 获得所述报文的出接口和下一跳 ; 当所述出接口不是隧道时, 使用 所述报文的下一跳查找所述网络转发设备的 ARP 表项, 获得所述报文下一跳的 MAC ; 使用所 述报文的出接口的 MAC 和下一跳的 MAC 对所述报文进行以太网封装, 并将所述报文的出接 口的 MAC 和下一跳的 MAC 写入所述报文的五元组附属信息并将以太网封装的报文转发。
     所述快速转发方法, 其中, 所述快速转发表支持自动老化机制。
     所述快速转发方法, 其中, 所述五元组附属信息还包括协议转换信息。
     所述快速转发方法, 其中, 在进行所述查找时, 仅查找五元组附属信息完整的快速 转发表项。
     提供了一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报文 ; 确 定所述报文的目的 MAC 是否是所述网络转发设备的 MAC ; 当目的 MAC 是所述网络转发设备 的 MAC 时, 确定所述报文的目的 IP 是否是所述网络转发设备的 IP ; 当目的 IP 不是所述网络 转发设备的 IP 时, 提取所述报文的五元组关键信息并查找快速转发表, 确定是否能查到与 所述五元组关键信息相应的五元组附属信息 ; 如果没有查找到与所述五元组关键信息相应 的五元组附属信息, 则在快速转发表中注册所述五元组关键信息, 使用所述报文的目的 IP 查找所述网络转发设备的路由表, 获得所述报文的出接口 ; 当所述出接口是隧道时, 剥去所 述报文的以太网封装, 使用所述隧道先前配置的外层 IP 头的源 IP 和目的 IP 来对所述报文 进行隧道封装, 并将所述外层 IP 头的源 IP 和目的 IP 添加到所述报文的五元组附属信息 ; 使用所述报文的外层 IP 头的目的 IP 查找所述网络转发设备的路由表, 获得所述报文的出 接口和下一跳 ; 当所述出接口不是隧道时, 使用所述报文的下一跳查找所述网络转发设备 的 ARP 表项, 获得所述报文下一跳的 MAC ; 使用所述报文的出接口的 MAC 和下一跳的 MAC 对 所述报文进行以太网封装, 并将所述报文的出接口的 MAC 和下一跳的 MAC 写入所述报文的 五元组附属信息 ; 将以太网封装的报文转发, 其中, 所述快速转发表存储在所述网络转发设 备中并包括多个快速转发表项, 每个快速转发表项对应于一个报文并包括报文的五元组关 键信息和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对应上行报文的目的 IP 或 者下行报文的源 IP ; 上行 IP, 对应上行报文的源 IP 或者下行报文的目的 IP ; 下行端口, 对 应上行报文的目的端口或者下行报文的源端口 ; 上行端口, 对应上行报文的源端口或者下 行报文的目的端口 ; 协议类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类型, 指示快速转发表项对应的报文的隧道类型 ; 下行 IP, 对应上行报文的隧道目的 IP 或者下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧道源 IP 或者下行报文的隧道目 的 IP ; 下行 MAC, 对应上行报文的目的 MAC 或者下行报文的源 MAC ; 上行 MAC, 对应上行报文 的源 MAC 或者下行报文的目的 MAC。
     所述快速转发方法, 其中, 所述快速转发表支持自动老化机制。
     所述快速转发方法, 其中, 所述五元组附属信息还包括协议转换信息。
     所述快速转发方法, 其中, 在进行所述查找时, 仅查找五元组附属信息完整的快速 转发表项。
     提供了一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报文 ; 确 定所述报文的目的 MAC 是否是所述网络转发设备的 MAC ; 当目的 MAC 是所述网络转发设备 的 MAC 时, 确定所述报文的目的 IP 是否是所述网络转发设备的 IP ; 当目的 IP 是所述网络转 发设备的 IP 时, 确定所述报文是否是隧道报文 ; 当所述报文是隧道报文时, 剥去所述报文的以太网封装和隧道封装, 获得所述报文的五元组关键信息, 并查找快速转发表, 确定是否 能查到与所述五元组关键信息相应的五元组附属信息 ; 如果查找到与所述五元组关键信息 相应的五元组附属信息, 则根据五元组附属信息对所述报文进行以太网封装并将以太网封 装的报文转发, 其中, 所述快速转发表存储在所述网络转发设备中并包括多个快速转发表 项, 每个快速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对应上行报文的目的 IP 或者下行报文的源 IP ; 上行 IP, 对应上行报文的源 IP 或者下行报文的目的 IP ; 下行端口, 对应上行报文的目的端口或 者下行报文的源端口 ; 上行端口, 对应上行报文的源端口或者下行报文的目的端口 ; 协议 类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类型, 指示快速转发 表项对应的报文的隧道类型 ; 下行 IP, 对应上行报文的隧道目的 IP 或者下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧道源 IP 或者下行报文的隧道目的 IP ; 下行 MAC, 对应上行报 文的目的 MAC 或者下行报文的源 MAC ; 上行 MAC, 对应上行报文的源 MAC 或者下行报文的目 的 MAC。
     所述快速转发方法还包括 : 如果没有查找到与所述五元组关键信息相应的五元组 附属信息, 则在快速转发表中注册所述五元组关键信息, 判断所述报文的目的 IP 是否是所 述网络转发设备的 IP ; 当所述报文的目的 IP 不是所述网络转发设备的 IP 时, 使用所述报 文的目的 IP 查找所述网络转发设备的路由表, 获得所述报文的出接口和下一跳 ; 当所述出 接口不是隧道时, 使用所述报文的下一跳查找所述网络转发设备的 ARP 表项, 获得所述报 文下一跳的 MAC ; 使用所述报文的出接口的 MAC 和下一跳的 MAC 对所述报文进行以太网封 装, 并将所述报文的出接口的 MAC 和下一跳的 MAC 写入所述报文的五元组附属信息并将以 太网封装的报文转发。
     所述快速转发方法, 其中, 所述快速转发表支持自动老化机制。
     所述快速转发方法, 其中, 所述五元组附属信息还包括协议转换信息。
     所述快速转发方法, 其中, 在进行所述查找时, 仅查找五元组附属信息完整的快速 转发表项。
     提供了一种网络转发设备的快速转发方法, 包括 : 由网络转发设备接收报文 ; 提 取所述报文的五元组关键信息并查找快速转发表, 确定是否能查到与所述五元组关键信息 相应的五元组附属信息 ; 如果查找到与所述五元组关键信息相应的五元组附属信息, 则根 据五元组附属信息对所述报文进行以太网封装或隧道封装 ; 如果没有查找到与所述五元组 关键信息相应的五元组附属信息, 则在快速转发表中注册所述五元组关键信息, 并在转发 报文的过程中完善与所述五元组关键信息相应的五元组附属信息, 其中, 所述快速转发表 存储在所述网络转发设备中并包括多个快速转发表项, 每个快速转发表项对应于一个报文 并包括报文的五元组关键信息和五元组附属信息, 其中, 五元组关键信息包括 : 下行 IP, 对 应上行报文的目的 IP 或者下行报文的源 IP ; 上行 IP, 对应上行报文的源 IP 或者下行报文 的目的 IP ; 下行端口, 对应上行报文的目的端口或者下行报文的源端口 ; 上行端口, 对应上 行报文的源端口或者下行报文的目的端口 ; 协议类型, 对应报文 IP 头中的协议类型, 其中, 五元组附属信息包括 : 隧道类型, 指示快速转发表项对应的报文的隧道类型 ; 下行 IP, 对应 上行报文的隧道目的 IP 或者下行报文的隧道源 IP ; 上行 IP, 对应上行报文的隧道源 IP 或 者下行报文的隧道目的 IP ; 下行 MAC, 对应上行报文的目的 MAC 或者下行报文的源 MAC ; 上行 MAC, 对应上行报文的源 MAC 或者下行报文的目的 MAC。
     将在接下来的描述中部分阐述本发明另外的方面和 / 或优点, 还有一部分通过描 述将是清楚的, 或者可以经过本发明的实施而得知。 附图说明
     通过下面结合附图进行的详细描述, 本发明的上述和其它目的和特点将会变得更 加清楚, 其中 :
     图 1 是现有技术的网络转发设备的二层转发、 三层转发和三层隧道转发的流程 图;
     图 2 是示出图 1 所示的现有技术的网络转发设备的二层转发的示图 ;
     图 3 是示出图 1 所示的现有技术的网络转发设备的三层转发的示图 ;
     图 4 是示出图 1 所示的现有技术的网络转发设备的三层隧道转发的示图 ;
     图 5 是根据本发明示例性实施例的网络转发设备的二层转发、 三层快速转发和三 层隧道快速转发的流程图 ;
     图 6 是示出图 5 所示的根据本发明示例性实施例的网络转发设备的三层快速转发 的示图 ; 图 7 是示出图 5 所示的根据本发明示例性实施例的网络转发设备的三层隧道快速 转发的示图 ;
     图 8 是示出根据本发明示例性实施例的应用快速转发的示例的示图。
     具体实施方式
     现在, 详细描述本发明的实施例, 其示例在附图中表示, 其中, 相同的标号始终表 示相同的部件。
     IP 地址可以唯一确定一台网络设备, 协议和端口号可以唯一确定一台网络设备的 应用程序。假设网络设备 1 和网络设备 2 通信, 只要具备以下五个元素就可以确定唯一网 络设备 1 和网络设备 2 的数据流 : 源 IP、 目的 IP、 协议类型、 源端口和目的端口。
     本发明在收包驱动中保存一个快速转发表, 快速转发表包括多条快速转发表项, 每条快速转发表项包括唯一确定一条数据流的五元组的五元组关键信息以及转发所需的 五元组附属信息。表 1 是根据本发明示例性实施例的快速转发表项的示例。应该了解, 除 了表 1 所示出的之外, 快速转发表项中的五元组附属信息还可以包括其它快速转发信息, 诸如协议转换信息等。
     表 1 根据本发明示例性实施例的快速转发表项 快速转发表分为两部分 : 五元组关键信息, 即业务流的五元组 ; 五元组附属信息,包括用于加 / 去隧道封装的隧道转发信息和用于报文二层转发的二层转发信息。
     对于五元组关键信息 ( 即, 隧道报文的内层五元组, 或者普通三层报文 ( 非隧道报 文 ) 的五元组 ), 下行 IP 对应上行报文的目的 IP 或者下行报文的源 IP ; 上行 IP 对应上行 报文的源 IP 或者下行报文的目的 IP ; 下行端口对应上行报文的目的端口或者下行报文的 源端口 ; 上行端口对应上行报文的源端口或者下行报文的目的端口 ; 协议类型对应报文 IP 头中的协议类型。
     对于隧道转发信息, 隧道类型指示本快速转发表项对应的数据流的隧道类型 ( 诸 如, 否 ( 即, 不是隧道 )、 加隧道、 去隧道等 ), 所述隧道可以是 IPIP 隧道、 GRE 隧道等, 但本 发明不限于此 ; 下行 IP 对应上行报文的隧道目的 IP 或者下行报文的隧道源 IP, 仅当隧道 类型指示加隧道时存在 ; 上行 IP 对应上行报文的隧道源 IP 或者下行报文的隧道目的 IP, 仅当隧道类型指示加隧道时存在。
     对于二层转发信息, 下行 MAC 对应上行报文的目的 MAC 或者下行报文的源 MAC ; 上 行 MAC 对应上行报文的源 MAC 或者下行报文的目的 MAC。
     在使用五元组关键信息查找快速转发表时, 仅对五元组附属信息完整的快速转发 表项进行查找, 只有五元组关键信息而五元组附属信息还不完整的快速转发表项不参与所 述查找。 图 5 是根据本发明示例性实施例的网络转发设备的二层转发、 三层快速转发和三 层隧道快速转发的流程图。
     以下将参照图 6 和图 7 对图 5 所示的三层快速转发和三层隧道快速转发的流程图 进行描述。
     图 6 是示出图 5 所示的根据本发明示例性实施例的网络转发设备的三层快速转发 的示图。如图 6 所示, 网络设备 1 通过路由器 1、 路由器 2 与网络设备 2 相连, 其中, 路由器 1 与网络设备 1 相连的接口为接口 1, 路由器 1 与路由器 2 相连的接口为接口 2, 路由器 2 与 路由器 1 相连的接口为接口 3, 路由器 2 与网络设备 2 相连的接口为接口 4。网络设备 1 向 网络设备 2 发送报文的步骤如下 :
     网络设备 1 向网络设备 2 发送 HTTP 请求报文, 协议类型是 TCP, 源端口是 4630, 目的端口是 80, 源 IP 为自己即 1.1.1.2, 目的 IP 为网络设备 2 的 IP 即 3.3.3.1。网络设 备 1 发现目的 IP 与自己 IP 不在同一网段, 故用目的 IP 查找本地路由表, 得到下一跳 IP 即 1.1.1.1 ; 再用下一跳查找 ARP 表项得到 MAC2。网络设备 1 对 IP 报文添加以太网封装并进 行转发, 源 MAC 为自己即 MAC1, 目的 MAC 为下一跳 MAC 即 MAC2。
     路由器 1 从接口 1 接收到网络设备 1 发送的报文, 在操作 S610, 判断目的 MAC 是 否为本设备 MAC。由于目的 MAC 为接口 1 的 MAC, 故路由器 1 在操作 S620 检查报文目的 IP 即 3.3.3.1 是否为本设备 IP。由于不是路由器 1 自己的 IP, 故路由器 1 在操作 S630 提取 五元组关键信息并查找快速转发表, 确定是否能查到与所述五元组关键信息对应的完整的 五元组附属信息 ( 如果目的 MAC 不是自己, 则应该进行图 2 所示的传统二层转发处理 )。这 里分为两种情况, 查找命中和查找失败。
     如果查找未命中, 则注册这个五元组关键信息, 然后按照传统三层转发流程处理, 即, 路由器 1 在操作 S640 用报文目的 IP 查找路由表。如果查找不成功, 则路由失败, 如果 所述查找成功, 通过在图 6 所示的路由器 1 的路由表中查找报文目的 IP 即 3.3.3.1 得到下
     一跳为 2.2.2.2, 出接口为接口 2, 则路由器 1 在操作 S650 用下一跳查找 ARP 表项。如果查 找不成功, 则 ARP 失败, 如果所述查找成功, 通过在图 6 所示的路由器 1 的 ARP 表项中查找 报文的下一跳即 2.2.2.2 得到 MAC 为 MAC4, 则路由器 1 在操作 S660 将报文源 MAC 替换为接 口 2 的 MAC 地址即 MAC3, 将报文目的 MAC 地址替换为 MAC4, 并完善快速转发表项, 将二层转 发信息 ( 上行、 下行 MAC) 写入五元组附属信息, 并将报文从接口 2 转发。这样就有了这个 数据流的快速转发表项, 如表 2 所示, 其中, 由于不是隧道报文, 故五元组附属信息的上行、 下行 IP 不存在。
     表 2 根据本发明示例性实施例的快速转发表项
     如果查找命中, 则路由器 1 在操作 S670 查看五元组附属信息, 如果不是隧道报文, 则对于上行报文, 用上行 MAC 替换源 MAC, 下行 MAC 替换目的 MAC ; 对于下行报文, 用下行 MAC 替换源 MAC, 上行 MAC 替换目的 MAC ; 然后将报文转发 ; 如果是隧道报文, 则根据附属信息加 隧道封装或解隧道封装, 这将在后面进行详细描述。
     路由器 2 从接口 1 接收到路由器 1 转发过来的报文, 在操作 S610, 判断目的 MAC 是 否为本设备 MAC。由于目的 MAC 为接口 3 的 MAC, 故路由器 2 在操作 S620 检查报文目的 IP 即 3.3.3.1 是否为本设备 IP, 由于不是路由器 2 自己的 IP, 故路由器 1 在操作 S630 提取五 元组关键信息并查找快速转发表, 确定是否能查到与所述五元组关键信息相应的完整的五 元组附属信息 ( 如果目的 MAC 不是自己, 则应该进行图 2 所示的传统二层转发处理 )。这里 分为两种情况, 查找命中和查找失败。
     如果查找未命中, 则注册这个五元组关键信息, 然后按照传统三层转发流程处理, 即, 路由器 2 在操作 S640 用报文目的 IP 查找路由表。如果查找成功, 通过在图 6 所示的路 由器 2 的路由表中查找报文目的 IP 即 3.3.3.1 得到下一跳为 3.3.3.1, 出接口为接口 4, 则 路由器 2 在操作 S650 用下一跳查找 ARP 表项。如果查找成功, 通过在图 6 所示的路由器 2 的 ARP 表项中查找报文的下一跳即 3.3.3.1 得到 MAC 为 MAC6, 则路由器 2 在操作 S660 将 报文源 MAC 替换为接口 4 的 MAC 地址即 MAC5, 将报文目的 MAC 地址替换为 MAC6, 并完善快 速转发表项, 将二层转发信息 ( 上行、 下行 MAC) 写入五元组附属信息, 并将报文从接口 4 转 发。这样就有了这个数据流的快速转发表项, 如表 3 所示
     表 3 根据本发明示例性实施例的快速转发表
     如果查找命中, 则路由器 2 在操作 S670 查看五元组附属信息, 由于不是隧道报文 ( 隧道类型是 “否” ), 故对于上行报文, 用五元组附属信息中的上行 MAC 替换源 MAC, 下行 MAC 替换目的 MAC ; 对于下行报文, 用下行 MAC 替换源 MAC, 上行 MAC 替换目的 MAC ; 然后将报文 转发。 如果是隧道报文, 则根据附属信息加隧道封装或解隧道封装, 这将在后面进行详细描 述。
     随后, 网络设备 2 收到路由器 2 转发过来的报文。
     网络设备 2 向网络设备 1 发送报文, 即上述过程的逆向处理, 此处省略。
     应该理解, 上述列出的快速转发表项的具体信息 ( 诸如, 上行 IP、 下行 IP、 协议类 型等的具体值 ) 仅是示例性的, 并且其值可以改变 ; 上述描述中的转发设备是两个路由器, 但是本发明不限于此, 报文可以经由任意数量、 任意类型的网络转发设备的转发并最终到 达目的 IP。
     从上面的分析可以看出, 一条五元组的数据流, 只有第一次查找快速转发表未命 中时按照一般的路由转发信息处理, 并且生成五元组的快速转发表项。以后对于这条数据 流上的报文, 可以在收到报文后查找快速转发表, 并根据查找到的快速转发表项把报文转 发出去, 这样报文就不需要进三层转发或者三层隧道转发了。
     图 7 是示出图 5 所示的根据本发明示例性实施例的网络转发设备的三层隧道快速 转发的示图。如图 7 所示, 网络设备 1 通过路由器 1、 隧道、 路由器 2 与网络设备 2 相连, 其 中, 路由器 1 上与网络设备 1 相连的接口为接口 1, 路由器 1 上与隧道相连的接口为接口 2, 路由器 2 上与隧道相连的接口为接口 3, 路由器 2 上与网络设备 2 相连的接口为接口 4。三 层隧道有两层 IP 头 : 外层 IP 头由隧道发起者加上, 源 IP 为隧道发起者的 IP, 目的 IP 为隧 道终结者的 IP ; 内层 IP 头的源和目的 IP 为报文真实源 IP 和目的 IP。路由器 1 与路由器 2 建立隧道, 隧道外层 IP 头的源 IP 为路由器 1 接口 2 的 IP, 隧道外层 IP 头的目的 IP 为路 由器 2 接口 3 的 IP, 所述隧道外层 IP 头的源 IP 和目的 IP 用于加隧道和去隧道。
     网络设备 1 向网络设备 2 发送报文的步骤如下 :
     网络设备 1 向网络设备 2 发送 TFTP 请求报文, 协议类型是 UDP, 源端口是 8810, 目的端口是 69, 源 IP 为自己即 1.1.1.2, 目的 IP 为网络设备 2 的 IP 即 3.3.3.1。网络设 备 1 发现目的 IP 与自己 IP 不在同一网段, 则用目的 IP 查找本地路由表, 得到下一跳 IP 即 1.1.1.1 ; 再用下一跳查找 ARP 表项得到 MAC2。网络设备 1 对 IP 报文添加以太网封装, 源 MAC 为自己即 MAC1, 目的 MAC 为下一跳 MAC 即 MAC2。
     路由器 1 从接口 1 接收到网络设备 1 发送的报文, 在操作 S610, 判断目的 MAC 是否 为本设备 MAC。由于目的 MAC 为接口 1 的 MAC, 故路由器 1 在操作 S620 检查报文目的 IP 即 3.3.3.1 是否为本设备 IP, 由于不是路由器 1 自己的 IP, 故路由器 1 在操作 S630 提取五元
     组关键信息并查找快速转发表, 确定是否能查到与所述五元组关键信息相应的五元组附属 信息 ( 如果目的 MAC 不是自己, 则应该进行图 2 所示的传统二层转发处理 )。这里分为两种 情况, 查找命中和查找失败。
     如果查找未命中, 则注册这个五元组关键信息, 然后按照传统转发流程处理, 即, 路由器 1 在操作 S640 使用报文目的 IP 即 3.3.3.1 查找路由表。参照图 7 路由器 1 的路由 表, 除了 4.4.4.4 和 1.1.1.2 以外的 IP 均按照目的 IP 为 0.0.0.0 处理, 诸如, 查找 3.3.3.1 可得到出接口为隧道 1。 如果查找不成功, 则路由失败, 如果所述查找成功, 通过在图 7 所示 的路由器 1 的路由表中查找报文目的 IP 即 3.3.3.1 得到出接口为隧道 1, 则路由器 1 在操 作 S710 剥去报文以太网封装, 使用外层 IP 头的源 IP 即 2.2.2.1 和目的 IP 即 4.4.4.4 来 添加隧道封装, 并将所述外层 IP 头的源 IP 和目的 IP 添加到所述报文的五元组附属信息, 随后操作返回 S620。其中, 所述外层 IP 头的源 IP 和目的 IP 是由隧道 1 先前配置的。在操 作 S620, 路由器 1 检查隧道报文的外层目的 IP 是否为本设备 IP, 由于不是路由器 1 自己的 IP, 故路由器 1 在操作 S630 提取五元组关键信息并查找快速转发表是否能查到五元组附属 信息。 此时由于该条数据流的五元组附属信息依然不完整 ( 不包括二层转发信息 ), 故查找 仍然没有命中, 路由器 1 在操作 S640 使用外层目的 IP 查找路由表。如果查找成功, 通过在 图 7 所示的路由器 1 的路由表中查找报文外层目的 IP 即 4.4.4.4 得到下一跳为 2.2.2.2, 出 接口为接口 2, 则路由器 1 在操作 S650 再使用下一跳 2.2.2.2 查找 ARP 表项。如果查找成 功, 通过在图 7 所示的路由器 1 的 ARP 表项中查找下一跳 2.2.2.2 得到下一跳 MAC 为 MAC4, 则路由器 1 在操作 S660 对隧道报文添加以太网封装, 将报文源 MAC 替换为接口 2 的 MAC 地 址即 MAC3, 将报文目的 MAC 地址替换为 MAC4, 然后把二层转发信息写入五元组附属信息, 把 报文从接口 2 转发。这样就有这个流的快速转发表项, 如表 4 所示。
     表 4 根据本发明示例性实施例的快速转发表项如查找命中, 则路由器 1 在操作 S670 查看五元组附属信息, 由于隧道类型是加隧 道, 故去掉 MAC 头, 加封装隧道, 使用五元组附属信息中的上行 IP 作为外层源 IP, 下行 IP 作 为外层目的 IP, 上行 MAC 作为源 MAC, 下行 MAC 作为目的 MAC, 并将报文转发。
     应该了解, 隧道的转发过程属于本领域现有技术, 为了清楚和简明, 在此不再累 述。 经过隧道的转发之后, 路由器 2 从接口 3 接收到转发的报文, 在操作 S610, 判断目的 MAC 是否为本设备 MAC。由于目的 MAC 为接口 3 的 MAC, 故路由器 2 在操作 S620 检查报文外层 目的 IP 即 4.4.4.4 是否为本设备 IP, 由于是路由器 2 自己的 IP, 故在操作 S720 判断接收 到的报文是否是隧道报文, 如果不是隧道报文, 则进行主机协议处理。 由于所述报文是隧道 报文, 故路由器 2 在操作 S730 剥去报文以太网封装和隧道封装, 得到五元组关键信息, 随 后查找快速转发表, 确定是否能查找到与所述五元组关键信息相应的完整的五元组附属信息。这里分为两种情况, 查找命中和查找失败。
     如果查找未命中, 则在操作 S750 注册所述五元组关键信息, 随后操作返回 S620。 在操作 S620, 路由器 2 检查报文的内层目的 IP 即 3.3.3.1 是否为本设备 IP。由于不是路 由器 2 自己的 IP, 故路由器 2 在操作 S630 提取五元组关键信息并查找快速转发表是否能查 到五元组附属信息。 应该理解, 由于已经对所述五元组关键信息查找过快速转发表, 故这里 也可以省略上述操作 S630。由于刚刚注册该条数据流的五元组关键信息故查找没有命中, 路由器 2 在操作 S640 使用所述内层目的 IP 查找路由表。如果查找成功, 通过在图 7 所示 的路由器 2 的路由表中查找内层目的 IP 即 3.3.3.1 得到下一跳为 3.3.3.1, 出接口为接口 4, 则路由器 2 在操作 S650 使用下一跳 3.3.3.1 查找 ARP 表项。如果查找成功, 通过在图 7 所示的路由器 2 的 ARP 表项中查找下一跳 3.3.3.1 得到下一跳 MAC 为 MAC8, 则路由器 2 在 操作 S660 对报文添加以太网封装, 将报文源 MAC 替换为接口 4 的 MAC 地址即 MAC7, 将报文 目的 MAC 替换为 MAC8, 然后把二层转发信息和隧道转发信息写入五元组的附属信息, 把报 文从接口 4 转发。这样就有这个流的快速转发表项, 如表 5 所示。
     表 5 根据本发明示例性实施例的快速转发表项
     如果查找命中, 则路由器 2 在操作 S740 查看五元组附属信息, 由于隧道类型是去 隧道, 并且之前已经剥去报文以太网封装和隧道封装, 故使用五元组附属信息中的上行 MAC 作为源 MAC, 下行 MAC 作为目的 MAC, 以太封装 MAC 头, 并将报文转发。
     网络设备 2 收到路由器 2 转发的报文。
     应该理解, 上述列出的快速转发表项的具体信息 ( 诸如, 上行 IP、 下行 IP、 协议类 型等的具体值 ) 仅是示例性的, 并且其值可以改变 ; 上述描述中的转发设备是两个路由器, 但是本发明不限于此, 报文可以经由任意数量、 任意类型的网络转发设备的转发并最终到 达目的 IP ; 本发明的快速转发方法不限于图 6、 图 7 及其相关描述, 可以根据转发表的实际 情况根据图 5 的流程任意进行相关操作。
     根据本发明的示例性实施例, 快速转发表的形成分为两个步骤, 首先是注册关键 信息, 然后注册附属信息。 然而, 也可以在完成一次路由后一次生成快速转发表。 一般 TCP/ UDP 的数据流, 才生成快速转发表, 其它不常用报文不生成快速转发表。快速转发表可以支 持自动老化机制, 每条快速转发表项有老化时间, 如果一定时间内没有报文命中快速转发 表项, 则自动删除这条快速转发表项。 通过自动老化机制可以防止快速转发表项无限增加。
     图 8 是示出根据本发明示例性实施例的应用快速转发的示例的示图。
     网络终端封装 8.2.11 数据报文格式 ( 诸如, 浏览网页 ), 并将报文发送给无线接入 点 (AP)。
     AP 接收到报文后, 发现与无线控制器 (AC) 建立了隧道 (tunnel), 故对报文进行隧
     道封装, 外层源 IP 是 AP 的 IP, 目的 IP 是 AC 的 IP, 源 MAC 是 AP 的 MAC, 目的 MAC 是路由器 A 的 MAC, 并将报文转发给路由器 A。
     路由器 A 接收到 AP 的报文, 通过查找 ARP 表项和路由表, 把源 MAC 修改为路由器 A 的 MAC, 目的 MAC 修改为 AC 的 MAC, 并将报文转发给 AC。
     AC 接收到报文后, 发现目的 MAC 是自己的 MAC, 故提取隧道内层五元组关键信息。 如果查找五元组附属信息失败, 就注册五元组关键信息, 然后按照传统转发流程转发报文。 由于目的 IP 是自己的 IP, 并且是隧道报文, 故 AC 对报文解封装隧道, 又发现报文是 802.11 数据格式, 故将 801.11 数据格式转换为 802.3 数据格式, 然后将报文转发, 同时注册五元组 附属信息。这样就形成了快速转发表项, 如表 6 所示。
     表 6 根据本发明示例性实施例的快速转发表项
     报文通过路由或者转发最终到达无线终端请求的 Web 服务器地址。
     从 Web 服务器回复给无线终端的报文在 AC 处的处理正好相反, 是一个封装 802.11 报文格式和隧道报文格式, 同时生成快速转发表项的过程, 如表 7 所示, 在此不再累述。
     表 7 根据本发明示例性实施例的快速转发表项
     可以看出, 如果 AC 具有一条数据流的快速转发表项, 则 AP 转发给 AC 的报文, AC 需要 解封装隧道, 并将 802.11 报文格式转换为 802.3 报文格式 ; AC 转发给 AP 的报文, AC 需要加封 装隧道, 并将 802.3 报文格式转换为 802.11 报文格式。这里, 只需要查找快速转发表就可以完 成数据的转发, 报文不需要进行二层和三层协议处理, 大大地提高了 AC 数据转发的性能。
     根据本发明的示例性实施例, 通过快速转发表能够完成报文一次学习、 多次转发, 加快了报文转发效率, 降低了设备的性能压力。
     虽然已经参照示例性实施例示出和描述了本发明, 但是本领域的技术人员应该理 解: 在不脱离由权利要求定义的本发明的精神和范围的情况下, 可以进行形式和细节上的 各种改变。
    

网络转发设备的快速转发方法.pdf_第1页
第1页 / 共23页
网络转发设备的快速转发方法.pdf_第2页
第2页 / 共23页
网络转发设备的快速转发方法.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《网络转发设备的快速转发方法.pdf》由会员分享,可在线阅读,更多相关《网络转发设备的快速转发方法.pdf(23页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101938415A43申请公布日20110105CN101938415ACN101938415A21申请号201010266403222申请日20100830H04L12/56200601H04L29/0620060171申请人北京傲天动联技术有限公司地址100085北京市海淀区上地信息产业基地北区盈创动力大厦D栋8层72发明人韦安营苏韶华刘靖非范成龙74专利代理机构北京铭硕知识产权代理有限公司11286代理人韩明星张军54发明名称网络转发设备的快速转发方法57摘要提供了一种网络转发设备的快速转发方法。所述快速转发方法包括由网络转发设备接收报文;判断所述报文的目的MAC是否。

2、是所述网络转发设备的MAC;如果目的MAC是所述网络转发设备的MAC,则判断所述报文的目的IP是否是所述网络转发设备的IP;如果目的IP不是所述网络转发设备的IP,则提取所述报文的五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对所述报文进行以太网封装或隧道封装;将以太网封装或隧道封装的报文转发。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书12页附图6页CN101938418A1/4页21一种网络转发设备的快速转发方法,包括由网络转发设备接收报文。

3、;确定所述报文的目的MAC是否是所述网络转发设备的MAC;当目的MAC是所述网络转发设备的MAC时,确定所述报文的目的IP是否是所述网络转发设备的IP;当目的IP不是所述网络转发设备的IP时,提取所述报文的五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对所述报文进行以太网封装或隧道封装并将以太网封装或隧道封装的报文转发,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息,其中,五元组关键信息包。

4、括下行IP,对应上行报文的目的IP或者下行报文的源IP;上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类型;下行IP,对应上行报文的隧道目的IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上行MAC,对应上行报文的源MAC或者下行报文的目的MAC。2如权利要求1所述的快速转发。

5、方法,还包括如果没有查找到与所述五元组关键信息相应的五元组附属信息,则在快速转发表中注册所述五元组关键信息,使用所述报文的目的IP查找所述网络转发设备的路由表,获得所述报文的出接口和下一跳;当所述出接口不是隧道时,使用所述报文的下一跳查找所述网络转发设备的ARP表项,获得所述报文下一跳的MAC;使用所述报文的出接口的MAC和下一跳的MAC对所述报文进行以太网封装,并将所述报文的出接口的MAC和下一跳的MAC写入所述报文的五元组附属信息并将以太网封装的报文转发。3如权利要求1或2所述的快速转发方法,其中,所述快速转发表支持自动老化机制。4如权利要求1或2所述的快速转发方法,其中,所述五元组附属信。

6、息还包括协议转换信息。5如权利要求1或2所述的快速转发方法,其中,在进行所述查找时,仅查找五元组附属信息完整的快速转发表项。6一种网络转发设备的快速转发方法,包括由网络转发设备接收报文;确定所述报文的目的MAC是否是所述网络转发设备的MAC;当目的MAC是所述网络转发设备的MAC时,确定所述报文的目的IP是否是所述网络转发设备的IP;当目的IP不是所述网络转发设备的IP时,提取所述报文的五元组关键信息并查找快权利要求书CN101938415ACN101938418A2/4页3速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果没有查找到与所述五元组关键信息相应的五元组附属信息。

7、,则在快速转发表中注册所述五元组关键信息,使用所述报文的目的IP查找所述网络转发设备的路由表,获得所述报文的出接口;当所述出接口是隧道时,剥去所述报文的以太网封装,使用所述隧道先前配置的外层IP头的源IP和目的IP来对所述报文进行隧道封装,并将所述外层IP头的源IP和目的IP添加到所述报文的五元组附属信息;使用所述报文的外层IP头的目的IP查找所述网络转发设备的路由表,获得所述报文的出接口和下一跳;当所述出接口不是隧道时,使用所述报文的下一跳查找所述网络转发设备的ARP表项,获得所述报文下一跳的MAC;使用所述报文的出接口的MAC和下一跳的MAC对所述报文进行以太网封装,并将所述报文的出接口的。

8、MAC和下一跳的MAC写入所述报文的五元组附属信息;将以太网封装的报文转发,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息,其中,五元组关键信息包括下行IP,对应上行报文的目的IP或者下行报文的源IP;上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类型;下行IP,对应上行报文的隧道目的。

9、IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上行MAC,对应上行报文的源MAC或者下行报文的目的MAC。7如权利要求6所述的快速转发方法,其中,所述快速转发表支持自动老化机制。8如权利要求6所述的快速转发方法,其中,所述五元组附属信息还包括协议转换信息。9如权利要求6所述的快速转发方法,其中,在进行所述查找时,仅查找五元组附属信息完整的快速转发表项。10一种网络转发设备的快速转发方法,包括由网络转发设备接收报文;确定所述报文的目的MAC是否是所述网络转发设备的MAC;当目的MAC是所述网。

10、络转发设备的MAC时,确定所述报文的目的IP是否是所述网络转发设备的IP;当目的IP是所述网络转发设备的IP时,确定所述报文是否是隧道报文;当所述报文是隧道报文时,剥去所述报文的以太网封装和隧道封装,获得所述报文的五元组关键信息,并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对权利要求书CN101938415ACN101938418A3/4页4所述报文进行以太网封装并将以太网封装的报文转发,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项对应于一个报文并包括报。

11、文的五元组关键信息和五元组附属信息,其中,五元组关键信息包括下行IP,对应上行报文的目的IP或者下行报文的源IP;上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类型;下行IP,对应上行报文的隧道目的IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上行MAC,对应上行报文的源M。

12、AC或者下行报文的目的MAC。11如权利要求10所述的快速转发方法,还包括如果没有查找到与所述五元组关键信息相应的五元组附属信息,则在快速转发表中注册所述五元组关键信息,判断所述报文的目的IP是否是所述网络转发设备的IP;当所述报文的目的IP不是所述网络转发设备的IP时,使用所述报文的目的IP查找所述网络转发设备的路由表,获得所述报文的出接口和下一跳;当所述出接口不是隧道时,使用所述报文的下一跳查找所述网络转发设备的ARP表项,获得所述报文下一跳的MAC;使用所述报文的出接口的MAC和下一跳的MAC对所述报文进行以太网封装,并将所述报文的出接口的MAC和下一跳的MAC写入所述报文的五元组附属信。

13、息并将以太网封装的报文转发。12如权利要求10或11所述的快速转发方法,其中,所述快速转发表支持自动老化机制。13如权利要求10或11所述的快速转发方法,其中,所述五元组附属信息还包括协议转换信息。14如权利要求10或11所述的快速转发方法,其中,在进行所述查找时,仅查找五元组附属信息完整的快速转发表项。15一种网络转发设备的快速转发方法,包括由网络转发设备接收报文;提取所述报文的五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对所述报文进行以太网封装或隧道封装;如果没有查找到与所述。

14、五元组关键信息相应的五元组附属信息,则在快速转发表中注册所述五元组关键信息,并在转发报文的过程中完善与所述五元组关键信息相应的五元组附属信息,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息,其中,五元组关键信息包括下行IP,对应上行报文的目的IP或者下行报文的源IP;权利要求书CN101938415ACN101938418A4/4页5上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型。

15、,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类型;下行IP,对应上行报文的隧道目的IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上行MAC,对应上行报文的源MAC或者下行报文的目的MAC。权利要求书CN101938415ACN101938418A1/12页6网络转发设备的快速转发方法技术领域0001本发明涉及一种网络转发设备的转发方法,更具体地,涉及一种网络转发设备通过五元组关键信息和五元组附属信息进行快速转发的方法。背景技术0002图1。

16、是现有技术的网络转发设备的二层转发、三层转发和三层隧道转发的流程图。0003以下将参照图2、图3和图4对图1所示的二层转发、三层转发和三层隧道转发的流程图进行描述。0004图2是示出图1所示的现有技术的网络转发设备的二层转发的示图。如图2所示,网络设备1与网络设备2通过二层交换机互联,其中,二层交换机与网络设备1相连的接口为接口1,与网络设备2相连的接口为接口2。网络设备1向网络设备2发送报文的步骤如下0005网络设备1向网络设备2发送IP互联网协议报文,目的IP为网络设备2的IP即1112,源IP为自己即1111。网络设备1发现目的IP与自己网段相同,则无需查找路由,用目的IP查找本地ARP。

17、地址解析协议表项,得到目的IP对应的MAC媒体访问控制即MAC2。网络设备1对IP报文添加以太网封装并进行转发,源MAC为自己即MAC1,目的MAC为MAC2。0006交换机接收到所述报文,在操作S210,判断目的MAC是否为本设备MAC。如果目的MAC不是自己,则在操作S220使用目的MAC查找交换机MAC表。如果所述查找成功,得到出接口为接口2,则在操作S230将报文不做任何修改从接口2转发,如果查找不成功,则二层转发失败。0007随后,网络设备2接收报文。0008网络设备2向网络设备1发送报文,即上述过程的逆向处理,在此不作详细描述。0009图3是示出图1所示的现有技术的网络转发设备的三。

18、层转发的示图。如图3所示,网络设备1通过路由器1、路由器2与网络设备2相连,其中,路由器1与网络设备1相连的接口为接口1,路由器1与路由器2相连的接口为接口2,路由器2与路由器1相连的接口为接口3,路由器2与网络设备2相连的接口为接口4。网络设备1向网络设备2发送报文的步骤如下0010网络设备1向网络设备2发送IP报文,源IP为自己即1112,目的IP为网络设备2的IP即3331。网络设备1发现目的IP与自己IP不在同一网段,则用目的IP查找本地路由表,得到下一跳IP即1111;再用下一跳查找ARP表项得到MAC2。网络设备1对IP报文添加以太网封装并进行转发,源MAC为自己即MAC1,目的M。

19、AC为下一跳MAC即MAC2。0011路由器1从接口1接收到网络设备1发送的报文,在操作S210,判断目的MAC是否为本设备MAC。如果目的MAC为接口1的MAC,则进行三层转发逻辑处理,即,在操作S310,说明书CN101938415ACN101938418A2/12页7路由器1检查报文目的IP是否为本设备IP,如果不是路由器1自己的IP,则路由器1在操作S320用报文目的IP3331查找路由表。如果查找不成功,则路由失败,如果所述查找成功,得到下一跳为2222,出接口为接口2,则路由器1在操作S330用下一跳查找ARP表项。如果查找不成功,则ARP失败,如果所述查找成功,得到MAC为MAC。

20、4,则路由器1在操作S340将报文源MAC替换为接口2的MAC地址即MAC3,将报文目的MAC地址替换为MAC4,从接口2转发。0012路由器2从接口3接收到路由器1转发的报文,进行与上述相同的操作,并最后将报文源MAC替换为接口4的MAC地址即MAC5,将报文目的MAC地址替换为MAC6,从接口4转发。0013随后,网络设备2接收路由器2转发的报文。0014网络设备2向网络设备1发送报文,即上述过程的逆向处理,在此不作详细描述。0015图4是示出图1所示的现有技术的网络转发设备的三层隧道转发的示图。三层隧道主要包括IP隧道、GRE通用路由封装隧道、CAPWAP隧道等。隧道有两层IP头,外层I。

21、P头由隧道发起者加上,源IP为隧道发起者的IP,目的IP为隧道终结者的IP;内层IP头,源IP和目的IP为报文真实源IP和目的IP。0016如图4所示,网络设备1通过路由器1、隧道、路由器2与网络设备2相连,路由器1与路由器2建立隧道,隧道外层IP头的源IP为路由器1接口2的IP,隧道外层IP头的目的IP为路由器2接口3的IP。其中,路由器1上与网络设备1相连的接口为接口1,路由器1上与隧道相连的接口为接口2,路由器2上与隧道相连的接口为接口3,路由器2上与网络设备2相连的接口为接口4。网络设备1向网络设备2发送报文的步骤如下0017网络设备1向网络设备2发送IP报文,源IP为自己即1112,。

22、目的IP为网络设备2的IP即3331。网络设备1发现目的IP与自己IP不在同一网段,则用目的IP查找本地路由表,得到下一跳IP即1111;再用下一跳查找ARP表项得到MAC2。网络设备1对IP报文添加以太网封装并进行转发,源MAC为自己即MAC1,目的MAC为下一跳MAC即MAC2。0018路由器1从接口1收到网络设备1发送的报文,在操作S210,判断目的MAC是否为本设备MAC。如果目的MAC为接口1的MAC,则进行三层转发处理,即,在操作S310,路由器1检查报文目的IP是否为本设备IP,如果不是路由器1自己的IP,则路由器1在操作S320使用报文目的IP3331查找路由表。参照图4路由器。

23、1的路由表,除了4444和1112以外的IP均按照目的IP为0000处理,诸如,查找3331可得到出接口为隧道1。如果查找不成功,则路由失败,如果所述查找成功,通过在图4所示的路由器1的路由表中查找报文目的IP3331得到出接口为隧道1,则路由器1在操作S410剥去报文以太网封装,加隧道封装即,添加外层IP头,外层IP头的源IP为2221,目的IP为4444,随后操作返回S310。在操作S310,路由器1检查隧道报文的外层目的IP是否为本设备IP,如果不是路由器1自己的IP,则路由器1在操作S320使用所述外层目的IP查找路由表。如果查找成功,通过在图4所示的路由器1的路由表中查找报文目的IP。

24、4444得到下一跳为2222,出接口为接口2,则路由器1在操作S330再使用下一跳2222查找ARP表项。如果查找成功,得到下一跳MAC为MAC4,则路由器1在操作S340对隧道报文添加以太网封装,将报文源MAC替换为接口2的MAC地址即MAC3,将报文目的MAC地址替换说明书CN101938415ACN101938418A3/12页8为MAC4,从接口2转发。0019经过隧道的转发之后,路由器2从接口3接收到转发的隧道报文,在操作S210,判断外层目的MAC是否为本设备MAC。如果外层目的MAC为接口3的MAC,则进行三层转发处理,即,在操作S310,路由器2检查报文外层目的IP是否为本设备。

25、IP,如果是路由器2自己的IP,则送上层处理,即,路由器2在操作S420判断接收到的报文是否是隧道报文,如果不是隧道报文,则进行主机协议处理。如果是隧道报文,则路由器2在操作S430剥去报文以太网封装和隧道封装,得到内层IP报文,随后操作返回S310。在操作S310,路由器2检查报文的内层目的IP即3331是否为本设备IP,如果不是路由器2自己的IP,则路由器2在操作S320使用所述内层目的IP查找路由表。如果查找成功,在图4所示的路由器2的路由表中查找报文目的IP3331得到下一跳为3331,出接口为接口4,则路由器2在操作S330再使用所述下一跳查找ARP表项,得到下一跳MAC为MAC8。。

26、在操作S340,路由器2对报文添加以太网封装,将报文源MAC替换为接口4的MAC地址即MAC7,将报文目的MAC替换为MAC8,从接口4转发。0020随后,网络设备2接收路由器2转发的报文。0021网络设备2向网络设备1发送报文,即上述过程的逆向处理,在此不作详细描述。0022在现有技术的网络转发设备二层转发逻辑、三层转发逻辑和三层隧道转发逻辑中,网络转发设备需要频繁地查找MAC表、路由表、ARP表项等,转发效率低,性能压力大。发明内容0023本发明的目的在于提供一种网络转发设备通过五元组关键信息和五元组复数信息进行快速转发的方法,从而能够完成报文一次学习、多次转发,加快了报文转发效率。002。

27、4本发明提供了一种网络转发设备的快速转发方法,包括由网络转发设备接收报文;确定所述报文的目的MAC是否是所述网络转发设备的MAC;当目的MAC是所述网络转发设备的MAC时,确定所述报文的目的IP是否是所述网络转发设备的IP;当目的IP不是所述网络转发设备的IP时,提取所述报文的五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对所述报文进行以太网封装或隧道封装并将以太网封装或隧道封装的报文转发,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项对应于一。

28、个报文并包括报文的五元组关键信息和五元组附属信息,其中,五元组关键信息包括下行IP,对应上行报文的目的IP或者下行报文的源IP;上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类型;下行IP,对应上行报文的隧道目的IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上行MAC,对应。

29、上行报文的源MAC或者下行报文的目的MAC。0025所述快速转发方法还包括如果没有查找到与所述五元组关键信息相应的五元组附属信息,则在快速转发表中注册所述五元组关键信息,使用所述报文的目的IP查找所述说明书CN101938415ACN101938418A4/12页9网络转发设备的路由表,获得所述报文的出接口和下一跳;当所述出接口不是隧道时,使用所述报文的下一跳查找所述网络转发设备的ARP表项,获得所述报文下一跳的MAC;使用所述报文的出接口的MAC和下一跳的MAC对所述报文进行以太网封装,并将所述报文的出接口的MAC和下一跳的MAC写入所述报文的五元组附属信息并将以太网封装的报文转发。0026。

30、所述快速转发方法,其中,所述快速转发表支持自动老化机制。0027所述快速转发方法,其中,所述五元组附属信息还包括协议转换信息。0028所述快速转发方法,其中,在进行所述查找时,仅查找五元组附属信息完整的快速转发表项。0029提供了一种网络转发设备的快速转发方法,包括由网络转发设备接收报文;确定所述报文的目的MAC是否是所述网络转发设备的MAC;当目的MAC是所述网络转发设备的MAC时,确定所述报文的目的IP是否是所述网络转发设备的IP;当目的IP不是所述网络转发设备的IP时,提取所述报文的五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果没有查找到与所。

31、述五元组关键信息相应的五元组附属信息,则在快速转发表中注册所述五元组关键信息,使用所述报文的目的IP查找所述网络转发设备的路由表,获得所述报文的出接口;当所述出接口是隧道时,剥去所述报文的以太网封装,使用所述隧道先前配置的外层IP头的源IP和目的IP来对所述报文进行隧道封装,并将所述外层IP头的源IP和目的IP添加到所述报文的五元组附属信息;使用所述报文的外层IP头的目的IP查找所述网络转发设备的路由表,获得所述报文的出接口和下一跳;当所述出接口不是隧道时,使用所述报文的下一跳查找所述网络转发设备的ARP表项,获得所述报文下一跳的MAC;使用所述报文的出接口的MAC和下一跳的MAC对所述报文进。

32、行以太网封装,并将所述报文的出接口的MAC和下一跳的MAC写入所述报文的五元组附属信息;将以太网封装的报文转发,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息,其中,五元组关键信息包括下行IP,对应上行报文的目的IP或者下行报文的源IP;上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类。

33、型;下行IP,对应上行报文的隧道目的IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上行MAC,对应上行报文的源MAC或者下行报文的目的MAC。0030所述快速转发方法,其中,所述快速转发表支持自动老化机制。0031所述快速转发方法,其中,所述五元组附属信息还包括协议转换信息。0032所述快速转发方法,其中,在进行所述查找时,仅查找五元组附属信息完整的快速转发表项。0033提供了一种网络转发设备的快速转发方法,包括由网络转发设备接收报文;确定所述报文的目的MAC是否是所述网络转发设备的MAC。

34、;当目的MAC是所述网络转发设备的MAC时,确定所述报文的目的IP是否是所述网络转发设备的IP;当目的IP是所述网络转发设备的IP时,确定所述报文是否是隧道报文;当所述报文是隧道报文时,剥去所述报文说明书CN101938415ACN101938418A5/12页10的以太网封装和隧道封装,获得所述报文的五元组关键信息,并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对所述报文进行以太网封装并将以太网封装的报文转发,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项。

35、对应于一个报文并包括报文的五元组关键信息和五元组附属信息,其中,五元组关键信息包括下行IP,对应上行报文的目的IP或者下行报文的源IP;上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类型;下行IP,对应上行报文的隧道目的IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上行MA。

36、C,对应上行报文的源MAC或者下行报文的目的MAC。0034所述快速转发方法还包括如果没有查找到与所述五元组关键信息相应的五元组附属信息,则在快速转发表中注册所述五元组关键信息,判断所述报文的目的IP是否是所述网络转发设备的IP;当所述报文的目的IP不是所述网络转发设备的IP时,使用所述报文的目的IP查找所述网络转发设备的路由表,获得所述报文的出接口和下一跳;当所述出接口不是隧道时,使用所述报文的下一跳查找所述网络转发设备的ARP表项,获得所述报文下一跳的MAC;使用所述报文的出接口的MAC和下一跳的MAC对所述报文进行以太网封装,并将所述报文的出接口的MAC和下一跳的MAC写入所述报文的五元。

37、组附属信息并将以太网封装的报文转发。0035所述快速转发方法,其中,所述快速转发表支持自动老化机制。0036所述快速转发方法,其中,所述五元组附属信息还包括协议转换信息。0037所述快速转发方法,其中,在进行所述查找时,仅查找五元组附属信息完整的快速转发表项。0038提供了一种网络转发设备的快速转发方法,包括由网络转发设备接收报文;提取所述报文的五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息相应的五元组附属信息;如果查找到与所述五元组关键信息相应的五元组附属信息,则根据五元组附属信息对所述报文进行以太网封装或隧道封装;如果没有查找到与所述五元组关键信息相应的五元组附属信息,。

38、则在快速转发表中注册所述五元组关键信息,并在转发报文的过程中完善与所述五元组关键信息相应的五元组附属信息,其中,所述快速转发表存储在所述网络转发设备中并包括多个快速转发表项,每个快速转发表项对应于一个报文并包括报文的五元组关键信息和五元组附属信息,其中,五元组关键信息包括下行IP,对应上行报文的目的IP或者下行报文的源IP;上行IP,对应上行报文的源IP或者下行报文的目的IP;下行端口,对应上行报文的目的端口或者下行报文的源端口;上行端口,对应上行报文的源端口或者下行报文的目的端口;协议类型,对应报文IP头中的协议类型,其中,五元组附属信息包括隧道类型,指示快速转发表项对应的报文的隧道类型;下。

39、行IP,对应上行报文的隧道目的IP或者下行报文的隧道源IP;上行IP,对应上行报文的隧道源IP或者下行报文的隧道目的IP;下行MAC,对应上行报文的目的MAC或者下行报文的源MAC;上说明书CN101938415ACN101938418A6/12页11行MAC,对应上行报文的源MAC或者下行报文的目的MAC。0039将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明的实施而得知。附图说明0040通过下面结合附图进行的详细描述,本发明的上述和其它目的和特点将会变得更加清楚,其中0041图1是现有技术的网络转发设备的二层转发、三层转发和三层隧道转。

40、发的流程图;0042图2是示出图1所示的现有技术的网络转发设备的二层转发的示图;0043图3是示出图1所示的现有技术的网络转发设备的三层转发的示图;0044图4是示出图1所示的现有技术的网络转发设备的三层隧道转发的示图;0045图5是根据本发明示例性实施例的网络转发设备的二层转发、三层快速转发和三层隧道快速转发的流程图;0046图6是示出图5所示的根据本发明示例性实施例的网络转发设备的三层快速转发的示图;0047图7是示出图5所示的根据本发明示例性实施例的网络转发设备的三层隧道快速转发的示图;0048图8是示出根据本发明示例性实施例的应用快速转发的示例的示图。具体实施方式0049现在,详细描述。

41、本发明的实施例,其示例在附图中表示,其中,相同的标号始终表示相同的部件。0050IP地址可以唯一确定一台网络设备,协议和端口号可以唯一确定一台网络设备的应用程序。假设网络设备1和网络设备2通信,只要具备以下五个元素就可以确定唯一网络设备1和网络设备2的数据流源IP、目的IP、协议类型、源端口和目的端口。0051本发明在收包驱动中保存一个快速转发表,快速转发表包括多条快速转发表项,每条快速转发表项包括唯一确定一条数据流的五元组的五元组关键信息以及转发所需的五元组附属信息。表1是根据本发明示例性实施例的快速转发表项的示例。应该了解,除了表1所示出的之外,快速转发表项中的五元组附属信息还可以包括其它。

42、快速转发信息,诸如协议转换信息等。00520053表1根据本发明示例性实施例的快速转发表项0054快速转发表分为两部分五元组关键信息,即业务流的五元组;五元组附属信息,说明书CN101938415ACN101938418A7/12页12包括用于加/去隧道封装的隧道转发信息和用于报文二层转发的二层转发信息。0055对于五元组关键信息即,隧道报文的内层五元组,或者普通三层报文非隧道报文的五元组,下行IP对应上行报文的目的IP或者下行报文的源IP;上行IP对应上行报文的源IP或者下行报文的目的IP;下行端口对应上行报文的目的端口或者下行报文的源端口;上行端口对应上行报文的源端口或者下行报文的目的端口。

43、;协议类型对应报文IP头中的协议类型。0056对于隧道转发信息,隧道类型指示本快速转发表项对应的数据流的隧道类型诸如,否即,不是隧道、加隧道、去隧道等,所述隧道可以是IPIP隧道、GRE隧道等,但本发明不限于此;下行IP对应上行报文的隧道目的IP或者下行报文的隧道源IP,仅当隧道类型指示加隧道时存在;上行IP对应上行报文的隧道源IP或者下行报文的隧道目的IP,仅当隧道类型指示加隧道时存在。0057对于二层转发信息,下行MAC对应上行报文的目的MAC或者下行报文的源MAC;上行MAC对应上行报文的源MAC或者下行报文的目的MAC。0058在使用五元组关键信息查找快速转发表时,仅对五元组附属信息完。

44、整的快速转发表项进行查找,只有五元组关键信息而五元组附属信息还不完整的快速转发表项不参与所述查找。0059图5是根据本发明示例性实施例的网络转发设备的二层转发、三层快速转发和三层隧道快速转发的流程图。0060以下将参照图6和图7对图5所示的三层快速转发和三层隧道快速转发的流程图进行描述。0061图6是示出图5所示的根据本发明示例性实施例的网络转发设备的三层快速转发的示图。如图6所示,网络设备1通过路由器1、路由器2与网络设备2相连,其中,路由器1与网络设备1相连的接口为接口1,路由器1与路由器2相连的接口为接口2,路由器2与路由器1相连的接口为接口3,路由器2与网络设备2相连的接口为接口4。网。

45、络设备1向网络设备2发送报文的步骤如下0062网络设备1向网络设备2发送HTTP请求报文,协议类型是TCP,源端口是4630,目的端口是80,源IP为自己即1112,目的IP为网络设备2的IP即3331。网络设备1发现目的IP与自己IP不在同一网段,故用目的IP查找本地路由表,得到下一跳IP即1111;再用下一跳查找ARP表项得到MAC2。网络设备1对IP报文添加以太网封装并进行转发,源MAC为自己即MAC1,目的MAC为下一跳MAC即MAC2。0063路由器1从接口1接收到网络设备1发送的报文,在操作S610,判断目的MAC是否为本设备MAC。由于目的MAC为接口1的MAC,故路由器1在操作。

46、S620检查报文目的IP即3331是否为本设备IP。由于不是路由器1自己的IP,故路由器1在操作S630提取五元组关键信息并查找快速转发表,确定是否能查到与所述五元组关键信息对应的完整的五元组附属信息如果目的MAC不是自己,则应该进行图2所示的传统二层转发处理。这里分为两种情况,查找命中和查找失败。0064如果查找未命中,则注册这个五元组关键信息,然后按照传统三层转发流程处理,即,路由器1在操作S640用报文目的IP查找路由表。如果查找不成功,则路由失败,如果所述查找成功,通过在图6所示的路由器1的路由表中查找报文目的IP即3331得到下说明书CN101938415ACN101938418A8。

47、/12页13一跳为2222,出接口为接口2,则路由器1在操作S650用下一跳查找ARP表项。如果查找不成功,则ARP失败,如果所述查找成功,通过在图6所示的路由器1的ARP表项中查找报文的下一跳即2222得到MAC为MAC4,则路由器1在操作S660将报文源MAC替换为接口2的MAC地址即MAC3,将报文目的MAC地址替换为MAC4,并完善快速转发表项,将二层转发信息上行、下行MAC写入五元组附属信息,并将报文从接口2转发。这样就有了这个数据流的快速转发表项,如表2所示,其中,由于不是隧道报文,故五元组附属信息的上行、下行IP不存在。00650066表2根据本发明示例性实施例的快速转发表项00。

48、67如果查找命中,则路由器1在操作S670查看五元组附属信息,如果不是隧道报文,则对于上行报文,用上行MAC替换源MAC,下行MAC替换目的MAC;对于下行报文,用下行MAC替换源MAC,上行MAC替换目的MAC;然后将报文转发;如果是隧道报文,则根据附属信息加隧道封装或解隧道封装,这将在后面进行详细描述。0068路由器2从接口1接收到路由器1转发过来的报文,在操作S610,判断目的MAC是否为本设备MAC。由于目的MAC为接口3的MAC,故路由器2在操作S620检查报文目的IP即3331是否为本设备IP,由于不是路由器2自己的IP,故路由器1在操作S630提取五元组关键信息并查找快速转发表,。

49、确定是否能查到与所述五元组关键信息相应的完整的五元组附属信息如果目的MAC不是自己,则应该进行图2所示的传统二层转发处理。这里分为两种情况,查找命中和查找失败。0069如果查找未命中,则注册这个五元组关键信息,然后按照传统三层转发流程处理,即,路由器2在操作S640用报文目的IP查找路由表。如果查找成功,通过在图6所示的路由器2的路由表中查找报文目的IP即3331得到下一跳为3331,出接口为接口4,则路由器2在操作S650用下一跳查找ARP表项。如果查找成功,通过在图6所示的路由器2的ARP表项中查找报文的下一跳即3331得到MAC为MAC6,则路由器2在操作S660将报文源MAC替换为接口。

50、4的MAC地址即MAC5,将报文目的MAC地址替换为MAC6,并完善快速转发表项,将二层转发信息上行、下行MAC写入五元组附属信息,并将报文从接口4转发。这样就有了这个数据流的快速转发表项,如表3所示0070说明书CN101938415ACN101938418A9/12页140071表3根据本发明示例性实施例的快速转发表0072如果查找命中,则路由器2在操作S670查看五元组附属信息,由于不是隧道报文隧道类型是“否”,故对于上行报文,用五元组附属信息中的上行MAC替换源MAC,下行MAC替换目的MAC;对于下行报文,用下行MAC替换源MAC,上行MAC替换目的MAC;然后将报文转发。如果是隧道。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1