一种数据传输的方法及装置转让专利

申请号 : CN200910165616.3

文献号 : CN101631337B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈翀黄涛

申请人 : 福建星网锐捷网络有限公司

摘要 :

本发明公开了一种数据传输的方法和装置,用以解决现有技术数据传输过程中,因避免了“隐藏工作站”而占用无线网络带宽资源的问题。该方法包括:当前工作站接收至少一条报文,当接收到的当前报文不是中心工作站发出时,根据所述当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,当接收到的当前报文是中心工作站发出,且所述当前报文的目标地址信息不是本地地址信息时,根据所述当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表,将所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,根据比较结果,确定是否采用握手协议发送数据。

权利要求 :

1.一种数据传输的方法,其特征在于,包括:

接收至少一条报文,当接收到的当前报文不是中心工作站发出时,根据所述当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,当接收到的当前报文是中心工作站发出,且所述当前报文的目标地址信息不是本地地址信息时,根据所述当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表;

将所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,当所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息相同时,确定不采用握手协议发送数据;

当所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息不相同时,确定采用握手协议发送数据。

2.如权利要求1所述的方法,其特征在于,还包括:

当接收到的当前报文的目标地址信息是本地地址信息时,处理所述当前报文;否则,丢弃所述当前报文。

3.如权利要求1所述的方法,其特征在于,所述握手协议为请求传送/允许发送RTS/CTS机制。

4.如权利要求1所述的方法,其特征在于,所述方法还包括:对所述第一地址列表和/或第二地址列表进行老化更新处理。

5.如权利要求4所述的方法,其特征在于,对所述第一地址列表和/或第二地址列表进行老化更新处理包括:定期清空所述第一地址列表和第二地址列表中的内容;或,

在更新所述第一地址列表或第二地址列表的过程中,当已保存的地址信息在设定的时间内没有再出现时,将第一地址列表或第二地址列表中保存的该条地址信息删除。

6.一种数据传输的工作站,其特征在于,包括:

接收单元,用于接收至少一条报文;

更新单元,用于当接收到的当前报文不是中心工作站发出时,根据所述当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,当接收到的当前报文是中心工作站发出,且所述当前报文的目标地址信息不是本地地址信息时,根据所述当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表;

比较单元,用于将所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,当所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息相同时,确定不采用握手协议发送数据;

当所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息不相同时,确定采用握手协议发送数据。

7.如权利要求6所述的工作站,其特征在于,还包括:

处理单元,用于当接收到的当前报文的目标地址信息是本地地址信息时,处理所述当前报文;

丢弃单元,用于当接收到的当前报文的目标地址信息不是本地地址信息时,丢弃所述当前报文。

8.如权利要求6所述的工作站,其特征在于,所述比较单元包括:第一确定子单元,用于当所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息相同时,确定不采用RTS/CTS机制发送数据;

第二确定子单元,用于当所述第一地址列表与包含的源地址信息与第二地址列表包含的目标地址信息不相同时,确定采用RTS/CTS机制发送数据。

9.如权利要求6所述的工作站,其特征在于,还包括:

老化更新单元,用于对所述第一地址列表和/或第二地址列表进行老化更新处理。

10.如权利要求9所述的工作站,其特征在于,所述老化更新单元包括:清空子单元,用于定期清空所述第一地址列表和第二地址列表中的内容;

删除子单元,用于在更新所述第一地址列表或第二地址列表的过程中,当已保存的地址信息在设定的时间内没有再出现时,将第一地址列表或第二地址列表保存的该条地址信息删除。

说明书 :

一种数据传输的方法及装置

技术领域

[0001] 本发明涉及无线通信网络技术领域,特别涉及一种数据传输的方法及装置。

背景技术

