CN109905785B - 一种报文转发方法及装置 - Google Patents

一种报文转发方法及装置 Download PDF

Info

Publication number
CN109905785B
CN109905785B CN201910250552.0A CN201910250552A CN109905785B CN 109905785 B CN109905785 B CN 109905785B CN 201910250552 A CN201910250552 A CN 201910250552A CN 109905785 B CN109905785 B CN 109905785B
Authority
CN
China
Prior art keywords
port
etag
forwarding
protocol
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
Application number
CN201910250552.0A
Other languages
English (en)
Other versions
CN109905785A (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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201910250552.0A priority Critical patent/CN109905785B/zh
Publication of CN109905785A publication Critical patent/CN109905785A/zh
Application granted granted Critical
Publication of CN109905785B publication Critical patent/CN109905785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种报文转发方法及装置,该方法包括:当OLT芯片从第一ONU端口接收到带有EPON头的第一协议报文时,剥除该EPON头,为所述第一协议报文封装第一ETAG,并通过第一内联口将封装有所述第一ETAG的第一协议报文发送给转发芯片;所述转发芯片根据所述第一ETAG中的源E‑CID确定所述第一协议报文的源端口,并确定该源端口对应的第一虚拟端口信息;当所述转发芯片根据所述第一虚拟端口信息确定第一虚拟端口使能所述第一协议报文对应的协议时,将所述第一协议报文以及所述第一虚拟端口信息上送中央处理单元CPU,由所述CPU根据所述第一虚拟端口信息对所述第一协议报文进行处理。应用本发明实施例可以实现更精细化的协议支持。

Description

一种报文转发方法及装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
EPON(Ethernet Passive Optical Network,以太网无源光网络)是承载封装成802.3标准的以太网帧的PON(Passive Optical Network,无源光网络),一个典型的EPON系统主要包括OLT(Optical Line Terminal,光线路终端)、ONU(Optical Network Unit,光网络单元)和ODN(Optical Distribution Network,光分配网络)三部分。
在传统的EPON设备中,OLT芯片的转发性能较差,支持的转发协议和转发方式均较少。为了支持更多的转发协议和转发方式,在EPON设备的设计中一般会在OLT芯片上添加一个转发芯片和一个CPU(Center Process Unit,中央处理单元)(CPU可以为外挂CPU或者转发芯片上内嵌的CPU)。其中,转发芯片用于和其他设备的互通;CPU用于管理OLT芯片,并实现OLT芯片对ONU设备的管理。由于CPU端口较少,因此,一般会通过增加扩展芯片来实现端口的扩展,从而可以挂接多个OLT芯片。
OLT芯片收到的报文可分为两类(可以分别称为一类报文和二类报文),一类报文为OLT芯片可以识别的协议报文,包括简单的转发协议(如ARP(Address ResolutionProtocol,地址解析协议)协议等)以及ONU设备和OLT之间交互的MPCP(Multi-PointControl Protocol,多点控制协议)协议和OAM(Operation Administration andMaintenance,操作维护管理)扩展协议,这些报文由OLT芯片通过控制通道上送到CPU,由CPU进行协议相关处理;二类报文包括数据报文以及OLT芯片无法识别的各种协议报文,这些报文由OLT芯片通过数据通道上送转发芯片,在转发芯片上查表转发。
然而实践发现,在目前的EPON设备中,转发芯片无法感知OLT芯片下挂的ONU端口,无法实现针对ONU端口的协议支持,协议支持的精细性较差。
发明内容
本发明提供一种报文转发方法及装置,以解决现有EPON设备中报文转发效率低,且可能会造成资源浪费以及协议支持的精细性较差的问题。
根据本发明实施例的第一方面,提供一种报文转发方法,应用于EPON设备,所述EPON设备中的OLT芯片与转发芯片均支持802.1br协议,所述方法包括:
当OLT芯片从第一光网络单元ONU端口接收到带有EPON头的第一协议报文时,剥除该EPON头,为所述第一协议报文封装第一ETAG,并通过第一内联口将封装有所述第一ETAG的第一协议报文发送给转发芯片;其中,所述第一协议报文为除MPCP协议报文和OAM扩展协议报文之外的协议报文,所述第一ETAG中的源E-CID为所述第一ONU端口对应的第一E-CID;
所述转发芯片根据所述第一ETAG中的源E-CID确定所述第一协议报文的源端口,并确定该源端口对应的第一虚拟端口信息;
当所述转发芯片根据所述第一虚拟端口信息确定第一虚拟端口使能所述第一协议报文对应的协议时,将所述第一协议报文以及所述第一虚拟端口信息上送中央处理单元CPU,由所述CPU根据所述第一虚拟端口信息对所述第一协议报文进行处理。
根据本发明实施例的第二方面,提供一种报文转发装置,应用于EPON设备,所述EPON设备中的OLT芯片与转发芯片均支持802.1br协议,所述装置包括:
OLT芯片,用于当从第一光网络单元ONU端口接收到带有EPON头的第一协议报文时,剥除该EPON头,为所述第一协议报文封装第一ETAG,并通过第一内联口将封装有所述第一ETAG的第一协议报文发送给转发芯片;其中,所述第一协议报文为除MPCP协议报文和OAM扩展协议报文之外的协议报文,所述第一ETAG中的源E-CID为所述第一ONU端口对应的第一E-CID;
转发芯片,用于根据所述第一ETAG中的源E-CID确定所述第一协议报文的源端口,并确定该源端口对应的第一虚拟端口信息;
所述转发芯片,还用于当根据所述第一虚拟端口信息确定第一虚拟端口使能所述第一协议报文对应的协议时,将所述第一协议报文以及所述第一虚拟端口信息上送中央处理单元CPU,由所述CPU根据所述第一虚拟端口信息对所述第一协议报文进行处理。
应用本发明公开的技术方案,通过为OLT芯片上的ONU端口分配E-CID和VP,当OLT芯片从ONU端口接收到协议报文时,可以为该协议报文封装源E-CID为该ONU端口对应的E-CID的ETAG,并发送给转发芯片,从而,转发芯片可以感知OLT芯片下挂的ONU端口,进而可以实现更精细化的协议支持。
附图说明
图1是本发明实施例提供的一种报文转发方法的流程示意图;
图2是本发明实施例提供的一种具体应用场景的结构示意图;
图3A是本发明实施例提供的一种数据报文转发流程的示意图;
图3B是本发明实施例提供的一种协议报文转发流程的示意图;
图4是本发明实施例提供的一种报文转发装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种报文转发方法的流程示意图,其中,该报文转发方法可以应用于EPON设备,该EPON设备中的OLT芯片与转发芯片均支持802.1br协议,如图1所示,该报文转发方法可以包括:
步骤101、当OLT芯片从第一ONU端口接收到带有EPON头的第一协议报文时,剥除该EPON头,为该第一协议报文封装第一ETAG,并通过第一内联口将封装有第一ETAG的第一协议报文发送给转发芯片;其中,第一协议报文为除MPCP协议报文和OAM扩展协议报文之外的协议报文,第一ETAG中的源E-CID为第一ONU端口对应的第一E-CID。
本发明实施例中,第一ONU端口并不特指某一固定的ONU端口,而是可以指代OLT芯片上的任一ONU端口,本发明实施例后续不再复述。
本发明实施例中,考虑到OLT芯片的控制通道转发能力较差,相关协议的学习性能也较低,由OLT芯片通过控制通道将协议报文(如ARP报文)直接上送给CPU的处理方式,容易丢失报文,进而可能引起协议运算错误或者表项无法下发。
相应地,在本发明实施例中,对于除MPCP协议报文和OAM扩展协议报文之外的协议报文,可以由OLT芯片封装ETAG之后上送转发芯片处理。
需要说明的是,在本发明实施例中,若未特殊说明,所提及的协议报文均指除MPCP协议报文和OAM扩展协议报文之外的协议报文,本发明实施例后续不再复述。
本发明实施例中,可以将802.1br协议运用于EPON设备,将OLT芯片作为802.1br架构中的PE(Port Extender,端口扩展器),转发芯片作为802.1br架构中的CB(ControllingBridge,控制桥)。
当OLT芯片从第一ONU端口接收到带有EPON头的协议报文(本文中称为第一协议报文)时,OLT芯片可以确定该第一ONU端口对应的E-CID(本文中称为第一E-CID),剥除该EPON头,并为该第一协议报文封装ETAG(本文中称为第一ETAG),将该第一E-CID作为第一ETAG中的源E-CID,即Ingress(入口)E-CID。
OLT芯片为第一协议报文封装第一ETAG之后,可以将该封装有第一ETAG的第一协议报文通过该OLT芯片上连接转发芯片的端口(可以称为上行口或内联口,本文中称为第一内联口)发送给转发芯片。
需要说明的是,本文中提及的ETAG中的源E-CID是指ETAG中的Ingress E-CID(包括Ingress_E-CID_base和Ingress_E-CID_ext),本文中提及的ETAG中的E-CID是指ETAG中的E-CID(包括GRP、E-CID_base和E-CID_ext)。
步骤102、转发芯片根据第一ETAG中的源E-CID确定第一协议报文的源端口,并确定该源端口对应的第一虚拟端口信息。
本发明实施例中,当转发芯片接收到OLT芯片发送的封装有第一ETAG的第一协议报文时,转发芯片可以获取第一ETAG中的源E-CID,并根据该源E-CID查询E-CID与ONU端口的对应关系,以确定与该源E-CID对应的源端口(ONU端口),并确定该源端口对应的虚拟端口(Virtual Port,简称VP)(本文中称为第一虚拟端口)信息,如第一VP的ID(标识)。
需要说明的是,在本发明实施例中,对于每一个ONU端口,除了可以为该ONU端口分配一个E-CID之外,转发芯片还可以为每一个ONU端口分配一个虚拟端口,所有需要下发在ONU端口上的配置,均可以同时下发在该ONU端口对应的虚拟端口上,如端口所加入的VLAN(Virtual Local Area Network,虚拟局域网)、协议使能情况等。
步骤103、转发芯片根据第一虚拟端口信息确定第一虚拟端口使能第一协议报文对应的协议时,将第一协议报文以及第一虚拟端口信息上送CPU,由CPU根据第一虚拟端口信息对第一协议报文进行处理。
本发明实施例中,转发芯片可以根据第一虚拟端口信息确定第一虚拟端口是否支持第一协议报文对应的协议,如OSPF(Open Shortest Path First,开放式最短路径优先)协议。
当第一虚拟端口支持第一协议报文对应的协议时,转发芯片可以将第一协议报文以及第一虚拟端口信息上送CPU。
CPU接收到第一协议报文以及第一虚拟端口信息之后,可以根据第一虚拟端口信息对第一协议报文进行协议处理,其具体处理流程在此不做赘述。
需要说明的是,在该实施例中,当转发芯片确定第一虚拟端口不支持第一协议报文对应的协议时,目标转发芯片可以按照数据报文处理方式对第一报文进行转发处理,其具体实现在此不做赘述。
进一步地,在本发明其中一个实施例中,上述将第一协议报文以及第一虚拟端口信息上送CPU之后,还可以包括:
接收CPU发送的第二协议报文以及报文转发方式;
当报文转发方式为源端口返回时,为第二协议报文封装第二ETAG,第二ETAG中的E-CID为第一ETAG中的源E-CID;
将封装有第二ETAG的第二协议报文发送给OLT芯片,以使OLT芯片根据第二ETAG中的E-CID确定对应的ONU端口,并通过ONU端口发送带有EPON头的第二协议报文;
当报文转发方式为广播转发时,根据广播VLAN确定第二协议报文的出端口,并从所确定的出端口广播第二协议报文。
在该实施例中,CPU接收到转发芯片发送的第一协议报文以及第一虚拟端口信息之后,可以向转发芯片发送协议报文(本文中称为第二协议报文)以及第二协议报文的报文转发方式。
示例性的,CPU向转发芯片发送的协议报文可以包括CPU对第一协议报文进行协议处理后的应答报文或CPU确定需要广播转发的协议报文(如ARP报文);该报文转发方式可以包括但不限于源端口返回或广播转发。
在该实施例中,当转发芯片接收到CPU发送的协议报文以及报文转发方式时,可以根据接收到的报文转发方式对第二协议报文进行转发。
当该报文转发方式为源端口返回时,CPU还可以向转发芯片发送源端口对应的虚拟端口信息(如上述第一虚拟端口信息),转发芯片可以根据第一虚拟端口信息确定对应的E-CID,为第二协议报文封装E-CID为第一虚拟端口信息对应的E-CID的ETAG(本文中称为第二ETAG),并将封装有第二ETAG的第二协议报文发送给OLT芯片。
OLT芯片接收到转发芯片发送的封装有第二ETAG的第二协议报文时,可以根据第二ETAG中的E-CID确定对应的ONU端口,解除该第二ETAG封装,并添加EPON头后,从该ONU端口转发该带有EPON头的第二协议报文。
在该实施例中,当报文转发方式为广播转发时,CPU还可以向转发芯片发送广播VLAN(即在VLAN中广播第二协议报文),转发芯片可以根据广播VLAN确定加入该广播VLAN的端口,并从所确定的出端口广播第二协议报文。
其中,当转发芯片确定的加入该广播VLAN的端口中包括虚拟端口时,转发芯片可以确定该虚拟端口对应的E-CID及ONU端口,并为第二协议报文封装E-CID为该虚拟端口对应的E-CID的ETAG后,转发给该ONU端口归属的OLT芯片,由该OLT芯片根据ETAG中的E-CID信息对第二协议报文进行转发。
在本申请其中一个实施例中,上述报文转发方法还可以包括:
当OLT芯片从第二ONU端口接收到带有EPON头的第一数据报文时,剥除该EPON头,为第一数据报文封装第二ETAG,并通过第二内联口将封装有第二ETAG的第一数据报文发送给转发芯片;其中,第二ETAG中的源E-CID为第二ONU端口对应的第二E-CID;
转发芯片根据第二ETAG中的源E-CID确定第一数据报文的源端口,确定该源端口对应的第二虚拟端口,并根据第一数据报文的源地址信息以及第二虚拟端口进行转发表项学习;
以及,根据第一数据报文的目的地址信息查询本地转发表项,以确定第一数据报文的目的出端口,并当该目的出端口为虚拟端口时,确定该目的出端口对应的第三E-CID,为第一数据报文封装第三ETAG,并通过该目的出端口对应的第三内联口发送封装有第三ETAG的所述第一数据报文。
本发明实施例中,第二ONU端口并不特指某一固定的ONU端口,而是可以指代OLT芯片上的任一ONU端口,本发明实施例后续不再复述。
其中,第一ONU端口与第二ONU端口可以为同一ONU端口,也可以为不同ONU端口。
在该实施例中,当OLT芯片从第二ONU端口接收到带有EPON头的数据报文(本文中称为第一数据报文)时,OLT芯片可以确定第二ONU端口对应的E-CID(本文中称为第二E-CID),剥除该EPON头,并为该第一数据报文封装ETAG(本文中称为第二ETAG),将该第二E-CID作为第二ETAG中的源E-CID。
OLT芯片为第一数据报文封装第一ETAG之后,可以将该封装有第一ETAG的第一数据报文通过该OLT芯片上连接转发芯片的端口(本文中称为第二内联口)发送给转发芯片。
在该实施例中,转发芯片接收到OLT芯片发送的封装有第二ETAG的第一数据报文时,一方面,转发芯片可以根据第二ETAG中的源E-CID确定第一数据报文的源端口,确定该源端口对应的虚拟端口(本文中称为第二虚拟端口),并根据第一数据报文的源地址信息以及第二虚拟端口进行转发表项(如MAC地址表)学习。
其中,当转发芯片本地存在与第一数据报文的源地址信息以及第二虚拟端口匹配的转发表项时,转发芯片可以刷新该转发表项;当转发芯片本地不存在与第一数据报文的源地址信息以及第二虚拟端口匹配的转发表项时,转发芯片可以根据该第一数据报文的源地址信息以及第二虚拟端口生成对应的转发表项。
另一方面,转发芯片可以根据第一数据报文的目的地址信息(MAC地址或IP地址)查询本地转发表项(MAC地址表或路由表),以确定第一数据报文的目的出端口。
当转发芯片确定第一数据报文的目的出端口为虚拟端口时,转发芯片可以确定该目的出端口对应的E-CID(本文中称为第三E-CID),并确定该目的出端口归属的OLT芯片,进而,确定转发芯片上连接该OLT芯片的端口(可以称为下行口或内联口,本文中称为第三内联口)。
转发芯片可以为第一数据报文封装E-CID为第三E-CID的ETAG(本文中称为第三ETAG),并通过第三内联口发送封装有第三ETAG的第一数据报文。
进一步地,在本发明其中一个实施例中,上述报文转发方法还可以包括:
当OLT芯片从第三内联口接收到封装有第四ETAG的第二数据报文时,剥除第四ETAG,根据第四ETAG中的E-CID确定第二数据报文的目的出端口,并从目的出端口转发带有EPON头的第二数据报文。
需要说明的是,在本发明实施例中,第四内联口可以与第一内联口(或第二内联口)为同一内联口,也可以为不同内联口。
在该实施例中,当OLT芯片从内联口(本文中称为第四内联口)接收到转发芯片发送的封装有ETAG(本文中称为第四ETAG)的数据报文(本文称为第二数据报文)时,OLT芯片可以解除该第四ETAG封装,获取该第四ETAG中的E-CID,并根据该E-CID确定第二数据报文的目的出端口(ONU端口)。
OLT芯片确定了第二数据报文的目的出端口之后,可以为第二数据报文添加EPON头,并从所确定的目的出端口转发带有EPON头的第二数据报文。
需要说明的是,在本发明实施例中,为了实现组播报文的转发,除了需要为每个ONU端口分配一个E-CID之外,还需要为每一个组播组分配一个E-CID,各OLT芯片上可以记录为组播组分配的E-CID对应的端口列表。
在一个示例中,CPU可以向转发芯片和OLT芯片下发组播组ID与ECID的对应关系,例如,CPU可以通过netconf(Network Configuration Protocol,网络配置协议)协议向转发芯片和OLT芯片下发组播配置报文,该组播配置报文中可以携带组播组ID与ECID的对应关系,以及该组播组ID对应的端口列表(该端口列表中可以包括ONU端口以及转发芯片上的非内联口)。
转发芯片接收到该组播配置报文时,可以记录组播组ID与E-CID的对应关系,并根据该组播组ID对应的端口列表中包括的ONU端口,确定该端口列表中的ONU端口对应的内联口,并记录该E-CID与所确定的内联口的对应关系。
OLT芯片接收到该组播组配置报文时,可以记录组播组ID与E-CID的对应关系,并确定该组播组ID对应的端口列表中包括的本地ONU端口(即本OLT芯片上的ONU端口),记录该E-CID与所确定的本地ONU端口的对应关系。
相应地,在一个示例中,当转发芯片接收到数据报文(本文中称为第三数据报文,该第三数据报文可以为第一数据报文或其他数据报文),且根据第三数据报文的目的地址信息查询本地转发表项,当确定第三数据报文为组播报文时,转发芯片可以确定该组播报文对应的E-CID以及出端口(包括内联口或/和以太口)。
对于出端口中的内联口,转发芯片可以为第三数据报文封装E-CID为该组播报文对应的E-CID的ETAG(本文中称为第五ETAG),并将第五ETAG中的GRP字段的值置为非0,并通过该内联口发送封装有第五ETAG的第三数据报文。
同理,当OLT芯片接收到带有ETAG(本文中称为第六ETAG)封装的数据报文(本文中称为第四数据报文,该第四数据报文可以为第二数据报文或其他数据报文)时,可以根据第六ETAG中的GRP字段的值确定第四数据报文为单播报文或组播报文。当第六ETAG中的GRP字段的值为0时,表明第四数据报文为单播报文;当第六ETAG中的GRP字段的值为非0时,表明第四数据报文为组播报文。
当OLT芯片接收到封装有第六ETAG的第四数据报文时,OLT芯片可以获取第六ETAG中的GRP字段的值。
当第六ETAG中的GRP字段的值为0时,OLT芯片可以确定第四数据报文为单播报文,此时,OLT芯片可以根据第六ETAG中的E-CID查询ONU端口与E-CID的对应关系,以确定对应的ONU端口,并将该ONU端口确定为第四数据报文的目的出端口。
当第六ETAG中的GRP字段的值为非0时,OLT芯片可以确定第四数据报文为组播报文,此时,OLT芯片可以根据第六ETAG中的E-CID确定对应的端口列表。
其中,为了实现源过滤,对于组播报文,ETAG中还需要携带源E-CID(即Ingress E-CID),OLT芯片确定了第六ETAG中的E-CID对应的端口列表之后,还可以根据源E-CID查询ONU端口与E-CID的对应关系,以确定源E-CID对应的ONU端口(本文中称为源端口),进而,OLT芯片可以将第六ETAG中的E-CID对应的端口列表中除源端口之外的其他端口确定为第四数据报文的目的出端口。
其中,若第六ETAG中的E-CID对应的端口列表中不包括源端口,则第六ETAG中的E-CID对应的端口列表中的端口均属于第四数据报文的目的出端口。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图2,为本发明实施例提供的一种具体应用场景的结构示意图,如图2所示,在该实施例中,转发芯片210分别通过内联口11~14与OLT芯片220~250连接,其中,OLT芯片220通过内联口21与转发芯片210的内联口11连接,OLT芯片230通过内联口22与转发芯片210的内联口12连接,OLT芯片240通过内联口23与转发芯片210的内联口13连接,OLT芯片通过内联口24与转发芯片310的内联口14连接;各OLT芯片上均包括4个OLT端口(即共16个OLT端口),各OLT端口可拆分的ONU端口数为64(即共有16*64个ONU端口,OLT端口和ONU端口未在图中示出)。
在该实施例中,可以分别在转发芯片上为每个ONU端口分配一个E-CID和一个VP,且各OLT芯片记录本地的ONU端口与对应的E-CID的对应关系。
在一个示例中,转发芯片可以确定待分配ONU端口,并分别为各待分配ONU端口分配对应的E-CID和VP,并配置各VP支持的协议。
其中,待分配ONU端口包括EPON设备中的全部ONU端口或EPON设备中注册成功的ONU端口。
示例性的,转发芯片配置各VP支持的协议时,可以配置VP支持转发芯片支持的部分或全部协议。
需要说明的是,在该实施例中,级联通道上的端口均需要支持802.1br协议,以实现ETAG的封装和解封装。当ONU端口注册成功后,用户在ONU端口下发的配置,会同时通知到转发芯片和OLT芯片。在转发芯片上,可以查询确定该ONU端口对应的VP,并将相关配置下发在该VP上;从而,当ONU端口收到的报文上送到转发芯片上后,可以根据报文的ETAG确定对应的VP,并根据该VP的配置进行查表转发。
其中,ONU端口的E-CID分配方式可以包括静态分配方式和动态分配方式,以下分别进行说明。
方式一、静态分配方式
在该实施例中,由于转发芯片210下挂的OLT芯片数目为4个,各OLT芯片上OLT端口数目为4个,且每个OLT端口可拆分的ONU端口数目64个,因此,4*4*64=1K的E-CID;而在ETAG中,最多支持20bit的E-CID,因此,可以使用静态分配的方式,默认为每一个可能存在的ONU端口分配一个E-CID:在OLT芯片上,根据本OLT芯片的芯片号、OLT端口信息以及ONU端口ID、计算得出一个E-CID;对应在转发芯片上,根据E-CID可以计算出OLT芯片号、OLT端口号以及ONU端口号,并为该E-CID分配一个虚拟端口号(VP),所有需要下发在该ONU端口的配置,均会同时下发在转发芯片的对应VP上。
方式二、动态分配方式
在该实施例中,OLT芯片可以将注册成功的ONU端口信息通知给转发芯片,例如,OLT芯片可以通过Openflow标准协议,将注册成功的ONU端口信息通知给转发芯片(该通知消息可以称为注册通知消息)。
转发芯片接收到注册通知消息时,为该ONU端口分配一个E-CID和一个VP,并将E-CID与ONU端口的对应关系通知给OLT芯片(通知给该ONU端口所属OLT芯片)。
其中,当ONU端口下挂ONU设备掉线,使用同样的标准收回已经分配的E-CID。
需要说明的是,在本发明实施例中,当应用场景中需要分配E-CID的ONU端口的数量小于等于系统支持的可分配E-CID的数量时,可以根据实际需求选择静态分配方式或动态分配方式进行E-CID分配;当应用场景中需要分配E-CID的ONU端口的数量大于系统支持的可分配E-CID的数量时,可以使用动态分配的方式进行E-CID分配。
转发芯片为各待分配ONU端口分配ECID、虚拟端口VP以及设置支持的协议报文类型后,还记录各ONU端口的ECID和虚拟端口VP关联于连接该ONU所在的OLT芯片的内联口。
下面分别结合具体实例对图2所示应用场景中的数据报文和协议报文(除MPCP协议和OAM扩展协议之外的其他协议)的转发进行说明。
实施例一、ONU端口A-1到ONU端口B-1的数据报文转发
在该实施例中,假设ONU端口A-1为OLT芯片220上的OLT端口A下挂的ONU端口,ONU端口B-1为OLT芯片230上的OLT端口B下挂的ONU端口。
当OLT芯片220上的OLT端口A下挂的ONU端口A-1收到带有EPON头的数据报文(310)时,OLT芯片可以根据ONU端口和E-CID的对应关系,确定ONU端口A-1对应的E-CID(假设为ECID-A1);OLT芯片220可以剥除该数据报文的EPON头,并将该数据报文封装上源E-CID为ECID-A1的ETAG,通过内联口21转发给转发芯片210;
需要说明的是,在该实施例中,若该报文未携带VLAN TAG,则OLT芯片220还可以根据该数据报文的入端口属性为报文封装VLAN TAG。
转发芯片210从内联口11接收到封装有ETAG的数据报文(320),解析ETAG得到ECID-A1,查找本地的E-CID到ONU端口的映射表,得到报文的源端口为{内联口11,网络口A(即OLT端口A),ONU端口A-1},以及该端口对应的本地虚拟端口(假设为VP1);
剥离数据报文的ETAG,这样数据报文恢复为普通的以太网数据报文根据源端口VP查表。
转发芯片210剥离该以太网数据报文的ETAG,并根据该报文的目的地址进行寻址转发,执行二层转发或三层转发。
如果转发芯片210查找到以太网数据报文的目的MAC地址对应的以太网数据报文所属VLAN的网关MAC地址时,执行三层转发。转发芯片210执行三层转发时,剥掉以太网数据的以太网头,查找到目的IP地址对应的MAC地址,以目的IP地址所属的VLAN的网关MAC地址为源MAC地址,查找到的MAC地址为目的MAC地址,重新封装以太网头,然后执行二层转发。
转发芯片210执行二层转发时,根据目的MAC地址查找到出接口是虚拟端口VP2时,查找VP2对应的ECID-B1以及内联口12。转发芯片210为该以太网数据报文封装E-CID为ECID-B1的ETAG,并从内联口12转发。
OLT芯片230从内联口22接收到该带有ETAG封装的以太网数据报文(330),解析ETAG得到ECID-B1,根据ECID-B1查找E-CID与ONU端口的对应关系,确定ECID-B1对应的ONU端口(即ONU端口B-1),将报文剥离ETAG后,添加EPON头,得到带有EPON头的以太网数据报文(340),然后从目的ONU端口B-1转发,其报文转发流程可以如图3A所示。
可见,在该实施例中,对于OLT芯片不支持的转发方式,如VXLAN等,可以通过数据通道直接将报文上送到转发芯片上进行查表转发;对于下行流量在OLT芯片上,直接根据ETAG中的目的端口转发出去,扩展了OLT芯片的转发表项规格,并减少了查表消耗。
实施例二、协议报文转发(以OLT芯片240为例)
当OLT芯片240从ONU端口(假设为ONU端口C-1)接收到带有EPON头的无法识别的报文(410)时,OLT芯片可以将该报文作为数据报文,根据ONU端口和E-CID的对应关系,确定ONU端口C-1对应的E-CID(假设为ECID-C1);OLT芯片240可以剥除该报文的EPON头,将该报文封装上源E-CID为ECID-C1的ETAG,并通过内联口23转发给转发芯片210;
转发芯片210从内联口13接收到该封装有ETAG的报文(420),确定该报文为协议报文,并解析ETAG得到ECID-C1,查找VP2、E-CID以及ONU端口的对应关系,确定ECID-C1对应的VP(假设为VP3),进而,转发芯片210可以判断VP3是否支持该协议报文对应的协议;若支持,则转发芯片210可以将剥离ETAG的报文(430),以及VP3上送CPU230,由CPU230根据VP3对应的ONU端口信息对该报文进行协议运算处理;
可见,在该实施例中,OLT芯片无法识别的协议报文可以通过数据通道透传到转发芯片,只要转发芯片可以支持的协议,在该EPON设备上均可以支持,扩展了EPON设备的性能;
此外,对于当前OLT芯片支持的协议(除MPCP协议和OAM扩展协议之外的协议)也可以转为通过数据通道上送到转发芯片进行协议处理,提高了EPON设备的协议和表项学习效率。
转发芯片210接收到CPU230发送的响应报文(440),为该响应报文封装E-CID为ECID-C1的ETAG,并通过内联口13转发;
OLT芯片240从内联口23接收到封装有ETAG的响应报文(450),解析ETAG得到ECID-C1,根据ECID-C1查找E-CID与ONU端口的对应关系,确定ECID-C1对应的ONU端口(即ONU端口C-1),将该响应报文剥离ETAG后,添加EPON头,得到带有EPON头的响应报文(460),从ONU端口C-1转发,其报文转发流程可以如图3B所示。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过为OLT芯片上的ONU端口分配E-CID和VP,当OLT芯片从ONU端口接收到协议报文时,可以为该协议报文封装源E-CID为该ONU端口对应的E-CID的ETAG,并发送给转发芯片,从而,转发芯片可以感知OLT芯片下挂的ONU端口,进而可以实现更精细化的协议支持。
请参见图4,为本发明实施例提供的一种报文转发装置的结构示意图,如图4所示,该报文转发装置可以包括:OLT芯片410和转发芯片420;其中:
OLT芯片410,用于当从第一光网络单元ONU端口接收到带有EPON头的第一协议报文时,剥除该EPON头,为第一协议报文封装第一ETAG,并通过第一内联口将封装有第一ETAG的第一协议报文发送给转发芯片420;其中,第一协议报文为除MPCP协议报文和OAM扩展协议报文之外的协议报文,第一ETAG中的源E-CID为第一ONU端口对应的第一E-CID;
转发芯片420,用于根据第一ETAG中的源E-CID确定第一协议报文的源端口,并确定该源端口对应的第一虚拟端口信息;
转发芯片420,还用于当根据第一虚拟端口信息确定第一虚拟端口使能第一协议报文对应的协议时,将第一协议报文以及第一虚拟端口信息上送CPU,由CPU根据第一虚拟端口信息对第一协议报文进行处理。
在可选实施例中,转发芯片420,还用于接收CPU发送的第二协议报文以及报文转发方式;
转发芯片420,还用于当报文转发方式为源端口返回时,为第二协议报文封装第二ETAG,第二ETAG中的E-CID为第一ETAG中的源E-CID;将封装有第二ETAG的第二协议报文发送给OLT芯片,以使该OLT芯片根据第二ETAG中的E-CID确定对应的ONU端口,并通过该ONU端口发送带有EPON头的第二协议报文;
转发芯片420,还用于当报文转发方式为广播转发时,根据广播VLAN确定第二协议报文的出端口,并从所确定的出端口广播第二协议报文。
在可选实施例中,OLT芯片410,还用于当从第二ONU端口接收到带有EPON头的第一数据报文时,剥除该EPON头,为第一数据报文封装第二ETAG,并通过第二内联口将封装有第二ETAG的第一数据报文发送给转发芯片;其中,第二ETAG中的源E-CID为第二ONU端口对应的第二E-CID;
转发芯片420,还用于根据第二ETAG中的源E-CID确定第一数据报文的源端口,确定该源端口对应的第二虚拟端口,并根据第一数据报文的源地址信息以及第二虚拟端口进行转发表项学习;以及,根据第一数据报文的目的地址信息查询本地转发表项,以确定第一数据报文的目的出端口,并当该目的出端口为虚拟端口时,确定该目的出端口对应的第三E-CID,为第一数据报文封装第三ETAG,并通过该目的出端口对应的第三内联口发送封装有第三ETAG的第一数据报文。
在可选实施例中,OLT芯片410,还用于当从第四内联口接收到封装有第四ETAG的第二数据报文时,剥除第四ETAG,根据第四ETAG中的E-CID确定第二数据报文的目的出端口,并从目的出端口转发带有EPON头的第二数据报文。
在可选实施例中,转发芯片420,还用于确定待分配ONU端口;
转发芯片420,还用于分别为各待分配ONU端口分配对应的E-CID和虚拟端口,并配置各虚拟端口支持的协议。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过为OLT芯片上的ONU端口分配E-CID和VP,当OLT芯片从ONU端口接收到协议报文时,可以为该协议报文封装源E-CID为该ONU端口对应的E-CID的ETAG,并发送给转发芯片,从而,转发芯片可以感知OLT芯片下挂的ONU端口,进而可以实现更精细化的协议支持。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种报文转发方法,应用于以太网无源光网络EPON设备,其特征在于,所述EPON设备中的光线路终端OLT芯片与转发芯片均支持802.1br协议,所述方法包括:
当OLT芯片从第一光网络单元ONU端口接收到带有EPON头的第一协议报文时,剥除该EPON头,为所述第一协议报文封装第一ETAG,并通过第一内联口将封装有所述第一ETAG的第一协议报文发送给转发芯片;其中,所述第一协议报文为除多点控制MPCP协议报文和操作维护管理OAM扩展协议报文之外的协议报文,所述第一ETAG中的源E-CID为所述第一ONU端口对应的第一E-CID;
所述转发芯片根据所述第一ETAG中的源E-CID确定所述第一协议报文的源端口,并确定该源端口对应的第一虚拟端口信息;
当所述转发芯片根据所述第一虚拟端口信息确定第一虚拟端口使能所述第一协议报文对应的协议时,将所述第一协议报文以及所述第一虚拟端口信息上送中央处理单元CPU,由所述CPU根据所述第一虚拟端口信息对所述第一协议报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述转发芯片将所述第一协议报文以及所述第一虚拟端口信息上送CPU之后,还包括:
所述转发芯片接收所述CPU发送的第二协议报文以及报文转发方式;
当所述报文转发方式为源端口返回时,所述转发芯片为所述第二协议报文封装第二ETAG,所述第二ETAG中的E-CID为所述第一ETAG中的源E-CID;
所述转发芯片将封装有所述第二ETAG的所述第二协议报文发送给所述OLT芯片,以使所述OLT芯片根据所述第二ETAG中的E-CID确定对应的ONU端口,并通过所述ONU端口发送带有EPON头的所述第二协议报文;
当所述报文转发方式为广播转发时,所述转发芯片根据广播VLAN确定所述第二协议报文的出端口,并从所确定的出端口广播所述第二协议报文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述OLT芯片从第二ONU端口接收到带有EPON头的第一数据报文时,剥除该EPON头,为所述第一数据报文封装第二ETAG,并通过第二内联口将封装有所述第二ETAG的第一数据报文发送给转发芯片;其中,所述第二ETAG中的源E-CID为所述第二ONU端口对应的第二E-CID;
所述转发芯片根据所述第二ETAG中的源E-CID确定所述第一数据报文的源端口,确定该源端口对应的第二虚拟端口,并根据所述第一数据报文的源地址信息以及所述第二虚拟端口进行转发表项学习;
以及,根据所述第一数据报文的目的地址信息查询本地转发表项,以确定所述第一数据报文的目的出端口,并当该目的出端口为虚拟端口时,确定该目的出端口对应的第三E-CID,为所述第一数据报文封装第三ETAG,并通过该目的出端口对应的第三内联口发送封装有所述第三ETAG的所述第一数据报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述OLT芯片从第四内联口接收到封装有第四ETAG的第二数据报文时,剥除所述第四ETAG,根据所述第四ETAG中的E-CID确定所述第二数据报文的目的出端口,并从所述目的出端口转发带有EPON头的所述第二数据报文。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
所述转发芯片确定待分配ONU端口;
所述转发芯片分别为各待分配ONU端口分配对应的E-CID和虚拟端口,并配置各虚拟端口支持的协议。
6.一种报文转发装置,应用于以太网无源光网络EPON设备,其特征在于,所述EPON设备中的光线路终端OLT芯片与转发芯片均支持802.1br协议,所述装置包括:
OLT芯片,用于当从第一光网络单元ONU端口接收到带有EPON头的第一协议报文时,剥除该EPON头,为所述第一协议报文封装第一ETAG,并通过第一内联口将封装有所述第一ETAG的第一协议报文发送给转发芯片;其中,所述第一协议报文为除多点控制MPCP协议报文和操作维护管理OAM扩展协议报文之外的协议报文,所述第一ETAG中的源E-CID为所述第一ONU端口对应的第一E-CID;
转发芯片,用于根据所述第一ETAG中的源E-CID确定所述第一协议报文的源端口,并确定该源端口对应的第一虚拟端口信息;
所述转发芯片,还用于当根据所述第一虚拟端口信息确定第一虚拟端口使能所述第一协议报文对应的协议时,将所述第一协议报文以及所述第一虚拟端口信息上送中央处理单元CPU,由所述CPU根据所述第一虚拟端口信息对所述第一协议报文进行处理。
7.根据权利要求6所述的装置,其特征在于,
所述转发芯片,还用于接收所述CPU发送的第二协议报文以及报文转发方式;
所述转发芯片,还用于当所述报文转发方式为源端口返回时,为所述第二协议报文封装第二ETAG,所述第二ETAG中的E-CID为所述第一ETAG中的源E-CID;将封装有所述第二ETAG的所述第二协议报文发送给所述OLT芯片,以使所述OLT芯片根据所述第二ETAG中的E-CID确定对应的ONU端口,并通过所述ONU端口发送带有EPON头的所述第二协议报文;
所述转发芯片,还用于当所述报文转发方式为广播转发时,根据广播VLAN确定所述第二协议报文的出端口,并从所确定的出端口广播所述第二协议报文。
8.根据权利要求6所述的装置,其特征在于,
所述OLT芯片,还用于当从第二ONU端口接收到带有EPON头的第一数据报文时,剥除该EPON头,为所述第一数据报文封装第二ETAG,并通过第二内联口将封装有所述第二ETAG的第一数据报文发送给转发芯片;其中,所述第二ETAG中的源E-CID为所述第二ONU端口对应的第二E-CID;
所述转发芯片,还用于根据所述第二ETAG中的源E-CID确定所述第一数据报文的源端口,确定该源端口对应的第二虚拟端口,并根据所述第一数据报文的源地址信息以及所述第二虚拟端口进行转发表项学习;以及,根据所述第一数据报文的目的地址信息查询本地转发表项,以确定所述第一数据报文的目的出端口,并当该目的出端口为虚拟端口时,确定该目的出端口对应的第三E-CID,为所述第一数据报文封装第三ETAG,并通过该目的出端口对应的第三内联口发送封装有所述第三ETAG的所述第一数据报文。
9.根据权利要求6所述的装置,其特征在于,
所述OLT芯片,还用于当从第四内联口接收到封装有第四ETAG的第二数据报文时,剥除所述第四ETAG,根据所述第四ETAG中的E-CID确定所述第二数据报文的目的出端口,并从所述目的出端口转发带有EPON头的所述第二数据报文。
10.根据权利要求6-9任一项所述的装置,其特征在于,
所述转发芯片,还用于确定待分配ONU端口;
所述转发芯片,还用于分别为各待分配ONU端口分配对应的E-CID和虚拟端口,并配置各虚拟端口支持的协议。
CN201910250552.0A 2019-03-29 2019-03-29 一种报文转发方法及装置 Active CN109905785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910250552.0A CN109905785B (zh) 2019-03-29 2019-03-29 一种报文转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910250552.0A CN109905785B (zh) 2019-03-29 2019-03-29 一种报文转发方法及装置

Publications (2)

Publication Number Publication Date
CN109905785A CN109905785A (zh) 2019-06-18
CN109905785B true CN109905785B (zh) 2021-05-28

Family

ID=66954897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910250552.0A Active CN109905785B (zh) 2019-03-29 2019-03-29 一种报文转发方法及装置

Country Status (1)

Country Link
CN (1) CN109905785B (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257452B (zh) * 2008-04-16 2010-12-08 中兴通讯股份有限公司 一种以太无源光网络接入设备发送下行数据报文的方法
CN103685010B (zh) * 2012-09-05 2018-01-12 新华三技术有限公司 一种报文转发方法和边缘设备
CN104243257A (zh) * 2013-06-06 2014-12-24 太仓市同维电子有限公司 一种光网络单元通过虚拟端口实现动态分流的方法
CN103812707B (zh) * 2014-02-28 2019-07-16 上海斐讯数据通信技术有限公司 一种线路标识报文的转发处理方法
CN104378303B (zh) * 2014-11-21 2018-03-23 瑞斯康达科技发展股份有限公司 转发组播业务的方法和系统、onu和olt
CN106161077B (zh) * 2015-04-24 2019-07-09 中兴通讯股份有限公司 接入汇聚装置和认证注册方法
CN108206772A (zh) * 2016-12-20 2018-06-26 中兴通讯股份有限公司 一种调度方法、系统及控制器
CN108259296B (zh) * 2017-03-31 2020-12-04 新华三技术有限公司 报文转发方法和装置
CN108282708B (zh) * 2018-01-31 2020-07-14 北京电信规划设计院有限公司 多运营商odn共享及异构pon统一管理方法
CN108989915B (zh) * 2018-06-14 2020-07-14 烽火通信科技股份有限公司 一种基于onu粒度的接入网olt切片的方法及系统
CN109121026B (zh) * 2018-06-28 2021-03-02 烽火通信科技股份有限公司 一种基于逻辑端口实现volt的方法及系统

Also Published As

Publication number Publication date
CN109905785A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN107733799B (zh) 一种报文传输方法和装置
US8718061B2 (en) Data center network system and packet forwarding method thereof
EP2600573B1 (en) Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing
CN108989915B (zh) 一种基于onu粒度的接入网olt切片的方法及系统
CN108964940B (zh) 消息发送方法及装置、存储介质
US20130343394A1 (en) Method and Apparatus for Converting Virtual Local Area Network Identity
EP4231597A1 (en) Method for forwarding bier message, and device and system
CN107317752B (zh) 一种转发数据报文的方法及装置
EP2326059B1 (en) Mapping method, apparatus and system for data transmission
CN104104747A (zh) 报文传输方法及装置
CN101155136A (zh) 一种虚拟网关、虚拟子网的实现方法以及系统
US20220060344A1 (en) Method for indicating multicast forwarding entry and device
CN107968749B (zh) 实现QinQ路由终结的方法、交换芯片及交换机
CN110855568B (zh) 报文转发方法及系统
CN107204907B (zh) 云数据中心互联方法及装置
CN110753010B (zh) 一种报文转发方法及装置
WO2021143279A1 (zh) 段路由业务处理方法和装置、路由设备及存储介质
US20120099598A1 (en) Method, device and system for establishing a pseudo wire
US10171259B2 (en) Network system and relay device
US11870681B2 (en) Bier multicast traffic statistics collection method, device, and system
US8331266B2 (en) LAN topology detection and assignment of addresses
EP4366264A1 (en) Communication method based on segment routing over internet protocol version 6 (srv6)
US11523443B2 (en) Extraction, conversion, and transmission of user packet from encapsulated packet
CN109905785B (zh) 一种报文转发方法及装置
CN110768916B (zh) 一种端口统计参数通告方法以及设备

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