基带池单元和远端射频单元的可靠通信方法
技术领域
本发明涉及到无线通讯***中与远端单板之间的数据传输方式,更具体地,涉及RRU设备与BBU设备的可靠通信方法。
背景技术
无线通信***架构发展有这样一个趋势:将射频单元与基带控制单元分离,并通过远距离传输手段(光纤或电缆)将两者连接,这样可以将射频单元放置在各种需要的地方。这种架构的优点是将整个***分为两个相对独立的部分独立开发,多个射频单元共享一个基带控制单元,不仅降低了成本,而且提高了组网的灵活性和网络覆盖率,同时方便了工程安装。
这里将所划分的两部分分别称为基带池单元(BBU)和远端射频单元(RRU)。RRU负责网络覆盖,上报测量信息,发送***广播等。
RRU与BBU之间的通信是整个***中的重要一环,数据传输的性能直接影响到整个***的工作情况。由于IP网络的引入,BBU与RRU之间的数据传输便可以构建在成熟的TCP/IP协议栈之上。目前业界广泛应用TCP,SCTP,RUDP等协议进行数据的传输。但是利用这些协议实现数据的实时可靠传输也有其局限性。比如***的开销较大,开发及维护的难度大,复杂度高,开发难度及复杂度高必然导致开发周期较长。这些因素都直接或间接的影响到产品的成本。对于UDP协议虽然开销小,但是其传输缺乏可靠性,不能满足产品需求。所以找到一种方法,规避这些不利因素,在不影响数据传输的性能和功能的基础上降低成本,是具有重要意义的。
发明内容
考虑到上述问题而做出本发明,为此,本发明的主要目的在于,提供一种基带池单元和远端射频单元的可靠通信方法,包括以下步骤:
步骤S102,基带池单元与远端射频单元建立通信连接,并在通信连接建立过程中,双方协商发送序号和接收序号;
步骤S104,基带池单元与远端射频单元将接收到的对端发送序号与本地接收序号进行比较,并根据比较结果进行数据处理;以及
步骤S106,基带池单元与远端射频单元断开通连接。
步骤S102可以包括:远端射频单元以重发定时器所设定的第一周期周期性地向基带池单元发送包含第一发送序号以及逻辑地址的建链请求;以及远端射频单元判断在预定个数的第一周期内,是否接收到从基带池单元发送的包含第二发送序号的建链响应,并根据判断结果进行通信连接。
如果在预定个数的第一周期内,远端射频单元接收到建链响应,则建立连接,否则,远端射频单元复位并重新开始与基带池单元建立通信。
双方协商发送序号和接收序号可包括:基带池单元接收到包含第一发送序号的建链请求,将本地的第二接收序号改变为第一发送序号,并且根据逻辑地址建立映射表;以及远端射频单元接收到包含第二发送序号的建链响应,并且将本地的第一接收序号改变为第二发送序号。
步骤S104包括可重复以下步骤,直到基带池单元与远端射频单元断开连接:基带池单元以重发定时器所设定的第二周期周期性地向远端射频单元发送包含第一发送序号的传输报文;如果远端射频单元接收到包含第一发送序号的传输报文,则将第一发送序号与第二接收序号比较,并根据比较结果进行相应的数据处理;以及基带池单元判断在预定个数的第二周期内,是否接收到远端射频单元发送的包含第二发送序号的传输响应,并根据判断结果进行相应的数据处理。
如果第一发送序号与第二接收序号相等或者第一发送序号是上一个第二接收序号,则远端射频单元更新第二接收序号,并向基带池单元发送传输响应,否则,丢弃传输报文。
如果第一发送序号与第二接收序号相等,则在向基带池单元发送传输响应的同时向应用层转发传输报文。
如果在预定个数的第二周期内,基带池单元接收到传输响应,则将重发定时器清零以及将第一发送序号更新,并进行下一个数据的发送,否则,基带池单元与远端射频单元之间的连接断开。
步骤S104可包括重复以下步骤,直到基带池单元与远端射频单元断开连接:远端射频单元以重发定时器所设定的第二周期周期性地向基带池单元发送包含第二发送序号的传输报文;如果基带池单元接收到包含第二发送序号的传输报文,则将第二发送序号与第一接收序号比较,并根据比较结果进行相应的数据处理;以及远端射频单元判断在预定个数的第二周期内,是否接收到基带池单元发送的包含第一发送序号的传输响应,并根据判断结果进行相应的数据处理。
如果第二发送序号与第一接收序号相等或者第二发送序号是上一个第一接收序号,则基带池单元更新第一接收序号,并向远端射频单元发送传输响应,否则,丢弃传输报文。
如果第二发送序号与第一接收序号相等,则在向远端射频单元发送传输响应的同时向应用层转发传输报文。
如果在预定个数的第二周期内,远端射频单元接收到传输响应,则将重发定时器清零以及将第二发送序号更新,并进行下一个数据的发送,否则,基带池单元与远端射频单元之间的连接断开。
传输报文包括连接建立之后在保活定时器设定的第四周期内没有数据传输情况下发送的保活报文。
如果基带池单元与远端射频单元之间的连接断开,则将未发送的数据清除,将参数初始化,并且重新建立连接。
步骤S106可包括:基带池单元或远端射频单元以重发定时器所设定的第三周期周期性地向相对端的远端射频单元或基带池单元发送关闭请求;如果相对端的远端射频单元或基带池单元接收到关闭请求,则向基带池单元或远端射频单元发送关闭响应;以及如果基带池单元或远端射频单元接收到关闭响应或者预定个数的第三周期内没有接收到关闭响应,均断开连接。
第一和第二发送序号以及第一和第二发送序号的更新可为分别将第一和第二发送序号以及第一和第二发送序号加1。
通过上述方法提出了一种RRU同BBU之间数据传输的方式。RRU与BBU通信使用成熟的UDP传输层协议和停止等待协议实现数据传输的流量控制和差错控制。实现简单,以尽可能小的开销满足尽可能大的需求。降低了不同厂家合作开发和将来维护的难度。从而降低产品成本,提高产品的性价比以提高产品市场竞争力。
以逻辑地址,IP地址及链路号对RRU同BBU之间的某条链路进行唯一标志,不关心网络拓扑结构差异,方便通信的连接管理。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是示出根据本发明的基带池单元和远端射频单元的可靠通信方法的流程图;
图2是示出了RRU和BBU正常通信的示意图;以及
图3是示出了环状组网下BBU端链路的示图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种结合UDP协议和停止等待协议(称为SUDP协议)提供RRU和BBU之间进行可靠数据传输的方法,该方法保证了RRU与BBU之间的可靠的实时的传输,主要优点是实现和维护简单,对于不同厂家合作开发情况尤为合适。
利用SUDP进行通信主要流程为:通信连接的建立,数据通信,通信连接的保活,通信连接拆除。
图1是示出根据本发明的基带池单元和远端射频单元的可靠通信方法的流程图。
参照图1,一种基带池单元和远端射频单元的可靠通信方法,包括以下步骤:
步骤S102,基带池单元与远端射频单元建立通信连接,并在通信连接建立过程中,双方协商发送序号和接收序号;
步骤S104,基带池单元与远端射频单元将接收到的对端发送序号与本地接收序号进行比较,并根据比较结果进行数据处理;以及
步骤S106,基带池单元与远端射频单元断开通连接。
步骤S102可以包括:远端射频单元以重发定时器所设定的第一周期周期性地向基带池单元发送包含第一发送序号以及逻辑地址的建链请求;以及远端射频单元判断在预定个数的第一周期内,是否接收到从基带池单元发送的包含第二发送序号的建链响应,并根据判断结果进行通信连接。
如果在预定个数的第一周期内,远端射频单元接收到建链响应,则建立连接,否则,远端射频单元复位并重新开始与基带池单元建立通信。
双方协商发送序号和接收序号可包括:基带池单元接收到包含第一发送序号的建链请求,将本地的第二接收序号改变为第一发送序号,并且根据逻辑地址建立映射表;以及远端射频单元接收到包含第二发送序号的建链响应,并且将本地的第一接收序号改变为第二发送序号。
步骤S104包括可重复以下步骤,直到基带池单元与远端射频单元断开连接:基带池单元以重发定时器所设定的第二周期周期性地向远端射频单元发送包含第一发送序号的传输报文;如果远端射频单元接收到包含第一发送序号的传输报文,则将第一发送序号与第二接收序号比较,并根据比较结果进行相应的数据处理;以及基带池单元判断在预定个数的第二周期内,是否接收到远端射频单元发送的包含第二发送序号的传输响应,并根据判断结果进行相应的数据处理。
如果第一发送序号与第二接收序号相等或者第一发送序号是上一个第二接收序号,则远端射频单元更新第二接收序号,并向基带池单元发送传输响应,否则,丢弃传输报文。
如果第一发送序号与第二接收序号相等,则在向基带池单元发送传输响应的同时向应用层转发传输报文。
如果在预定个数的第二周期内,基带池单元接收到传输响应,则将重发定时器清零以及将第一发送序号更新,并进行一个数据的发送,否则,基带池单元与远端射频单元之间的连接断开。
步骤S104可包括重复以下步骤,直到基带池单元与远端射频单元断开连接:远端射频单元以重发定时器所设定的第二周期周期性地向基带池单元发送包含第二发送序号的传输报文;如果基带池单元接收到包含第二发送序号的传输报文,则将第二发送序号与第一接收序号比较,并根据比较结果进行相应的数据处理;以及远端射频单元判断在预定个数的第二周期内,是否接收到基带池单元发送的包含第一发送序号的传输响应,并根据判断结果进行相应的数据处理。
如果第二发送序号与第一接收序号相等或者第二发送序号是上一个第一接收序号,则基带池单元更新第一接收序号,并向远端射频单元发送传输响应,否则,丢弃传输报文。
如果第二发送序号与第一接收序号相等,则在向远端射频单元发送传输响应的同时向应用层转发传输报文。
如果在预定个数的第二周期内,远端射频单元接收到传输响应,则将重发定时器清零以及将第二发送序号更新,并进行下一个数据的发送,否则,基带池单元与远端射频单元之间的连接断开。
传输报文包括连接建立之后在保活定时器设定的第四周期内没有数据传输情况下发送的保活报文。
如果基带池单元与远端射频单元之间的连接断开,则将未发送的数据清除,将参数初始化,并且重新建立连接。
步骤S106可包括:基带池单元或远端射频单元以重发定时器所设定的第三周期周期性地向相对端的远端射频单元或基带池单元发送关闭请求;如果相对端的远端射频单元或基带池单元接收到关闭请求,则向基带池单元或远端射频单元发送关闭响应;以及如果基带池单元或远端射频单元接收到关闭响应或者预定个数的第三周期内没有接收到关闭响应,均断开连接。
第一和第二发送序号以及第一和第二发送序号的更新可为分别将第一和第二发送序号以及第一和第二发送序号加1。
参照图2和图3,对上述过程进行更详细的描述。
1.RRU发送建链请求,并设置重发定时器,等待BBU响应。请求报文包含RRU的逻辑地址,如果定时器超时仍然未获得BBU端的建链回应则重发建链请求,如果多次重发后仍然未收到建链回应则RRU复位。如果成功收到BBU的建链回应撤销定时器执行第3步。
2.BBU接正确收到RRU的建链请求后,响应该请求。BBU从建链请求中获取到的RRU的IP地址和RRU的逻辑地址并建立逻辑地址/IP地址/链路号映射表(逻辑地址:LinkNo:IP)(参见表1),根据逻辑地址/IP地址/链路号唯一标识一条RRU与BBU的通信连接。
IP |
逻辑地址 |
链路号 |
IP I |
LOGA I |
0 |
IP II |
LOGA II |
1 |
IP III |
LOGA III |
2 |
IP IV |
LOGA IV |
3 |
表1,逻辑地址/IP地址/链路号映射表
3.RRU接收到建链响应后,认为建链成功。初始化本端的链路上发送接收相关参数,进行数据发送。
4.RRU报文发出后,设置重发定时器,等待对端的数据响应。定时其超时之前收到对端数据回应,则撤销重发定时器,重发计数清0,更新发送序列号继续发送下一个数据报文;若此时无用户数据发送则执行第6步;若重发定时器超时仍然未收到数据回应,则重发该报文。多次重发失败则认为链路断开,执行第1步。
5.BBU接收到报文后,检查报文中所带的序号(记为VS),是否与本端希望接收到的序号(记为VR)相等即VS==VR,如果相等则接收该报文并转给用户并且更新本端接收序号VR=(VR+1)mod(256)(此处假设报文序号模为256)。若报文是上一个重复的报文即(VS+1)mod(256)=VR则只回应该报文但不转发给用户,以上两种情况的之外的报文则直接丢弃。
6.假设BBU端无用户数据需要发送,则为及时了解连路情况,BBU端设置保活定时器,当定时器超时后发送保活消息。然后,进入发送消息流程即转到第4步(RRU与BBU之间是全双工通信,RRU到BBU和BBU到RRU完全一致)。
7.通信完毕后,RRU向BBU发送连接关闭请求,并设置重发定时器等待回应。
8.BBU收到RRU关闭连接请求后,返回响应请求并关闭连接。
9.RRU接收到BBU的响应后将连接标记为关闭。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。