[0002] 无线局域网标准IEEE802.11的媒体接入控制层(Media Access Control,MAC)和802.3协议的MAC非常相似,都是在一个共享媒体之上支持多个网络设备共享资源,由网络设备在发送数据前先进行网络的可用性检查。
[0003] 在802.3协议中,是由一种称为带有冲突检测的载波监听多路访问(CarrierSense Multiple Access with Collision Detection,CSMA/CD)的协议来完成调节,这个协议解决了在Ethernet上的各个网络设备如何在线缆上进行数据传输的问题,利用它检测和避免当两个或两个以上的网络设备需要进行数据传输时网络上的冲突。
[0004] 在IEEE802.11无线局域网协议中,网络设备,也就是工作站(Station,STA)不能够一边接收数据信号一边传送数据信号,从而,冲突的检测存在一定的问题,因此,在802.11中对CSMA/CD进行了一些调整,采用了新的协议,包括:带有冲突避免的载波侦听多路访问(Carrier Sense Multiple Access withCollision Avoidance,CSMA/CA),或无线分布竞争通信机制(DistributedCoordination Function,DCF)。其中,CSMA/CA利用ACK信号来避免冲突带来的报文丢失,也就是说,只有当源工作站接收到网络上返回的ACK信号后才确认送出的数据已经正确到达目标工作站了。利用CSMA/CA协议发送数据的具体工作流程包括:
[0005] 步骤一:工作站在发送数据前,监听媒体状态,等没有其他工作站使用媒体,维持一段时间后,再等待一段随机的时间后依然没有其他工作站使用,才进行步骤二。由于每个工作站采用的随机时间不同,所以可以减少冲突的机会。
[0006] 步骤二:工作站先送一段小小的请求传送(Request to Send,RTS)报文给目标工作站,等待目标工作站回应的允许发送(Clear to Send,CTS)报文后,才开始传送数据。利用请求传送/允许发送(RTS/CTS)握手协议,确保传送数据时,不会被碰撞。
[0007] 步骤三:等待目标工作站返回的ACK,接收不到或等待超时时,重复1,2步骤,重复次数可以手动设定,直到数据成功发送或被丢弃。
[0008] CSMA/CA协议中的这种显式的ACK机制在处理无线局域网中,两个或两个以上的工作站需要进行数据传输时网络上的冲突的问题时非常有效。其中,RTS/CTS机制相当于一种握手协议,主要用来解决上述冲突问题中的″隐藏工作站″(Hidden stations)问题。″隐藏工作站″是指,工作站1向工作站2发送报文时,工作站3与工作站1彼此不在对方的信号覆盖范围内,但都在工作站2,也就是中心工作站的信号覆盖范围内;因此,在上述步骤一的监听过程中,工作站3不能侦测到工作站1正在发送数据,此时,工作站3检查媒体的状态是空闲的,也向工作站2发送报文,故工作站1和工作站3同时将报文发送至工作站2,引起报文冲突,最终导致发送至工作站2的报文都丢失了。可见,对于工作站3来说,工作站1就是“隐藏工作站″,对工作站1,工作站3也是“隐藏工作站”。″隐藏工作站″多发生在网络结构易变,移动的,或某些无线网络信号覆盖范围规划不当的网络中,其危害性在“大型数据通信过程”以及“繁忙状态的网络”中表现尤为明显,这会带来数据传输的效率重大损失,若“隐藏工作站问题”不能得到很好解决的情况下,甚至会引起网络的全面瘫痪。
因此,杜绝“隐藏工作站”现象的发生是保证网络正常服务的重要条件。
[0009] 为解决上述“隐藏工作站”的问题,IEEE802.11的CSMA/CA协议中使用RTS/CTS机制,参见图1,包括:
[0010] 首先,工作站1向工作站2发送RTS信号,表明工作站1要向工作站2发送若干数据,工作站2收到RTS后,向所有同一信道的802.11无线工作站发出CTS信号,表明已准备就绪,工作站1根据接收到CTS信号,确定有权限进行数据的发送,而其他欲向工作站2发送数据的同一信道的802.11无线工作站接收到这个CTS时则暂不竞争信道;双方在成功交换RTS/CTS信号,即完成握手后,才开始真正的数据传递,保证了多个互不可见的发送工作站不会同时向同一接收工作站发送数据,接收工作站可以正常接收完成RTS/CTS握手的对应工作站发送的数据,从而避免了冲突发生。
[0011] 在上述IEEE802.11协议中使用RTS/CTS机制解决和避免了“隐藏工作站”的问题,但是,数据传输过程中采用RTS/CTS机制会占用无线网络的带宽资源,尤其是在不存在“隐藏工作站”问题的情况下,采用RTS/CTS机制带来的无线网络资源开销就更加没有必要了。

