CN108040135A - 一种vpws报文穿越三层ip网络的方法及装置 - Google Patents

一种vpws报文穿越三层ip网络的方法及装置 Download PDF

Info

Publication number
CN108040135A
CN108040135A CN201711324838.6A CN201711324838A CN108040135A CN 108040135 A CN108040135 A CN 108040135A CN 201711324838 A CN201711324838 A CN 201711324838A CN 108040135 A CN108040135 A CN 108040135A
Authority
CN
China
Prior art keywords
exchange chip
gre
mac
fpga
vpws
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.)
Granted
Application number
CN201711324838.6A
Other languages
English (en)
Other versions
CN108040135B (zh
Inventor
魏立军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Province Postal Communication Electricity Ltd Co
Original Assignee
Anhui Province Postal Communication Electricity Ltd Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anhui Province Postal Communication Electricity Ltd Co filed Critical Anhui Province Postal Communication Electricity Ltd Co
Priority to CN201711324838.6A priority Critical patent/CN108040135B/zh
Publication of CN108040135A publication Critical patent/CN108040135A/zh
Application granted granted Critical
Publication of CN108040135B publication Critical patent/CN108040135B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种VPWS报文穿越三层IP网络的方法及装置,由控制面和转发面组成,多核CPU作为控制面的核心,运行路由协议、LDP协议、GRE协议、ARP协议多种控制面协议,及生成转发面处理数据包时需要的各种表项包括路由表、MPLS标签表、GRE会话表、ARP表;转发面由交换芯片和FPGA实现,交换芯片和FPGA互相配合处理VPWS数据包,交换芯片负责接收数据包,做相应处理后把数据包发送给FPGA,FPGA对数据包处理后再次发送给交换芯片,交换芯片对数据包做最后处理,发送出去;本发明通过CPU作为控制面核心给转发面写VPWS和GRE相关各种转发表项,交换芯片和FPGA作为转发面互相配合处理VPWS报文穿越IP网络,可以实现VPWS over GRE的线速转发,保证了设备端口的转发性能。

Description

一种VPWS报文穿越三层IP网络的方法及装置
技术领域
本发明涉及计算机网络数据通信技术领域,具体涉及一种VPWS报文穿越三层IP网络的装置及方法。
背景技术
VPWS(Virtual Private Wire Service),指建设在mpls网络的基础设施之上,在两个路由器的一对端口之间提供高速的二层透传,可将本端PE设备的原始的以太网报文透明传送到远端PE设备,是一种二层的VPN协议。
GRE(Generic Routing Encapsulation)即通用路由封装协议,是VPN第三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术,是对某些网络层协议(如IP、IPX、MPLS等)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。定义GRE头中Protocol Type为0x8847时,后面的封装报文为MPLS类型报文。
通常情况下,VPWS包承载在LSP(Label Switching Path)上面,在运营商网络上是通过MPLS标签交换进行报文传送。随着网络技术的发展,有的运营商要求VPWS包能够穿越三层IP网络,从IP公网透传出去。对于这种需求,一般都是采用VPWS包封装在GRE中,从IP公网中传输。对于这种PW(Pseudo-Wire伪线)over GRE的数据包处理,目前业界主流的交换芯片例如broadcom或Marvel,都只能对用户包做一次PW标签封装或IP封装,不能对用户包做PW标签封装后再次做IP封装,同样的,交换芯片也不能完成对PW over GRE这种数据包做剥掉IP头后再次剥掉PW标签的动作;对于这种PW over GRE的数据包处理,如果用CPU软转发来处理,虽然代码灵活,但是转发能力太差,端口无法线速。
因此有必要提供一种VPWS报文穿越三层IP网络的方法及设备,并且要能保证转发性能,端口实现线速转发。
发明内容
本发明提出的一种VPWS报文穿越三层IP网络的装置,通过CPU作为控制面核心给转发面写VPWS和GRE相关各种转发表项,交换芯片和FPGA作为转发面互相配合处理VPWS报文穿越IP网络,可以实现VPWS over GRE的线速转发,保证了设备端口的转发性能。
为实现上述目的,本发明采用了以下技术方案:
一种VPWS报文穿越三层IP网络的方法,包括:
由控制面和转发面组成,多核CPU作为控制面的核心,运行路由协议、LDP协议、GRE协议、ARP协议多种控制面协议,及生成转发面处理数据包时需要的各种表项包括路由表、MPLS标签表、GRE会话表、ARP表;转发面由交换芯片和FPGA实现,交换芯片和FPGA互相配合处理VPWS数据包,交换芯片负责接收数据包,做相应处理后把数据包发送给FPGA,FPGA对数据包处理后再次发送给交换芯片,交换芯片对数据包做最后处理,发送出去;
具体包括以下步骤:
当用户数据包进入VPWS网络PE的UNI入口时,
步骤1,交换芯片做第一处理,在包外面依次封装上PW标签、特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA;
步骤2,FPGA收到包后做第二处理,剥掉特殊VLAN、特殊源MAC和特殊目的MAC,在PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片;
步骤3,交换芯片做第三处理,根据GRE头中目的IP地址,查路由表找到交换芯片出口NNI,把包从NNI出口发送出本设备。
当公网数据包到达VPWS网络PE的NNI入口时,
步骤4,交换芯片做第四处理,查路由表发现是本地路由且IP协议为GRE后,把原始包发送给FPGA;
步骤5,FPGA收到包后做第五处理,判断IP头中为GRE协议,且GRE头中为MPLS协议,FPGA剥掉GRE头,把包发送给交换芯片;
步骤6,交换芯片做第六处理,根据包中PW标签查找MPLS标签转发表,获取UNI出口,剥掉包的目的MAC、源MAC和PW标签,把用户载荷从UNI口发送出去。
一种VPWS报文穿越三层IP网络的装置,所述装置包括:
业务协议模块,用于运行路由协议、LDP协议、GRE协议、ARP协议;业务协议模块运行路由协议,实现远端PE设备与本地PE设备之间的路由打通;业务协议模块在两个PE设备上运行GRE协议,在两个PE设备上面形成GRE隧道;业务协议模块在两个PE设备的GRE隧道接口上运行LDP协议,互相分配PW标签给对方;业务协议模块还需要在每个PE设备上运行ARP协议,使PE设备与直连的P设备之间学习到对方MAC地址;业务协议模块对这些协议数据处理后,将处理后的业务转发信息发消息给转发表管理模块;
转发表管理模块,用于接收所述业务转发信息,将这些业务转发信息整合转换为交换芯片处理模块和FPGA处理模块需要的格式,写入到交换芯片处理模块和FPGA处理模块;
交换芯片处理模块,用于对PE设备的UNI和NNI入口的数据包处理后,把数据包发送给FPGA处理模块,以及从FPGA处理模块收到数据包处理后,从PE设备的NNI口和UNI口发送出去。交换芯片处理模块处理数据包需要查找的各种业务转发表由转发表管理模块写入;
FPGA处理模块,用于接收交换芯片处理模块发送过来的数据包并对数据包做进一步处理,然后再发送给交换芯片处理模块。FPGA处理模块处理数据包需要查找的各种业务转发表由转发表管理模块写入;
如前所述,当用户数据包进入VPWS网络PE的UNI入口时,
步骤1中,交换芯片处理模块做第一处理,在包外面依次封装上PW标签、特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA处理模块。转发表管理模块需要给交换芯片UNI入口打上VPWS属性标志,并把本VPWS实例对应的VPN转发表和虚拟ARP表写入交换芯片处理模块。交换芯片处理模块查到UNI入口为VPWS属性,会继续查VPN转发表,在用户数据包前面封装上PW标签;继续查ARP表,在包的PW标签外面封装上特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA处理模块。所述特殊VLAN,其值等于GRE会话号,用于步骤2中FPGA处理模块对数据包做第二处理。因为本发明支持多VPWS实例、多GRE会话,因此步骤2中FPGA处理模块需要知道本VPWS实例的数据包承载在哪个GRE会话中,本发明用数据包中VLAN来携带GRE会话号。特殊源MAC为0x5a5a5aa5a5a5,特殊目的MAC为0xa5a5a55a5a5a,用于告知步骤2中FPGA处理模块从交换芯片处理模块收到这种特殊MAC的包,需要做封装GRE头的处理。
步骤2中,FPGA处理模块收到包后做第二处理,剥掉包的特殊VLAN、特殊源MAC和特殊目的MAC,在PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片处理模块。FPGA处理模块如果从交换芯片处理模块收到数据包的源MAC为0x5a5a5aa5a5a5,目的MAC为0xa5a5a55a5a5a,会剥掉数据包的目的MAC、源MAC和VLAN,并用VLANID(即GRE会话号)查找GRE会话表。GRE会话表由转发表管理模块写入,表内容包括目的IP、源IP、源MAC、目的MAC。其中目的IP、源IP为本GRE会话的目的IP、源IP,源MAC随便填个合法单播固定值,目的MAC填本PE设备MAC。FPGA处理模块在数据包的PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片处理模块。
步骤3中,交换芯片处理模块做第三处理,根据GRE头中目的IP地址,查路由表找到交换芯片出口NNI,把包从NNI出口发送出本设备。转发表管理模块需要写路由表和ARP表到交换芯片处理模块。交换芯片处理模块查路由表获取交换芯片出口NNI,然后查ARP表获取直连本PE设备的下一跳设备MAC地址。交换芯片处理模块剥离数据包的目的MAC和源MAC,封装ARP表中的源MAC和目的MAC,然后把数据包从交换芯片出口发送出去。
当公网数据包到达VPWS网络PE的NNI入口时,
步骤4中,交换芯片处理模块做第四处理,查路由表发现是本地路由且IP协议为GRE后,把原始包发送给FPGA处理模块;转发表管理模块需要写路由表到交换芯片处理模块,并在初始化时写一条ACL规则给交换芯片处理模块:匹配路由表为本地路由且IP协议号等于47(GRE)的数据包上送给FPGA处理模块。
步骤5中,FPGA处理模块收到包后做第五处理,判断IP头中为GRE协议(IP协议号47),且GRE头中协议类型为MPLS协议(0x8847),FPGA剥掉GRE头,把包发送给交换芯片模块;
步骤6中,交换芯片处理模块做第六处理,根据包中PW标签查找MPLS标签转发表,获取UNI出口,剥掉包的目的MAC、源MAC和PW标签,把用户载荷从UNI口发送出去。转发表管理模块需要写MPLS标签转发表到交换芯片处理模块,指定交换芯片出口。
由上述技术方案可知,本发明把多核CPU作为控制面的核心,生成转发面需要的各种表项。转发面由交换芯片和FPGA实现,交换芯片和FPGA转发依据的表项都由多核CPU写入。当用户数据包进入VPWS网络PE的UNI入口时,交换芯片做第一处理,在包外面依次封装上PW标签、特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA;FPGA收到包后做第二处理,剥掉特殊VLAN、特殊源MAC和特殊目的MAC,在PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片;交换芯片做第三处理,根据GRE头中目的IP地址,查路由表找到交换芯片出口NNI,把包从NNI出口发送出本设备。当公网数据包到达VPWS网络PE的NNI入口时,交换芯片做第四处理,查路由表发现是本地路由且IP协议为GRE后,把原始包发送给FPGA;FPGA收到包后做第五处理,判断IP头中为GRE协议,且GRE头中为MPLS协议,FPGA剥掉GRE头,把包发送给交换芯片;交换芯片做第六处理,根据包中PW标签查找MPLS标签转发表,获取UNI出口,剥掉包的目的MAC、源MAC和PW标签,把用户载荷从UNI口发送出去。本发明通过CPU作为控制面核心给转发面写VPWS和GRE相关各种转发表项,交换芯片和FPGA作为转发面互相配合处理VPWS报文穿越IP网络,可以实现VPWS over GRE的线速转发,保证了设备端口的转发性能。
附图说明
图1为本发明的VPWS报文穿越三层IP网络的方法步骤流程图;
图2为本发明的硬件连接结构图;
图3为本发明的设备的结构框图;
图4为本发明的交换芯片处理模块第一处理流程图;
图5为本发明的FPGA处理模块第二处理流程图;
图6为本发明的交换芯片处理模块第三处理流程图;
图7为本发明的交换芯片处理模块第四处理流程图;
图8为本发明的FPGA处理模块第五处理流程图;
图9为本发明的交换芯片处理模块第六处理流程图。
具体实施方式
下面结合附图对本发明做进一步说明:
如图1所示,本实施例所述的VPWS报文穿越三层IP网络的方法,包括:
当用户数据包进入VPWS网络PE的UNI入口时:
步骤S101、交换芯片做第一处理,在包外面依次封装上PW标签、特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA;
步骤S102、FPGA收到包后做第二处理,剥掉特殊VLAN、特殊源MAC和特殊目的MAC,在PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片;
步骤S103、交换芯片做第三处理,根据GRE头中目的IP地址,查路由表找到交换芯片出口NNI,把包从NNI出口发送出本设备。
当公网数据包到达VPWS网络PE的NNI入口时:
步骤S104、交换芯片做第四处理,查路由表发现是本地路由且IP协议为GRE后,把原始包发送给FPGA;
步骤S105、FPGA收到包后做第五处理,判断IP头中为GRE协议,且GRE头中为MPLS协议,FPGA剥掉GRE头,把包发送给交换芯片;
步骤S106、交换芯片做第六处理,根据包中PW标签查找MPLS标签转发表,获取UNI出口,剥掉包的目的MAC、源MAC和PW标签,把用户载荷从UNI口发送出去。
如图2所示,多核CPU作为控制面的核心,承载着整个控制面软件系统的运行,并生成转发面需要的各种表项,转发面由交换芯片和FPGA实现,交换芯片和FPGA转发依据的表项都由多核CPU写入。对于VPWS报文穿越三层IP网络组网环境中的PE设备,无论是私网用户报文进入IP公网,还是IP公网报文转发到私网,报文都要先进入交换芯片,交换芯片初步处理后发送给FPGA,FPGA处理后再发送给交换芯片,最后交换芯片处理后把报文发送出去。
依据本发明实施例的另一个方面,提供了一种VPWS报文穿越三层IP网络的设备,如图3所示,其中,图中细箭头表示转发表信息,粗箭头表示转发流量,所述设备包括:
业务协议模块,用于运行路由协议、LDP协议、GRE协议、ARP协议等,要实现远端PE设备与本地PE设备之间的路由打通,在两个PE设备的GRE隧道接口上运行LDP协议,互相分配PW标签给对方。每个PE设备还需要与直连下一跳的P设备之间学习到对方MAC。业务协议模块对这些协议数据处理后,将处理后的业务转发信息发消息给转发表管理模块;
转发表管理模块,用于接收所述业务转发信息,将这些业务转发信息整合转换为交换芯片处理模块和FPGA处理模块需要的格式,写入到交换芯片处理模块和FPGA处理模块;
交换芯片处理模块,用于对PE设备的UNI和NNI入口的数据包处理后,把数据包发送给FPGA处理模块,以及从FPGA处理模块收到数据包处理后,从PE设备的NNI口和UNI口发送出去。交换芯片处理模块处理数据包需要查找的各种业务转发表由转发表管理模块写入;
FPGA处理模块,用于接收交换芯片处理模块发送过来的数据包并对数据包做进一步处理,然后再发送给交换芯片处理模块。FPGA处理模块处理数据包需要查找的各种业务转发表由转发表管理模块写入;
为进一步了解本发明实施例提供的数据包在设备中转发的步骤流程,下面将详细说明。
在步骤S101中,交换芯片处理模块做第一处理,在包外面依次封装上PW标签、特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA处理模块。转发表管理模块需要给交换芯片UNI入口打上VPWS属性标志,并把本VPWS实例对应的VPN转发表和虚拟ARP表写入交换芯片处理模块。交换芯片处理模块查到UNI入口为VPWS属性,会继续查VPN转发表,在用户数据包前面封装上PW标签;继续查ARP表,在包的PW标签外面封装上特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA处理模块。所述特殊VLAN,其值等于GRE会话号,用于步骤S102中FPGA处理模块对数据包做第二处理。因为本发明支持多VPWS实例、多GRE会话,因此步骤S102中FPGA处理模块需要知道本VPWS实例的数据包承载在哪个GRE会话中,本发明用数据包中VLAN来携带GRE会话号。特殊源MAC为0x5a5a5aa5a5a5,特殊目的MAC为0xa5a5a55a5a5a,用于告知步骤S102中FPGA处理模块从交换芯片处理模块收到这种特殊MAC的包,需要做封装GRE头的处理。交换芯片处理模块做第一处理流程如图4所示:
步骤S401、数据包进入PE设备的UNI接口;
步骤S402、查找端口属性表,判断端口是否配置VPWS属性;
步骤S403、如果不是,流程结束。如果是,查找VPN转发表,获取PW标签和目的出口;
步骤S404、在数据包前面封装PW标签;
步骤S405、查找虚拟ARP表,获取特殊VLAN、特殊源MAC和特殊目的MAC;
步骤S406、在数据包的PW标签外面依次封装特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA处理模块。
在步骤S102中,FPGA处理模块收到包后做第二处理,剥掉包的特殊VLAN、特殊源MAC和特殊目的MAC,在PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片处理模块。FPGA处理模块如果从交换芯片处理模块收到数据包的源MAC为0x5a5a5aa5a5a5,目的MAC为0xa5a5a55a5a5a,会剥掉数据包的目的MAC、源MAC和VLAN,并用VLANID(即GRE会话号)查找GRE会话表。GRE会话表由转发表管理模块写入,表内容包括目的IP、源IP、源MAC、目的MAC。其中目的IP、源IP为本GRE会话的目的IP、源IP,源MAC随便填个合法单播固定值,目的MAC填本PE设备MAC。FPGA处理模块在数据包的PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片处理模块。FPGA处理模块做第二处理流程如图5所示:
步骤S501、从交换芯片处理模块收到数据包;
步骤S502、判断数据包的目的MAC是否等于0xa5a5a55a5a5a;
步骤S503、如果不是,流程结束。如果是,判断数据包的源MAC是否等于0x5a5a5aa5a5a5;
步骤S504、如果不是,流程结束。如果是,剥掉数据包的VLAN、源MAC和目的MAC;
步骤S505、用VLANID查找GRE会话表,获取目的IP、源IP、源MAC、目的MAC;
步骤S506、在数据包的PW标签外面依次封装GRE头、源MAC和目的MAC,把包发送给交换芯片处理模块。
在步骤S103中,交换芯片处理模块做第三处理,根据GRE头中目的IP地址,查路由表找到交换芯片出口NNI,把包从NNI出口发送出本设备。转发表管理模块需要写路由表和ARP表到交换芯片处理模块。交换芯片处理模块查路由表获取交换芯片出口NNI,然后查ARP表获取直连本PE设备的下一跳设备MAC地址。交换芯片处理模块剥离数据包的目的MAC和源MAC,封装ARP表中的源MAC和目的MAC,然后把数据包从交换芯片出口发送出去。交换芯片处理模块做第三处理流程如图6所示:
步骤S601、从FPGA处理模块收到数据包;
步骤S602、根据GRE头中目的IP地址,查路由表找到交换芯片出口;
步骤S603、查ARP表获取源MAC和目的MAC;
步骤S604、剥离原始数据包的目的MAC和源MAC,封装ARP表中的源MAC和目的MAC,然后把数据包从交换芯片出口发送出去。
在步骤S104中,交换芯片处理模块做第四处理,查路由表发现是本地路由且IP协议为GRE后,把原始包发送给FPGA处理模块;转发表管理模块需要写路由表到交换芯片处理模块,并在初始化时写一条ACL规则给交换芯片处理模块:匹配路由表为本地路由且IP协议号等于47(GRE)的数据包上送给FPGA处理。交换芯片处理模块做第四处理流程如图7所示:
步骤S701、数据包进入PE设备的NNI接口;
步骤S702、判断数据包是否为IP包且IP协议号是GRE;
步骤S703、如果不是,流程结束。如果是,用目的IP查找路由表;
步骤S704、判断路由表是否为本地路由;
步骤S705、如果不是,流程结束。如果是,把原始包发送给FPGA处理模块。
在步骤S105中,FPGA处理模块收到包后做第五处理,判断IP头中为GRE协议(IP协议号47),且GRE头中协议类型为MPLS协议(0x8847),FPGA处理模块剥掉GRE头,把包发送给交换芯片处理模块;FPGA处理模块做第五处理流程如图8所示:
步骤S801、从交换芯片处理模块收到数据包;
步骤S802、判断数据包IP协议号是否为GRE且GRE协议类型为MPLS协议;
步骤S803、如果不是,流程结束。如果是,剥掉数据包的GRE头,把包发送给交换芯片处理模块。
在步骤S106中,交换芯片处理模块做第六处理,根据包中PW标签查找MPLS标签转发表,获取UNI出口,剥掉包的目的MAC、源MAC和PW标签,把用户载荷从UNI口发送出去。转发表管理模块需要写MPLS标签转发表到交换芯片处理模块,指定交换芯片出口。交换芯片处理模块做第六处理流程如图9所示:
步骤S901、从FPGA处理模块收到数据包;
步骤S902、根据包中PW标签查找MPLS标签转发表,获取UNI出口;
步骤S903、剥掉包的目的MAC、源MAC和PW标签,把用户载荷从UNI口发送出去。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围内。

Claims (7)

1.一种VPWS报文穿越三层IP网络的方法,其特征在于:包括如下步骤:
当用户数据包进入VPWS网络PE的UNI入口时,
步骤1,交换芯片做第一处理,在包外面依次封装上PW标签、特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA处理模块;
步骤2,FPGA处理模块收到包后做第二处理,剥掉包的特殊VLAN、特殊源MAC和特殊目的MAC,在PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片处理模块;
步骤3,交换芯片做第三处理,根据GRE头中目的IP地址,查路由表找到交换芯片出口NNI,把包从NNI出口发送出本设备;
步骤4,当公网数据包到达VPWS网络PE的NNI入口时,
交换芯片做第四处理,查路由表发现是本地路由且IP协议为GRE后,把原始包发送给FPGA处理模块;
步骤5,FPGA处理模块收到包后做第五处理,判断IP头中为GRE协议,且GRE头中为MPLS协议,FPGA处理模块剥掉GRE头,把包发送给交换芯片;
步骤6,交换芯片做第六处理,根据包中PW标签查找MPLS标签转发表,获取UNI出口,剥掉包的目的MAC、源MAC和PW标签,把用户载荷从UNI口发送出去。
2.根据权利要求1所述的一种VPWS报文穿越三层IP网络的方法,其特征在于:所述步骤1还包括转发表管理模块需要给交换芯片UNI入口打上VPWS属性标志,并把本VPWS实例对应的VPN转发表和虚拟ARP表写入交换芯片处理模块;
交换芯片处理模块查到UNI入口为VPWS属性,会继续查VPN转发表,在用户数据包前面封装上PW标签;继续查ARP表,在包的PW标签外面封装上特殊VLAN、特殊源MAC和特殊目的MAC,把包发送给FPGA处理模块。
所述特殊VLAN,其值等于GRE会话号,用于步骤2中FPGA处理模块对数据包做第二处理。
3.根据权利要求2所述的一种VPWS报文穿越三层IP网络的方法,其特征在于:所述步骤2还包括FPGA处理模块如果从交换芯片处理模块收到数据包的源MAC为0x5a5a5aa5a5a5,目的MAC为0xa5a5a55a5a5a,会剥掉数据包的目的MAC、源MAC和VLAN,并用VLANID查找GRE会话表;
GRE会话表由转发表管理模块写入,表内容包括目的IP、源IP、源MAC、目的MAC,其中目的IP、源IP为本GRE会话的目的IP、源IP,源MAC随便填个合法单播固定值,目的MAC填本PE设备MAC;
FPGA处理模块在数据包的PW标签外面依次封装上GRE头、源MAC和目的MAC,把包发送给交换芯片处理模块。
4.根据权利要求3所述的一种VPWS报文穿越三层IP网络的方法,其特征在于:所述步骤3还包括:转发表管理模块需要写路由表和ARP表到交换芯片处理模块;
交换芯片处理模块查路由表获取交换芯片出口NNI,然后查ARP表获取直连本PE设备的下一跳设备MAC地址;
交换芯片处理模块剥离数据包的目的MAC和源MAC,封装ARP表中的源MAC和目的MAC,然后把数据包从交换芯片出口发送出去。
5.根据权利要求4所述的一种VPWS报文穿越三层IP网络的方法,其特征在于:所述步骤4还包括:转发表管理模块需要写路由表到交换芯片处理模块,并在初始化时写一条ACL规则给交换芯片处理模块,所述ACL规则为匹配路由表为本地路由且IP协议号等于GRE的数据包上送给FPGA处理模块。
6.根据权利要求5所述的一种VPWS报文穿越三层IP网络的方法,其特征在于:所述步骤6还包括:转发表管理模块需要写MPLS标签转发表到交换芯片处理模块,指定交换芯片出口。
7.一种VPWS报文穿越三层IP网络的装置,其特征在于:包括业务协议模块、转发表管理模块、交换芯片处理模块及FPGA处理模块;
业务协议模块,用于运行路由协议、LDP协议、GRE协议、ARP协议;
业务协议模块运行路由协议,实现远端PE设备与本地PE设备之间的路由打通;
业务协议模块在两个PE设备上运行GRE协议,在两个PE设备上面形成GRE隧道;
业务协议模块在两个PE设备的GRE隧道接口上运行LDP协议,互相分配PW标签给对方;
业务协议模块还需要在每个PE设备上运行ARP协议,使PE设备与直连的P设备之间学习到对方MAC地址;
业务协议模块对这些协议数据处理后,将处理后的业务转发信息发消息给转发表管理模块;
转发表管理模块,用于接收所述业务转发信息,将这些业务转发信息整合转换为交换芯片处理模块和FPGA处理模块需要的格式,写入到交换芯片处理模块和FPGA处理模块;
交换芯片处理模块,用于对PE设备的UNI和NNI入口的数据包处理后,把数据包发送给FPGA处理模块,以及从FPGA处理模块收到数据包处理后,从PE设备的NNI口和UNI口发送出去;
交换芯片处理模块处理数据包需要查找的各种业务转发表由转发表管理模块写入;
FPGA处理模块,用于接收交换芯片处理模块发送过来的数据包并对数据包做进一步处理,然后再发送给交换芯片处理模块;
FPGA处理模块处理数据包需要查找的各种业务转发表由转发表管理模块写入。
CN201711324838.6A 2017-12-13 2017-12-13 一种vpws报文穿越三层ip网络的方法及装置 Active CN108040135B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711324838.6A CN108040135B (zh) 2017-12-13 2017-12-13 一种vpws报文穿越三层ip网络的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711324838.6A CN108040135B (zh) 2017-12-13 2017-12-13 一种vpws报文穿越三层ip网络的方法及装置

Publications (2)

Publication Number Publication Date
CN108040135A true CN108040135A (zh) 2018-05-15
CN108040135B CN108040135B (zh) 2020-07-03

Family

ID=62102770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711324838.6A Active CN108040135B (zh) 2017-12-13 2017-12-13 一种vpws报文穿越三层ip网络的方法及装置

Country Status (1)

Country Link
CN (1) CN108040135B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587060A (zh) * 2018-11-22 2019-04-05 安徽皖通邮电股份有限公司 一种vpws报文穿越三层ip网络的方法及设备
CN109768929A (zh) * 2018-12-29 2019-05-17 瑞斯康达科技发展股份有限公司 一种基于vpws的报文传输方法及装置
CN112565943A (zh) * 2020-12-15 2021-03-26 安徽皖通邮电股份有限公司 一种分组与光传送网融合产品的dcn处理方法与系统
CN112583731A (zh) * 2021-01-11 2021-03-30 北京华环电子设备有限公司 一种gre报文分片重组的方法及装置
CN112737952A (zh) * 2020-12-28 2021-04-30 天使方舟有限公司 一种fpga业务应用层信息路由模型及其监控平台
CN116055007A (zh) * 2023-03-17 2023-05-02 无锡沐创集成电路设计有限公司 一种mac直连交换芯片速率匹配装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090141639A1 (en) * 2005-09-28 2009-06-04 Nokia Siemens Networks Gmbh & Co Kg Managing oam packets in a communications network
US7773611B2 (en) * 2005-06-15 2010-08-10 Cisco Technology, Inc. Method and apparatus for packet loss detection
CN103825819A (zh) * 2014-03-25 2014-05-28 北京众合德信技术有限公司 一种报文发送及接收方法、装置
CN106953815A (zh) * 2017-03-21 2017-07-14 北京浩瀚深度信息技术股份有限公司 基于fpga的端口镜像报文传输方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773611B2 (en) * 2005-06-15 2010-08-10 Cisco Technology, Inc. Method and apparatus for packet loss detection
US20090141639A1 (en) * 2005-09-28 2009-06-04 Nokia Siemens Networks Gmbh & Co Kg Managing oam packets in a communications network
CN103825819A (zh) * 2014-03-25 2014-05-28 北京众合德信技术有限公司 一种报文发送及接收方法、装置
CN106953815A (zh) * 2017-03-21 2017-07-14 北京浩瀚深度信息技术股份有限公司 基于fpga的端口镜像报文传输方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587060A (zh) * 2018-11-22 2019-04-05 安徽皖通邮电股份有限公司 一种vpws报文穿越三层ip网络的方法及设备
CN109768929A (zh) * 2018-12-29 2019-05-17 瑞斯康达科技发展股份有限公司 一种基于vpws的报文传输方法及装置
CN109768929B (zh) * 2018-12-29 2021-05-14 瑞斯康达科技发展股份有限公司 一种基于vpws的报文传输方法及装置
CN112565943A (zh) * 2020-12-15 2021-03-26 安徽皖通邮电股份有限公司 一种分组与光传送网融合产品的dcn处理方法与系统
CN112565943B (zh) * 2020-12-15 2023-10-27 安徽皖通邮电股份有限公司 一种分组与光传送网融合产品的dcn处理方法与系统
CN112737952A (zh) * 2020-12-28 2021-04-30 天使方舟有限公司 一种fpga业务应用层信息路由模型及其监控平台
CN112583731A (zh) * 2021-01-11 2021-03-30 北京华环电子设备有限公司 一种gre报文分片重组的方法及装置
CN116055007A (zh) * 2023-03-17 2023-05-02 无锡沐创集成电路设计有限公司 一种mac直连交换芯片速率匹配装置及方法
CN116055007B (zh) * 2023-03-17 2023-06-13 无锡沐创集成电路设计有限公司 一种mac直连交换芯片速率匹配装置及方法

Also Published As

Publication number Publication date
CN108040135B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN108040135A (zh) 一种vpws报文穿越三层ip网络的方法及装置
CN103888386B (zh) 可扩展虚拟局域网报文的传输方法及装置、系统
CN104410541B (zh) Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置
CN104158718B (zh) 一种报文处理方法和装置
CN104518940B (zh) 实现nvo3网络与mpls网络之间通信的方法和装置
CN103391296B (zh) 一种控制器、转发器及通道建立方法和系统
US20180026884A1 (en) Cloud overlay for operations administration and management
CN101155130B (zh) 学习mac地址的方法及传送vpls客户数据的系统及设备
CN104092595B (zh) 基于802.1br的虚拟化系统中的报文处理方法及装置
CN107181663A (zh) 一种报文处理方法、相关设备及计算机可读存储介质
CN107113240A (zh) 可扩展虚拟局域网报文发送方法、计算机设备和可读介质
CN100555999C (zh) 一种实现边缘到边缘伪线仿真的方法和装置
CN101110745A (zh) 衔接二层网络和三层网络的方法、装置和系统
CN106685826B (zh) 交换机堆叠系统、从设备、交换芯片及处理协议报文方法
CN107948086A (zh) 一种数据包发送方法、装置及混合云网络系统
CN106713103A (zh) 用于虚拟和物理网络集成的方法和系统
CN104869042A (zh) 报文转发方法和装置
WO2008092357A1 (fr) Procédé et dispositif pour établir un tunnel pseudocâblé et transmettre un message à l'aide de celui-ci
CN108075949A (zh) 一种vpws环境实现rfc2544的方法及设备
CN101394361A (zh) 报文传输方法、设备和系统
CN105591868A (zh) 一种虚拟专用网络vpn的接入方法和装置
CN101926132B (zh) 基于ip互通虚拟租用线路的电路仿真的方法和系统
CN106330499A (zh) 一种时分复用数据的传输方法、装置及网络侧边缘设备
CN102082738A (zh) 通过公用网络延伸mpls vpn接入的方法和pe设备
US8929366B2 (en) Method and apparatus for transporting packets with specific traffic flows having strict packet ordering requirements over a network using multipath techniques

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant