一种将多个e1线路绑定且实现逻辑通道分离的方法

文档序号:7778758阅读:196来源:国知局
一种将多个e1线路绑定且实现逻辑通道分离的方法
【专利摘要】本发明公开了一种将多个E1线路绑定且实现逻辑通道分离的方法,在发送方向,将分组数据根据通道号分别送入对应通道的限流模块进行带宽控制,实现逻辑通道分离;通过软件对各个通道进行优先级控制;在包头上增加四个字节,用于SN和通道信息的传递;端口轮询及链路状态维护;在接收方向:各个端口数据缓存,包重新排序。本发明的积极效果是:不但很好地解决了多个E1线路捆绑在一起传输数据的问题,同时本方法还提供灵活配置带宽的多个逻辑通道,让使用者有了更多的选择和应用场景,填补了多个E1线路捆绑通道化的空白。
【专利说明】一种将多个E1线路绑定且实现逻辑通道分离的方法
【技术领域】
[0001]本发明涉及一种将多个El线路绑定且实现逻辑通道分离的方法。
【背景技术】
[0002]由于目前在我国很多地方的接入线路都还是El线路,为了充分利用资源,一般都是采用把多路El绑定在一起增加带宽的方法,实现平滑升级,节约开支。
[0003]现有的技术都是完成把多个El线路捆绑在一起,而内部数据不做区分,传输带宽是增加了,但是没有办法在这捆绑在一起的传输线路上实现更多的功能,比如各个用户间的数据实现逻辑隔离,用户优先级控制、根据需求限制某些用户的带宽的功能等都无法实现。

【发明内容】