发明内容

[0012] 本发明实施例提供一种数据传输的方法及装置,用以解决现有技术数据传输过程中,因避免了“隐藏工作站”而占用无线网络带宽资源的问题。
[0013] 本发明实施例提供一种数据传输的方法,包括:
[0014] 接收至少一条报文,当接收到的当前报文不是中心工作站发出时,根据所述当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,当接收到的当前报文是中心工作站发出,且所述当前报文的目标地址信息不是本地地址信息时,根据所述当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表;
[0015] 将所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,根据比较结果,确定是否采用握手协议发送数据。
[0016] 本发明实施例提供一种数据传输的工作站,包括
[0017] 接收单元,用于接收至少一条报文;
[0018] 更新单元,用于当接收到的当前报文不是中心工作站发出时,根据所述当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,当接收到的当前报文是中心工作站发出,且所述当前报文的目标地址信息不是本地地址信息时,根据所述当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表;
[0019] 比较单元,用于将所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,根据比较结果,确定是否采用握手协议发送数据。
[0020] 本发明实施例提供的数据传输方法中,当前工作站首先根据接收到的每条报文携带的地址信息,更新保存的包含源地址信息的第一地址列表,或,保存的包含目标地址信息的第二地址列表,然后将所述第一地址列表包含的地址信息与第二地址列表包含的地址信息进行比较,根据比较结果,确定是否采用握手协议发送数据,从而当所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息相同时,确定不存在“隐藏工作站”,因此不采用握手协议发送数据,这样避免使用握手协议导致的无线网络资源的浪费,增大了无线网络的吞吐率。

附图说明

[0021] 图1为现有技术中采用RTS/CTS机制发送数据的示意图;
[0022] 图2为本发明实施例中数据发送的方法流程图;
[0023] 图3为本发明实施例中通信系统拓扑图;
[0024] 图4为本发明实施例中每次接收数据处理流程图;
[0025] 图5为本发明实施例中工作站的结构图。

具体实施方式

