CN106576016B - 数据传输的方法和媒体接入控制器 - Google Patents
数据传输的方法和媒体接入控制器 Download PDFInfo
- Publication number
- CN106576016B CN106576016B CN201480081275.0A CN201480081275A CN106576016B CN 106576016 B CN106576016 B CN 106576016B CN 201480081275 A CN201480081275 A CN 201480081275A CN 106576016 B CN106576016 B CN 106576016B
- Authority
- CN
- China
- Prior art keywords
- message
- circuit
- data block
- mac
- data
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- 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/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Abstract
本发明实施例提供了一种数据传输的方法,包括:媒体接入控制器中的接收电路接收N个报文;分发电路生成第一数据块和第二数据块,所述第一数据块包括第一集合,所述第二数据块包括第二集合;所述分发电路将所述第一数据块分发到第一电路,所述分发电路将所述第二数据块分发到第二电路;所述第一电路将所述第一数据块转化为第一数据,所述第二电路将所述第二数据块转化为第二数据;所述第一电路通过第一信道发送所述第一数据,所述第二电路通过第二信道发送所述第二数据。此外,还提供了其他方法以及相应的媒体接入控制器。上述技术方案有助于节省以太网接口对电路资源的占用。
Description
技术领域
本发明涉及通信领域,并且更具体地,涉及数据传输的方法和媒体接入控制器(英文:media access controller,简称:MAC)。
背景技术
为了支持以太网接口的多种速率的需求,现有的高速以太网接口中的发送MAC(英文:transmit media access controller,简称:transmit MAC)将报文流转化数据块流,并将数据块流中的数据块分发至N个虚通道(英文:virtual lane,简称:VL)。例如,所述多种速率可以是两种速率。所述两种速率可以分别对应M0个码流以及M1个码流。N的取值是M0和M1的最小公倍数。数据块流被分发到N个虚通道后,需要将对齐字(英文:alignmentmarker,简称:AM)插入到每个数据块流中。每个通道的AM中包含虚通道的标识。发送PMA(英文:transmit physical medium attachment,简称:transmit PMA)从N个虚通道收到数据块流后,以比特间插的方式将接收到的数据块流复用为M个码流。接收PMA(英文:receivePMA)接收到M个码流后,以比特间插的方式将码流解复用为N个数据块流。接收PCS(英文:receive physical coding sublayer,简称:receive PCS)根据N个数据块流中的对齐字,进行对齐和重排序。PMA中采用了比特间插的方式进行N到M的复用和解复用,N个数据块流在接收MAC(英文:receive media access controller,简称:receive MAC)会乱序。也就是说,transmit MAC的某一数据块流到达receive MAC时,可能会出现在receive MAC的N个数据块流中的任意一个数据块流中。receive PCS需要对N个数据块流进行重排序,将N个数据块流中的数据块映射到N个虚通道中。为实现上述映射,需要用电路建立N个虚通道之间的全连接(英文:full mesh)。receive PCS中需要包含N×(N-1)个连接。上述技术方案中,占用的电路的资源较多。
例如,为实现100吉比特每秒(英文:gigabit per second,简称:Gps)以太网接口,业界提出了4×25Gps的方案以及10×10Gps的方案。为了既支持4×25Gps的方案又支持10×10Gps的方案,transmit MAC需要将报文流转化数据块流,并将数据块流分发至20个虚通道。20是4和10的最小公倍数。
receive PMA接收到4×25Gps的码流或者10×10Gps的码流后,将4×25Gps的码流或者10×10Gps的码流解复用为20个数据块流。receive PCS根据数据块中的虚通道的标识,将20个数据块流中的数据块进行重排序。receive PCS进行重排序时,需要将20个数据块流中的数据块映射到20个虚通道。为实现上述映射,需要利用电路(例如逻辑电路)建立20个虚通道之间的全连接。因此,receive PCS中需要包含20×19个连接。
发明内容
本发明实施例提供了数据传输的方法和媒体接入控制器,有助于节省以太网接口对电路资源的占用。
第一方面,提供了一种数据传输的方法,包括:
MAC中的接收电路接收N个报文,所述N个报文到达所述MAC的时间的前后顺序依次为第一个报文至第N个报文,N为大于1的正整数;
所述MAC中的分发电路生成第一数据块和第二数据块,所述第一数据块包括第一集合,所述第一集合包括所述第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至所述第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第一数据块包括第一标识,所述第二数据块包括第二标识,所述第一标识用于指示所述第一集合到达所述MAC的时间的前后顺序,所述第二标识用于指示所述第二集合到达所述MAC的时间的前后顺序,M为正整数,M小于N;
所述分发电路将所述第一数据块分发到所述MAC中的第一电路,所述分发电路将所述第二数据块分发到所述MAC中的第二电路;
所述第一电路将所述第一数据块转化为第一数据,所述第二电路将所述第二数据块转化为第二数据;
所述第一电路通过第一信道发送所述第一数据,所述第二电路通过第二信道发送所述第二数据。
在第一方面的第一种可能的实现方式中,
所述第一标识承载在以太网帧间隙(英文:inter-packet gap,简称:IPG)、报文的报文头或者报文的净荷中;或者
所述第二标识承载在以太网IPG、报文的报文头或者报文的净荷中。
根据第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之前,所述方法还包括:
所述MAC中的比较电路比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及
所述比较电路确定所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度;
所述分发电路将所述第一数据块分发到所述MAC中的第一电路具体包括:
基于所述比较电路确定的所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度,所述分发电路将所述第一数据块分发到所述MAC中的第一电路。
根据第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之后,以及所述分发电路将所述第二数据块分发到所述MAC中的第二电路之前,所述方法还包括:
所述比较电路比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及
所述比较电路确定所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度;
所述分发电路将所述第二数据块分发到所述MAC中的第二电路具体包括:
基于所述比较电路确定的所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度,所述分发电路将所述第二数据块分发到所述MAC中的第二电路。
根据第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
上述技术方案中,发送MAC中的接收电路接收N个报文后,所述N个报文被分为两个集合,即第一集合和第二集合。分发电路生成分别包含所述第一集合和所述第二集合的第一数据块和第二数据块。所述分发电路分别将所述第一数据块和所述第二数据块分发到第一电路和第二电路。所述第一电路和所述第二电路分别将所述第一数据块和所述第二数据块转化为第一数据和第二第二数据。也就是说,所述接收电路接收到的所述N个报文对应的带宽被分为所述第一集合对应的带宽和所述第二集合对应的带宽。所述第一集合和所述第二集合分别被转化为所述第一数据和所述第二数据。因此,所述N个报文对应的带宽大致等于所述第一数据的带宽与所述第二数据的带宽的和。
上述技术方案有助于减少接收MAC接收到所述第一数据和所述第二数据后,分别对所述第一数据和所述第二数据进行重排序所需的电路的资源。
具体来说,现有技术中,发送MAC接收到N个报文后,所述发送MAC将所述N个报文转化为一个数据流。所述N个报文被转化为所述一个数据流的过程中,所述N个报文没有被分为所述两个集合。假设所述N个报文被转化为所述一个数据流的过程中,所述N个报文被分发到A个虚通道中。因此,现有技术中,接收MAC接收到所述一个数据流后,接收MAC需要包含A个虚通道,从而对接收到的所述一个数据流对应的数据块流进行重排序。接收MAC执行重排序,接收MAC中的A个虚通道需要被全连接。接收MAC中需要包含A×(A-1)个连接。
本发明实施例提供的上述技术方案中,发送MAC接收到所述N个报文后,所述N个报文被分为所述两个集合。所述第一集合和所述第二集合分别被转化为所述第一数据和所述第二数据。假设所述N个报文对应的带宽等于所述第一数据的带宽与所述第二数据的带宽的和。假设所述第一数据的带宽等于所述第二数据的带宽。所述第一电路将所述第一集合转化为所述第一数据的过程中,所述第一集合被分发到A/2个虚通道中。类似地,所述第二电路将所述第二集合转化为所述第二数据的过程中,所述第二集合被分发到A/2个虚通道中。接收MAC接收到所述第一数据后,所述接收MAC需要使用A/2个虚通道对所述第一数据对应的数据块流进行重排序。所述A/2个虚通道对应A/2×(A/2-1)个连接。类似地,所述接收MAC接收到所述第二数据后,所述接收MAC需要使用另外的A/2个虚通道对所述第二数据对应的数据块流进行重排序。所述另外的A/2个虚通道也对应A/2×(A/2-1)个连接。因此,接收MAC中需要包含A×(A/2-1)个连接。
从上述分析可以看出,现有技术中,接收MAC中,连接的数量是A×(A-1)个。本发明实施例提供的上述技术方案中,连接的数量可以是A×(A/2-1)个。
综上,本发明实施例提供上述技术方案有助于减少接收MAC中连接的数量。因此,上述技术方案有助于节省以太网接口对电路资源的占用。
第二方面,提供了一种数据传输的方法,包括:
MAC的接收电路通过第一信道接收第一数据,所述接收电路通过第二信道接收第二数据;
所述接收电路将所述第一数据发送至所述MAC中的第一电路,所述接收电路将所述第二数据发送至所述MAC中的第二电路;
所述第一电路将所述第一数据转化为第一数据块,所述第二电路将所述第二数据转化为第二数据块,所述第一数据块包括第一集合,所述第一集合中包括第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第一数据块包括第一标识,所述第二数据块包括第二标识,所述第一标识用于指示对端MAC生成所述第一数据块的时间的前后顺序,所述第二标识用于指示所述对端MAC生成所述第二数据块的时间的前后顺序,M为正整数,M小于N,N为大于1的正整数;
所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文,所述第二电路根据所述第二数据块生成所述第M+1个报文至所述第N个报文;
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文;
所述第二电路向所述汇聚电路发送所述第M+1个报文至所述第N个报文;
所述汇聚电路发送所述N个报文,所述汇聚电路发送所述N个报文的时间的前后顺序依次为所述第一个报文至所述第N个报文。
在第二方面的第一种可能的实现方式中,
所述第一标识承载在以太网IPG、报文的报文头或者报文的净荷中;或者
所述第二标识承载在以太网IPG、报文的报文头或者报文的净荷中。
根据第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度。
根据第二方面、第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,
所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文以后,以及所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文之前,所述方法还包括:
所述MAC中的查找电路在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文具体包括:
所述第一电路向所述汇聚电路发送所述至少一个报文以及所述第一出接口的标识。
根据第二方面、第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文之后,所述方法还包括:
所述汇聚电路中的查找电路在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
所述汇聚电路发送所述N个报文具体包括:
所述汇聚电路向所述第一出接口发送所述至少一个报文。
上述技术方案中,接收MAC中的接收电路接收第一数据和第二数据后,第一数据被转化为第一数据块,第二数据被转化为第二数据块。第一数据块包括第一集合。第二数据块包括第二集合。随后,第一数据块被转化为第一个报文至第M个报文。第二数据块被转化为第M+1个报文至第N个报文。因此,所述N个报文对应的带宽大致等于所述第一数据的带宽与所述第二数据的带宽的和。
上述技术方案有助于减少接收MAC接收到所述第一数据和所述第二数据后,分别对所述第一数据和所述第二数据进行重排序所需的电路的资源。
具体来说,现有技术中,发送MAC接收到N个报文后,所述发送MAC将所述N个报文转化为一个数据流。所述N个报文被转化为所述一个数据流的过程中,所述N个报文没有被分为所述两个集合。假设所述N个报文被转化为所述一个数据流的过程中,所述N个报文被分发到A个虚通道中。因此,现有技术中,接收MAC接收到所述一个数据流后,接收MAC需要包含A个虚通道,从而对接收到的所述一个数据流对应的数据块流进行重排序。接收MAC执行重排序,接收MAC中的A个虚通道需要被全连接。接收MAC中需要包含A×(A-1)个连接。
本发明实施例提供的上述技术方案中,接收MAC接收到第一数据后,所述接收MAC需要使用A/2个虚通道对所述第一数据对应的数据块流进行重排序。所述A/2个虚通道对应A/2×(A/2-1)个连接。类似地,所述接收MAC接收到所述第二数据后,所述接收MAC需要使用另外的A/2个虚通道对所述第二数据对应的数据块流进行重排序。所述另外的A/2个虚通道也对应A/2×(A/2-1)个连接。因此,接收MAC中需要包含A×(A/2-1)个连接。
从上述分析可以看出,现有技术中,接收MAC中,连接的数量是A×(A-1)个。本发明实施例提供的上述技术方案中,连接的数量可以是A×(A/2-1)个。
综上,本发明实施例提供上述技术方案有助于减少接收MAC中连接的数量。因此,上述技术方案有助于节省以太网接口对电路资源的占用。
第三方面,提供了一种MAC,包括接收电路,分发电路,第一电路以及第二电路;
所述接收电路,用于接收N个报文,所述N个报文到达所述MAC的时间的前后顺序依次为第一个报文至第N个报文,N为大于1的正整数;
所述分发电路,用于生成第一数据块和第二数据块,所述第一数据块包括第一集合,所述第一集合包括所述第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至所述第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第一数据块包括第一标识,所述第二数据块包括第二标识,所述第一标识用于指示所述第一集合到达所述MAC的时间的前后顺序,所述第二标识用于指示所述第二集合到达所述MAC的时间的前后顺序,M为正整数,M小于N;
所述分发电路,还用于将所述第一数据块分发到所述第一电路,以及将所述第二数据块分发到所述第二电路;
所述第一电路,用于将所述第一数据块转化为第一数据;
所述第二电路,用于将所述第二数据块转化为第二数据;
所述第一电路,还用于通过第一信道发送所述第一数据;
所述第二电路,还用于通过第二信道发送所述第二数据。
在第三方面的第一种可能的实现方式中,
所述第一标识承载在以太网IPG、报文的报文头或者报文的净荷中;或者
所述第二标识承载在以太网帧间隙IPG、报文的报文头或者报文的净荷中。
根据第三方面或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述MAC还包括比较电路;
所述比较电路,用于在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之前,比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及,确定所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度;
所述分发电路,具体用于基于所述比较电路确定的所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度,将所述第一数据块分发到所述MAC中的第一电路。
根据第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,
所述比较电路,还用于在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之后,以及所述分发电路将所述第二数据块分发到所述MAC中的第二电路之前,比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及,确定所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度;
所述分发电路,具体用于基于所述比较电路确定的所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度,将所述第二数据块分发到所述MAC中的第二电路。
根据第三方面、第三方面的第一种可能的实现方式、第三方面的第二种可能的实现方式或者第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
第四方面,提供了一种MAC,包括接收电路,第一电路、第二电路以及汇聚电路:
所述接收电路,用于通过第一信道接收第一数据,以及,通过第二信道接收第二数据;
所述接收电路,还用于将所述第一数据发送至所述第一电路,以及,将所述第二数据发送至所述第二电路;
所述第一电路,用于将所述第一数据转化为第一数据块,所述第一数据块包括第一集合,所述第一集合中包括第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第一数据块包括第一标识,所述第一标识用于指示对端MAC生成所述第一数据块的时间的前后顺序;
所述第二电路,用于将所述第二数据转化为第二数据块,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第二数据块包括第二标识,所述第二标识用于指示所述对端MAC生成所述第二数据块的时间的前后顺序,M为正整数,M小于N,N为大于1的正整数;
所述第一电路,还用于根据所述第一数据块生成所述第一个报文至所述第M个报文;
所述第二电路,还用于根据所述第二数据块生成所述第M+1个报文至所述第N个报文;
所述第一电路,还用于向所述汇聚电路发送所述第一个报文至所述第M个报文;
所述第二电路,还用于向所述汇聚电路发送所述第M+1个报文至所述第N个报文;
所述汇聚电路,用于发送所述N个报文,所述汇聚电路发送所述N个报文的时间的前后顺序依次为所述第一个报文至所述第N个报文。
在第四方面的第一种可能的实现方式中,
所述第一标识承载在以太网IPG、报文的报文头或者报文的净荷中;或者
所述第二标识承载在以太网IPG、报文的报文头或者报文的净荷中。
根据第四方面或者第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度。
根据第四方面、第四方面的第一种可能的实现方式或者第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,
所述MAC还包括查找电路;
所述查找电路,用于在所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文以后,以及在所述第一电路向所述汇聚电路发送所述第一个报文至所述第M个报文之前,在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
所述第一电路具体用于,向所述汇聚电路发送所述至少一个报文以及所述第一出接口的标识。
根据第四方面、第四方面的第一种可能的实现方式或者第四方面的第二种可能的实现方式,在第四方面的第四种可能的实现方式中,
所述汇聚电路还包括查找电路;
所述查找电路,用于在所述第一电路向所述汇聚电路发送所述第一个报文至所述第M个报文之后,在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
所述汇聚电路,具体用于向所述第一出接口发送所述至少一个报文。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中网络七层协议架构示意图;
图1a为本发明实施例提供的一种数据传输的方法的流程示意图;
图2为本发明实施例提供的一种数据传输的方法的流程示意图;
图2a为本发明实施例提供的一种应用场景的示意图;
图3为本发明实施例提供的一种媒体接入控制器的结构示意图;
图4为本发明实施例提供的一种媒体接入控制器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为网络七层协议架构的示意图。本发明实施例提供的技术方案主要在图1所示的网络七层协议架构中的物理(英文:Physical)层和数据链路(英文:Data Link)层实现。如图1所示,物理层可包括协调子层(英文:Reconciliation Sublayer,简称:RS子层)、PCS子层、PMA子层以及物理介质相关(英文:Physical Media Dependent,简称:PMD)子层。数据链路层可以包括MAC子层以及逻辑链路控制(英文:Logical Link Control,简称:LLC)或者其他MAC客户端(英文:MAC Client)。
图1a为本发明实施例提供的一种数据传输的方法的流程示意图。所述方法的执行主体是MAC。所述MAC可以是图1所示的MAC子层的实体。所述MAC可以是MAC芯片(MAC chip)、系统芯片(system chip)或者多端口以太网设备(multi-port Ethernet device)。
举例来说,所述MAC可以通过现场可编程门阵列(英文:field programmable gatearray,简称:FPGA)或者专用集成电路(英文:application-specific integratedcircuit,简称:ASIC)实现。所述MAC可以是网络接口卡(Network Interface Card,NIC)中的部件。所述NIC可以是线卡(Line Card)或者PIC(Physical Interface Card,物理接口卡)。所述MAC可以包含用于连接到(for interfacing to)物理层电路(英文:PHY)的媒体无关接口(Media-Independent Interface,MII)。
举例来说,所述MAC芯片可以包括多个MAC。所述MAC芯片可以通过FPGA或者ASIC实现。
所述系统芯片可以包括多个MAC以及多个PHY。所述系统芯片可以通过FPGA或者ASIC实现。
所述多端口以太网设备可以包括所述MAC chip或者system chip。举例来说,所述多端口以太网设备可以是路由器、网络交换机、分组传送网(英文:packet transportnetwork,简称:PTN)设备、防火墙、负载均衡器、数据中心或者波分复用(英文:wavelength-division multiplexing,简称:WDM)设备。例如,所述网络交换机可以是开放流交换机(英文:OpenFlow Switch)。
参见图1a,所述方法包括:
S102、MAC中的接收电路接收N个报文。
所述N个报文到达所述MAC的时间的前后顺序依次为第一个报文至第N个报文,N为大于1的正整数。
举例来说,所述N个报文可以是网络处理器(英文:network processor,简称:NP)或者流量管理(英文:traffic management,简称:TM)芯片发送的。所述NP或者所述TM芯片与所述MAC耦合。
举例来说,所述N个报文可以是2层协议的报文、2.5层协议的报文、3层协议的报文或者4层协议的报文。例如,所述2层协议可以是媒体访问控制(英文:media accesscontrol)协议。所述2.5层协议可以是多协议标记交换(英文:multiprotocol labelswitching,简称:MPLS)协议。所述3层协议可以网际协议(英文:internet protocol,简称:IP)。所述4层协议可以是传输控制协议(英文:transmission control protocol,简称:TCP)。关于2层、2.5层、3层或者4层,参见开放式通信系统互联参考模型(英文:open systeminterconnection reference model)。
举例来说,N可以等于2、3、4或者5。
S104、所述MAC中的分发电路生成第一数据块和第二数据块。
所述第一数据块包括第一集合。所述第一集合包括所述第一个报文至第M个报文。所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文。所述第二数据块包括第二集合。所述第二集合包括第M+1个报文至所述第N个报文。所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文。所述第一数据块包括第一标识。所述第二数据块包括第二标识。所述第一标识用于指示所述第一集合到达所述MAC的时间的前后顺序。所述第二标识用于指示所述第二集合到达所述MAC的时间的前后顺序。M为正整数。M小于N。
举例来说,M可以等于1、2或者3。
本领域的技术人员可以理解,当M等于1时,所述第一个报文与所述第M个报文相同。所述第一个报文至所述第M个报文仅包括所述第一报文。所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文具体为:所述第一个报文承载在所述第一数据块中。
举例来说,M+1可以等于N。
本领域的技术人员可以理解,当M+1等于N时,所述第M+1个报文与所述第N个报文相同。所述第M+1个报文至所述第N个报文仅包括所述第N个报文。所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文具体为:所述第N个报文承载在所述第二数据块中。
所述第一集合包括至少一个报文。所述第二集合包括至少一个报文。
所述第一标识和所述第二标识用于指示所述第一集合先于所述第二集合到达所述MAC。可以理解,所述第一集合先于所述第二集合到达所述MAC是指所述第一集合中的每个报文先于所述第二集合中的每个报文到达所述MAC。
举例来说,所述第一标识和所述第二标识可以是顺序号码(英文:sequencenumber,简称:SN)。例如,所述MAC可以为到达所述MAC的时间较早的集合分配较小的SN,为到达所述MAC的时间较晚的集合分配较大的SN。例如,所述第一标识和所述第二标识可以分别是1和2。
S106、所述分发电路将所述第一数据块分发到所述MAC中的第一电路,所述分发电路将所述第二数据块分发到所述MAC中的第二电路。
举例来说,所述分发电路可以按照加权轮询(英文:Weighted Round-Robin,简称:WRR)的方式分发所述第一数据块以及所述第二数据块。
S108、所述第一电路将所述第一数据块转化为第一数据,所述第二电路将所述第二数据块转化为第二数据。
举例来说,所述第一电路包括物理层编码电路。所述第一数据为对所述第一数据块进行物理层编码后得到的数据。或者,所述第一电路包括物理层编码电路和加扰电路。所述第一数据为对所述第一数据块进行物理层编码和加扰后得到的数据。或者,所述第一电路包括物理层编码电路、加扰电路和对齐字插入电路。所述第一数据为对所述第一数据块进行物理层编码、加扰和对齐字插入之后得到的数据。
举例来说,所述第二电路包括物理层编码电路。所述第二数据为对所述第二数据块进行物理层编码后得到的数据。或者,所述第二电路包括物理层编码电路和加扰电路。所述第二数据为对所述第二数据块进行物理层编码和加扰后得到的数据。或者,所述第二电路包括物理层编码电路、加扰电路和对齐字插入电路。所述第二数据为对所述第二数据块进行物理层编码、加扰和对齐字插入之后得到的数据。
举例来说,物理层编码可以是4b/5b编码,8b/10b编码或者64b/66b编码或其它类型的物理层编码。关于对齐字,具体可以参见电气和电子工程师学会(英文:Institute ofElectrical and Electronics Engineers,简称:IEEE)802.3。
S110、所述第一电路通过第一信道发送所述第一数据,所述第二电路通过第二信道发送所述第二数据。
举例来说,所述第一电路发送所述第一数据的发送速率可以等于标准化的以太网接口的速率。例如,所述第一电路发送所述第一数据的发送速率可以是100兆比特每秒(英文:megabit per second,简称Mbps)、1Gbps、10Gbps、40Gbps、100Gbps、400Gbps或者1太比特每秒(英文:terabit per second,简称:Tbps)。
可以理解,上述技术方案中,所述MAC可以是transmit MAC。S110具体实现时,可以是所述transmit MAC中的所述第一电路向receive MAC发送所述第一数据,以及所述transmit MAC中的所述第二电路向所述receive MAC发送所述第二数据。
可以理解,从图1所示的方法的执行主体,即所述MAC的角度,所述接收MAC为对端MAC。
举例来说,所述第一信道和所述第二信道可以通过不同的光传送网(英文:optical transport network,简称:OTN)时隙、不同的同步数字体系(英文:synchronousdigital hierarchy,简称:SDH)时隙、不同的波长或者不同的光纤实现。
例如,所述MAC与所述对端MAC通过电缆连接。所述第一信道和所述第二信道承载在所述电缆上。所述第一信道和所述第二信道分别占用不同的SDH时隙。
例如,所述MAC与所述对端MAC通过光纤连接。具体的,所述MAC与第一光模块耦合。所述对端MAC与第二光模块耦合。所述第一光模块的发送端(TX)与所述光纤的一端连接。所述第二光模块的接收端(RX)与所述光纤的另一端连接。所述第一信道和所述第二信道承载在所述光纤上。所述第一信道和所述第二信道分别占用不同的波长。
举例来说,所述MAC是第一网络设备中部件。所述对端MAC是第二网络设备中的部件。例如,所述第一网络设备是第一路由器。所述MAC是所述第一路由器中的LC的部件。所述第二网络设备是第二路由器。所述对端MAC是所述第二路由器中的LC的部件。所述第一路由器通过光纤与所述第二路由器连接。可以理解,所述第一路由器到所述第二路由器的路径可以包括其他网络设备,也可以不包括其他网络设备。
可选地,上述技术方案中,
所述第一标识承载在以太网IPG、报文的报文头或者报文的净荷中。
例如,所述第一标识可以携带在先于所述第一个报文被发送的报文中。所述先于所述第一个报文被发送的报文可以是帧间隙。
可替换的,所述第一标识也可以携带在所述第一个报文至所述第M个报文中的任一个报文的报文头中或者净荷中。
可选地的,上述技术方案中,
所述第二标识承载在以太网帧间隙IPG、报文的报文头或者报文的净荷中。
例如,所述第二标识可以携带在先于所述第M+1个报文被发送的报文中。所述先于所述第M+1个报文被发送的报文可以是帧间隙。
可替换的,所述第一标识也可以携带在所述第M+1个报文至所述第N个报文中的任一个报文的报文头中或者净荷中。
可选地的,上述技术方案中,
在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之前,所述方法还包括:
所述MAC中的比较电路比较所述第一电路的发送缓存(transmit buffer)中的队列的长度与所述第二电路的发送缓存中的队列的长度。
所述比较电路确定所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度。
所述分发电路将所述第一数据块分发到所述MAC中的第一电路具体包括:
基于所述比较电路确定的所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度,所述分发电路将所述第一数据块分发到所述MAC中的第一电路。
举例来说,所述第一电路的发送缓存用于保存待发送的数据。具体来说,所述第一电路的发送缓存可以维护先入先出(英文:first in first out,简称:FIFO)队列。具体来说,所述第一电路通过所述第一信道发送所述第一数据前,所述第一数据可以位于所述第一电路的发送缓存维护的FIFO队列中。
举例来说,所述第二电路的发送缓存用于保存待发送的数据。具体来说,所述第二电路的发送缓存中可以维护FIFO队列。具体来说,所述第二电路通过所述第二信道发送所述第二数据前,所述第二数据可以位于所述第二电路的发送缓存维护的FIFO队列中。
电路的发送缓存中的队列的长度可以用于指示电路的资源被占用的情况。队列的长度越长,电路的资源被占用的越多。队列的长度越短,电路的资源被占用的越少。向队列的长度较短的电路分发数据块,有助于实现负载均衡。
可选地,上述技术方案中,
在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之后,以及所述分发电路将所述第二数据块分发到所述MAC中的第二电路之前,所述方法还包括:
所述比较电路比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度。
所述比较电路确定所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度。
所述分发电路将所述第二数据块分发到所述MAC中的第二电路具体包括:
基于所述比较电路确定的所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度,所述分发电路将所述第二数据块分发到所述MAC中的第二电路。
可以理解,发送缓存中的队列的长度可能会随着时间的变化而变化。例如,发送缓存中的队列被执行入队操作后,队列的长度会增加。发送缓存中的队列被执行出队操作后,队列的长度会减少。上述技术方案中,将所述第一数据块分发到所述第一电路后,所述第一电路中的发送缓存中的队列的长度会增加。因此,所述第一电路的发送缓存中的队列的长度可能会大于所述第二电路的发送缓存中的队列的长度。
可选地,上述技术方案,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
可选地,上述技术方案中,
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
图2为本发明实施例提供的一种数据传输的方法的流程示意图。所述方法的执行主体是MAC。所述MAC可以是MAC chip、system chip或者multi-port Ethernet device。关于MAC chip、system chip以及multi-port Ethernet device,可以参考图1所示的实施例的描述,此处不再赘述。需要指出的是,图1所示的实施例中的MAC可以是transmit MAC。图2所示的实施例中的MAC可以是receive MAC。所述transmit MAC与所述receive MAC可以组成数据收发系统。具体来说,所述receive MAC可以用于接收所述transmit MAC发送的数据。
参见图2,所述方法包括:
S202、MAC的接收电路通过第一信道接收第一数据,所述接收电路通过第二信道接收第二数据。
可以理解,从图2所示的方法的执行主体,即所述MAC的角度,图1所示的MAC为对端MAC。举例来说,所述第一数据和所述第二数据可以是所述对端MAC发送的。
举例来说,所述第一信道和所述第二信道可以通过不同的OTN时隙、不同的SDH时隙、不同的波长或者不同的光纤实现。
例如,所述MAC与对端MAC通过电缆连接。所述第一信道和所述第二信道承载在所述电缆上。所述第一信道和所述第二信道分别占用不同的SDH时隙。
例如,所述MAC与对端MAC通过光纤连接。具体的,所述MAC与第一光模块耦合。所述对端MAC与第二光模块耦合。所述第二光模块的发送端与所述光纤的一端连接。所述第一光模块的接收端与所述光纤的另一端连接。所述第一信道和所述第二信道承载在所述光纤上。所述第一信道和所述第二信道分别占用不同的波长。
举例来说,所述MAC是第一网络设备中部件。所述对端MAC是第二网络设备中的部件。例如,所述第一网络设备是第一路由器。所述MAC是所述第一路由器中的LC的部件。所述第二网络设备是第二路由器。所述对端MAC是所述第二路由器中的LC的部件。所述第一路由器通过光纤与所述第二路由器连接。可以理解,所述第一路由器到所述第二路由器的路径可以包括其他网络设备,也可以不包括其他网络设备。
举例来说,所述第一数据可以是进行物理层编码后得到的数据,或者,进行物理层编码和加扰后得到的数据或者,进行物理层编码、加扰和对齐字插入之后得到的数据。
举例来说,所述第二数据可以是进行物理层编码后得到的数据,或者,进行物理层编码和加扰后得到的数据或者,进行物理层编码、加扰和对齐字插入之后得到的数据。
S204、所述接收电路将所述第一数据发送至所述MAC中的第一电路,所述接收电路将所述第二数据发送至所述MAC中的第二电路。
举例来说,如果所述第一数据是进行物理层编码、加扰和对齐字插入之后得到的数据,所述第一电路可以包括对齐字去除电路、解扰电路以及物理层解码电路。可替换地,如果所述第一数据是进行物理层编码和加扰后得到的数据,所述第一电路可以包括解扰电路以及物理层解码电路。可替换地,如果所述第一数据是进行物理层编码后得到的数据,所述第一电路可以包括物理层解码电路。
举例来说,如果所述第二数据是进行物理层编码、加扰和对齐字插入之后得到的数据,所述第二电路可以包括对齐字去除电路、解扰电路以及物理层解码电路。可替换地,如果所述第二数据是进行物理层编码和加扰后得到的数据,所述第二电路可以包括解扰电路以及物理层解码电路。可替换地,如果所述第二数据是进行物理层编码后得到的数据,所述第二电路可以包括物理层解码电路。
举例来说,物理层编码可以是4b/5b编码,8b/10b编码或者64b/66b编码或其它类型的物理层编码。物理层解码可以是5b/4b解码,10b/8b解码或者66b/64b解码或其它类型的物理层解码。关于对齐字,具体可以参见IEEE802.3。
S206、所述第一电路将所述第一数据转化为第一数据块,所述第二电路将所述第二数据转化为第二数据块。
所述第一数据块包括第一集合。所述第一集合中包括第一个报文至第M个报文。所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文。所述第二数据块包括第二集合。所述第二集合包括第M+1个报文至第N个报文。所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文。所述第一数据块包括第一标识。所述第二数据块包括第二标识。所述第一标识用于指示对端MAC生成所述第一数据块的时间的前后顺序。所述第二标识用于指示所述对端MAC生成所述第二数据块的时间的前后顺序。M为正整数。M小于N。N为大于1的正整数。
举例来说,M可以等于1、2或者3。
本领域的技术人员可以理解,当M等于1时,所述第一个报文与所述第M个报文相同。所述第一个报文至所述第M个报文仅包括所述第一报文。所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文具体为:所述第一个报文承载在所述第一数据块中。
举例来说,M+1可以等于N。
本领域的技术人员可以理解,当M+1等于N时,所述第M+1个报文与所述第N个报文相同。所述第M+1个报文至所述第N个报文仅包括所述第N个报文。所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文具体为:所述第N个报文承载在所述第二数据块中。
所述第一集合包括至少一个报文。所述第二集合包括至少一个报文。
所述第一标识和所述第二标识用于指示所述对端MAC生成所述第一数据块的时间早于生成所述第二数据块的时间。
举例来说,所述第一标识和所述第二标识可以是SN。例如,所述对端MAC可以为先生成的数据块分配较小的SN,为后生成的数据块分配较大的SN。例如,所述第一标识和所述第二标识可以分别是1和2。
S208、所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文,所述第二电路根据所述第二数据块生成所述第M+1个报文至所述第N个报文。
举例来说,所述N个报文可以是2层协议的报文、2.5层协议的报文、3层协议的报文或者4层协议的报文。例如,所述2层协议可以是媒体访问控制协议。所述2.5层协议可以是MPLS协议。所述3层协议可以IP。所述4层协议可以是TCP。关于2层、2.5层、3层或者4层,参见开放式通信系统互联参考模型。
举例来说,N可以等于2、3、4或者5。
S210、所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文。
S212、所述第二电路向所述汇聚电路发送所述第M+1个报文至所述第N个报文。
举例来说,S210具体实现时,还可以包括,所述第一电路向所述汇聚电路发送所述第一标识。S212具体实现时,还可以包括,所述第二电路向所述汇聚电路发送所述第二标识。
图2所示的方法的执行主体可以先执行S210,再执行S212。可替换地,可以先执行S212,再执行S210。可替换的,可以同时执行S210以及S212。
S214、所述汇聚电路发送所述N个报文,所述汇聚电路发送所述N个报文的时间的前后顺序依次为所述第一个报文至所述第N个报文。
举例来说,S214具体实现时,所述汇聚电路根据所述第一标识和所述第二标识确定所述对端MAC生成所述第一数据块的时间早于生成所述第二数据块的时间。所述汇聚电路确定所述第一个报文至所述第M个报文需要先于所述第M+1个报文至所述第N个报文被发送。
举例来说,所述汇聚电路可以向NP或者TM芯片发送所述N个报文。所述NP或者所述TM芯片与所述MAC耦合。
可选地,上述技术方案中,
所述第一标识承载在以太网IPG、报文的报文头或者报文的净荷中。
例如,所述第一标识可以携带在先于所述第一个报文被发送的报文中。所述先于所述第一个报文被发送的报文可以是帧间隙。
可替换的,所述第一标识也可以携带在所述第一个报文至所述第M个报文中的任一个报文的报文头中或者净荷中。
可选地,上述技术方案中,
所述第二标识承载在以太网IPG、报文的报文头或者报文的净荷中。
例如,所述第二标识可以携带在先于所述第M+1个报文被发送的报文中。所述先于所述第M+1个报文被发送的报文可以是帧间隙。
可替换的,所述第一标识也可以携带在所述第M+1个报文至所述第N个报文中的任一个报文的报文头中或者净荷中。
可选地,上述技术方案中,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
可选地,上述技术方案中,
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
可选地,上述技术方案中,
所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文以后,以及所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文之前,所述方法还包括:
所述MAC中的查找电路在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口。所述表项包括所述信息以及所述第一出接口的标识。所述第一出接口是网络设备的出接口。所述MAC是所述网络设备的部件。
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文具体包括:
所述第一电路向所述汇聚电路发送所述至少一个报文以及所述第一出接口的标识。
举例来说,所述汇聚电路接收到所述至少一个报文以及所述第一出接口的标识后,可以将所述至少一个报文以及所述第一出接口的标识发送NP或者TM。所述NP或者所述TM接收到所述至少一个报文以及所述第一出接口的标识后,所述NP或者所述TM可以基于所述第一出接口的标识确定避免针对所述至少一个报文执行查找转发表的操作(对于NP)或者执行流量管理的操作(针对TM)。所述NP或者所述TM将所述至少一个报文发送至所述第一出接口。或者,所述NP或者所述TM将所述至少一个报文以及所述第一出接口的标识发送至交换网接口控制器(英文:fabric interface controller,简称:FIC)。所述FIC接收到所述至少一个报文后,可以将所述至少一个报文处理为多个交换网信元。
上述技术方案中,所述NP或者所述TM接收到所述至少一个报文后,不针对所述至少一个报文执行查找转发表的操作(对于NP)或者执行流量管理的操作(针对TM)。现有技术中,NP或者TM接收到报文后,需要针对接收到的报文执行查找转发表的操作或者执行流量管理的操作。因此,上述技术方案相当于旁路(英文:bypass)了NP或者TM。有助于减轻对NP或者TM的资源的占用,提高对报文的处理效率。所述转发表可以是路由表或者媒体访问控制协议表。
图2a为上述技术方案的一个应用场景的示意图。图2a为一个网络交换机的示意图。所述网络交换机包括MAC1、NP1、TM1、FIC1、switch fabric,FIC2,TM2,NP2,MAC2。MAC1对应所述网络交换机的一个以太网接口。MAC2对应所述以太网交换机的另一个以太网接口。所述网络交换机被连接到网络后,MAC1的RX可以用于接收第一对端设备发送的数据。所述网络交换机对接收到数据进行处理后,可以通过MAC2的TX将处理后的数据发送至第二对端设备。MAC1可以用于实现图2中的MAC。具体的,MAC1可以用于执行图2所示的方法。
参见图2a,MAC1通过第一信道接收到第一数据,以及通过第二信道接收到第二数据后,MAC1可以根据图2提供的方法获得多个以太网帧。MAC1向NP1发送所述多个以太网帧前,MAC1可以在媒体访问控制协议表中查找与所述多个以太网帧的目的MAC地址的值匹配的表项。所述表项中包括出接口的标识。所述出接口对应MAC2的TX。MAC1向NP1或者TM1发送所述多个以太网帧以及所述出接口的标识。NP1或者TM1接收到所述多个以太网帧以及所述出接口的标识后,NP1或者TM1可以基于所述出接口的标识确定避免针对所述多个以太网帧执行查找媒体访问控制协议表的操作(对于NP1)或者执行流量管理的操作(针对TM1)。NP1或者TM1将所述多个以太网帧发送至MAC2的TX。或者,NP1或者TM1将所述多个以太网帧以及所述出接口的标识发送至FIC1。FIC1接收到所述多个以太网帧后,可以将所述多个以太网帧处理为多个交换网信元。FIC1将所述多个交换网信元发送至switch fabric。
图2a所示的方案中,NP1没有针对多个以太网帧执行查找媒体访问控制协议表的操作。TM1没有针对所述多个以太网帧执行流量管理的操作。因此,相当于所述网络交换机对所述多个以太网帧进行处理时旁路了NP1和TM1。上述方案减轻了对NP1或者TM1的资源的占用,提高了对以太网帧的处理效率。
举例来说,所述网络设备可以是多端口以太网设备。所述第一出接口可以是以太网接口。所述以太网接口接收到所述至少一个报文后,可以将所述至少一个报文转发至对端网络设备。所述对端网络设备可以是多端口以太网设备。
举例来说,所述至少一个报文的报文头可以是所述至少一个报文的外层报文头或者内层报文头。例如,所述至少一个报文可以是以太网帧(英文:ethernet frame)。所述以太网帧的外层报文头可以是帧头(frame header)。所述至少一个报文的内层报文头可以是MPLS头、IP头或者TCP头。
举例来说,所述信息可以是所述至少一个报文的报文头中的一个字段的值,也可以是多个字段的值。所述多个字段可以位于同一个报文头中,也可以位于不同的报文头中。例如,所述信息可以是帧头中的目的媒体访问控制协议地址的值。可替换的,所述信息可以是IP头中的源IP地址的值和目的IP地址的值以及所述帧头中的源媒体访问控制协议地址的值和目的媒体访问控制协议地址的值。
可选地,上述技术方案中,
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文之后,所述方法还包括:
所述汇聚电路中的查找电路在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口。所述表项包括所述信息以及所述第一出接口。所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件。
所述汇聚电路发送所述N个报文具体包括:
所述汇聚电路向所述第一出接口发送所述至少一个报文。
举例来说,所述汇聚电路可以将所述至少一个报文以及所述第一出接口的标识发送NP或者TM。所述NP或者所述TM接收到所述至少一个报文以及所述第一出接口的标识后,所述NP或者所述TM可以基于所述第一出接口的标识确定避免针对所述至少一个报文执行查找转发表的操作(对于NP)或者执行流量管理的操作(针对TM)。所述NP或者所述TM将所述至少一个报文发送至所述第一出接口。或者,所述NP或者所述TM将所述至少一个报文以及所述第一出接口的标识发送至FIC。所述FIC接收到所述至少一个报文后,可以将所述至少一个报文处理为多个交换网信元。
上述技术方案中,所述NP或者所述TM接收到所述至少一个报文后,不针对所述至少一个报文执行查找转发表的操作(对于NP)或者执行流量管理的操作(针对TM)。现有技术中,NP或者TM接收到报文后,需要针对接收到的报文执行查找转发表的操作或者执行流量管理的操作。因此,上述技术方案相当于旁路了NP或者TM。有助于减轻对NP或者TM的资源的占用,提高对报文的处理效率。
举例来说,所述网络设备可以是多端口以太网设备。所述第一出接口可以是以太网接口。
举例来说,所述至少一个报文的报文头可以是所述至少一个报文的外层报文头或者内层报文头。例如,所述至少一个报文可以是ethernet frame。所述以太网帧的外层报文头可以是frame header。所述至少一个报文的内层报文头可以是MPLS头、IP头或者TCP头。
举例来说,所述信息可以是所述至少一个报文的报文头中的一个字段的值,也可以是多个字段的值。所述多个字段可以位于同一个报文头中,也可以位于不同的报文头中。例如,所述信息可以是帧头中的目的媒体访问控制协议地址的值。可替换的,所述信息可以是IP头中的源IP地址的值和目的IP地址的值以及所述帧头中的源媒体访问控制协议地址的值和目的媒体访问控制协议地址的值。
图3为本发明实施例提供的一种MAC300的结构示意图。MAC300可以是图1所示的MAC子层的实体。MAC300可以是MAC chip、system chip或者multi-port Ethernet device。MAC300可以用于执行图1a所示的方法。关于本实施例涉及的术语的定义以及举例,请参见图1a对应的实施例的描述。此处不再赘述。
参见图3,MAC300包括:接收电路301,分发电路302,第一电路303以及第二电路304。
可以理解,接收电路301,分发电路302,第一电路303以及第二电路304是MAC300中的功能电路。上述功能电路可以通过ASIC实现或者FPGA实现。
接收电路301,用于接收N个报文,所述N个报文到达MAC300的时间的前后顺序依次为第一个报文至第N个报文,N为大于1的正整数。
分发电路302,用于生成第一数据块和第二数据块,所述第一数据块包括第一集合,所述第一集合包括所述第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至所述第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第一数据块包括第一标识,所述第二数据块包括第二标识,所述第一标识用于指示所述第一集合到达MAC300的时间的前后顺序,所述第二标识用于指示所述第二集合到达MAC300的时间的前后顺序,M为正整数,M小于N。
分发电路302,还用于将所述第一数据块分发到第一电路303,以及将所述第二数据块分发到第二电路304。
第一电路303,用于将所述第一数据块转化为第一数据。
第二电路304,用于将所述第二数据块转化为第二数据。
第一电路303,还用于通过第一信道发送所述第一数据。
第二电路304,还用于通过第二信道发送所述第二数据。
可选地,上述技术方案中,所述第一标识承载在以太网IPG、报文的报文头或者报文的净荷中。
可选地,上述技术方案中,所述第二标识承载在以太网IPG、报文的报文头或者报文的净荷中。
可选地,上述技术方案中,MAC300还包括比较电路。
所述比较电路,用于在分发电路302将所述第一数据块分发到MAC300中的第一电路303之前,比较第一电路303的发送缓存中的队列的长度与第二电路304的发送缓存中的队列的长度;以及,确定第一电路303的发送缓存中的队列的长度小于或者等于第二电路304的发送缓存中的队列的长度。
分发电路302,具体用于基于所述比较电路确定的第一电路303的发送缓存中的队列的长度小于或者等于第二电路304的发送缓存中的队列的长度,将所述第一数据块分发到MAC300中的第一电路303。
可以理解,所述比较电路可以是所述MAC中的功能电路。
可选地,上述技术方案中,
所述比较电路,还用于在分发电路302将所述第一数据块分发到MAC300中的第一电路303之后,以及分发电路302将所述第二数据块分发到MAC300中的第二电路304之前,比较第一电路303的发送缓存中的队列的长度与第二电路304的发送缓存中的队列的长度;以及,确定第二电路304的发送缓存中的队列的长度小于或者等于第一电路303的发送缓存中的队列的长度。
分发电路302,具体用于基于所述比较电路确定的第二电路304的发送缓存中的队列的长度小于或者等于第一电路303的发送缓存中的队列的长度,将所述第二数据块分发到MAC300中的第二电路304。
可选地,上述技术方案中,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于MAC300能够接收到的报文的最大长度。
可选地,上述技术方案中,
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于MAC300能够接收到的报文的最大长度。
图4为本发明实施例提供的一种MAC400的结构示意图。MAC400可以是MAC chip、system chip或者multi-port Ethernet device。关于MAC chip、system chip以及multi-port Ethernet device,可以参考图2所示的实施例的描述。需要指出的是,图3所示的实施例中的MAC300可以是transmit MAC。图4所示的实施例中的MAC400可以是receive MAC。所述transmit MAC与所述receive MAC可以组成数据收发系统。具体来说,所述receive MAC可以用于接收所述transmit MAC发送的数据。MAC400可以用于执行图2所示的方法。本实施例涉及的术语的定义以及举例,可以参考图2对应的实施例中的描述,此处不再赘述。
参见图4,MAC400包括接收电路401,第一电路402、第二电路403以及汇聚电路404。
可以理解,接收电路401,第一电路402、第二电路403以及汇聚电路404可以是MAC400中的功能电路。上述功能电路可以通过ASIC或者FPGA实现。
接收电路401,用于通过第一信道接收第一数据,以及,通过第二信道接收第二数据。
接收电路401,还用于将所述第一数据发送至第一电路402,以及,将所述第二数据发送至第二电路403。
第一电路402,用于将所述第一数据转化为第一数据块,所述第一数据块包括第一集合,所述第一集合中包括第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第一数据块包括第一标识,所述第一标识用于指示对端MAC生成所述第一数据块的时间的前后顺序。
举例来说,所述对端MAC可以是图3所示的MAC300。
第二电路403,用于将所述第二数据转化为第二数据块,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第二数据块包括第二标识,所述第二标识用于指示所述对端MAC生成所述第二数据块的时间的前后顺序,M为正整数,M小于N,N为大于1的正整数。
第一电路402,还用于根据所述第一数据块生成所述第一个报文至所述第M个报文。
第二电路403,还用于根据所述第二数据块生成所述第M+1个报文至所述第N个报文。
第一电路402,还用于向汇聚电路404发送所述第一个报文至所述第M个报文。
第二电路403,还用于向汇聚电路404发送所述第M+1个报文至所述第N个报文。
汇聚电路404,用于发送所述N个报文,汇聚电路404发送所述N个报文的时间的前后顺序依次为所述第一个报文至所述第N个报文。
可选地,上述技术方案中,
所述第一标识承载在以太网帧IPG、报文的报文头或者报文的净荷中。
可选地,上述技术方案中,
所述第二标识承载在以太网帧IPG、报文的报文头或者报文的净荷中。
可选地,上述技术方案中,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于MAC400能够生成的报文的最大长度。
可选地,上述技术方案中,
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于MAC400能够生成的报文的最大长度。
可选地,上述技术方案中,MAC400还包括查找电路。
所述查找电路,用于在第一电路402根据所述第一数据块生成所述第一个报文至所述第M个报文以后,以及在第一电路402向汇聚电路404发送所述第一个报文至所述第M个报文之前,在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口。所述表项包括所述信息以及所述第一出接口的标识。所述第一出接口是网络设备的出接口。MAC400是所述网络设备的部件。
第一电路402具体用于,向汇聚电路404发送所述至少一个报文以及所述第一出接口的标识。
可以理解,所述查找电路具体可以是MAC400中的功能电路。
可替换的,上述技术方案中,汇聚电路404还包括查找电路。
所述查找电路,用于在第一电路402向汇聚电路404发送所述第一个报文至所述第M个报文之后,在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口。所述表项包括所述信息以及所述第一出接口的标识。所述第一出接口是网络设备的出接口。MAC400是所述网络设备的部件。
汇聚电路404,具体用于向所述第一出接口发送所述至少一个报文。
可以理解,所述查找电路具体可以是MAC400中的功能电路。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:闪存盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种数据传输的方法,其特征在于,包括:
媒体接入控制器MAC中的接收电路接收N个报文,所述N个报文到达所述MAC的时间的前后顺序依次为第一个报文至第N个报文,N为大于1的正整数;
所述MAC中的分发电路生成第一数据块和第二数据块,所述第一数据块包括第一集合,所述第一集合包括所述第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至所述第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第一数据块包括第一标识,所述第二数据块包括第二标识,所述第一标识用于指示所述第一集合到达所述MAC的时间的前后顺序,所述第二标识用于指示所述第二集合到达所述MAC的时间的前后顺序,M为正整数,M小于N;
所述分发电路将所述第一数据块分发到所述MAC中的第一电路,所述分发电路将所述第二数据块分发到所述MAC中的第二电路;
所述第一电路将所述第一数据块转化为第一数据,所述第二电路将所述第二数据块转化为第二数据;
所述第一电路通过第一信道发送所述第一数据,所述第二电路通过第二信道发送所述第二数据。
2.根据权利要求1所述的方法,其特征在于,
所述第一标识携带在先于所述第一个报文被发送的报文中,所述先于所述第一个报文被发送的报文是帧间隙;或者所述第一标识携带在所述第一个报文至所述第M个报文中的任一个报文的报文头或者净荷中;或者
所述第二标识携带在先于所述第M+1个报文被发送的报文中,所述先于所述第M+1个报文被发送的报文是帧间隙;或者
所述第二标识携带在所述第M+1个报文至所述第N个报文中的任一个报文的报文头或者净荷中。
3.根据权利要求1所述的方法,其特征在于,
在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之前,所述方法还包括:
所述MAC中的比较电路比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及
所述比较电路确定所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度;
所述分发电路将所述第一数据块分发到所述MAC中的第一电路具体包括:
基于所述比较电路确定的所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度,所述分发电路将所述第一数据块分发到所述MAC中的第一电路。
4.根据权利要求3所述的方法,其特征在于,
在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之后,以及所述分发电路将所述第二数据块分发到所述MAC中的第二电路之前,所述方法还包括:
所述比较电路比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及
所述比较电路确定所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度;
所述分发电路将所述第二数据块分发到所述MAC中的第二电路具体包括:
基于所述比较电路确定的所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度,所述分发电路将所述第二数据块分发到所述MAC中的第二电路。
5.根据权利要求1至4中任一项所述的方法,其特征在于,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
6.一种数据传输的方法,其特征在于,包括:
媒体接入控制器MAC的接收电路通过第一信道接收第一数据,所述接收电路通过第二信道接收第二数据;
所述接收电路将所述第一数据发送至所述MAC中的第一电路,所述接收电路将所述第二数据发送至所述MAC中的第二电路;
所述第一电路将所述第一数据转化为第一数据块,所述第二电路将所述第二数据转化为第二数据块,所述第一数据块包括第一集合,所述第一集合中包括第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第一数据块包括第一标识,所述第二数据块包括第二标识,所述第一标识用于指示对端MAC生成所述第一数据块的时间的前后顺序,所述第二标识用于指示所述对端MAC生成所述第二数据块的时间的前后顺序,M为正整数,M小于N,N为大于1的正整数;
所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文,所述第二电路根据所述第二数据块生成所述第M+1个报文至所述第N个报文;
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文;
所述第二电路向所述汇聚电路发送所述第M+1个报文至所述第N个报文;
所述汇聚电路发送所述N个报文,所述汇聚电路发送所述N个报文的时间的前后顺序依次为所述第一个报文至所述第N个报文。
7.根据权利要求6所述的方法,其特征在于,
所述第一标识携带在先于所述第一个报文被发送的报文中,所述先于所述第一个报文被发送的报文是帧间隙;或者所述第一标识携带在所述第一个报文至所述第M个报文中的任一个报文的报文头或者净荷中;或者
所述第二标识携带在先于所述第M+1个报文被发送的报文中,所述先于所述第M+1个报文被发送的报文是帧间隙;或者
所述第二标识携带在所述第M+1个报文至所述第N个报文中的任一个报文的报文头或者净荷中。
8.根据权利要求6所述的方法,其特征在于,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度。
9.根据权利要求6至8中任一项所述的方法,其特征在于,
所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文以后,以及所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文之前,所述方法还包括:
所述MAC中的查找电路在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文具体包括:
所述第一电路向所述汇聚电路发送所述至少一个报文以及所述第一出接口的标识。
10.根据权利要求6至8中任一项所述的方法,其特征在于,
所述第一电路向所述MAC中的汇聚电路发送所述第一个报文至所述第M个报文之后,所述方法还包括:
所述汇聚电路中的查找电路在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
所述汇聚电路发送所述N个报文具体包括:
所述汇聚电路向所述第一出接口发送所述至少一个报文。
11.一种媒体接入控制器MAC,其特征在于,包括接收电路,分发电路,第一电路以及第二电路;
所述接收电路,用于接收N个报文,所述N个报文到达所述MAC的时间的前后顺序依次为第一个报文至第N个报文,N为大于1的正整数;
所述分发电路,用于生成第一数据块和第二数据块,所述第一数据块包括第一集合,所述第一集合包括所述第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至所述第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第一数据块包括第一标识,所述第二数据块包括第二标识,所述第一标识用于指示所述第一集合到达所述MAC的时间的前后顺序,所述第二标识用于指示所述第二集合到达所述MAC的时间的前后顺序,M为正整数,M小于N;
所述分发电路,还用于将所述第一数据块分发到所述第一电路,以及将所述第二数据块分发到所述第二电路;
所述第一电路,用于将所述第一数据块转化为第一数据;
所述第二电路,用于将所述第二数据块转化为第二数据;
所述第一电路,还用于通过第一信道发送所述第一数据;
所述第二电路,还用于通过第二信道发送所述第二数据。
12.根据权利要求11所述的MAC,其特征在于,
所述第一标识携带在先于所述第一个报文被发送的报文中,所述先于所述第一个报文被发送的报文是帧间隙;或者所述第一标识携带在所述第一个报文至所述第M个报文中的任一个报文的报文头或者净荷中;或者
所述第二标识携带在先于所述第M+1个报文被发送的报文中,所述先于所述第M+1个报文被发送的报文是帧间隙;或者
所述第二标识携带在所述第M+1个报文至所述第N个报文中的任一个报文的报文头或者净荷中。
13.根据权利要求11所述的MAC,其特征在于,所述MAC还包括比较电路;
所述比较电路,用于在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之前,比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及,确定所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度;
所述分发电路,具体用于基于所述比较电路确定的所述第一电路的发送缓存中的队列的长度小于或者等于所述第二电路的发送缓存中的队列的长度,将所述第一数据块分发到所述MAC中的第一电路。
14.根据权利要求13所述的MAC,其特征在于,
所述比较电路,还用于在所述分发电路将所述第一数据块分发到所述MAC中的第一电路之后,以及所述分发电路将所述第二数据块分发到所述MAC中的第二电路之前,比较所述第一电路的发送缓存中的队列的长度与所述第二电路的发送缓存中的队列的长度;以及,确定所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度;
所述分发电路,具体用于基于所述比较电路确定的所述第二电路的发送缓存中的队列的长度小于或者等于所述第一电路的发送缓存中的队列的长度,将所述第二数据块分发到所述MAC中的第二电路。
15.根据权利要求11至14中任一项所述的MAC,其特征在于,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够接收到的报文的最大长度。
16.一种媒体接入控制器MAC,其特征在于,包括接收电路,第一电路、第二电路以及汇聚电路:
所述接收电路,用于通过第一信道接收第一数据,以及,通过第二信道接收第二数据;
所述接收电路,还用于将所述第一数据发送至所述第一电路,以及,将所述第二数据发送至所述第二电路;
所述第一电路,用于将所述第一数据转化为第一数据块,所述第一数据块包括第一集合,所述第一集合中包括第一个报文至第M个报文,所述第一个报文至所述第M个报文承载在所述第一数据块的位置的前后顺序依次为所述第一个报文至所述第M个报文,所述第一数据块包括第一标识,所述第一标识用于指示对端MAC生成所述第一数据块的时间的前后顺序;
所述第二电路,用于将所述第二数据转化为第二数据块,所述第二数据块包括第二集合,所述第二集合包括第M+1个报文至第N个报文,所述第M+1个报文至所述第N个报文承载在所述第二数据块的位置的前后顺序依次为所述第M+1个报文至所述第N个报文,所述第二数据块包括第二标识,所述第二标识用于指示所述对端MAC生成所述第二数据块的时间的前后顺序,M为正整数,M小于N,N为大于1的正整数;
所述第一电路,还用于根据所述第一数据块生成所述第一个报文至所述第M个报文;
所述第二电路,还用于根据所述第二数据块生成所述第M+1个报文至所述第N个报文;
所述第一电路,还用于向所述汇聚电路发送所述第一个报文至所述第M个报文;
所述第二电路,还用于向所述汇聚电路发送所述第M+1个报文至所述第N个报文;
所述汇聚电路,用于发送所述N个报文,所述汇聚电路发送所述N个报文的时间的前后顺序依次为所述第一个报文至所述第N个报文。
17.根据权利要求16所述的MAC,其特征在于,
所述第一标识携带在先于所述第一个报文被发送的报文中,所述先于所述第一个报文被发送的报文是帧间隙;或者所述第一标识携带在所述第一个报文至所述第M个报文中的任一个报文的报文头或者净荷中;或者
所述第二标识携带在先于所述第M+1个报文被发送的报文中,所述先于所述第M+1个报文被发送的报文是帧间隙;或者
所述第二标识携带在所述第M+1个报文至所述第N个报文中的任一个报文的报文头或者净荷中。
18.根据权利要求16所述的MAC,其特征在于,
所述第一数据块的最大长度与所述第一数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度;或者
所述第二数据块的最大长度与所述第二数据块的最小长度的差大于或者等于所述MAC能够生成的报文的最大长度。
19.根据权利要求16至18中任一项所述的MAC,其特征在于,所述MAC还包括查找电路;
所述查找电路,用于在所述第一电路根据所述第一数据块生成所述第一个报文至所述第M个报文以后,以及在所述第一电路向所述汇聚电路发送所述第一个报文至所述第M个报文之前,在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
所述第一电路具体用于,向所述汇聚电路发送所述至少一个报文以及所述第一出接口的标识。
20.根据权利要求16至18中任一项所述的MAC,其特征在于,所述汇聚电路还包括查找电路;
所述查找电路,用于在所述第一电路向所述汇聚电路发送所述第一个报文至所述第M个报文之后,在查找表中查找与所述第一个报文至所述第M个报文中的至少一个报文的报文头中的信息匹配的表项,确定用于转发所述至少一个报文的第一出接口,所述表项包括所述信息以及所述第一出接口的标识,所述第一出接口是网络设备的出接口,所述MAC是所述网络设备的部件;
述汇聚电路,具体用于向所述第一出接口发送所述至少一个报文。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/084826 WO2016026103A1 (zh) | 2014-08-20 | 2014-08-20 | 数据传输的方法和媒体接入控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106576016A CN106576016A (zh) | 2017-04-19 |
CN106576016B true CN106576016B (zh) | 2019-11-29 |
Family
ID=55350095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480081275.0A Active CN106576016B (zh) | 2014-08-20 | 2014-08-20 | 数据传输的方法和媒体接入控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10129049B2 (zh) |
EP (1) | EP3176969B1 (zh) |
CN (1) | CN106576016B (zh) |
WO (1) | WO2016026103A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9929928B1 (en) * | 2015-12-24 | 2018-03-27 | Microsemi Solutions (U.S.), Inc. | Packet transmitter and method for timestamping packets |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854241A (zh) * | 2009-03-30 | 2010-10-06 | 上海聚力传媒技术有限公司 | 一种用于对网络传输的数据块进行验证的方法和装置 |
CN103838552A (zh) * | 2014-03-18 | 2014-06-04 | 北京邮电大学 | 4g宽带通信系统多核并行流水线信号的处理系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7463611B2 (en) * | 2004-07-15 | 2008-12-09 | Atheros Communications, Inc. | Efficient data transmission by data aggregation |
US7957391B1 (en) * | 2007-09-25 | 2011-06-07 | Force 10 Networks, Inc | Low overhead aggregation at the physical layer |
US8873591B2 (en) * | 2011-09-30 | 2014-10-28 | Broadcom Corporation | System and method for bit-multiplexed data streams over multirate gigabit Ethernet |
US8971352B2 (en) * | 2012-09-28 | 2015-03-03 | Thomas Jost | High accuracy 1588 timestamping over high speed multi lane distribution physical code sublayers |
CN103797742B (zh) * | 2013-01-04 | 2017-11-21 | 华为技术有限公司 | 以太网中处理数据的方法、物理层芯片和以太网设备 |
-
2014
- 2014-08-20 CN CN201480081275.0A patent/CN106576016B/zh active Active
- 2014-08-20 EP EP14900001.0A patent/EP3176969B1/en active Active
- 2014-08-20 WO PCT/CN2014/084826 patent/WO2016026103A1/zh active Application Filing
-
2017
- 2017-02-17 US US15/436,496 patent/US10129049B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854241A (zh) * | 2009-03-30 | 2010-10-06 | 上海聚力传媒技术有限公司 | 一种用于对网络传输的数据块进行验证的方法和装置 |
CN103838552A (zh) * | 2014-03-18 | 2014-06-04 | 北京邮电大学 | 4g宽带通信系统多核并行流水线信号的处理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3176969A4 (en) | 2017-08-02 |
WO2016026103A1 (zh) | 2016-02-25 |
EP3176969A1 (en) | 2017-06-07 |
US10129049B2 (en) | 2018-11-13 |
CN106576016A (zh) | 2017-04-19 |
US20170170985A1 (en) | 2017-06-15 |
EP3176969B1 (en) | 2019-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9432748B2 (en) | System and method for photonic switching | |
US9661405B2 (en) | System and method for photonic switching | |
US11418629B2 (en) | Methods and systems for accessing remote digital data over a wide area network (WAN) | |
US8369347B2 (en) | Fiber channel over Ethernet and fiber channel switching based on Ethernet switch fabrics | |
US8520686B2 (en) | Method for interfacing a fibre channel network with an ethernet based network | |
EP1305915B1 (en) | Interface for sonet lines of different capacities | |
EP1905207B1 (en) | A method to extend the physical reach of an infiniband network | |
US9137176B2 (en) | Dual-role modular scaled-out fabric coupler chassis | |
US8780931B2 (en) | Multi-role distributed line card | |
US20210176543A1 (en) | Optical network system | |
WO2013054344A2 (en) | Method and apparatus for end-end communication and inter-domain routing in omnipresent ethernet networks with an option to migrate to mpls-tp | |
US10477288B2 (en) | Data center interconnect as a switch | |
US20140003433A1 (en) | Methods and apparatus for providing services in distributed switch | |
US9197438B2 (en) | Packet forwarding node | |
EP2995023B1 (en) | System and method for photonic switching | |
CN106576016B (zh) | 数据传输的方法和媒体接入控制器 | |
US8315254B2 (en) | Bandwidth management switching card | |
Ocheltree et al. | A comparison of fibre channel and 802 MAC services | |
US7965940B1 (en) | Transparent fiber channel link management for protocol transport | |
Furukawa et al. | Multihomed optical packet and circuit integrated network based on hierarchical address allocation | |
Wander et al. | Scaling Ethernet speeds to 100 Gbits/s and beyond | |
Kim et al. | Design and Analysis of Ethernet Aggregation to XGMII Framing Procedure | |
Figueira et al. | New World Campus Networking |
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 |