[0004]为了克服现有技术的上述缺点,本发明提供了一种将多个El线路绑定且实现逻辑通道分离的方法,首先解决了多个El线路捆绑在一起传输数据的问题,而且还提供灵活配置带宽的多个逻辑通道。即对于捆绑在一起的多个El线路,可以只有一个通道,此时所有带宽都为其所用;捆绑在一起的线路也可以是多个通道,每一个通道的带宽是根据实际需要配置,最小可以小于I个El线路,如128K,最大可以是所有线路的总和。所以通道带宽与端口没有必然的联系,配置很灵活,且各个通道间可以设定优先级,也可以没有优先级,完全互不影响。通过此方法为多个捆绑在一起的El线路实现了逻辑的通道分离,通道间互不影响。
[0005]这样可以为多个用户或用户群提供接近真正意义上的专线带宽、而且还可实现不同的优先级,而且各个通道在逻辑上独立,对于优先级相同的通道,他们是完全互不影响。
[0006]本发明解决其技术问题所采用的技术方案是:一种将多个El线路绑定且实现逻辑通道分离的方法,
一、在发送方向:
(1)逻辑通道分离和优先级控制:将分组数据根据通道号分别送入对应通道的限流模块进行带宽控制,实现逻辑通道分离;通过软件对各个通道进行优先级控制;
(2)包排序:在包头上增加四个字节,用于SN和通道信息的传递;
(3 )端口轮询及链路状态维护:对于经过逻辑通道分离的数据,在发送时需轮询端口状态;为了避免发送方向链路断了数据包还往此链路发送的情况发生,还需对链路状态进行维护;
二、在接收方向:
(1)各个端口数据缓存:对于每一个端口,收到的数据都先缓存,同时将SN提取出来缓
存;
(2)包重新排序:对于每一个通道,事先读出最新包的SN,接收方向记录此时希望收到的SN,将希望的SN与各个端口判别为正确的SN分别比较,如果有相同的,则读取该端口对应的数据包,如果没有相同的,同时端口都收到了数据或者接收数据等待超时,选择与等待SN差值最小的SN对应的端口收数据;如果出现缓存满的情况,则选择差值最小的SN对应的端口收数据;对于SN错误的数据包,直接读出丢弃。
[0007]与现有技术相比,本发明的积极效果是:不但很好地解决了多个El线路捆绑在一起传输数据的问题,同时本方法还提供灵活配置带宽的多个逻辑通道。这样让使用者有了更多的选择和应用场景。填补了多个El线路捆绑通道化的的空白。
[0008]本发明方法在充分利用现有线路资源进行带宽升级的同时,可以为多个用户或用户群提供接近真正意义上的专线带宽、而且还可实现不同的优先级,而且各个通道在逻辑上独立,对于优先级相同的通道,他们是完全互不影响。这样就提供了比单一捆绑更灵活的配置和应用。
【具体实施方式】
[0009]本发明方法在发送方向通过带宽限定模块限定该通道的流量,然后按照优先级指示发送对应通道数据,同时在发送时需要查询各个端口的状态,及时调整发送数据到空闲的端口,使各个通道的带宽均衡。在数据包中增加包序指示,用于接收方向重新排序,接收方使用缓存包的方法来对齐时延,使包不乱序,对于排好序的包就送给上层进行处理。具体说明如下:
传输设备完成多个El线路的链路捆绑、多个通道的带宽限定、优先级控制等功能。多个El传输线路逻辑上绑定为一个链路,在这个链路上根据需要分为若干个通道,各通道的带宽都可以灵活配置,可以小于单个物理线路(最小粒度128Kbps),也可以是全部线路的带宽。通道带宽与端口没有必然的联系,配置很灵活。将多个链路捆绑和通道化相结合是本方案的最大创新。
[0010]一种将多个El线路绑定且实现逻辑通道分离的方法,包括如下几个方面:
一、在发送方向:
(I)逻辑通道分离和优先级控制
为了实现逻辑通道分离,首先需要把数据分成多个通道,然后针对每一个通道进行带宽控制,具体方法是把分组数据根据通道号分别送入对应通道的限流模块进行带宽控制,带宽的值由软件配下来,最小粒度为128Kpbs。软件配置带宽时需要查看实际链路的状态,根据实际能用的带宽进行配置。具体的带宽控制方法如下:
在分组数据发送方向,利用读取时钟进行带宽控制,数据进入后分别缓存于自己通道对应的缓存中,然后再按照每一个通道分配的带宽进行数据读取,例如,读取的时钟是100MHz,缓存位宽为32bit,读取速率就为3.2Gbit/s,如果计数周期设为25600,一个计数周期内给一个时钟读取信号,此时读取的带宽为128Kpbs,如果要配2Mpbs的带宽,则在25600时钟周期内给出16个读时钟的使能信号就达到目的。在具体实现时,每一个通道时钟使能间隔值由软件来计算,然后下发到硬件中,这样实现更灵活,且硬件的资源占用也要小一些。而读出的数据由于是不零散的,每一个通道还需要一级缓存来存储完整的包,如果数据存满了一包,则可以开始读取该通道的数据。这样在发送时就严格控制了发往线路的数据,在传输线路上就能够实现逻辑上的多个通道。
[0011]对于优先级控制,各个通道间可以使用优先级,也可以不使用优先级,这由软件进行设置。如果设定需要优先级,则按照通道1、通道2、通道3、通道4的优先级顺序查询各个通道对应的缓存,先发送优先级高的通道数据,如果没有数据,再发送优先级低一级的通道数据。如果没有优先级,则平等的轮询各个通道是否有数据,有就发送,否则轮询下一个通道。另外读取通道数据还有一个必要条件:有可发送的端口,即有发送端口缓存没满且链路正常。
[0012](2)包排序
由于包长以及每一个链路的时延都不同,在接收方向很可能乱序,为了在接收方向正确的接收,在发送时还需加上通道信息和SN (帧序号),用于接收方向重新排序,使包接收后不乱序。本方案在包头上增加了四个字节,用于SN和通道信息的传递。SN在此机制中很重要,如果线路误码导致接收过程中收到了比正确SN更大的SN,就会导致掉包,为了避免这种情况,我们采用将SN的字节和发送过去,具体为前两个字节为SN,后面的I个字节为前两个字节的和,最后一个字节用作通道号。SN在接收方向进行比较,正确的才接收,对于SN不正确的包,直接读取丢弃。为了进一步避免误判,本方案还将四字节头也计算到CRC校验中,利用CRC的正确性来确定SN的可靠性。
[0013]总结上述内容,本方案的自定义帧格式如下:前面两个字节为SN,第三个字节为SN低8位和高8位的和,用于SN的正确性校验,第四个8位为通道号(比如:如果有四个通道,所以通道号只有低2bit有效,其余填0),后面就是承载的有效数据净荷。另外四字节头还有两种特别含义,当前面24bit为全I时,表明后面的8位为控制字,控制字两个定义,O表示此链路发送正常,可以发送,FF表示链路发送异常,收到此包后停止发送,用于及时检查链路状态。
[0014]( 3 )端口轮询及链路状态维护
对于经过逻辑通道分离的数据,在发送时需要进行公平的轮询,这样才能保证他们互不影响。在发送数据时还需轮询端口状态,先查看当前端口是否满或是否断链,如果没满(给出满信号时还可以接收一个最长包)且链路正常,就将数据包发送给当前轮询到的端口,这样就能够保证数据发送时每一个端口流量均衡且自适应链路出错。如果当前端口满或断链,则跳过当前端口。为了避免发送方向链路中断时数据包还往此链路发送的情况发生,需增加手段以知晓发送方向的链路情况。具体方法如下:如果端口接收不同步,则对应端口发送链路发送异常指示给对方,对方收到后停止发送;当同步后发送链路发送正常指示给对方,对方则可开始发送数据。此数据包的长度为64字节,除头外,其余全填O。通过以上措施,实现了各个端口的捆绑。
[0015]二、在接收方向:
(I)各个端口数据缓存
对于每一个端口,收到的数据都先缓存,同时将SN提取出来缓存。
[0016](2)包重新排序
由于包长不同以及传输时延不同,接收方向收到的数据包顺序与发送方向的顺序有可能不一致,所以需要重新排序。具体方法如下,对于每一个通道,事先读出最新包的SN。接收方向记录此时希望收到的SN (例如,一开始希望收到的SN为1,收到以后自动加1,就变成2 了),将希望的SN与各个端口判别为正确的SN分别比较,如果有相同的,则读取该端口对应的数据包,如果没有相同的,同时端口都收到了数据(缓存非空)或者接收数据等待超时,选择与等待SN差值最小的SN对应的端口收数据,如果出现缓存满的情况,表明端口的时延已超过最大时延,不需再等待,同样选择差值最小的SN对应的端口收数据。
[0017]接收数据等待超时的时间可以根据具体情况确定,一般在16ms到48ms的范围。对于SN错误的数据包,直接读出丢弃。
【权利要求】
1.一种将多个El线路绑定且实现逻辑通道分离的方法,其特征在于: 一、在发送方向: (1)逻辑通道分离和优先级控制:将分组数据根据通道号分别送入对应通道的限流模块进行带宽控制,实现逻辑通道分离;通过软件对各个通道进行优先级控制; (2)包排序:在包头上增加四个字节,用于SN和通道信息的传递; (3 )端口轮询及链路状态维护:对于经过逻辑通道分离的数据,在发送时需轮询端口状态;为了避免发送方向链路断了数据包还往此链路发送的情况发生,还需对链路状态进行维护; 二、在接收方向: (1)各个端口数据缓存:对于每一个端口,收到的数据都先缓存,同时将SN提取出来缓存; (2)包重新排序:对于每一个通道,事先读出最新包的SN,接收方向记录此时希望收到的SN,将希望的SN与各个端口判别为正确的SN分别比较,如果有相同的,则读取该端口对应的数据包,如果没有相同的,同时端口都收到了数据或者接收数据等待超时,选择与等待SN差值最小的SN对应的端口收数据;如果出现缓存满的情况,则选择差值最小的SN对应的端口收数据;对于SN错误的数据包,直接读出丢弃。
2.根据权利要求1所述的一种将多个El线路绑定且实现逻辑通道分离的方法,其特征在于:所述带宽控制方法为:在分组数据发送方向,利用读取时钟进行带宽控制,数据进入后分别缓存于自己通道对应的缓存中,然后再按照每一个通道分配的带宽进行数据读取。
3.根据权利要求1所述的一种将多个El线路绑定且实现逻辑通道分离的方法,其特征在于:所述四个字节的前两个字节为SN,后面的一个字节为前两个字节的和,最后一个字节用作通道号。
4.根据权利要求1所述的一种将多个El线路绑定且实现逻辑通道分离的方法,其特征在于:所述对链路状态进行维护的方法是:如果端口接收不同步,则对应端口发送链路发送异常指示给对方,对方收到后停止发送;当同步后发送链路发送正常指示给对方,对方则开始发送数据。
【文档编号】H04L12/823GK103701712SQ201310638029
【公开日】2014年4月2日 申请日期:2013年12月3日 优先权日:2013年12月3日
【发明者】杨松, 邱剑 申请人:中国电子科技集团公司第三十研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1