[0026] 本发明实施例提供一种数据传输的方法,优化现有的IEEE802.11协议定义的隐藏工作站问题的解决方法,降低RTS/CTS机制带来的带宽开销,以较小的代价解决隐藏工作站问题。
[0027] 本发明实施例应用于基础基本服务集(Infrastructure Basic Service Set,Infrastructure BSS)网络结构中,Infrastructure BSS的基本结构是星状的,有一个中心工作站,和多个附属工作站,大多数情况下,附属工作站之间的通信都是通过中心工作站转发。少部分情况下,附属工作站之间使用DLS action frame建立direct-link连接直接通信。
[0028] Infrastructure BSS是基本服务集BSS的一种,一个BSS可以由基本服务集标识(Basic Service Set Identifier,BSSID),服务集标识(Service Set Identifier,SSID)两个属性唯一确定;多个相同SSID的Infrastructure BSS可以组成一个扩展服务集(Extended Service Set,ESS),也是一个无线网络。
[0029] 在Infrastructure BSS无线网络中,中心工作站会使用特定的beacon帧广播SSID和BSSID给它信号覆盖范围内的所有附属工作站,附属工作站使用接收到得beacon帧中的信息连接中心站,从而通过中心工作站节进行通信。
[0030] 本发明实施例中,工作站是无线通信网络中任一一个网络设备,包括:基站、无线接入点(Access Point,AP)、或终端设备。工作站不仅可以接收目标地址为本地地址的报文,也可以接收目标地址不为本地地址的报文。也就是报文可以被共享同一媒体的所有工作站接收。
[0031] 当前工作站在进行网络通信时,首先默认启用RTS/CRS机制,在工作过程中检测对于当前工作站是否存在隐藏工作站的问题,若不存在,则关闭RTS/CTS机制,在随后的通信过程中直接向中心工作站发送数据;若对于当前工作站存在隐藏工作站的问题,则采用RTS/CTS机制向中心工作站发送数据。然后重复检测过程,当检测的结果改变时,也按照上述条件改变工作状态。
[0032] 参见图2,在Infrastructure BSS无线网络中,当前工作站与中心工作站数据传输的过程包括:
[0033] 步骤201:当前工作站接收报文。
[0034] 当前工作站不仅可以接收目标地址为本地地址的报文,也可以接收目标地址不为本地地址的报文,因此,当共享媒体,也就是同一信道上有报文时,当前工作站都可以进行接收。当前工作站接收到一条或多条报文。
[0035] 步骤202:当前工作站根据接收到的每条报文携带的地址信息,更新保存的包含源地址信息的第一地址列表,或,保存的包含目标地址信息的第二地址列表。
[0036] 当前工作站接收到一条或多条报文,这样,当接收到的当前报文不是中心工作站发出的,可以根据当前报文的源地址信息更新保存的包含源地址信息的第一地址列表;当接收到的当前报文是中心工作站发出的,且所述当前报文的目标地址信息不是本地地址信息时,则可以根据当前报文的目标地址信息更新保存的包含目标地址信息的第二地址列表。
[0037] 因此,根据收到的一条或多条报文,可能只有第一地址列表或第二地址列表被更新了,也可能是两者都被更新了,还有可能两者都没有被更新。
[0038] 这里,当接收到的当前报文的目标地址信息是本地地址信息,则当前工作站正常处理当前报文;当接收到的当前报文的目标地址信息不是本地地址信息,则当前工作站丢弃当前报文。
[0039] 步骤203:当前工作站将第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,当两者包含的地址信息相同时,执行步骤204,否则,执行步骤205。
[0040] 在进行比较之前,可以采用排序,哈希化等方式处理第一地址列表以及第二地址列表。然后,当前工作站可以定期将第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,当第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息相同时,执行步骤204,否则,执行步骤205。
[0041] 这里,还可以只有当第一地址列表中包含的源地址信息,或第二地址列表中包含的目标地址信息被更新了,或者两者都被更新的情况,才将第一地址列表与第二地址列表进行比较。
[0042] 步骤204:关闭RTS/CTS机制,直接向中心工作站发送数据。
[0043] 第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息相同时,当前工作站就可以获知中心工作站的所有通信伙伴,即对于当前工作站来说,在目前的通信架构下,没有“隐藏工作站”,因此,当监听到媒体处于空闲状态后,直接向中心工作站发送报文。
[0044] 步骤205:开启RTS/CTS机制,采用RTS/CTS机制发送数据。
[0045] 第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息不相同,对于当前工作站来说,在目前的通信架构下,可能存在“隐藏工作站”,因此,必须开启RTS/CTS机制,采用RTS/CTS机制发送数据。也就是,当前工作站监听到媒体处于空闲状态后,向中心工作站发送RTS报文,当接收到中心工作站返回的CTS报文后,再向中心工作站发送数据。
[0046] 在本发明实施例中,采用RTS/CTS机制这种握手协议来解决InfrastructureBSS无线网络中的″隐藏工作站″问题。当然,还可以采用其他的类似RTS/CTS机制的握手协议来解决Infrastructure BSS无线网络中的″隐藏工作站″问题。因此,当前工作站还可以根据第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息的比较结果,确定是否采用其他的类似RTS/CTS机制的握手协议发送数据。
[0047] 本发明实施例中,第一地址列表和第二地址列表不仅包括了地址信息,还包括记录每条地址信息的时间信息,也就是第一地址列表和第二地址列表是地址信息与时间信息相对应的列表。
[0048] 因此,根据当前报文的源地址信息更新保存的包含源地址信息的第一地址列表的具体过程包括:首先判断保存的包含源地址信息的第一地址列表中,是否有当前报文中携带的源地址信息,如果没有,将源地址信息以及对应的时间信息添加到第一地址列表中,如果有,则第一地址列表包含的地址信息不变,只修改该地址信息对应的时间信息。
[0049] 同样,根据当前报文的目标地址信息更新保存的包含目标地址信息的第二地址列表也包括:首先判断保存的包含目标地址信息的第二地址列表中,是否有当前报文中携带的目标地址信息,如果没有,将目标地址信息以及对应的时间信息添加到第二地址列表中,如果有,则第二地址列表包含的地址信息不变,只修改该地址信息对应的时间信息。
[0050] 无线网络的拓扑结构会随时间,以及工作站的加入、退出网络而实时变化,因此,本发明实施例在数据通信的过程中,当前工作站还需要对第一地址列表和第二地址列表进行老化更新处理,可以包括:
[0051] 定期清空第一地址列表和第二地址列表中的内容,例如,可以每次将第一地址列表和第二地址列表进行比较后,将第一地址列表和第二地址列表中的所有内容删除。或者,[0052] 在更新第一地址列表或第二地址列表的过程中,已出现过的地址信息在设定的时间内没有再出现,则将第一地址列表或第二地址列表保存的该条地址信息以及对应的时间信息删除。这里,第一地址列表和第二地址列表是地址信息与时间信息相对应的列表。因此,每条地址信息都有对应的时间信息,若一条地址信息对应的时间信息为第一时间,以第一时间为计时的起点,若设定时间内,例如:1个小时内,该条地址信息没有在出现,即该条地址信息对应的时间信息没有被更新,仍为第一时间,则将该条地址信息以及对应的时间信息删除。
[0053] 下面结合说明书附图对本发明实施例作进一步详细描述。
[0054] 参见图3,Infrastructure BSS无线网络结构拓扑包括:中心工作站AP,附属工作站STA1和STA2,其中,AP、STA1、和STA2都不仅可以接收目标地址为本地地址的报文,也可以接收目标地址不为本地地址的报文。STA1和STA2都与AP建立网络链接,一般都是通过AP进行通信,并且开始通信时,默认采用RTS/CTS机制进行数据通信。这样,STA1向AP发送数据之前,需要判断是否存在“隐藏工作站”,然后根据判断的结果,采用不同的数据发送方式。
[0055] 其中,STA1可以根据接收到的每条报文携带的地址信息,对保存的包含源地址信息的第一地址列表,或,保存的包含目标地址信息的第二地址列表进行更新,这里,第一/第二地址列表包括地址信息和与其对应的时间信息。参见图4,STA1每次接收报文的处理过程包括:
[0056] 步骤401:STA1接收一条报文。
[0057] STA1从共享媒体上获得一条报文。
[0058] 步骤402:STA1判断接收到的报文是否是AP发出的,如果该报文不是AP发出的,则执行步骤403,如果该报文是AP发送的,则,执行步骤405。
[0059] 其中,STA1可以根据接收到的报文头部中的To DS and From DS fields等来判断接收到的报文是否是AP发出的。
[0060] 这里,当STA2向AP发送报文时,该报文可以被判断出不是AP发出的,因此,执行步骤403。
[0061] 当AP向STA1或STA2发送报文时,执行步骤405。
[0062] 步骤403:根据接收到的报文中携带的源地址信息,更新保存的包含源地址信息的第一地址列表TAB1。
[0063] 可以首先判断保存的包含源地址信息的TAB1中,是否有该报文中携带的源地址信息,如果没有,将源地址信息以及对应的时间信息添加到TAB1中,如果有,则TAB1中包含的地址信息不变,只更新该条源地址信息对应的时间信息。
[0064] 这里,若STA2向AP发送报文,且STA1保存的TAB1中没有STA2地址信息,则将STA2地址信息以及对应的时间信息记录到TAB1中。
[0065] 步骤404:STA1判断接收到的报文的目标地址信息是否为本地地址信息,如果是,执行步骤407,否则执行步骤408。
[0066] 若数据报文的目标地址信息就是STA1地址信息,则执行步骤407。
[0067] 若报文的目标地址信息不是STA1地址信息,则执行步骤408。
[0068] 步骤405:STA1判断接收到的报文的目标地址信息是否为本地地址信息,如果不是,执行步骤406,如果是,则执行步骤407。
[0069] 若报文的目标地址信息就是STA1地址信息,则表明AP向STA1发送报文,执行步骤407。
[0070] 若报文的目标地址信息不是STA1地址信息,则表明AP向其他的STA发送报文,执行步骤406。
[0071] 步骤406:STA1根据接收到的报文中携带的目标地址信息,更新保存的包含目标地址信息的第二地址列表TAB2,转入步骤408。
[0072] 可以首先判断保存的包含目标地址信息的TAB2中,是否有该报文中携带的目标地址信息,如果没有,将目标地址信息以及对应的时间信息添加到TAB2中,如果有,则TAB2包含的地址信息不变,只是修改该目标地址信息对应的时间信息。
[0073] 这里,若AP向STA2发送报文,且STA1保存的TAB2中没有STA2地址信息,则将STA2地址信息以及对应的时间信息记录到TAB2中。
[0074] 步骤407:STA1处理接收到的报文。
[0075] 接收到的报文的目标地址信息就是STA1地址信息,STA1正常处理接收到的报文。
[0076] 步骤408:STA1丢弃接收到的报文。
[0077] 接收到的报文的目标地址信息不是STA1地址信息,STA1直接将接收的偶的报文丢弃。
[0078] 在本发明实施例中,STA1每接收一次报文,即进行一次上述处理,可能对TAB1或TAB2进行更新,也可能TAB1和TAB2任一一个都没有进行更新。这样,每隔一段时间,当STA1发现TAB1或TAB2包含的地址信息有更新后,将更新后的TAB1和TAB2进行比较,比较TAB1和TAB2包含的地址信息是否完全一致,然后,根据比较结果,就可以确定是否要开启RTS/CTS机制发送数据。
[0079] 这里,在进行数据传输之前,若STA1保存的TAB1和TAB2都为空集,且STA1第一次接收的报文,是STA2发送给AP的报文,则将STA2地址信息以及对应的时间信息记录到TAB1中;STA1第二次接收的报文,是AP发送给STA2的报文,则,将STA2地址信息以及对应的时间信息记录到TAB2中;此时,STA1将TAB1与TAB2进行比较,两者包含的地址信息一致,那么,STA1知道了AP的通信伙伴还包括STA2,这样,STA1在监听共享媒体空闲时,因可以确定没有“隐藏工作站”,则直接向AP发送报文。
[0080] 若本实施例中网络结构拓扑中还包括STA3,且STA1在进行数据传输之前,STA1保存的TAB1和TAB2都为空集,且STA1第一次接收的报文,是STA2发送给AP的报文,则将STA2地址信息以及对应的时间信息记录到TAB1中;STA1第二次接收的报文,是AP发送给STA3的报文,则将STA3地址信息以及对应的时间信息记录到TAB2中;此时,STA1将TAB1与TAB2进行比较,两者包含的地址信息不一致,那么,STA1不知道了AP所有的通信伙伴,STA1在监听共享媒体空闲时,因可能还存在“隐藏工作站”,则必须先向AP发送RTS报文,当收到AP返回的CTS报文后,再向AP发送报文。
[0081] 在上述实施例中,每次根据接收到的报文携带的地址信息,更新保存的包含源地址信息的第一地址列表,或,保存的包含目标地址信息的第二地址列表的过程中,是先判断当前报文是不是中心工作站发出,然后再判断当前报文的目标地址信息是不是本地地址信息。本发明实施例中,还可以先判断当前报文的目标地址信息是不是本地地址信息,然后再判断当前报文是不是中心工作站发出,具体可以包括:
[0082] 当判断当前报文的目标地址信息是本地地址信息后,处理当前报文,然后判断当前报文是不是中心工作站发出,若当前报文不是中心工作站发出的,则根据当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表。
[0083] 当判断当前报文的目标地址信息不是本地地址信息后,根据当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表,然后判断当前报文是不是中心工作站发出,若当前报文不是中心工作站发出的,则根据当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,并丢弃当前报文;若当前报文是中心工作站发出的,直接丢弃当前报文。
[0084] 根据上述数据传输的方法,工作站可以是无线通信网络中任一一个网络设备,其网卡驱动必须设置为混杂模式,也就是,工作站不仅可以接收目标地址为本地地址的报文,也可以接收目标地址不为本地地址的报文。参见图5,本发明实施例中,工作站包括:接收单元100、更新单元200、和比较单元300。
[0085] 接收单元100,用于接收至少一条报文。
[0086] 更新单元200,用于当接收到的当前报文不是中心工作站发出时,根据所述当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,当接收到的当前报文是中心工作站发出,且所述当前报文的目标地址信息不是本地地址信息时,根据所述当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表。
[0087] 比较单元300,用于将所述第一地址列表与第二地址列表进行比较,根据比较结果,确定是否采用握手协议发送数据。
[0088] 其中,当接收到的当前报文的目标地址信息是本地地址信息,工作站还需处理所述当前报文;当接收到的当前报文的目标地址信息不是本地地址信息,则工作站直接丢弃当前报文。因此,该工作站还包括:处理单元,用于当接收到的当前报文的目标地址信息是本地地址信息时,处理所述当前报文。以及工作站还包括:丢弃单元,用于当接收到的当前报文的目标地址信息不是本地地址信息时,丢弃所述当前报文。
[0089] 比较单元300将第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较后,当第一地址列表与第二地址列表包含的地址信息相同时,确定不采用RTS/CTS机制或其他类似的握手协议发送数据,当第一地址列表与第二地址列表包含的地址信息不相同时,确定采用RTS/CTS机制或其他类似的握手协议发送数据。
[0090] 当然,本发明实施例中,工作站还包括:老化更新单元,用于对所述第一地址列表和/或第二地址列表进行老化更新处理。其中,老化更新单元可以定期清空所述第一地址列表和第二地址列表中的内容;或,在更新所述第一地址列表或第二地址列表的过程中,当已保存的地址信息在设定的时间内没有再出现,则将第一地址列表或第二地址列表保存的该条地址信息删除。
[0091] 综上所述,本发明实施例中,当前工作站首先根据接收到的至少一条报文携带的地址信息,更新保存的包含源地址信息的第一地址列表,或,保存的包含目标地址信息的第二地址列表,即当接收到的当前报文不是中心工作站发出时,当前工作站根据所述当前报文的源地址信息,更新保存的包含源地址信息的第一地址列表,当接收到的当前报文是中心工作站发出,且所述当前报文的目标地址信息不是本地地址信息时,当前工作站根据所述当前报文的目标地址信息,更新保存的包含目标地址信息的第二地址列表,然后将所述第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息进行比较,当第一地址列表包含的源地址信息与第二地址列表包含的目标地址信息相同时,即可确定没有“隐藏工作站”,则当前工作站可以不采用RTS/CTS机制发送数据,从而在数据通信的过程,减少使用RTS/CTS机制,可以避免使用RTS/CTS机制导致的无线网络资源的浪费,增大了无线网络的吞吐率,并加快了报文响应速度。
[0092] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。