具有优先级和无争用时间间隔的介质访问控制协议的利记博彩app

文档序号:7947574阅读:552来源:国知局
专利名称:具有优先级和无争用时间间隔的介质访问控制协议的利记博彩app
技术领域
本发明涉及CSMA(载波侦听多路访问)网络中的介质访问控制(MAC)协议。背景
数据传输系统或网络使用某种类型的介质访问控制协议以控制对物理介质地访问,比如,交流(AC)电力线或乙太网电缆,如果该介质是共享介质。该共享介质访问机制可能是轮询方式、时分多路访问(TDMA)、令牌传递、载波侦听多路访问(CSMA)或某种其他共享访问协议。轮询方式利用一个中央分配的主站来周期性地轮询其他站(从站),赋予那些其他节点可在此介质中传输的明确许可。在TDMA协议中,网络主机在每一轮消息前广播一个帧同步信号以使所有站的时钟同步,在同步化发生之后,每个站在唯一分配的时间片中发送。在令牌传递方式中,能否访问传输介质由是否占有一个称为令牌的特殊数据单元确定,该令牌被从一个站传到另一站。在CSMA协议中,所有的发送在介质中广播,由站来侦听介质以确定该介质是否空闲以便传送。在载波侦听多路访问/冲突避免(CSMA/CA)中,当每个发送在进行的同时,每个站侦听介质,并且在发送结束之后,等待一个指定间隔(或者帧间距离),之后是基于发送前选择的时隙号的一个或更多个传输(或争用决定)时隙的附加延迟。
和优先化相关的这些协议中的一个或多个有一些变动,这些变动可能是确保有效的站-站对话或服务质量(QOS)要求所需要的。例如,对于CSMA/MA,第一时隙可能被保留以用于由刚刚接收一条消息的站应答所用,或者,另选地,一个或更多个时隙可能被保留以用于特定优先级类的传输(或站)。
在某些网络环境中,比如电力线网络环境中,CSMA协议的运行可能会受到各个站之间的距离和/或信道条件的负面影响。另外,CSMA协议的运行可能易受交叠网络以及隐蔽站(hidden station)(或节点)引起的干扰(比如冲突),交叠网络是并不旨在相互通信但是实际上能听到对方的传输。隐蔽站是网络中的一个站,因为其位置,只能听到在同一个或相邻网络中的各个站之间的一半通信交换。在那种情况和条件下,CSMA方案可能不能有效地运行以维持适当的网络同步化和有序的介质访问仲裁。另一个后果是网络可能无法确保严格遵守服务质量(QoS)保证。

发明内容
在本发明的一个方面,在一个包括多个站的网络中,一个具有待发送帧的站的访问争用包括在争用时段检测争用控制信息和从争用控制信息来确定该站是否被允许在争用时段期间竞争访问各个站所连接的传输介质。
本发明的实施例可能包括以下一个或多个特征。确定步骤可以包括确定争用控制信息是否表示无争用访问,如果争用控制信息表示无争用访问,确定与待发送帧相关的信道访问优先级是否高于与最后发送的帧相关的信道访问优先级。
访问争用还可以进一步包括当争用控制信息表示无争用状态并且与待发送帧相关的信道访问优先级被确定为高于最后发送的帧的信道访问优先级,或者争用控制信息不表示无争用状态时,检测站网络中的任何站是否意图以高于与待发送帧相关的信道访问优先级的信道访问优先级访问传输介质。对于任何这种意图以较高的信道访问优先级争用访问的站,该站延迟对传输介质的争用访问。访问争用可以进一步包括如果没检测到较高信道访问优先级,那么在下一个争用时段期间争用访问该传输介质,还可以进一步包括在争用时段前,用信令向其它站表示以相关信道访问优先级争用的意图。争用还可以进一步包括建立对应于随机后退时间的延迟时段,监视传输介质在延迟时段期间的活动。如果在监视期间未检测到活动,帧可被发送。
检测站网络中的任何站是否意图以高于与待发送帧相关的信道访问优先级的信道访问优先级争用访问传输介质的步骤发生在紧邻争用时段之前的优先级决定时段中。检测站网络中的任何站是否意图以高于与待发送帧相关的信道访问优先级的信道访问优先级争用访问传输介质的步骤可以包括在优先级决定时段期间检测来自至少一个其它站的信令,所检测的信令表示该至少一个其它站所要发送的帧的信道访问优先级。
优先级决定时段包括n个优先级决定时隙,并支持2n个信道访问优先级。n值可以等于二,并且每个信道访问优先级可以由2比特二进制值表示。优先级决定时段可以包括两个优先级决定时隙,第一优先级决定时隙对应于2比特二进制值的第一比特,第二优先级决定时隙对应于2比特二进制值的第二比特,其中在两个优先级决定时隙中对应的一个时隙中的所检测信令中接收2比特二进制值中的二进制1。
与待发送帧相关的信道访问优先级可以在优先级决定时隙中以信令表示。优先级决定时隙中的信令可以包括在第一优先级决定时隙中用信令表示相关信道访问优先级何时需要2比特二进制值中的第一比特是1,和在第一比特是1或者在第一优先级接收时隙中没有检测到来自任何其它站的信令的情况下,在第二优先级决定时隙中用信令表示相关信道访问优先级何时需要2比特二进制值中的第二比特是1。
可以保持一个虚拟载波侦听定时器,用于计划(project)优先级决定时段何时相对于最后发送的帧开始。最后发送的帧可以包括帧控制信息,并且保持一个虚拟载波侦听定时器可以包括使用帧控制信息来把一个值提供给虚拟载波侦听定时器。可以使用一个物理载波侦听来确定优先级决定时段何时相对于最后发送的帧开始。
传输介质可以是电力线。
信令可以包括发送OFDM码元,并且其中检测信令包括检测所发送的OFDM码元,因为与OFDM码元相关的延迟扩展性能特性,使得OFDM码元可以由所有站观察到。
优先级决定时段可以跟在传输介质非活动时段后。
本发明的优点如下。指示无争用访问的争用控制指示符和多优先级方案的组合用来平衡QoS等待时间要求和访问公平性。另外,因为物理载波侦听信号可能微弱或不可靠,各个站被提供有第二个“虚拟”载波侦听定时器机制以使得每个站与基于上一个发送帧中发生的帧控制信息保持传输介质占用情况的精确设计。另外,与优先级相关的二进制格式允许更低优先级从更高优先级中有效地隔离。多个争用站的每个优先级决定时隙中的比特值信令很适合于OFDM,因为OFDM能象延迟扩展(delay spread)一样处理这些信号。因此,尽管这些信号并未对准,每个站可以可靠地发出信号和检测其他站的信号。
本发明的其他特征和优点可以从以下详细描述及从权利要求中明显看出。


图1是耦合到传输信道的网络站网络的方框图,网络中的每个站包括介质访问控制(MAC)单元和物理层(PHY)设备。
图2是PHY设备(如图1所示)的详细方框图。
图3是OFDM帧格式的描述,包括后跟有效负载的开始定界符和结束定界符。
图4是应答帧的定界符格式的描述。
图5A是开始定界符(图3)中的帧控制字段格式的描述。
图5B是结束定界符(图3)中的帧控制字段格式的描述。
图6是应答定界符(图4)中帧控制字段格式的描述。
图7是图3所示的帧的有效负载中的段(segment)控制字段格式的描述。
图8是图3所示的帧的有效负载中的帧体格式的描述。
图9是图8所示的帧体的MAC管理信息字段格式的描述。
图10是图9所示的MAC管理信息字段中MCTRL字段格式的描述。
图11是图9所示MAC管理信息字段中MEHDR字段格式的描述。
图12A是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为信道估计(ChannelEstimation)请求类型。
图12B是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为信道估计(ChannelEstimation)应答类型。
图13A是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为连接信息请求(Connection Information Request)类型。
图13B是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为连接信息应答(Connection Information Response)类型。
图14是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为设置局部参数(SetLocal Parameters)类型。
图15是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为替换网桥地址(ReplaceBridge Address)类型。
图16是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为设置网络加密密钥(SetNetwork Encryption Key)类型。
图17是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为具有应答的多点传达(Multicast With Response)(MWR)类型。
图18是MAC管理信息字段中MMENTRY数据项目字段格式的描述,其中MEHDR字段将数据项目类型识别为级连(Concatenate)类型。
图19A和图19B是利用优先级和基于争用的访问(图19A)以及优先级和无争用访问(图19B)的数据帧发送的描述。
图19C和图19D是利用优先级和基于争用的访问(图19C)以及优先级和无争用访问(图19D)的应答帧发送的描述。
图20是基于待发送帧的到达时间的优先级和争用决定时隙信令的描述。
图21是MAC单元(图1所示)的方框图,MAC单元包括具有发送(TX)处理器和接收(RX)处理器的状态机。
图22是图21的TX处理器的方框图。
图23是由图22的TX处理器执行的帧发送过程的流程图。
图24是由图23的帧发送过程执行的应答决定(response resolve)过程的流程图。
图25是由图23的帧发送过程执行的争用访问过程的流程图。
图26是图21的RX处理器的方框图。
图27是图26的RX处理器执行的帧接收过程的流程图。
图28是解释图23和图27中所分别解释的帧发送过程和帧接收过程的各个方面的状态示意图。
图29表示网络被分成几个逻辑网,每个逻辑网由唯一加密密钥定义。
图30是添加作为逻辑网成员的新站的过程示意图(用图29所示的逻辑网之一作为例子)。
图31是逻辑网成员站(图29所示的逻辑网之一)的更详细的描述,其中每个成员站保持该逻辑网的网络密钥和选择对(selectpair)。
图32是包括通过网桥连接到一个不可靠的站子网的两个可靠的站子网的扩展网络,不可靠子网中的每个站和网桥能够支持一个网桥代理机制。
图33是图32配置的扩展网络的方框图,该配置使得当可靠子网中的各个站被不可靠子网中的各个站访问时,每个网桥充当它们所连接的可靠子网中的站的网桥代理。
图34是网桥代理发送过程的流程图。
图35是网桥代理发送过程的多点传送处理部分的流程图。
图36是网桥代理接收过程的流程图。
图37是一个站网,其中一个站作为主站,其他站作为从站以支持无争用间隔的会话(session)。
图38是在无争用间隔会话期间的时间片示意图。
图39A是设置连接(Set Connection)MAC管理数据项目的格式。
图39B是应用连接(Use Connection)MAC管理数据项目的格式。
图40是用于具有应答的帧转送(frame forwarding with response)的转送帧结构的描述。
图41是用于无应答的帧转送(frame forward without response)的转送帧结构的描述。
图42是用于涉及不使用结束定界符的帧的帧转送的另选开始定界符帧控制字段的格式描述。
图43是使用图42的开始定界符帧控制字段以用于只在一个帧转送帧之后的具有应答的帧转送的转送帧结构的描述。
图44是使用图42的开始定界符帧控制字段以用于在第一帧之后发生的具有应答的帧转送和NACK或FAIL的转送帧结构的描述。
图45是使用图42的开始定界符帧控制字段以用于不具有应答的帧转送的转送帧结构的描述。
图46是另选结束定界符帧控制字段格式的描述,该格式中有一个帧长度字段用来指定帧转送方案中第二帧的长度。详细说明
参照图1,网络10包括耦合到传输介质或信道14,例如电力线(PL),的网络站12a,12b,…12k。在至少两个网络站12之间通过传输介质14的通信过程中,第一网络站,例如,12a,充当发送网络站(或发射机),而至少一个第二网络站,例如,12b,充当接收网络站(或接收机)。每个网络站12包括一个逻辑链路控制(LLC)单元16,用于连接到数据链路用户,例如主机、电缆调制解调器或其他设备(未显示)等终端设备。网络站12进一步包括通过数据接口20连接到LLC单元16的介质访问控制(MAC)单元18、通过MAC至PHY I/O总线24连接到MAC单元18的物理层(PHY)单元22,和模拟前端(AFE)单元26。AFE单元26通过单独的AFE输入线28a和输出线28b连接到PHY单元22上,并通过AFE至PL接口30连接到传输介质14。每个站12代表硬件、软件或固件的任何组合,这种组合被网络上的其他站看作一个单一的功能性、可寻址单元。
通常,LLC、MAC和PHY单元符合开放系统互连(OSI)模型。尤其,LLC和MAC单元符合OSI模型的数据链路层,而PHY层单元符合OSI模型的物理层。MAC单元18执行数据封装/解封装,并执行用于发送(TX)和接收(RX)功能的介质访问管理。优选地,MAC单元18使用如IEEE802.11标准所描述的带有冲突避免的载波侦听多路访问(CSMA/CA)这样的冲突避免介质访问控制方案,尽管也可以使用其他合适的冲突避免类型的MAC协议或其他MAC协议类型。比如,可以使用时分多路访问(TDMA)方案。MAC单元18还提供自动重复要求(ARQ)协议支持。PHY单元22执行发送编码和接收解码等功能,在以下有更充分的描述。AFE单元26提供对传输介质14的连接。AFE单元26可以以任何方式被实施,因此在此不做进一步讨论。
各站之间交换的通信单元是以帧或分组的形式。在这里所用的术语“帧”和“分组“两者都指PHY层协议数据单元(PDU)。一个帧可能包括与定界符关联的数据(即,有效负载),或定界符本身,下面会讨论这些。定界符是前同步码和帧控制信息的组合。数据和帧控制信息从MAC单元18接收,但是由PHY单元22进行不同地处理,下面将参照图2描述这一点。帧和定界符结构将参照图3-图6更详细地描述。
参照图2,PHY单元22为单独一个站执行TX和RX功能。为支持TX功能,PHY单元22包括扰频器32、数据FEC编码器34(用于对从MAC单元18接收的数据编码)、调制器36、用于给帧控制信息编码的帧控制FEC编码器38、同步信号生成器40(定义用于自动增益控制和同步化的前同步码信号)、和IFFT单元42。为简略,省略了常规的后-IFFT(post-IFFT)设备。后-IFFT(post-IFFT)设备可能包括例如具有升余弦开窗的循环前缀块和峰值限制器以及输出缓冲。还包括在内的是TX配置单元52。为支持RX功能,PHY单元22包括自动增益控制(AGC)单元54、FFT单元58、信道估计单元60、同步化单元62、帧控制FEC解码器64、解调器66、数据FEC解码器68、解扰器70,和RX配置单元72。包含在PHY单元22中由发送和接收功能共享的功能是MAC接口74、PHY控制器76和信道映射存储器(channel maps memory)78。信道映射存储器78包括TX信道映射存储器78a和RX信道映射存储器78b。
在数据发送过程中,数据和控制信息通过PHY至MAC总线24在PHY至MAC接口(MAC接口)74接收。MAC接口为扰频器32提供数据,扰频器32确保提供给数据FEC编码器34的输入的数据实质是随机模式。数据FEC编码器34以前向纠错码给扰频数据模式编码,之后交织这些编码数据。任何前向纠错码,例如Reed-Solomon,或Reed-Solomon和卷积码,可被用于此目的。调制器36从帧控制FEC编码器38读取FEC编码数据和FEC编码控制信息,并根据常规OFDM调制技术将编码数据和控制信息以OFDM码元调制到载波上。那些调制技术可以是相干或差分调制。调制模式或类型可以是具有1/2编码率的双进制相移键控(“1/2 BPSK”),具有1/2编码率的正交相移键控(“1/2 QPSK”),具有3/4编码率的QPSK(“3/4 QPSK”),及其他。IFFT单元42接收来自调制器36、帧控制FEC编码器38和同步化信号生成器40的输入,并将处理的数据提供给后IFFT功能单元(未显示),该功能单元在将此数据传输到AFE单元26(图1)之前,进一步处理帧的内容。
TX配置单元52接收来自PHY至MAC I/F74的控制信息。该控制信息包括关于将数据要经过哪个信道从MAC接口74发送出去的信息。TX配置单元52利用此信息从TX信道映射存储器78a上选择合适的信道(或信号音)映射。选择的信道映射指定一种发送码以及将用于数据传输的所有载波(或,另选地,每个载波)和载波组的调制类型(包括相关编码率),并因此指定与数据传输相关的OFDM码元块大小(固定和可变的)。一个OFDM码元块包括多个码元,可以对应于一帧或一帧的一部分。TX配置单元52从信道映射数据中生成TX配置信息。TX配置信息包括传输模式、载波组或每个载波的调制类型(包括相关的FEC编码率)、码元数和每个码元的比特数。TX配置单元52为PHY控制器76提供TX配置信息,PHY控制器76使用此信息来控制数据FEC编码器34的配置。除了配置控制信号,控制器76还为数据FEC编码器34、扰频器32、调制器36、帧控制FEC编码器38、同步化信号生成器40和IFFT单元42提供其他常规控制信号。
帧控制FEC编码器38通过PHY至MAC接口单元74接收来自MAC的将被包括在定界符中的帧控制信息,如定界符类型,例如,开始(帧开始或“SOF”)、结束(帧结束或“EOF”),及其他适合此类型的信息。例如,如果定界符是一个开始定界符,用于传送传输模式和其他信息的信道图索引(channel map index),及帧中(待发送的)OFDM码元数被提供给接收站12b使用。
在数据接收过程中,由传输网络节点12a通过信道发送到接收网络节点12b的OFDM帧在PHY单元22由AGC单元54从AFE单元26接收。AGC单元54的输出由FFT单元58处理。FFT单元58的输出被提供给信道估计单元60、同步化单元62、帧控制FEC解码器64和解调器66。更具体地,处理的接收数据的相位和振幅值被提供给信道估计单元60,该单元产生可以通过信道被发送给发送网络站12a的新信道图。该信道图接着被两个站用于以后以相同的发送方向(即,当站12a把分组信息发送给站12b,站12b接收站12a所发送的分组信息时)相互通信。RX配置单元72接收来自帧控制FEC解码器64的信道图索引和OFDM码元数,从RX信道图78b取出帧控制FEC解码器64提供的由信道图索引所指定的信道图,并将RX配置信息(来自信道图参数)提供给控制器76。RX配置信息被用于配置数据FEC解码器68,因此其包括块大小和解码该帧所需要的其它信息。同步化单元62为控制器76提供帧开始信号。作为对这些输入的应答,控制器76为数据FEC解码器和解调器66提供配置和控制信号。例如,它将与接收的数据相关的调制类型传送给解调器66。
解调器66解调从FFT单元58接收的处理数据中的OFDM码元,将每个码元的每个载波中的数据的各个相位角转换成度量值,这些值被数据FEC解码器用于解码目的。数据FEC解码器68纠正从(发送节点的)数据FEC编码器34传输到数据FEC解码器68过程中所发生的比特错,将解码的数据传送到解扰器70,解扰器执行与扰频器32执行的功能相反的功能。解扰器70的输出被提供给MAC接口单元74以传输到MAC单元18。
帧控制FEC解码器64接收来自FFT 58的编码帧控制信息和来自控制器76的控制信号。帧控制FEC解码器64利用这些输入来解码并解调帧定界符中的帧控制信息。帧控制信息一旦被解码并解调,便被传送到MAC接口单元74以传输到MAC单元18。MAC单元18从信息中确定定界符是否表示帧开始。如果表示帧开始,RX配置单元接收来自MAC单元18的帧控制信息(信道图索引和长度)来表示需要进一步的解码,RX配置单元利用帧控制信息以指导控制器配置接收机单元用于进一步解码。
为简单清楚起见,PHY单元的发射机/接收机功能性单元的其他细节(为本领域的技术人员所熟知而且与本发明不相关)大部分在此省略。
参照图3,图3显示了发送网络站12a通过传输介质14所发送的数据传输帧80的格式。数据传输帧80包括有效负载82,该有效负载载有从MAC单元18接收的数据。该数据包括首部84、主体86和帧校验序列(FCS)88。优选地,根据同时待审的美国专利申请第09/455,186号由Lawrence W.Yonge III等人发明的“用信道估计进行前向误差纠正”、同时待审的美国专利申请第09/455,110号由LawrenceW.Yonge III等人发明的“增强信道估计”和同时待审的美国专利申请第09/377,131号由Lawrence W.Yonge III等人发明的“健壮传输模式”中所描述的技术,有效负载82由图2中描述的功能性单元来发送并接收,所有上述文件此处用于参考;但是,其他技术可以被使用。上述美国申请第09/377,131号(“健壮传输模式”)描述了一种标准模式和减小的数据率健壮模式(以下,简称为“ROBO模式”),ROBO模式提供了广泛的分集(时间和频率)和数据冗余度以提高各个网络站在不良条件下运行的能力。
仍参照图3,帧80进一步包括一个或两个定界符90,更通常地被称为定界符信息。定界符信息90包括一个在有效负载82之前的定界符,即,开始(或SOF)定界符92。优选地,除了开始定界符92,定界符信息90包括一个跟在有效负载82之后的定界符,即结束(或EOF)定界符94。开始定界符92包括一个第一前同步码96和一个第一帧控制字段98。结束定界符94包括一个第二前同步码100和一个第二帧控制字段102。前同步码96、100是用于执行或使能自动增益控制、基于时间和频率的同步化和物理载波侦听的多码元字段。前同步码96和100可能长度相同或不同。EFG 104分隔开结束定界符94和有效负载82。EFG 104是否包括在帧80中是可选的。
继续参照图3,首部84包括段控制字段106、目的地址(DA)108和源地址(SA)110。SA和DA字段(每个字段6字节)与IEEE标准802.3所描述的对应字段相同。每个地址都具有IEEE 48-比特MAC地址格式。
主体86包括帧体112和填充字段114。字段108、110和112共同代表MAC服务数据单元(MSDU)116的一段或全部。因此MSDU指代MAC层已经被OSI的高层(MAC层提供服务的那些OSI层)分派传送的任何信息,连同MAC层提供的任何MAC管理信息。帧的最后一段可能要求填充以确保该段填满整个OFDM块。因此,填充字段114在段数据比特和该段末尾的FCS 88之间提供一些0。FCS 88是作为始自段控制字段106的第一比特直至填充字段114的最后一比特的所有字段的内容的函数来计算的16-比特CRC。作为选择,填充字段114可以位于FCS 88之后,在这种情况下,填充字段114被排除在FCS计算之外。
有效负载82具有最大时间长度(考虑到等待时间)和由长度及信道条件决定的变化的字节容量。因此,有效负载82可以有容纳整个MSDU或仅仅是MSDU的一段的容量。一个“长”帧包括定界符92、94和有效负载82。首部84和FCS 88都以明文(即,未加密)发送,而主体86的一部分可以选择加密。把有效负载字段以最高有效字节最先、最高有效位(MSB)最先(比特号7是一个字节的MSB)的方式提供给PHY单元22。长帧,具有开始定界符、有效负载和结束定界符,被用于以单点传送或多点传送的形式传送MSDU信息。
尽管图3解释了封装数据传输帧的帧有效负载的定界符,定界符可以单独出现,例如,当被用做MAC ARQ方案的应答时。参照图4,应答定界符120包括第三前同步码122和第三帧控制字段124。只包括一个定界符的帧在此被称为“短”帧,该定界符是单独从数据传输帧发送的、并由接收站使用以应答一个预期得到应答的数据传输帧的定界符。
其他示例性定界符可以与其他类型的用于访问信道的“短”帧相关联,比如,“请求发送”(RTS)帧,这些帧可能被用于减少在大通信业务量期间发生冲突所引起的开销,从而提高网络的效率。定界符可以是包括其他介质访问机制,如TDMA(通常被用于等时通信),所要求的那种管理信息的类型,因而不必针对争用情况。例如,TDMA网络传输可以包括定界符的信标类型(信标定界符)以保持网络同步性,并管理每个节点应该何时发送和接收帧。
第一帧控制字段98、第二帧控制字段102和第三帧控制字段124由帧控制FEC编码器38协同调制器36基于从MAC单元18接收的控制信息产生。通常,帧控制字段98、102和124包括网络中的所有站用于信道访问使用的信息,而且对于帧控制字段98,还包括由目的地所使用的用于接收机解调的信息。因为帧控制字段98、102和124旨在被所有站收听,帧控制字段98、102和124最好有健壮的物理层编码和调制形式。优选地,根据同时待审的美国专利申请第09/574,959号(案卷号04838/050001)由Lawrence W.Yonge III发明的“用于健壮OFDM帧传输的帧控制编码器/解码器”中所描述的技术,它们被一个具有时间和频率字段交织和冗余度来加强的块码保护以免于传输错误。上述文件此处用于参考;但是,也可以使用其他技术。
通常,MAC单元18支持标准MAC功能,比如成帧。它还通过若干不同机制确保服务质量。CSMA/CA协议被优化用于多层优先级方案,该方案控制要求好于尽最大努力递交的数据类型的延迟。支持四级基于争用的访问优先级。每个希望争用的传输只需要和其他具有相同优先级的传输争用。尽管只描述了四级,该优先级方案可以被扩展以包括更多优先级。另外,MAC单元18提供无争用访问,使得站可以保持或指导介质访问控制,仅将所有权让渡给更高的优先级。用分段来限制信道无法由更高优先级通信使用的时间量,因此限制对更高优先级通信的延迟。
另外,MAC单元18使能站帧转送(frame forwarding),这样一个希望和网络上的其他站通信的站可以用非直接方式进行通信(通过另一个、中间站),或跨越网络10和其他网络。
MAC单元18进一步提供可靠的帧递交。它支持每个发射机/接收机之间的速率自适应PHY特性和信道估计控制,以建立为每个方向的信道条件优化的PHY调制参数。而且,利用ARQ来确保单点传送的递交。某些帧类型的接收需要接收机的确认,并且ARQ使用不同类型的确认。确认可以依照接收帧的状态为肯定的或否定的。一个正确寻址的具有有效PHY帧校验序列的帧导致接收机向始发者发送肯定确认(或“ACK”)应答。发送站通过再次发送已知或推断为失败了的帧来进行错误恢复。故障的发生源于冲突或不好的信道条件、或在接收机处缺乏足够的资源。如果收到“NACK”(在不好的信道条件下)或“FAIL”(在资源不充足的情况下)应答,便可以知道传输已经失败。如果当希望收到应答却没有收到应答时,可推断传输因某种原因(比如,因为冲突)失败。
除了单点传送ARQ,“部分ARQ”被用于在MAC层的多点传送和广播传输的增加的可靠性。“部分ARQ”允许发射机了解到至少一个站收到该帧。
MAC单元18还通过加密在共享介质上提供保密性,这点将在以下描述。
这些和其他特点由以下图5至图18详细表现的帧结构来支持。
图5A和5B分别描述帧控制字段98和帧控制字段102的比特字段定义。参照图5A,帧控制字段98包括争用控制(CC)字段130、定界符类型(DT)132、变量字段(VF)134和帧控制校验序列(FCCS)字段136。争用控制指示符比特130由所有站观察,其指示对于除了更高优先级的未决帧之外的所有帧,下一个争用时段(或“窗口”)是否是基于争用的或者无争用的。若CC=1,表示无争用访问,只有在未决帧的优先级比包含所设定CC比特的帧的优先级高的情况下才允许争用。若CC=0,表示基于争用的访问,在下一个争用窗口中允许争用。定界符类型字段132标识定界符及其相对于相关帧的位置。对于开始定界符,定界符类型可能有两个值中的一个,一个值是“000”,解释为不期望应答的帧开始(SOF),一个值是‘001’,解释为期待应答的SOF。对于任一个开始定界符类型的定界符,变量字段134包括一个8比特帧长(FL)140和一个5比特信道图索引(CMI)142,它们被在接收站中的PHY设备22使用以对接收的帧有效负载进行解码。帧控制校验序列(FCCS)字段136包括一个8比特循环冗余校验码(CRC)。FCCS被作为始自CC比特和止于VF比特的序列的函数来计算。
参照图5B,帧控制字段102包括同样的通用字段格式,即它包括字段130、132、134和136。DT字段可能具有两个值中的一个,一个对应于不期待应答的帧结束(EOF)的值‘010’,或一个对应于期待应答的EOF的值‘011’。对于这些结束定界符类型中的任一个,变量字段134包括一个两比特信道访问优先级(CAP)144、一个一比特期待应答的应答(RWRE)字段145和一个十比特保留字段(RSVD)146。CAP字段144指示与当前段相关的优先级,该信息可以被网络中的所有站利用以确定多段传输或突发传输(CC比特通常被设置)是否可以被中断。RWRE字段145被用于指示会跟随有两个应答。保留字段146由发射机设置为0并被接收机所忽略。
再次参照图5A,应该理解,开始定界符的帧控制字段98可能以不同方式被定义(例如,不同的字段长度、添加或省略字段)。例如,如果不使用结束定界符,那么可能希望用可以利用的各个比特来在开始定界符92的帧控制字段98中包括附加信息,例如CAP字段144(如图5B帧控制字段102中所示)。
参照图6,应答定界符120(图4)的帧控制字段124包括与帧控制字段98、102相同的通用字段格式。但是,对于对应于应答的DT值(见下表1),定义VF字段132以包括从所产生应答的帧的结束定界符中的变量字段复制而得的信道访问优先级(CAP)144、1-比特ACK字段145和10-比特应答帧字段(RFF)146。当ACK的值=0b01(ACK)时,RFF 146被定义为接收的帧校验序列(RFCS)148。RFCS148包括对应于被发送应答的帧中所接收的16-比特CRC(FCS字段)的10个最低有效位的部分。发送要求应答的帧的发送站比较RFCS和FCS中对应发送的CRC比特以确定应答的有效性。如果发送站检测到两者相符,该应答被接受。如果RFCS不匹配FCS的相关部分,该应答被忽略,并被视为未收到应答。也可以使用来自(请求应答的)帧的、同样对于这个帧是唯一的或者可能是唯一的其他信息。如果ACK的值=0b0,那么应答不是一个ACK,RFF 146被定义为一个1-比特FTYPE字段149和一个保留(RSVD)字段150。FTYPE字段149指定应答类型(如果不是ACK的话)。FYTPE字段149中的0b0值表示NACK。如果FTYPE=0b1,那么应答类型是FAIL。应答定界符的DT字段值如下表1所示。
表1
参照图5A-5B和图6,可以理解变量字段134的内容取决于定界符类型132。在如图5A-5B和图6所示的示例性帧控制字段中,CC字段130长度为一比特,对应于比特24。DT字段132长为3比特,对应于比特23-21。VF字段134是一个13-比特字段,对应于比特20-8。FCCS字段136长为8比特,对应于最低有效字节(LSB),比特7-0。
参照图7,段控制字段106(来自图3)是一个40-比特字段,其包括接收各个MSDU段并执行分段的MSDU的重组合所需要的字段。段控制字段106包括以下子字段帧协议版本(FPV)160;帧转送(FW)字段161;连接号(CN)162;多点传送标志(MCF)164;信道访问优先级(CAP)166;信道估计(CE)字段167;段长(SL)168;最后段标志(LSF)170;段计数(SC)172;和段号(SN)174。FPV字段160是用于表示使用中的协议版本的3-比特字段。例如,对于某个特定版本的协议,发射机将字段各位都置为0,如果字段(解码后)不等于0时接收机丢弃该帧。FW字段161(在设置后)被用于表示该帧待转送。CN字段162指定分配给两站之间的连接的连接号。MCF164指示该帧包括一个多点传送有效负载,而不管DA字段108的释义是什么(因此接收机应该到别处找寻实际的DA以确定该帧用于接受目的的有效性,这些将会被描述)。该标志允许MAC执行部分ARQ方案,之后会更详尽地描述。CAP字段166是一个2-比特字段,等同于结束定界符102和应答定界符124(分别在图5B和图6中所示)的变量字段134中的同样名字的字段。该信息在段控制字段106中重复,这样接收机能提取此信息以在不必接收结束定界符94的情况下建立应答。CE字段167是一个标志,接收机利用此标志来向发射机表明推荐一个新的用于发射机/接收机连接的信道估计周期。SL字段168包括帧体112中的字节数(因此排除PAD 114)。最后段标志(LastSegment flag)170是如果当前段是MSDU的最后(或唯一)段时设置的一比特标志。段计数(segment count)字段172存储所发送段的递增顺序计数,并被用于MSDU的分段和重组。SN字段174保持一个与MSDU(和它的每个段,如果MSDU被分段)相关的10-比特序列号,而且对于每个待发送的新MSDU递增该序列号。它还被用于重组并防止与其相关的帧被多次传送给LLC。
参照图8,帧体字段112可以包括以下子字段加密控制180;MAC管理信息182;类型184;帧数据186;PAD 188;和集成校验值(ICV)190。当一个帧被分段时,被分成不同段的是帧体字段112。加密控制子字段180和ICV 190除了当帧体字段被分段时外,在每个帧体字段112中都有。帧体字段112的其他子字段可以不在每帧中出现。
加密控制字段180包括加密密钥选择(EKS)子字段192和初始化矢量(IV)子字段194。1-八比特组EKS字段192选择默认的加密/解密密钥(EKS=0×00)或255个网络密钥之一。用选择的密钥来使用8-八比特组的IV字段对帧数据加密/解密。待加密或解密的数据从IV字段194后的第一字节开始,以ICV 190结束(包括ICV 190)。把IV字段194设置为0使发射机绕开加密部分,并使接收机绕开解密部分(即,发送/接收以明文方式进行)。
类型184和帧数据186在载有MSDU的所有帧中存在。要求的填充的数量(即待添加到帧体112中的比特数),从SC字段106的段长168来确定,是独立于实施方式的。在所描述的实施例中,因为加密过程处理以可被64比特划分的块的形式表示的数据,填充字段188给帧体112添加0以使帧中的比特数是64比特的整数倍。ICV 190是在以IV之后的第一字节开始、以PAD字段188结束(如果存在PAD字段188)的字节上计算的32-比特循环冗余校验。用于计算ICV 190的多项式是IEEE标准802.11中使用的32-比特CRC-CCITT多项式;但是,其他CRC,例如,基于其他多项式的CRC,也可以被使用。在另选实施中,加密的信息可以不包括ICV 190。
接收机使用ICV字段190来用于当帧被错误解密时的帧过滤(即,防止解密的帧被传往LLC)。例如,如果EKS不是唯一的、而是实际上被两个或更多个网络密钥所共享,帧可能被用错误的网络密钥来解密。如果不同的逻辑网络为不同的网络密钥选择相同的EKS,可能会出现公共密钥选择事件。
帧体112可能包含MAC管理信息182。如果该字段出现在帧体112中,其格式和内容如下。
参照图9,MAC管理信息182包括以下子字段类型200;MAC控制(MCTRL)202;N个项目字段204,每个项目字段204包括MAC项目首部(MEHDR)206、MAC项目长度(MELEN)208和MAC管理项目数据(MMENTRY)210。类型200指定帧包括MAC管理信息,而且MAC管理信息字段跟在后面。MELEN 208指定当前项目字段204的相关MMENTRY 210中包含了多少字节,因此其作为指向下一个项目字段204的指针。
参照图10,MCTRL字段202包括两个子字段一个1-比特保留字段212和一个第二、7-比特字段,即项目数(NE)字段214,其指明跟在MAC管理信息之后的MAC项目(NE)204的数量。
参照图11,MEHDR字段206包括两个子字段MAC项目版本(MEV)216和MAC项目类型(MTYPE)218。MEV 216是一个指明所用的释义协议版本的3-比特字段。发射机将MEV全部置为0。如果接收机确定MEV≠0b000,接收机丢弃整个层管理MAC帧。5-比特MAC项目类型218定义跟随的MAC项目命令或请求。不同的MAC项目类型值和释义如表2所示。
表2
表2在第3-5列还表明,是否由站的MAC从更高层接收此项目以由MAC本地使用(第3列);项目是否被前置到数据帧(即,MSDU或MSDU段)以通过介质传输(第4列);或者项目是否在没有数据帧的情况下通过介质发送(第5列)。
参照图12A,跟在(MEHDR字段206中的)MTYPE 218后面指定请求信道估计的MMENTRY字段210是请求信道估计MAC管理项目210A。请求信道估计项目210A包括信道估计版本220和保留字段222。如果CEV 220不等于0,该项目被忽略。
参照图12B,请求信道估计MAC管理项目210A(图12A的)导致接收站以应答信道估计MAC管理项目210B的形式返回信道估计应答。该字段是MMENTRY字段,跟在指明信道估计应答的MTYPE218之后。信道估计应答项目210B是一个由接收机在接收了一个信道估计请求之后发送的可变长度MAC数据项目。该序列是MAC信道估计控制功能的一部分,如以下所描述。
仍然参照图12B,信道估计应答项目210B的子字段包括信道估计应答版本(CERV)224;保留(RSVD)226和228;接收信道图索引(RXCMI)230(由请求者插入CMI 142);有效信号音标志(ValidTone Flags)(VT)232;FEC率(RATE)234;网桥代理(BP)236;调制方法(MOD)238;另一个保留字段240;桥接的目的地址数量(NBDAS)242;和桥接的目的地址244,包括桥接的目的地址1到n(BDA n)246。RXCMI字段230包括与返回信道估计应答的站的源地址相关的值。因此在向应答者发送时,接收此应答的站将该值插入帧开始定界符98的CMI字段142。有效信号音标志232指明一个特定的信号音是有效(VT[x]=0b1)还是无效(VT[x]=0b0)。RATE字段比特234指明卷积编码率是1/2(RATE=0b0)还是3/4(RATE=0b1)。网桥代理比特236指明信道映射正在被代理以用于一个或更多个目的地址。NBDAS 242指明代理的目的地址的数量,而且BDA1…n246的每一个包含一个不同的目的地址。MOD字段238指明四个不同的调制类型之一MOD值‘00’对应ROBO模式;MOD值‘01’对应DBPSK调制;MOD值‘10’对应DQPSK调制;MOD值‘11’为一个保留值(此保留值若被用于发送,在接收时会被忽略)。
在网络10中,任何两个站12之间的信道或连接关于信号音(载波)的生存能力和不同调制类型的接受能力而言可能是唯一的。因此,MAC单元18提供一个信道估计控制功能以发现信道的属性。信道估计功能产生并保持一个点对点发射机-接收机连接以获得最大的传输数据速率。多点传送以ROBO模式进行,该模式不依靠于发射机和接收机之间的信道特性。向一个有效的信道映射不存在的特定目的地址进行的单点传送也以ROBO模式进行。
如果该连接是新的(发射机尚未同接收机通信,或者,等同地,不存在DA的有效信道图),发射机把信道估计请求MAC项目210A(图12A)连同MSDU包含在一个帧中,然后把该帧以ROBO模式发送到接收机。接收到信道估计请求MAC项目210A时,接收机分析该段、或者甚至整个帧的第一个接收块(含40个码元)或多个块的特性,以确定用于连接的最好的信号音组和最优调制类型。优选地根据上面引用的美国申请第09/455,110号所描述的信道估计过程,由接收站的PHY设备22(图2)中的CE单元60执行该分析。接收站返回由信道估计应答MAC项目210B(图12B)中的信道估计产生的信道图。如果在那个方向上不存在信道图,信道估计应答MAC项目210B也以ROBO模式发送。收到该应答时,发射机利用应答中所指定的信道图——有效信号音标志232、FEC率234和调制238,连同相关的信道图索引(在定界符98中的CMI 142中所提供的,图5A),以在(信道图索引142所对应的)信道图有效时向DA进行任何进一步发送。
如果该连接不是新连接(即,执行了先前的信道估计周期),信道图可能变得陈旧,例如,在某个估计超时之后,或者,另选地,信道映射不再代表(由接收机所确定的)最优数据速率。在估计超时之后,任何在此连接上的后续传输导致一个新的信道估计周期发生,因此确保连接以最优状态被保持。如果接收机(通过分别检测错误量的减少或增加)确定信道条件已经改进或恶化,它可能向发射机建议进行一次新的信道估计。接收机通过设置发往发射机的帧中的段控制106(图7)中的CE标志167来做此建议。接收具有设置的CE标志167的帧导致发射机启动一个以ROBO模式发送的帧的信道估计。另选地,接收机可以使用MAC管理项目作出建议。如将要讨论的,如果要求发射机在重传输期间转换为ROBO模式,信道估计在帧传输期间还作为恢复程序的一部分步骤发生。
参照图13A-B,跟在MTYPE 218之后指定连接信息请求和连接信息应答类型的MMENTRY字段210分别是连接信息请求210C(图13A)和连接信息应答210D(图13B)。参照图13A,连接信息请求字段210C包括目的地址(DA)字段247。DA字段247所指定的DA是请求站想要其连接信息的站的地址。参照图13B,连接信息应答字段210D包括DA字段248,其包括连接信息请求210C中由相同字段名指定的DA的副本。连接信息应答字段210D进一步包括字节字段249,其基于应答机对DA的TX信道图指定40码元块内的字节数(或另选地,最大长度帧内的字节数)。连接信息请求和应答被用于帧转送,之后会参照图40-46进行描述。
参照图14,一个设置局部参数(Set Local Parameters)字段210E是一个设置本地站MAC地址250(MA[47-0]是IEEE 48-比特MAC地址格式)和信号音掩码(tone mask)252的17-字节的数据项,表明网络可使用的信号音。未用的信号音不会有任何施加到其上的信号。信号音掩码252包括84-比特可用的信号音标志以表明一个特定的信号音是可用(TM[x]=0b1)还是不可用(TM[x]=0b0)。TM
对应于最低频率的信号音。
参照图15,跟在MTYPE 218之后指明替换网桥地址项目类型的MMENTRY字段210是替换网桥地址项目字段210F。项目字段包括6个字节来识别可能位于另一种介质上并通过网桥来访问的站的原始目的地址(ODA)260。项目字段210D进一步包括6个字节以识别可能位于另一种介质上并通过网桥来访问的站的原始源地址(OSA)262。接收该项目的站使用这些字段来重建原始乙太帧。桥接代理机制(bridging proxy mechanism)将参照图32-37进一步详细描述。
参照图16,跟在MTYPE 218之后指明设置网络加密密钥的MMENTRY字段210是设置网络加密密钥项目210G。项目210G包括加密密钥选择(EKS)266和网络加密密钥(NEK)268。应用这些字段的MAC保密机制将参照图29-31讨论。
参照图17,跟在MTYPE 218之后指明带应答的多点传送的MMENTRY字段210是带应答的多点传送项目210H,并被用于支持用于多点传送传输的部分ARQ。带应答的多点传送项目210H包括多点传送目的地址272(或者,另选地,至少一个代表一组多点传送目的地址的多点传送目的地址)和对应于该项目中多点传送目的地址数目的多点传送目的地址(MDA)计数字段274。当使用该项目时,帧首部83(图3)中的DA 108是各个多点传送目的地址272的代理,且如果定界符类型属于要求应答的类型,其会生成应答,如上所述(参照图5A-5B)。
参照图18,跟在MTYPE 218之后指明级连类型的MMENTRY字段210是级连项目210I。该项目提供一个机制,使主机级连若干个较小的帧以用相同的CAP发送到某个特定目的地。这提高了网络处理能力,因为与每帧相关的固定开销(overhead)(例如,SOF定界符、EOF定界符、应答,以及之后描述的不同的帧间间隔),使得较小的帧效率不高。级连MMENTRY数据字段210I包括以下字段NF字段276,用于表示级连在一起的帧的数目;而且对于项目中存在的每个帧,包括去除长度(Remove Length)(RL)字段277、有效负载(帧)长度字段(FRAMELEN)278和有效负载字段279。RL字段,如果设置(RL=0b1)的话,向接收机表明帧的FRAMELEN字段278应被去除以提取原始帧。将RL字段包含在内是为了当帧中的原始类型字段实际指定了帧长度时防止帧长度字段的重复。当RL=0b0时,FRAMELEN字段278是该帧的原始类型字段,因此是原始帧的一部分。当该项目被包含在MAC层管理信息182中时,它是最后的项目。它的存在排除了使用有效负载字段184和186。对这种类型的项目,MELEN被设置为某个值,例如,1,该值将向接收机表明未指定整个长度,接收机因此必须查看FRAMELEN的每个出现以提取原始帧。
尽管未显示,利用对应于MTYPE值指明请求参数和统计数字以及应答参数和统计数字的项目(在上述表2中描述)来收集每站特定的参数和网络性能统计数字,这些参数和统计数字对诊断目的很有用。
也可能定义并使用其他MAC管理项目类型。
回头参照表2,对应于设置连接和应用连接、以及伪帧的MTYPE值的项目,被用于支持无争用间隔的会话以实现CSMA网络的服务质量(QoS)。伪帧项目向接收机表明包含该项目的帧的帧有效负载将被丢弃。之后将分别参照图39A-39B和图37-38详细描述设置和应用连接项目的格式以及使用这些项目(以及伪帧项目)的无争用访问机制的运行。
在诸如MAC单元18所使用的分布式介质访问方案中,发送站12a通过载波侦听机制侦听传输介质14以确定其他站是否正在发送。载波侦听是分布式访问程序的重要部分。物理载波侦听由PHY通过检测前同步码以及跟踪通过分组体(packet body)的OFDM码元来提供。除了由PHY提供给MAC的物理载波侦听信令,为更大的定时精确度,MAC还利用虚拟载波侦听(VCS)机制。VCS机制使用定时器(用于保持VCS超时值)和标志以跟踪预期的基于帧控制字段所代表信息的信道占用持续时间。因此,介质被认为处于繁忙状态,如果物理或虚拟载波侦听如此表明。当站在发送时,介质也被认为繁忙。
参照图19A-19D,这些图显示了利用在信道繁忙条件之后的优先级决定和争用的介质共享技术。争用中间帧空间(CIFS)280定义上一次正确接收的不期待任何应答的帧传输的末尾与优先级决定时段(PRP)284之间的帧间距离,PRP 284被用于决定新传输的优先级。参照图19A,上一个帧传输是以数据帧传输80的形式。优先级决定时段284包括第一优先级决定时隙P0286和第二优先级决定时隙P1288。有四级信道访问优先级(CAP)最高优先级由CA3=0b11表示,最低优先级由CA0=0b00表示。下面的表3将CAP映射到优先级决定时隙286和288。
表3
IEEE802.1标准的当前版本描述了在一个桥接网络环境中使用用户优先级和访问优先级。用户优先级是应用用户请求与其业务相关的优先级。访问优先级是MAC提供的区分开的业务类的数目。分款7.3.3,802.1D提供用户优先级到业务类的映射。这里讨论的五个区分开的业务类,即,那些对应于四个信道访问优先级(CA0到CA3)和无争用访问的类,一对一地对应于业务类0到4。
仍然参照图19A,随机后退(backoff)间隔292之后的争用窗口290期间以特定优先级争用的意图如下在优先级决定时段284中以信令表示,其中,随机后退间隔292以争用决定时隙C0…CN来表示。要求访问信道的站确定恰在PRP 284(本例中,EOF定界符94,也在图5B中表示)之前接收的定界符是否在其帧控制字段中包括一个设置的争用控制比特130,并在CAP字段144中指定大于或等于本应该由该站在PRP 284中指明的优先级的优先级。如果结论是肯定的,该站不再在当前PRP中指明争用的意图。该站更新VCS值并等待扩展帧间空间(EIFS)的持续时间,或者直到它检测到下一次发送的结束,无论哪一个先发生。
图19B解释了紧接PRP 284之后的示例性无争用帧传输294。在本例中,无争用状态已经由通过利用定界符92中设置的争用控制比特130并在先前的争用窗口290中赢得争用来发出数据帧传输80的站建立。
另外,回头参照图19A,站在PRP 284期间以信令表示其优先级。在P0286期间,如果优先级要求在时隙0中的一个二进制1(即,CA3或CA2),该站断言(assert)一个优先级决定码元。另选地(如果是一个低优先级),该站检测优先级决定码元是否由另一个站发送。在P1288期间,如果该站在上个时隙中以信号表示,而该站的优先级要求该站在本时隙中以信号表示,它会这么做。如果该站在P0时隙286中而不是在P1时隙288中以信号表示,但是检测出(在P1时隙288中)另一个站正在本时隙中以信号表示,它顺从(defer to)更高优先级的站,不在争用窗口290期间发送。(根据下面将描述的规则,)该站还以适当值设置VCS。如果该站不在P0时隙286中以信号表示,并检测到其他一些站却在如此做,他不在P1288中发送或在争用窗口290中发送。它又一次以适当的值设置VCS。因此,如果该站已经在该站未断言该信号的时隙286、288中的一个时隙中检测到优先级决定码元,它不在时隙286、288所余的任何一个中或在争用窗口290中发送。用这种方式,每个站确定有一个传输挂起的最高优先级,并在其本身的挂起传输具有较低优先级时进行延迟。如果优先级信令已被完成,并且该站尚未被一个更高优先级抢先占有,它根据后退程序在争用窗口290中争用访问,后面将有所描述。
参照图19C,如果最后一个数据传输80要求有、并后跟一个应答124,该站等待一段应答帧间空间(RIFS)298,即数据帧传输80的结束和相关的应答124的开始部分之间的时间。CIFS 280跟在应答124之后。许多协议将最短帧间空间赋予应答,使得信道所有权由涉及在交换中的站来保持。MAC利用帧首部中的信息以通知各站是否期待一个应答,如果不期待任何应答,CIFS处于有效。
图19D解释了在应答之后发生的示例性无争用传输。在本例中,无争用状态已经由用一个设置的争用控制比特发送最后一个数据传输80(因此导致具有一个设置的争用控制比特的应答124的返回)、并在上一个争用窗口290期间赢得争用的站建立。
上述扩展帧间空间(EIFS)通过将PRP、CIFS和RIFS添加到最大帧时间(即,以码元表示的最大允许帧长和定界符乘以码元时间)和应答时间(以码元表示的应答长度乘以码元时间)来计算。当不能中断无争用访问时(如上所述),由站来使用EIFS。当站不完全了解介质状态时,也使用EIFS。当该站只能听到两个其他站之间的帧交换的单侧时,当该站最初连接到网络上时,或者当接收的帧中的错误使其不可能清楚地解码时,这种情况会出现。EIFS比其他帧间空间长得多,这样在当任何上述情况发生时,可以为一个正在进行的帧传输或段突发传输提供防止冲突的保护。如果该介质在最小的EIFS中空闲,不需要任何信道访问争用,帧可以被立即发送。
回头参照图19A和19C,该站生成随机后退时间292以产生额外延迟,除非后退已经有效而且不需要任何新的随机值。后退时间被定义为
BackoffTime=Random()*Slot Time(1)
其中Random()是区间
中一个均匀分布的伪随机整数,ContentionWindow(CW)值可从最小值(7)变化至最大值63,SlotTime定义为一个预定的时隙时间。进入后退程序的站把其后退时间(BackoffTime)如上所述进行设置。
MAC单元18保持多个定时器,计数器,控制标志和其他一些控制信息以控制信道访问。后退时间值由一个后退计数器或计数(BC)来保持,该计数器在每个实际和虚拟载波侦听被确定为空闲的时隙时间递减1。BC在载波侦听进行中的任何时隙内暂停。当BC减至0时便进行传输。VCS值由VCS定时器保持并由虚拟载波侦听指针标志(VPF)解释。即使在没有帧未决的情况下,只要接收或发送了有效的帧控制信息,都会对VCS定时器的值进行更新。只要接收到有效的帧控制信息,VPF都会被设置为1,除非有条件要求把VCS设置为EIFS。如果VCS被设置为EIFS,那么VPF便被设置为0。如果VPF被设置为1,那么VCS值便指向下一个争用。如果VPF被设置为0,那么VCS值便指向网络空闲时间。后面将参照表4对VCS和VPF的设置进行更详细的描述。
所有的站还要保持一个发送计数器(TC),一个延迟计数器(DC),一个后退程序计数器(BPC),一个NACK应答(NACK计数)计数器和一个“无应答”计数器(NRC)。它们的初始值都被设置为0。每发送一个帧,TC便进行递增。每调用一次后退程序BPC便进行递增。每次当期望应答而没有接收到应答时NRC便进行递增。MAC单元还保持一个帧定时器(“FrmTimer”),它被设置为一个最大的帧使用期值。除在发送时(包括应答间隔)以外,否则当FrmTimer期满时(为0),就会把要发送(或重新发送)的分组舍弃。
CW的初始值取为7,在每次不成功的传输或当DC为0时,CW在二进制指数级数中取下一个值。CW和BPC在一次成功的传输之后并且在该次传输中途失败(由于TC达到它的最大许可阈值或帧超出FrmTimer的最大使用期)时被重置。在期望ACK时接收到对任何传输的ACK后或者结束未确认服务的传输之后,TC被重置为0。把CW被截断的二进制指数级数定义为2n-1,其中n的范围为从3到6。按照下面的这些规则在BPC值的基础上设置CW和DC对于初始传输(BPC=0),CW=7,DC=0;对于第一次重传(BPC=1),CW=15,DC=1;对于第二次重传(BPC=2),CW=31,DC=3;对于第三次和其后的重传(BPC>2),CW=63,DC=15。
除了VPF之外,MAC单元18还在帧控制字段98,102和124中的具有相同名称的字段中存储并保持一个与CC比特相对应的争用控制(CC)标志。在每个接收到的定界符中的帧控制信息的基础上对CC标志进行设置或清除,CC标志还可以在VCS值达到0并且VPF为0时被清除。0值表示正常争用。1值表示没有争用(也就是无争用访问),除非更高优先级的帧正在未决(pending)。
参照图20,帧或分组到达时间决定了站参与PRP和争用窗口信令的程度。如果分组到达时间(也就是对分组进行排队以在PHY进行传输,并由此被认为是“未决”的点)发生在另一个分组的传输或其后的CIFS间隔期间(表示为第一分组到达时间300),那么要进行发送的站会根据所描述的信道访问程序参与PRP时隙286,288和争用窗口290。如果对帧进行排队以由MAC在P0286期间(表示为第二分组到达时间302)进行传输,那么只要帧的优先级根据上述优先级决定规则未被先占的话,该站就可以参与P1时隙288。如果该站能够在优先级决定的结果基础上进行争用,帧可以跟随后退程序。如果对帧进行排队以在P1288期间或争用窗口290(表示为第三分组到达时间304)中进行传输,那么该站不能参与PRP,但是只要要发送的帧的优先级根据上述优先级决定规则未被先占的话,在争用窗口290中跟随后退程序。
在发送了一个要求应答的帧之后,发射机在确定帧传输失败之前会等待一个应答间隔。如果在应答间隔结束时帧的接收还未开始,发射机调用它的后退程序。如果帧的接收已经开始,站就会等待帧的结尾以确定帧的传输是否成功。用接收到有效的ACK来表明帧的传输成功并开始下一个段或报告成功传输。接收到有效的NACK使得发射机调用它的后退程序以重新传输该帧并把BPC重置为0。如果接收到一个有效的FAIL,那么发射机在重置BPC和调用后退程序之前会延迟一预定时段。接收到任何其他有效或无效的帧都会被解释为失败的传输。该站在接收的结尾调用后退程序并处理所接收到的帧。
发送站继续进行重新传输一直到帧的交换成功,或者达到合适的TC限制,或超过发送使用期(FrmTimer)。站保持着每个所发送帧的发送计数。TC随着帧的每次发送而递增。当把帧成功地发送或者当因为超出重传限制或发送使用期而把帧舍弃时,发送计数被重置为0。
如上所述,VCS定时器由所有的站保持,用以提高信道访问的可靠性。VCS定时器是根据帧定界符的帧控制字段中所包含的信息设置的。站利用该信息来计算介质所预期的繁忙状态并把这种信息存储在VCS定时器中。利用来自每个正确接收到的帧控制字段的信息来更新VCS定时器。接收站遵循表4中所定义的规则,表4是基于规定的定界符类型的,其中帧的长度是以码元数目来测量的。
表4
当站确定它不能争用访问时,VCS定时器也在PRP的结尾更新。
如上所述,MAC单元18支持分段/重组。把来自主机的MSDU分割成更小的MAC帧称之为分段。相反的过程称之为重组。分段可以改善帧在苛刻信道上的发送机会并有助于更高优先级的站的等待时间特性。所有形式的寻址发送(单点传送,多点传送,广播)都可以使用分段。
到达MAC单元18的一个MSDU可以根据MSDU的尺寸和链路所能承受的数据速率被放入一个或更多个段中。会尽最大的努力把单个MSDU的所有段以MAC帧的单个连续突发串的形式进行发送。对每个帧独立进行确认和重新传输。
当把一个MSDU分割成大量的段时,如果可能,就把这些段以单个突发串的形式发送以减小对接收机资源的需求并增大网络的总处理能力,同时仍然等待时间应答和抖动性能考虑进去。如前面参照图5B所讨论的那样,通过利用争用控制和帧控制中的信道访问优先级字段来完成段突发传输。一个段突发串可以由具有更高传输优先级的站所先占。
当发送一个段突发串时,站以正常方式也就是以上面所描述的方式争用介质。一旦站控制了介质,它把争用控制比特设置为0b1,把MSDU(该段属于它)的优先级插入帧控制的信道访问优先级字段中并以突发串的形式发送段,而不需进一步与具有相同或更低传输优先级的站争用介质。该站遵从具有更高优先级的传输,这些传输在紧随每个段的传输的优先级决定时段中指示。在MSDU的最后的段中,该站在发送该段之前把帧控制中的争用控制比特清为0b0,以在紧随该传输完成的PRP中允许所有站进行正常争用。
如果一个站接收到一个比占用介质的段突发串更高优先级的帧的传输请求,那么它就会在紧随当前段的传输的PRP中争用介质。如果该段突发串被更高优先级的未决帧所先占,那么曾经执行段突发传输的该站会争用介质以重新开始段突发传输。该站在其重获对介质的控制时重新开始进行段突发传输。
因此,段突发传输会以给定的优先级为单独的站提供对介质的控制。通过假定最高优先级(CA3),一个站可以在对段突发传输的过程中阻止任何其他的站访问介质,这样就可以不间断的进行段突发传输。因为以CA3优先级进行突发传输阻止了更高优先级业务(也就是无争用业务),因此会影响QoS,但是,还是希望能够在使用CA3优先级时施加限制。例如,可以把CA3级别只限制在无争用传输。作为另一种选择,可以把段突发传输限制在从CA0到CA2的优先级,以及CA3优先级(只用于无争用业务)。
象优先级一样,等待时间在QoS的帧发送性能中也起到很重要的作用。而且,差的等待时间特性对于指定优先级的帧发送性能会有不良的影响。限制这种影响的一个方法是以某种方式约束等待时间。在所描述的实施例中,限制帧的长度以保证任何传输占用介质都不超过预定的时间阈值,例如2ms。为了在最高优先级获得最佳性能,最好取消对最高优先级业务的帧长度的限制或给它一个更宽松的限制。但是,作为另一种选择,为了便于实施,所有级别都可以使用帧长度限制。另一种约束等待时间从而改善发送性能的方法是限制某些条件下的段突发(例如,以上面所描述的方式,以便一个段突发可以被更高级别的业务所中断)。
参照图21,MAC单元18的功能被描述为一个MAC状态机310,该状态机包括一个TX处理器311和一个RX处理器312,它们与几个服务接入点相连,这些服务接入点包括在MAC-LLC接口侧的MAC数据服务接入点(MD-SAP)313和MAC管理服务接入点(MM-SAP)314,在MAC-PHY接口侧的PHY数据服务接入点(PD-SAP)316和PHY管理SAP(PM-SAP)318。MAC状态机310通过MAC数据服务接入点(MD-SAP)313为逻辑链路控制(LLC)子层提供服务。状态机310由LLC子层通过MAC管理服务接入点(MM-SAP)314来管理。MAC状态机310通过PHY数据服务接入点(PD-SAP)316来使用PHY层的服务并通过PHY管理SAP(PM-SAP)318来管理PHY。
MAC数据服务可以把MSDU从一个MD-SAP 313运送到一个或更多个这样的MAC数据服务接入点,对于每个发送的MSDU允许选择加密,优先级,重试策略和直接确认服务,同时对于每个接收到的MSDU还允许表示出其优先级和加密服务。MAC数据服务包括下列原语MD DATA.Req;MD DATA.Conf;和MD DATA.Ind320。MD DATA.Req原语请求把MSDU从本地LLC子层传输到单个同级LLC子层实体或多个同级LLC子层实体(在组地址的情况下)。对该原语进行格式化以包括下列帧长度;一个或多个MAC子层目的地址;发送站的MAC子层源地址;要发送的帧所要求的优先级(从0到3的值或无争用);帧的使用期(帧要被舍弃之前的时间);如果必要,还要有重试控制以表明要使用的所需重传输策略;加密密钥选择,一个从0到255的整数值以表明要使用的用于对传输之前的帧进行加密的网络加密密钥;加密使能,用于使能或禁止加密;被请求用于表明希望从目的地作出对该帧应答的应答;用于表明上层协议类型的类型;数据,或更明确一些,要传输到一个或多个特定目的地地址的同级MAC子层实体的上层数据。MD DATA.Conf原语通过MAC确认接收到MD DATA.Req,并以一种表明该传输成功或失败的状态的形式表示所要求的传输的结果。MD DATA.Ind原语表示把MSDU从单个同级LLC子层实体传输到LLC子层实体。它包括帧长度;发送该帧的站的DA和SA;接收该帧的优先级;加密密钥选择,表明用于对帧进行加密的加密密钥;加密使能;从源地址的同级MAC子层实体传输的数据和类型(再一次,上层协议)。
PHY通过一组数据服务原语324和管理服务原语326向MAC提供服务。PD DATA.Req原语请求PHY开始把信息传输到介质上。作为应答,PHY发送开始定界符,MAC协议数据单元(MPDU)和结束定界符。该请求包括用于配置PHY发送单元的TX信道映射索引值,还有25比特的SOF定界符,有效负载和25比特的EOF定界符。PD DATA.Conf原语确认由PD DATA.Req原语所请求的传输。它表明了传输是成功还是失败的状态。PD DATA.Ind原语向MAC表示PHY已经接收到了一次传输。它包括信道特性,信道访问优先级,段长,MPDU和FEC错误标志。信道特性包括一列用于信道估计的信息。信道访问优先级是结束定界符中接收到的优先级信息的值。MPDU是由同级的MAC实体所发送的信息。FEC错误标志是一个表明FEC确定在所接收到的信息中存在不可纠正错误的值。PD_Data.Rsp原语使得PHY发送所请求的应答定界符并规定要在应答定界符中携带的信息。它规定状态(也就是要发送的请求应答类型,例如ACK,NACK或FAIL),争用控制值和信道访问优先级。PD_RX_FR_CRTL.Ind原语向开始和结束定界符中接收到的信息的MAC实体提供指示。MAC实体使用PD_RX_FR_CRTL.Rsp原语向PHY提供控制信息。它包括一个接收状态,该状态表明PHY应当扫描定界符或PHY应当处于有效的接收状态。PD_RX_FR_CRTL.Rsp原语进一步规定与希望PHY接收的码元数目相对应的帧长度以及列出接收要使用的信号音的RX信道映射。PD_PRS_Listen.Req原语由MAC实体使用来请求PHY在PRP时隙期间监听,PD_PRS.Ind原语由PHY使用来向MAC实体表明已经接收到优先级决定码元。PD_PRS.Req由MAC实体使用来请求PHY发送一个优先级决定码元。PHY管理服务原语326包括下列内容PM_SET_TONE_MASK.Req,它请求PHY设定不用于发送或接收的信号音的掩码;PM_SET_TONE_MASK.Conf,表明所请求的操作是成功还是失败。
参照图22,图中显示了MAC发送(TX)处理器311的结构。发送处理器311包括四个过程发送MAC帧处理过程330,加密过程332,分段过程334和PHY帧发送过程336。TX处理器311存储了下列参数站(或设备)地址338,信号音掩码340,重试控制342,网络加密密钥344和TX信道映射346。
TX MAC帧处理过程330对数据请求和管理设置/获取请求进行操作(如前所述)。它接收下列内容作为输入来自MD_SAP 313的MD_Data.Req数据原语;来自加密密钥344的网络密钥;来自信号音掩码340的信号音掩码;来自设备地址单元338的站地址;TX信道映射有效性和TX帧状态;来自MM_SAP 314的设置/获取请求管理原语。响应这些输入,它提供了下列内容MD_Data.Conf数据原语;重试控制;网络密钥和密钥选择;信号音掩码;新站地址;PM_SET_TONE_MASK.Req管理原语;用于DA的TX信道映射索引;基于MD_Data.Req的TX明文帧(TCF)。过程330是否在TCF中插入MAC管理信息字段或子字段取决于输入管理原语的内容,特别是MM_SET_RMT_PARAMS.req和其他输入。
加密过程332接收TX明文帧(TCF)和所选择的网络密钥作为输入。加密过程332确定加密是否被使能,如果能够进行加密,便获得随机的8字节IV值,附加上一个完整性校验值,并对TEF,所选择的网络加密密钥和IV进行加密以形成一个TX加密帧(TEF)。加密过程332把TEF提供给分段过程334。
分段过程334在最大帧长度的基础上进行分段。分段过程334对MSDU进行分段是通过把帧体分割成基于最大段(或帧)尺寸的段直到最后一个段而进行的,但是,还可以适当调节分割过程以满足其他的性能参数。例如,可能希望使第一个段具有最小的长度以缩短隐式节点听到应答传输之前的时间量。一旦试图传输一个段,直到把该段成功地发送到目的地或需要在其调制方面作出改变时,该段的内容和长度才能改变。
PHY帧发送过程336利用具有如上所述优先级的信道争用来启动传输或传输尝试。图23至25显示了PHY帧发送过程336。
参照图23,PHY帧发送过程336以要在传输介质上发送的帧的到达开始(步骤400)。发射机初始化用于保持定时信息和优先级的控制(步骤402)。定时信息包括后退程序计数(BPC)所保持的计数,发送计数器(TC),NACK计数器(NACK计数)以及无应答计数器(NRC),它们的值都被设置为0。定时信息进一步包括与发送使用期值,FrmTimer,相对应的定时器。把FrmTimer设置为最大值(MaxLife)作为缺省值,除非使用期值由LLC单元向下传递给MAC单元。优先级被设置为分配给该帧的信道访问优先级的值。发射机通过确定VCS和CS的值是否都等于0检测介质是否忙(步骤403)。如果这些值为非零,也就是介质忙,那么发射机一直等到它检测到两个值都为0,而同时在从介质接收到的有效定界符的基础上更新VCS,VPF和CC的值(步骤404)。然后确定VPF是否等于1(步骤405)。如果VPF等于0,就发送帧段并递增TC(步骤406)。如果在步骤403,确定介质为空闲,发射机确定到达是否发生在载波侦听时隙(CSS)期间,也就是CIFS期间(步骤407)。如果到达已经在CSS期间发生,或在步骤405,VPF=1,那么发射机确定是否在CSS中检测到信号(步骤408)。如果到达发生在CSS期间(步骤407),但是在该时间段期间并没有检测到信号(步骤408),或者到达发生在优先级决定时隙间隔中的一个时隙期间(步骤409),那么发射机确定先前的传输是否表示无争用访问,也就是包括一个设置的CC比特(步骤410)。如果指示了无争用访问,发射机确定它是否可以通过把它的优先级(等待传输的帧的优先级)与EOF和/或应答中指示的优先级进行比较而中断,或者如果最后的传输是要发送的帧的前一个段就继续进行(步骤412)。如果发射机不能中断或继续(作为已经进行的传输流的一部分,例如在无争用时段期间各个站之间段突发或帧互换期间),它就把VCS值设置为EIFS,VPF值设置为0(步骤414)。如果在步骤412,确定发射机可以中断或继续,或在步骤410,确定并未指示无争用访问,发射机发信号表示其优先级并监听其他也等待信道访问的站的优先级(步骤416)。
如果发射机并没有检测到更高的优先级(步骤418),它就开始争用信道访问(步骤419)。如果争用成功,该过程就发送段并递增TC(步骤406)。如果争用不成功(也就是,另一个站正在发送),它确定当前传输的帧控制字段是否有效(步骤421)。如果帧控制字段有效,发射机把VPF设置为1,并根据帧控制信息更新VCS(步骤422),并返回到步骤404等待一个空闲信道。如果帧控制字段为无效(例如伪同步信号或弱信号),发射机返回步骤414(设置VCS等于EIFS,VPF=0)。
回来参照步骤409,如果帧在PRS间隔之后到达,但被确定为在争用窗口期间到达(步骤423),发射机确定以前的帧传输是否为无争用(步骤424)。如果并没有指示无争用访问,发射机便前进到步骤418(确定是否检测到了更高的优先级)。如果指示了无争用访问,发射机确定它是否可以中断传输(步骤426)。如果发射机不能中断,它在步骤414更新VCS和VPF,并返回到步骤404等待下一个空闲信道。如果在步骤426确定发射机可以中断,发射机便前进到步骤418。如果在步骤423确定帧在争用窗口之后到达,发射机在步骤406会发送帧段,并使TC递增1。
在步骤406发送了一个帧段之后,发射机确定是否期望应答或确认(步骤428)。如果期望并接收到一个确认(步骤430),或者没有期望确认,发射机确定是否要发送另外的段作为数据传输流或突发串的一部分(步骤432)。如果如此,发射机会把BPC,TC,NACKcount和NRC重新设置为0(步骤433)。然后发射机会通过确定FrmTimer是否等于0或TC是否超出发送限制而确定是否应舍弃该帧(步骤436)。如果两个条件有一个为真,发射机便报告已经舍弃了帧(步骤438),该过程便终止(步骤440)。如果没有舍弃帧而是对其进行重新发送,发射机便返回步骤403。如果在步骤432已没有更多的要发送的段,发射机便报告一次成功的传输(步骤442),并在步骤440终止该过程。如果在步骤430期望确认但没有接收到,过程会进一步决定应答(步骤444)并在步骤436开始进行帧舍弃决定。
参照图24,决定应答的过程444首先确定是否已经接收到NACK(步骤446)。如果接收到NACK,NACKcount便递增,并把BPC设置为0(步骤448)。过程444确定NACKcount是否比NACKcount阈值大(在该例中,阈值为4)(步骤450)。如果NACKcount经确定比阈值4要大,过程把NACKcount重新设置为0,使用健壮(ROBO)传输模式(步骤452),并开始执行步骤436(图23)。如果NACKcount不大于阈值,过程将会直接执行到步骤436。如果期望应答并且接收到一个FAIL应答(步骤454),过程会等待一预定时段,在所述的例中为20ms(步骤456),同时更新任何有效的帧控制信息上的VCS,VPF和CC(步骤458),把NACKcount和BPC设置为0(步骤460)并返回到步骤436。如果期望应答但并没有接收到任何应答(也就是在步骤454未接收到FAIL),过程会确定是否接收到其他的帧控制信息(步骤462),如果接收到,就把VCS设置为EIFS,把VPF设置为0(步骤464)。否则,过程会递增NRC(步骤466)并确定NRC是否比NRC阈值大(步骤467)。如果NRC经确定比NRC阈值大的话,过程便使用ROBO模式(步骤468)并再次返回步骤436。如果在步骤467 NRC经确定不大于NRC阈值,过程就返回步骤436,而不需对调制模式作出调整。
参照图25,信道访问争用过程419是通过确定BPC,DC或BC是否为0而开始的(步骤470)。如果为0,该过程会确定要发送的段是否为一个先前传输的继续(步骤471)。如果不是先前传输的继续,该过程便执行下面内容建立争用窗口CW和延迟计数DC作为BPC的函数,也就是CW=f1(BPC),其中f1(BPC)=7,15,31,63,对应的BPC=0,1,2,>2,DC=f2(BPC),其中f2(BPC)=0,1,3,15,对应的BPC=0,1,2,>2;递增BPC;设置BC=Rnd(CW),其中Rnd(CW)是区间(0,CW)中一个平均分布的随机整数(步骤472)。如果要发送的段是先前传输的继续(步骤471),那么过程设置CW=7,DC=0,BPC=0,BC=0。如果在步骤470中BPC,DC或BC不为0,过程便递减DC(步骤474),并递减BC(步骤476)。步骤472,473或476之后,过程419确定BC是否等于0(步骤478)。如果BC为0,那么过程便进入步骤406,启动分组传输并递增TC(图23)。如果BC不等于0,过程便等待一个CRS时隙(步骤480)并确定CS是否等于0(步骤482)。如果CS为0(也就是,没有检测到载波),过程返回步骤476(递减BC)。如果在步骤482中CS不等于0,过程419便确定在当前传输中的同步信号是否有效(步骤484)。如果信号为无效,过程419便返回步骤480以等待另一个CRS时隙的期间。如果同步信号为有效,过程419便执行步骤421(图23)以确定当前传输的定界符中帧控制字段的有效性,这样便不允许进一步的争用。
参照图26,图中显示了MAC接收(RX)处理器312的结构。RX处理器312包括4个功能PHY帧接收过程490,重组器494,解密过程496和接收MAC帧处理过程498。RX处理器312存储下列参数站地址338,信号音掩码340,加密密钥344,信道特性506,RX信道映射512和TX信道映射346。
PHY帧接收过程490接收RX(可选)加密段(RES)。也就是,它分析任何输入段的帧控制字段,并接收任何输入段的主体。它存储信道特性并使重组过程494可以利用RES。
参照图27,帧接收过程490如下。过程490以搜索同步信号和监控VCS(步骤522)开始(步骤520)。过程490确定VCS是否等于0,VPF是否等于1(步骤524)。如果VCS等于0,VPF等于1,过程在CIFS中检测载波(步骤526)并确定是否检测到载波(步骤528)。如果没有检测到载波(步骤528),过程等待CIFS的结束(步骤530)并在PRS中监听,注意在该间隔中听到的任何优先级(步骤532)。然后,它设置VCS等于EIFS,VPF等于0(步骤534)并返回步骤522。如果在步骤528检测到载波,那么过程就直接执行步骤534。
如果VCS不等于0,并且VPF不等于1(步骤524),过程便确定是否检测到了同步信号(步骤536)。如果过程确定没有检测到同步信号,过程便返回步骤522。如果过程确定已经检测到了同步信号(步骤536),过程便接收和分析输入段的定界符中的帧控制字段(步骤538)。过程确定帧控制是否有效(以FCCS字段为基础)(步骤540)。如果帧控制无效,过程执行步骤534。如果帧控制有效,过程确定帧控制是否表明了一个帧开始(步骤542)。如果不是一个帧开始,过程便更新VCS和VPF,同时注意由帧控制所表明的优先级(步骤544)并返回步骤522。如果帧控制表明了一个帧开始,也就是,帧控制处于开始定界符中(这样便包括一个RX信道映射的索引,一个长度,是否期望应答,以及争用控制标志),该过程便接收段主体和结束定界符(如果结束定界符包括在帧中)(步骤546)。过程确定DA是否有效(步骤548)。如果DA有效,过程便确定RX缓冲器是否可用(步骤550)。如果缓冲器空间可用,过程便通过检查FEC错误标志并确定所计算的CRC是否等于FCS确定接收的段是否有错(步骤552),如果有效并且需要进行应答,过程便准备并指导ACK应答的传输(利用状态=ACK的PD_DATA.Rsp),同时存储RES和信道特性(步骤554)。过程确定是否要接收附加的段作为进行了分段的帧的一部分(步骤556)。如果不用再接收更多的段,过程便指示成功的帧接收(向其他RX过程494,496和498,如图26所示)(步骤558),并在步骤560中等到VCS的值等于0之后在步骤526继续执行CIFS中载波的检测。
仍然参照图27并回头参照步骤552,如果段为无效并期望有应答,过程便准备并进行NACK应答的传输(也就是,具有状态=NACK的PD Data.Rsp)(步骤562)。过程舍弃该帧(步骤564)并返回步骤560。如果在步骤550,没有可用的缓冲器空间并且期望进行应答,过程便准备并进行FAIL应答的传输(具有状态=FAIL的PD DATA.Rsp)(步骤566),并返回到在步骤564舍弃帧的步骤。如果,在步骤548,DA为无效,过程便确定该段是否被多点传送寻址(步骤568)。如果段被多点传送寻址,过程便确定缓冲器空间是否可用(步骤570)。如果缓冲器空间可用,过程便确定段是否有效(步骤572)。如果该段有效,过程便继续执行步骤556以检查附加的输入段。如果,在步骤568,段被确定为单点传送寻址,或者过程确定该段为多点传送但是在步骤570没有充足的缓冲器空间可用,过程便继续执行步骤564(舍弃帧)。
再次参照图26,重组过程494积累由PHY帧接收过程490所接收到的段,一直到整个帧都被组装好。每个段包含了段控制字段106(图7),该控制字段提供了段长度(SL)168,段计数(SC)172和最后段标志170。SL 168规定段中MSDU字节的数量,因为该段是被填充以匹配码元块尺寸,并被用于在接收机处确定和提取MSDU字节。SC 172包含一个用于第一个段的从0开始的按顺序增加的整数。最后段标志对于最后一个段或在仅仅一个段时被设置为0b1。重组过程494使用该标志和每个段中的其他信息重组MSDU。接收机通过以段数顺序合并各段来重组MSDU,一直到接收到最后段标志被设置为1的段。所有的段在进行解密以提取MSDU之前被重组。
过程494通过接收RES并确定SC是否等于0而开始。如果SC=0并且设置了最后段标志,RES为MSDU中唯一的段,过程把RES作为接收到的加密帧(REF)提供给解密过程496。如果SC不等于0,过程使用段控制信息按顺序累积所有的段,一直到它发现最后段标志被设置,并根据所累积的段重组MSDU(或REF)。然后把REF传递给解密过程496。
解密过程496从REF产生明文。解密过程496从重组器494接收到加密并重组的帧,然后取出由在加密控制字段112的EKS字段192中的EKS标识的NEK(图8)。如果REF中的IV为0,REF便被确定为未加密(实际上为一个接收明文或RCF)并且把RCF传递给RXMAC帧处理过程498。如果IV不等于0,过程496利用带有IV和NEK的DES算法对帧进行解密。过程496确定REF中是否有错误并执行该任务而不管REF实际上是加密的还是未加密的。如果用于REF的解密过程没有检测到错误(也就是,REF中的ICV等于解密过程所计算的值),过程496把REF重新定义为一个RCF并把该RCF提供给RX MAX帧处理过程498。
RX MAC帧处理过程498分析和处理明文帧主体。它根据首先出现的类型字段中规定的类型值确定帧主体的类型。如果帧没有包括MAC管理信息字段182,那么类型就是类型字段184所规定的类型,表明要跟随的帧数据是帧数据字段186中的MSDU数据(图8),把类型字段184,帧数据186以及DA字段108和SA字段110(图3)提供给LLC层用于进一步处理。否则,回头参照图9,类型在MAC管理信息字段182的类型字段200中规定。如果MCTRL字段206中表明的项目的数量比0大,过程498便根据MAC管理信息字段182的各个项目类型(如MEHDR字段206中的MTYPE字段218中所表示的那样)处理MAC管理信息字段182中的每个项目204。例如,如果MTYPE字段218把项目标识为具有应答项目210H(图17)的多点传送的话,过程便确定站地址338是否与项目210H中规定的任何多点传送目的地址272相匹配。参照图12B,如果项目为信道估计应答210B,过程498把RXCMI 230与SA(在帧首部中规定)相关联作为DA,并把来自项目的信道映射信息(并由RXCMI 230进行索引)存储在TX信道映射346(图26)中,以在向帧的发送方传输时使用。如果项目为请求信道估计项目210A(图12A),该过程会使得准备一个信道估计应答(如前所述,通过信道估计过程)并把它发送回帧的发送方。如果,参照图16,过程498确定项目类型为设置网络加密密钥项目210G(图16),过程498把与NEK 268相关联的EKS 266存储在加密密钥存储器344中以在用于该密钥所被分配的逻辑网络的加密/解密帧数据中使用。因此,RX处理器的过程498可以采取适合于数据项目204类型的任何措施。
在发送/接收过程的另一个可供选择的描述中,图28是一个状态图,描述了MAC状态机310作为单个发送/接收状态机575的发送和接收过程(分别为过程336和490)。参照图28,状态机575以一个空闲状态开始,搜索一个同步信号(状态“A”)。如果检测到了同步信号,状态机便转变为接收帧控制信息(状态“B”)。如果所接收到的帧控制指示为一个SOF,状态机便接收跟随SOF的段主体和EOF(状态“C”)。如果接收到一个有效的DA并期望有应答,状态机便发送一个应答(状态“D”)。如果发送了一个应答(在状态“D”期间),或者如果在状态“B”接收到的帧控制是一个应答或一个不期望应答的EOF,或者在状态“C”不期望应答,状态机便转换为一种在CSS中检测载波的状态(状态“E”)。如果没有检测到载波,状态机便进入一种检测PRS信令的状态(状态“F”)。一旦检测到PRS时隙的结束,状态机便设置VCS=EIFS,VPF=0,并转换为一种在争用窗口中搜索同步信号的状态(状态“G”)。如果VCS超时并且VPF=0,状态机便返回状态“A”。如果帧在状态“A”或状态“G”期间未决(并且后退计数器在状态“G”期间的值为0),状态机便发送该未决段(状态“H”)。如果在状态“G”期间检测到同步信号,状态机便再次接收帧控制信息(状态“B”)。如果在接收帧控制状态“B”的同时,状态机确定帧控制无效,状态机便设置VCS=EIFS和VPF=0,然后进入等待(VCS=0)和搜索同步信号的状态(状态“I”)。如果在接收帧控制状态“B”的同时,状态机确定接收到了EOF并期待应答,或在状态“C”确定DA无效并期待应答,状态机便更新VCS并设置VPF=1并进入状态“I”。如果在状态“I”检测到同步信号,状态机便接收帧控制信息(状态“B”)。如果在状态“I”期间,VCS超时并且VPF为0,状态机返回空闲状态(状态“A”)。否则,如果VCS=0并且VPF=1,状态机便进入状态“E”。如果在状态“E”期间检测到载波,状态机便设置VCS=EIFS和VPF=0,然后转换为状态“I”。暂时回到状态“H”,如果发送一个段而不期望进行应答,状态机便进入状态“E”。如果在状态H期间,发送一个段并期望进行应答,状态机便更新VCS并设置VPF=1,然后进入状态“I”。
如前所示,利用MAC管理信息字段182(图9)结合其他的帧字段可以使大量的MAC功能可用。这些特征包括,但并不局限于以加密为基础的逻辑网络,用于多点传送和广播传输的部分ARQ;桥接(带有桥接代理);象令牌传递和轮询这样的介质访问控制技术。
回头参照图1,网络10中的站12为了保密性可以进行逻辑隔离。例如,参照图29,站12a和站12b位于第一住所内,并且可以在共享的传输介质14上与位于第二住所内的站12c和12d进行通信,可以把它们逻辑隔离为逻辑网络,也就是,站12a和12b属于第一个逻辑网络580,站12c和12d属于第二个逻辑网络582。这种把物理网络中的站逻辑隔离为逻辑网络的情况发生在MAC单元18中,这使得物理网络上的站组运行起来好象每个组都有一个唯一的独立的网络。保密性由56比特数据加密标准(DES)加密和已验证的密钥管理来提供。
一个给定逻辑网络中的所有站共享一个网络密钥作为其公共密钥。该网络密钥是分配给逻辑网络的密钥。除了网络密钥,每个站还有一个唯一的缺省密钥,一般由生产商预先编程。站的用户从一个密码(也由生产商提供)来产生该缺省密钥。用缺省密钥来允许该站与作为逻辑网络成员的一个或多个其他站之间的安全通信,以使得该站可以安全接收到那些逻辑网络的网络密钥。从密码生成缺省密钥的典型方法为PBKDF1操作,PKCS#5v2.0标准,以密码为基础的加密技术标准对此进行了描述,使用MD4作为基础的散列算法。因此,每个站通过使用其由密码导出的缺省密钥而第一次进入逻辑网络。
参照图30和31,把一个新站例如站12e加入到一个逻辑网络例如第一逻辑网络580的过程如下。已经是该逻辑网络成员的站,或“主”站(例如图29中的站12b)接收该新站的缺省密钥(步骤590)。典型地,新站的缺省密钥是手动输入到主站中的。主站建立一个帧,该帧包括一个设置网络加密密钥MAC管理项目(来自图16的项目210G)(步骤592),它用于识别一个56比特的DES网络加密密钥或NEK(在NEK字段268中);一个相关的用于逻辑网络的8比特加密密钥选择(在EKS字段266中)。主站利用接收到的缺省密钥对该帧进行加密(步骤594)并把加密的帧发送到新站以由新站利用缺省密钥进行解密(步骤596),并从解密的帧取出网络密钥和相关选择。
主站可以使用前面所描述的信道估计功能和信道估计MAC管理项目(图12A和12B)使得网络加密密钥向新站的传递更加安全。主站可以向新站发出信道估计请求,以使新站执行信道估计过程并返回一个带有从该信道估计过程获得的新信道映射的信道估计应答。一收到该应答,主站便利用该应答中规定的信道映射向新站发出加密的帧(包含NEK)。
参照图31,逻辑网络580中的站,也就是站12a,12b和12e,每个都在各个加密密钥存储器344中分别存储其唯一的缺省密钥600a,600b,600e(只用于重新密钥操作),以及相同的网络加密密钥(NEK)602和逻辑网络580中所有其他事务处理使用的相关的加密密钥选择(EKS)604。
把加密密钥选择604的值放置在网络加密密钥602所适用的逻辑网络的成员之间的所有传输中的帧的EKS字段192中(图中用箭头1,2和3表示),网络加密密钥602被用于对那些成员的所有帧进行加密/解密。
因此,确保保密性的逻辑联网是通过加密技术来提供的。每个逻辑网络有其自己的缺省和网络密钥,以把逻辑网络之间的信息隔离开来。因为这种机制使用每个站中所包含的加密能力,因此每个站都能够加入任意数量的逻辑网络,这仅仅受每个逻辑网络的缺省和网络密钥所要求的存储空间以及每个逻辑网络的成员站组的成员的映射的限制。例如,站12a还可以是第二逻辑网络582的成员站,或站12d除了属于第二逻辑网络582外,还可以是第三逻辑网络(未显示)的成员。因此,一个站实际上可以存储不止一个加密密钥选择和网络加密密钥对,也就是,每个对用于它所属的一个逻辑网络。
部分ARQ方案使得多点传送组的一个成员可以作为该组的其他成员的代理确认一次传输(发送给该多点传送组)。部分ARQ并不保证向一个多点传送组发送,但是却可以指示该消息已被至少一个多点传送组成员所接收到。MAC层的应答在它们所应答的帧之后立即发生而不需要把该信道让给新的传输。
选择能够返回更新的信道映射(在信道估计过程期间的信道估计应答中)的站之一作为多点传送代理。这种选择是随意的,但是最好以信道映射信息(包含在应答的信道映射中)为基础,这种信息使得发送站能够识别多点传送中的最弱路径。通过识别一个最不可能接收传输的站并选择该站作为代理,就可以使部分ARQ机制更加可靠。在一个有代表性的选择机制中,可以通过确定哪个应答站的信道映射支持最低的数据速率,也就是表明最差情况的信道特性,来选择该代理。可以以多种方法进行这种选择,例如通过比较实际数据传输速率来确定最低数据速率或者作为另一种选择,通过确定哪个信道映射表示了一个块中的最少数量的字节(也表明了最低的数据传输速率)。
发射机通过把DA字段设置为所选择的代理站地址而准备多点传送帧。它存储了一个多点传送地址并且还设置SC 106(图7)中的MCF164,多点传送地址代表了要接收多点传送帧的多点传送地址组,或者作为另一种选择,代表上面参照图17描述的带有应答MAC管理项目210H的多点传送中的多点传送组中的单独地址。发射机还把帧的初始和结束定界符中的DT字段设置为一个表明请求应答的值。
DA字段所规定的代理站在接收到一个带有需要应答的DT的帧时会提供一个代表多点传送组的合适的应答类型。如上所述,应答的传输是在RIFS时段后开始的,而不需考虑介质的繁忙状态。
尽管上面把部分ARQ机制描述为使用多点传送帧的预期接收者作为所选择的代理,但是它不需要如此限制。代理站可以是与如多点传送帧的预期接收者一样的介质相连的任何设备,例如与介质相连的任何站或桥接器。
如前所述,当子网络需要与桥接器所能达到的站进行通信时,MAC协议支持子网络(如电力线网络10,图1)使用的桥接机制。这种桥接机制使得每个与子网络相连的桥接器可以用作目的地址的代理,这些目的地址是通过桥接器来访问的。
参照图32,网络620包括第一和第二子网络622,624,它们是以可靠的介质(具有很低比特错误率的介质)为基础,因此称之为“可靠”子网络,网络620还包括第三子网络626,它是以有干扰的介质(具有相对较高比特错误率的介质)为基础的,因此这里称之为“不可靠”子网络。可靠介质的例子包括传统的以太网和光纤布线技术。有干扰的介质的例子包括电力线和无线介质,如RF。网络620进一步包括用于连接子网络622,624和626的桥接器628(B1)和630(B2)。第一可靠子网络622包括站632a(R1)和632b(R2),它们与第一可靠介质634相连。第二可靠子网络624包括站636a(R3)和636b(R4),它们与第二可靠介质638相连,这种介质可以与或者也可以不与介质634的类型相同。不可靠子网络626包括站640a(U1)和640b(U2),它们与有干扰或不可靠介质如电力线642连接。桥接器628(B1)与第一可靠介质634(在端口A)和不可靠介质642(在端口B)相连。桥接器630(B2)与不可靠介质642(端口A)和第二可靠介质638(端口B)相连。每个桥接器628,630都支持桥接功能,这种功能包括但不局限于一种分别显示为学习桥接过程644和646的学习桥接单元。每个站和桥接器都包括至少一个MAC设备。站632a,632b,桥接器628,站636a,636b和桥接器630包括一个适当类型的常规MAC设备,分别为MAC设备648a,648b,648c,650a,650b和650c,用于支持它们所连接的可靠介质。为了支持不可靠介质上的操作,特别是源可知(source-aware)桥接代理功能(下面将进行描述),桥接器628,630和站640a,640b分别包括源可知MAC设备652a,652b,652c,652d。源可知MAC 652,也就是那些参与源可知桥接的MAC,需要了解通过桥接器(在此情况下,为桥接器628,或630)到达一个特定的目的地址。
每个这样的源可知MAC都有允许桥接器(或起到桥接器作用的设备)用作目的地代理的能力。通过担当一个目的地址的代理,桥接器接受了把分组发送到目的地的责任并直接作为单独地址(当必要时)参与ARQ方案。
使站U1,U2(以及桥接器B1和B2)意识到通过相同的信道估计过程使用桥接器代理的需要,该信道估计过程是所有获取信道映射索引的站所需要的。如果从桥接器628,630中的任何一个接收到的信道估计应答MAC管理项目210B(图12B)设置了桥接器代理比特236,接收设备理解该桥接器已被使能并正在向另一个子网络上的一个或多个地址转发。接收设备把SA字段所识别的该桥接器的源地址与CMI(连同VT,RATE和MOD字段一起)相关联,就象它将对网络上的任何其他站一样。接收机还把这种相同的信息与信道估计应答MAC管理项目210B中的每个桥接的目的地址(BDA)246相关联。BP标志236表明BDA 246是通过桥接器的源地址访问的。以此方式,每个站能够以可称之为BPDAlist的第一列表的形式来构建第一数据结构,这种BPDAlist把每个桥接器的SA映射到一个或更多个BDA。每个桥接器构建并保持一个第二数据结构或列表,这种列表是它自己的对于每个DA(它作为代理的)的一个列表(“我是代表”列表或IAP列表)。
后续的通过桥接器代理向BPDAlist中的DA的传输一旦建立,就通过发送一个具有替代桥接器地址类型的MAC管理信息字段项目的帧来完成。把寻址到桥接器代理运行的目的地址的MSDU与设置的帧首部目的地址108(图3)一起发送给桥接器地址。帧首部源地址110(图3)是发送站的地址。替代桥接器地址MAC管理信息项目包括原始目的地址(ODA)和原始源地址(OSA),因此便允许桥接器重建用于传输的原始MSDU。
配置状态的网络620在图33中显示为配置网络620’。在配置状态,学习桥接器过程644,646对于所有的站都分别保持每个端口学习的地址列表660,662。因此,B1保持站/端口列表660以包括对于端口A,有站R1和R2,对于端口B,有站U1,U2,R3和R4。桥接器B2保持站/端口列表662以包括对于端口A,有站U1,U2,R1和R2,对于端口B,有站R3和R4。桥接器源可知MAC 652a和652b分别保持IAPlist 664a和664b,它们包括那些桥接器用作代理的地址。IAPlist 664a包括R1和R2的地址,IAPlist 664B包括R3和R4的地址。IAPlist地址由LLC(在本地管理项目内)传递给源可知MAC或被学习(通过学习桥接器过程,该过程把地址提供给源可知MAC,或当MAC从LLC接收到一个具有不是其自己SA的帧时)。源可知MAC函数IAP(SA)把这些地址加入到IAPlist中。
另外,站640a和640b每个都在各自桥接器代理DA列表(BPDAlist)666中保持学习的或接收到的BPDA信息。因为两个桥接器连接在子网络626上,那些桥接器(桥接器628和630)中的每个都必须也保持一个用于通过其他桥接器可以到达的目的地址的桥接器代理列表。因此,桥接器628和630分别保持BPDAlist 668a和668b。它们通过MAC管理项目中的信道接收这个列表一也就是来自桥接器或来自主机(本地MAC管理项目)的信道估计应答MAC管理项目。此列表可以是一个包含了目的地址(DA)和与DA相关的桥接器代理的DA(BPDA)的地址对的列表,或者作为另一种选择,是一个与每个BPDA相关的DA列表。BPDAlist可以在从特定的SA接收到桥接的帧时学习,此处SA与OSA不匹配。它们由ReeordBPDA(OSA,SA)功能存储,该功能还把OSA,SA地址对分别作为DA和BPDA存储在BPDAlist中。在存储并为站提供BPDAlist时利用本地MAC管理获取/设置原语来支持LLC(以及上层)。
参照图34,该图显示了源可知桥接网络(网络620)700中用于自配置设备(例如U1,U2,B1或B2)的源可知MAC TX过程。过程700开始于设备中的源可知MAC 652从LLC接收一个帧(步骤702)。该帧可用于向目的设备进行传输或者作为用于MAC自身的一个管理帧。过程确定帧所识别的SA是否与MAC自身的SA(MyAddr)相匹配(步骤704)。如果有一个SA匹配,过程便确定帧所识别的DA是否与MAC自身的DA(MyAddr)相匹配(步骤706)。如果也有一个DA匹配,帧便被传输给MAC自己而不再用于在介质上传输。过程确定MAC管理项目在该帧中是否存在(步骤708)。如果帧包括了一个包含有用于本地使用的信息的MAC管理项目,过程便会调用RecordIAP以存储一个IAP列表,前提是如果这样的列表在项目中存在的话(步骤708)。如果帧不包括MAC管理项目(如步骤708所确定的那样),过程便会舍弃该帧(步骤712)并返回到空闲状态(步骤714)。
如果在步骤706,经确定发现该帧中的DA不等于MAC本地地址(对于要发送的帧而言通常是这种情况),过程便会确定是否已经知道DA进行了桥接(步骤716),也就是,与来自前一个RecordBPDA功能的站的BPDAlist中的桥接器(通过它进行访问)相关联(如上所述,并且参照图36进行了更详细的描述)。如果已知DA进行了桥接,过程便通过把帧的DA替换为该帧的DA字段中的相关桥接器的DA并且把帧的ODA和OSA字段中的原始DA和SA分别置入替代桥接器地址MAC管理项目210F(来自图15)来执行SubstituteBPDA功能(步骤718)。过程把该帧引导进入准备帧传输的过程(步骤720)。
如果在步骤716不知道DA进行了桥接,而且实际上在步骤722已知DA不进行桥接,过程便引导该帧进行传输准备(步骤720)而不进行桥接器地址处理。如果不知道DA(在步骤722),便执行SubstituteBPDA功能,把DA设置为广播地址(步骤724),然后过程进行到步骤720。
回头参照步骤704,如果帧的SA不等于站的地址(MyAddr),执行过程的设备为一个桥接器,并且处理如下继续进行。过程确定是否已知DA被桥接(通过先前的RecordBPDA功能,信道映射应答,或本地管理“设置”原语)(步骤726)。如果已知DA被桥接,过程便执行SubstituteBPDA功能,执行IAP(SA)功能(如前所述),并在步骤720准备把该帧进行传输之前用MyAddr替代SA。否则,如果已知DA不进行桥接(即,存在用于DA或其他指示的信道映射)(步骤730),过程执行SubstituteBPDA功能而不改变DA,执行IAP(SA)功能,并在步骤720准备把该帧进行传输之前用MyAddr替代SA(步骤732)。
如果不知道DA(从步骤730的确定),过程执行SubstituteBPDA功能,把DA设置为广播地址并执行IAP(SA)功能,同时在步骤720准备把该帧进行传输之前用MyAddr替代SA(步骤734)。
参照图35,图中显示了传输帧的准备过程720。最好,这个过程在图34用于源可知桥接的自动配置后执行。通过以此方式对处理过程进行排序,便可以保持通过使用部分ARQ的广播和多点传送分组的可靠性得以改善。首先,过程720确定DA是否为多点传送地址(步骤740)。如果DA不是多点传送地址,过程便确定是否存在用于DA的信道映射(步骤742)。如果存在用于DA的信道映射,过程便根据信道访问程序引导该帧进行加密和发送(步骤744)。如果过程确定在步骤742并不存在用于DA的信道映射,过程便在步骤744进行加密和传输之前把信道估计请求MAC管理项目加入到帧中(步骤746)。如果在步骤740确定DA为多点传送,过程便确定是否存在任何有效的信道映射(步骤748)。如果没有有效的信道映射存在,就不能执行部分ARQ过程,就在步骤744简单地把帧进行加密和发送。如果在步骤748存在有效的信道映射,便由SubstituteMWR功能执行部分ARQ过程。SubstituteMWR功能把DA复制到带有应答管理项目的多点传送,用存在有效信道映射的DA替换该DA,然后设置多点传送标志(步骤750)。
参照图36,图中显示了一个用于自我配置的在接收时的源可知桥接(也就是,在由MAC单元从介质接收帧时)的源可知MAC RX过程。处理过程以与上面参照图34-35所描述的传输处理相反的顺序进行。也就是,部分ARQ处理后紧随着桥接器代理数据处理。过程760从介质762接收帧。过程确定多点传送标志是否设置为1或DA是否为多点传送地址,也就是地址MSB=1(步骤764)。如果过程确定既没有设置MCF,也没有多点传送DA,过程便确定DA是否等于MyAddr(步骤766)。如果在步骤766 DA不等于MyAddr,便舍弃该帧(步骤768),过程返回空闲状态(步骤770)。否则,也就是,如果设置了MCF或者地址为多点传送地址,或者DA等于MyAddr,过程便把帧进行重组(如果合适)和解密以提取可能存在的任何MAC管理项目(步骤772)。如果信道估计请求MAC管理项目存在于帧中,过程760便通过准备信道估计应答来处理该请求,上述信道估计应答包括从桥接器的IAP列表所提取的BPDAlist,如果这样的列表存在的话(步骤774)。过程确定MWR管理项目是否存在于帧中(步骤776)。如果存在的话,DA便被项目中所包含的DA所替代并除去管理首部(步骤778)。如果MWR项目不存在,过程确定替代桥接器地址项目是否存在于帧中(步骤780)。如果过程确定了帧中RBA项目的存在,它便执行RecordBPDA(OSA,SA)功能以把这对地址加入到站的BPDAlist(如果OSA和SA不同的话),并且把DA和SA从ODA和OSA中恢复(步骤782)。一旦过程从帧中除去任意管理项目并把该帧传输给LLC以向主机发送(步骤784),它便返回空闲状态(步骤770)。
如图32所示,桥接器B2和B2包括一个学习桥接器过程,它与连接在不可靠网络的端口上的源可知MAC相连。学习桥接器过程为“IAP可知”,因此能够把这转送地址的列表传送给不可靠MAC的IAP功能以在IAP列表中进行存储。
尽管桥接器B1,B2使用带有IAP可知性的学习桥接器功能,但是也考虑了其他的实施例。例如,桥接器B1和B2可以利用一个标准的商用桥接器芯片(一般地每个端口都有内置的以太网MAC 648)和一个与至少一个端口相连的外部源可知MAC 532实现,以便在至少一个端口上的源可知桥接的使用能够避开学习桥接器过程。在这样的实现中,尽管桥接器不是IAP可知,并因此不会配备来向源可知MAC传递IAP列表信息,源可知MAC支持其他可以用于产生并保持IAP列表的机制,例如如上面所讨论的MAC管理项目或其他源可知MAC学习机制。
再次参照图32-33,尽管设备628和630被显示并描述为独立桥接器,但是它们可以作为站(带有或与主机相连)来实现。如果作为站来实现,桥接器设备628可被看作子网络622和626两者之上的站。类似地,如果桥接器设备630要作为站来实现,它就被认为是子网络626和624两者之上的站。与桥接机制相关的控制结构和操作将会进行合适的修改。例如,可以把站/端口列表660扩展以包括对于端口B,设备630(B2),站/端口列表662可以类似地修改以包括对于端口A,设备628(B1)。
如前所述,无争用访问机制的使用可使得单个站可以控制对介质的访问。另外,无争用访问机制使得一个站用作网络控制器。参照图37,一个多节点网络700能够支持用于保证通信质量以及面向争用访问的周期性无争用间隔(会话)。网络700包括被指定为主站702的一个站和与共享物理介质706相连的站704a和704b(分别显示为第一和第二从站)。一般地,主站702的选择是由网络管理员(未显示)作出的,或者是设备或产品的特定设置。站702,704a和704b分别包括主机708a,708b,708c,MAC层710a,710b,710c,PHY层712a,712b,712c。每个主机708与MAC层710相连,而710又与PHY层712相连。最好,MAC层710以同样的方式操作,因此包括MAC单元(图1)的功能。类似地,PHY层712最好至少包括PHY单元22(也为图1)的功能,介质706为电力线。但是,也可以使用其他类型的介质。主机708用于代表至少一个或更多个运行在MAC子层710上的联网软件组件。
利用无争用会话之前的通常基于争用的访问通过主机和从机(也就是,主机708a和主机708b,708a与708c,如果两个从机都是会话的成员)之间连接控制消息714的交换来建立和维持主站702与任何一个或更多个希望加入无争用间隔会话的从站704a,704b之间的连接。利用相同的机制,也就是利用连接控制消息714,该消息在用于这些目的会话期间在无争用间隔之外发送,把站加入和或从会话中去除。主机708通过向站的MAC 710发送设置连接和使用连接消息716而传达连接(一旦建立或如后面进行修改)的细节。
主/从通信所涉及的连接控制消息14包括下面这些原语MASTER_SLAVE_CONNECTION.Request(Req)/Confirm(Conf);SLAVE_MASTER_CONNECTION.Req/Conf;MASTER_SLAVE_RECONFIGURE.Req/Conf;和SLAVE_MASTER_RECONFIGURE.Req/Conf。这些原语中每一个都包括下列参数时段;帧长度;最小帧时间;最大帧时间;开始时间;连接持续时间;连接号;最后的无争用帧(CFF)。时段定义的时间从一个争用间隔的开始到下一个无争用间隔的开始。帧长度定义(以字节数)在每个间隔中要发送的帧的平均长度。最小帧时间和最大帧时间分别定义一个帧(加上相关应答)的最小和最大持续时间。开始时间规定大概的第一次加入(或开始)无争用间隔的时间。连接持续时间规定连接所持续的时间(以秒)。0值表示该连接被取消了,最大值表示该连接在取消之前运行良好。连接号是分配给特定的站到站(也就是主到从)连接号。最后CFF表明从站(接收此参数)要在下一个无争用间隔中发送最后的帧并且把该帧中的CC字段设置为0值(并因此而向网络中的所有站发送那个特定无争用间隔的结束的信号)。主站控制连接控制消息参数的设置,这样作出请求的(.req消息)从站便向主站发送所请求的值。从站的确认应答仅仅是确认主站所返回的值,如果这些值为可接受的话。
下面是主站与从站之间的一个示例性连接控制消息交换。启动电话呼叫的手机站(从站)向请求电话建立(连接请求)的基站(主站)发送消息。主机用一个消息应答,以表明了定时和其他一些要建立和维持连接所需的信息。
除了所讨论的连接控制消息参数,任何与用于新连接的信道映射相关的请求或应答都在第一个无争用间隔(其中该连接要加入)开始前利用基于争用的访问被发送出。所有其他的与该连接的维护或变化相关的消息也在无争用间隔之外交换。
仍然参照图37,主站700可以把主控制传递给另一个站(“新”主站),例如一个用作从站(象站704)的站或一个没有用作从站的站(未显示)。应当理解,网络700可以划分为逻辑网络,每个逻辑网络具有指定的主站,例如主站700被指定为一个逻辑网络中的第一主站(并用作主站),站704b被指定为另一个逻辑网络中的第二主站,以上都是为了把主站/会话控制从主站700传递给另一个(新)主站704b。为此目的,连接控制消息714还包括把主站和会话控制信息从主站传递给新主站所用的消息。这些消息的形式为MASTER_MASTER_CONTROL_TRANSFER.Request和MASTER_MASTER CONTROL TRANSFER.Confirm消息,用于传递下面这些参数时段;帧长度;最小帧时间;最大帧时间;开始时间;会话持续时间;连接号;请求的间隔长度。时段定义的时间从一个无争用间隔的开始到下一个无争用间隔。会话持续时间定义以秒计算的会话长度(用于正进行会话控制的主站)。请求的间隔长度规定所请求的无争用间隔的总长度(以毫秒)。连接号是分配给主站到新主站连接的唯一号。逻辑网络的各个指定的主站702,704b因此便能够互相前后传递控制权,以在逻辑网络的会话之间进行顺利的转换。
参照图38,图中显示了无争用间隔722的一个示例性无争用会话720。无争用间隔722在固定的时间间隔724周期性地产生(被规定为连接控制消息714中的时段)。最好,无争用间隔限制在总的时段或周期的某个部分,例如50%,以便其他站也有机会在通常的面向争用的间隔725(在图中显示为阴影,因为间隔725不是会话720的一部分)中争用介质。会话间隔726是会话720的持续时间。它可以是一个固定的持续时间(已显示)或者持续会话所需要的时间。一般地,会话是由主站在意识到需要会话(例如,当接收到第一个连接请求时)时建立。其他一些连接可以被增加到已经建立的会话或者也可以把参加会话的连接从该会话中除去(在那些连接已被终止时)。在图38所示的例子中,假定主站几乎是在相同的时间意识到来自从站704a,704b的请求,因此,会话720是在那些连接建立时建立起来的。
仍然参照图38,每个无争用间隔722被划分为帧时隙727,每个帧时隙727或者被分配给下行业务(来自主站),也就是,时隙727a,727b,或者被分配给上行业务(来自从站),也就是时隙727c,727d。在所示的结构中,主站在下行业务时隙中发送它自己的一个帧(例如,在时隙727a中发送一个帧),该时隙之后紧随着一个分配给参加无争用间隔722的从站的上行业务时隙(再一次使用所描述的例子,时隙727c,由从站1使用)。为了启动用于每个成员从站1和2的无争用访问,无争用访问以这样的方式开始主站排队等待一个用于立即发送的帧并向从站704a发送第一下行帧727a,该帧的CAP=3,CC=1。一旦从站704a接收到下行帧727a并且从站704a确定该下行业务的传输已经结束,从站704a便发送一个上行帧727c(该帧已经由从站的主机排队等待)。从站704a确定它应当在接收到最后一个(或唯一)段并且该段符合某些条件时发送一个排队的帧,上面所述符合的条件为有一个SA与该主站相匹配,CAP=3,CC=1,并且CN与所分配的连接号相匹配。
仍然参照图38,主机在从从站1接收到预期的帧之后或者在没有接收到帧(也就是,下行或上行帧由于较差的信道条件而失败)的一预定发送时间后继续发送另外的无争用帧。在所示的例子中,主站在第二个下行业务时隙727b中发送下行业务,这样便使得从站704b要在第四时隙或第二上行业务时隙727d(当下行帧中的SA,CAP,CC和CN字段设置如此表示时)期间发送上行业务。因此,以此方式,主站的下行业务能影响轮询机制。
无争用间隔722可以通过设置最后的帧中的CC=0而终止。一个站从连接的设置和维护期间(在主机之间)交换的连接控制信息中的最后的CFF字段处可以了解到一个特定的帧为最后的帧。
因此,从图38中可以看出无争用间隔会话726可以由CSMA网络(例如图1中的网络10)利用来在面向争用间隔725期间得到的分布介质访问控制(例如CSMA)和用于不同QoS级别的无争用间隔722的中心介质访问控制(象TDMA)之间交替。
设置每个站的MAC层以在合适的时间利用主机所交换的连接控制消息714和由主机提供给MAC层的设置连接MAC管理消息716(图37)来发送帧。设置和使用连接消息716通过MAC管理信息项目发送给MAC。参照图39A和图39B,图中分别显示了设置连接MAC管理数据项目740和使用连接MAC管理数据项目742。参照图39A,设置连接数据项目740包括连接号字段744,用于识别分配给特定连接的连接号;主站字段746,用于识别一个站是否用作用于由连接号字段744所识别的连接的主站或从站。如果被设置,主站字段746便表明该站用作主站。项目740进一步包括一个SA字段748和一个SA帧尺寸字段750。SA字段748提供站的地址,该站可以使排队用于所识别连接的帧(其长度由SA帧尺寸字段750所规定)进行传输。当一个排队的帧是要在一个给定的无争用间隔期间发送的第一个帧时,SA帧尺寸字段750被设置为0,SA字段748被忽略。如果设置了主站字段746并且一个排队的帧不是要在一个给定的无争用间隔期间发送的第一个帧时,主站使用SA帧尺寸字段750(与所识别的SA的信道映射结合)所给出的长度来设置转变定时器(Transit Timer)以测量先前的传输结束和排队的帧的传输开始之间的时间间隔。当发送定时器期满时,介质一变为空闲就发送排队的帧。当上行帧传输失败时(例如,被破坏或没有发送),发送定时器的值会被用于继续无争用间隔。
最好发送定时器的值大概等于所期望的上行帧的持续时间,以便附加的抖动在无争用间隔中不会被引入随后的业务,并且还可以用帧的平均长度的知识从从站的最新信道映射中进行估计。应当注意必须定义EIFS比上行帧丢失时发生的最长间隙还要长,以便这些间隙不会导致其他站破坏无争用间隔,特别是当站听到利用CAP=3,CC=1的业务时。期望使用两个不同的EIFS值,当检测到CAP=3,CC=1的定界符时使用较长的EIFS(如前所定义),否则就使用较短的被优化用于基于争用的业务的EIFS。
仍然参照图39A,项目740还包括一个TX帧尺寸字段752,一个最小帧时间754和一个最大帧时间756。TX帧尺寸字段752规定平均期望的帧尺寸(用字节)并且还被用于产生所需要的合适长度的伪帧。通常当实际帧没有及时到达MAC以进行传输(或者因为帧到达中的延误或者是网络抖动导致传输时间发生在适时到达的帧之前)时,就用伪帧替代实际要发送的帧。伪帧与通常发送的帧的长度大体相同并且还包括一种表明它是伪帧的标志(例如在MAC管理项目中)。最小帧时间754规定一个帧(以及任意相关的应答,如果期望的话)的最小持续时间。如果以当前信道映射为基础的帧的尺寸不符合这种最小要求,就为该帧填补合适数量的比特以满足这个最小值。最大帧时间756规定帧的最大持续时间。如果以当前信道映射为基础的帧的尺寸使得该帧超出这种最大要求,就在传输之前把它截短(或者发送具有合适长度的伪帧)并向主机表示失败。最小/最大帧时间的目的是控制抖动。利用这些定时要求和帧的平均尺寸的知识可以对信道映射进行计算或优化。
设置连接MAC管理项目740中还包括控制字段758和帧使用期(FrameLife)字段760。控制字段758向站表明向另一个站传递主站控制(如果该站为主站)或者从另一个站传递主站控制(如果该站为从站)以用于由连接号所识别的连接。帧使用期字段760规定帧定时器的值(FrmTimer,前面已述)。当这个定时器期满时,就舍弃排队等待传输的帧。
参照图39B,使用连接项目742包括一个连接号字段762,它规定用于相同连接的设置连接项目中与相似名称的字段相同的连接号。主站把它与使用该连接在介质上发送的任何数据帧一起发送给MAC。当准备传输数据帧时,连接号被放置在段控制字段106(图7)的连接号字段162中。
尽管图38中没有显示,但是主站可以使用无争用间隔(例如无争用间隔722)在无争用间隔722期间发送多个前后紧接的帧。要使用上行业务时隙来进行下行业务(为了获得前后紧接的下行业务传输),主站要把下行帧中的段控制字段106(图7)中的连接号字段162设置为某个连接号,而不是通常在接下去的时隙中转变的分配给主站和从站之间主到从连接的连接号。换句话说,主站使用CN字段162来控制下行业务是否用于轮询一个从站(并因此触发下一个时隙中的上行帧)。另外,如果希望的话,主站会向从站发送一个伪帧以启动单向唯一的上行业务。利用相同的机制,也就是设置SA为主站的SA,CAP=3,CC=1,并设置CN为合适的连接号,在一个无争用间隔下行时隙(如前所述,当在该无争用间隔开始之前两个站已经就连接控制消息的交换中控制的传递达成协议时)中,主站可以把主站控制传递给另一个站。被传递了主站控制的站一旦正确地接收了这个帧,它就接受了作为主站的作用,其中SA匹配于主站的SA,CAP=3,CC=1,CN匹配于所分配的连接号。控制传递也可以在无争用间隔之间动态进行。
如果站具有不同的网络加密密钥,主站之间的设置和控制传递通信就会在对设置和控制消息(帧)的加密禁止的情况下发生。当加密禁止时这些帧中就不再包括其他信息。
尽管,连接控制消息被描述为包括了开始时间,但是应意识到开始时间作为连接控制消息参数可被删除。开始时间可以在以下假设基础上暗示,假定主站和从站一旦在连接参数(通过用于连接设置的连接控制消息的交换)上达成协议便立刻开始第一个无争用间隔,并且发送定时器和FrmTimer的使用会使得两个站完全同步。
尽管连接控制消息在无争用间隔之间交换(CC=0),但是需要以最高的优先级(CAP=3)发送消息以便它们不会与其他站的数据业务发生竞争。
帧转送(或中继)会增加总体的网络覆盖率,可靠性和对于有干扰(无线或有线)网络的通过量。因此,MAC单元18(图1)的MAC协议通过中间站支持一种用于转送帧的有效机制。帧转送涉及到三个站12。在一次示例性的帧转送活动的环境下,第一个站(例如12a)为源站“A”,第二个站(例如站12k)为目的站“B”,所选择的第三个站(例如,站12b)是一个中间(或转送)站“I”。在一次帧转送的情况下,由于信道环境(例如高的衰减和/或噪音级别)的影响,站A与站B不能进行相互通信,但是站A可以与站I通信,而站I又可以与站B通信。在另一种可供选择的速率自适应的帧转送情况下,站A只能以较低的数据速率(例如,使用ROBO模式)与站B进行通信,通过中间站与B进行通信可以大大提高通过量。
在与站B进行通信之前,站A学习怎样能最好地与站B进行通信。这个任务是通过学习过程来完成的,通过这种学习过程,站A向网络中的每个站发送一个包括了连接信息请求项目210C的帧(来自图13A)。这种请求从每个站12索取关于该站与站B进行通信的能力的信息。这种请求可以以单点传送的方式发送给每个已知的站,或者以广播帧传输的形式向所有能听到站A的站发送。每个能意识到可以与站B进行通信的站会通过返回一个包括连接信息应答MAC管理项目210D(图13B)的帧作出应答。项目210D中的字节字段249包括与站B(根据所存储的或最近向站B请求和返回的信道映射)进行通信的每40个码元块的字节的数目。(作为另一种选择,应答站会向站B返回最大长度帧的容量(字节))。因此,字节字段249表明了应答站与站B进行连接的数据速率。这种应答可以包括有关该连接的其他一些相关信息(例如,连接质量或可靠性的测量,和/或用于站A的更新的TX信道映射,如果包括连接信息请求的帧也包括信道估计请求项目210A(图12A))。在接收到应答之后,能提供满足连接质量或可靠性要求(基于站A与应答站和应答站与站B的连接的组合)的最高容量或通过量的应答站便被选作中间站I。
因为这些信道信息请求和应答不包括敏感信息(也就是,不能被其他站所串听到的信息),因此,它们可以以明文进行发送,从而免除了交换网络加密密钥(如果该密钥不是已经可用的)的需要或减少了处理时间。
最好,当站B向站I发送改变了字节值(也就是每40个码元块的字节)的新的信道映射时,站A接收到用于I到B的连接的信道信息的更新。站A可以管理对这种更新的接收,或者作为选择,可以给予站I用新连接信息应答更新站A的责任。如果站I意识到它正在观察帧转送业务的基础上把业务从站A向站B进行转送,它就能够处理这项任务。
参照图40,站A根据转送帧结构利用确认服务通过站I向站B发送帧,在两个帧800之后期望有应答。转送帧结构800包括第一个帧802,第一个应答(RESPONSE1)804,第二个帧806,第二个应答(RESPONSE2)808,第三个应答(RESPONSE3)810。第一个帧802和第二个帧806都分别包括一个SOF定界符,一个第一SOF定界符(SOF1)812和一个第二SOF定界符(SOF2)814。帧802,806还分别包括一个帧有效负载(F1,F2)816,818。帧802,806进一步分别又包括一个EOF定界符,一个第一EOF定界符(EOF1)820和一个第二EOF定界符(EOF2)822。应当理解SOF定界符,EOF定界符,有效负载和应答都有为SOF定界符92(图3和5A),EOF定界符94(图3和5B),应答120(图4和6)定义的相同结构。
至于第一个帧802,站A根据最大帧容量中较小的来选择最大的段尺寸以保证该帧能与用于帧中继的两个帧(帧802和帧806)的单个段相匹配,上述的最大帧容量是以站I的应答所表明的字节容量和站I的信道映射为基础的。在帧的首部/主体816中,SA被设置为站A的地址,DA被设置为站B的地址,段控制字段106中的FW 161被设置为0b10或0b11(表明中间站地址字段IA 823的存在,还表明帧被发送给一个中间站,当FW的MSB为1时FW的LSB表明CC的预计/原始值),地址字段IA 823被设置为站I的地址。SOF1定界符812和EOF1定界符820中的DT被设置为一个表明期望的应答的值,设置CC以表明无争用状态。EOF1定界符820中CAP的值被设置为分配给帧的信道访问优先级(或优先级“P”)。EOF1定界符中的RWRE字段145被设置为0。当站I接收到帧802时,它检测FW字段是被设置为0b10还是0b11(表明站I应当检查IA而不是用于目的地址的DA)并把IA与其自己的地址进行匹配。如果SOF1表明期望一个应答(在此例中它确实如此),如果站I返回一个ACK,它利用EOF1中所包含的CC和CAP的值返回应答804。如果站I返回一个NACK或FAIL,它利用段控制中所包含的CC和CAP的值来表明一个失败的转送尝试。如果要返回一个ACK,站I设置FW等于0b01(表明地址字段IA的存在,以及该帧正被发送到最后的站),重新计算FCS的值,表明是否期望在SOF2 814和EOF2 822中有应答,设置EOF2 822中的RWRE比特145以表明(为了有益于其他站的VCS)期望有双重应答。SOF2 814和EOF2 822中的CC字段被设置为FW(CC=FW的LSB)中接收到的CC值而不是EOF1 820中接收到的值。EOF2 822中的CAP字段144被设置为段控制字段106中接收到的值。SOF2 814中的CMI字段142和FL字段140根据用于DA(站B)的TX信道映射来设置,然后利用CMI字段142中所表明的TX信道映射来发送帧。
站B从站I中接收第二个帧806,并根据FW(FW=0b01)的值识别帧806已经被转送。因为SOF2 814表明期望一个应答,站B返回一个应答808表明另一个应答已被期望跟随(RWR类型,DT=101)。应答808包括SOF2 814中接收到的CC值,CAP144的值,以及以帧806中接收到的FCS为基础的RFCS 148。站I处理应答808并产生对站A的第三个应答810。应答810具有相同的类型(ACK,NACK,或FAIL,除了DT=0b100而不是0b101)并且使用来自站A的帧中所接收到的CC,CAP和FCS的值(如果应答为ACK)。
除了段控制中的FW字段和FCS,每个传输中的帧有效负载都是相同的。这便减小了MAC所要求的处理以准备把帧进行重新传输。
至于图40,以及图41,43至45,跟随有“SOF1”,“SOF2”,“EOF1”,“EOF2”,“F1”,或“F2”的符号“=”被用作速记符号,意思是“被分配···中所接收的值”。上面所没有涉及到的其他速记符和缩写词包括“LEN”指“长度”,“P”表示与帧相关的原始/预期的信道访问优先级值,“C”表示与帧相关的原始/预期的CC值。因此,例如“FL=Len F1”表示字段FL等于帧F1的长度,“CAP=EOF1”表示CAP被分配了一个EOF1中所接收到的值。
参照图41,图中显示了用于不期望应答824(即广播)的帧转送的帧转送结构。按此顺序,设置两个帧802和806中的SOF定界符和EOF定界符字段以表明不期望应答。也就是,SOF1 812,SOF2 814中的DT字段被设置一个000值,EOF1 820,EOF2 822中的DT字段被设置一个010值。所有其他的字段设置都与图40中所示帧转送结构中用于帧802,806的设置相同。
在繁重,较高优先级业务过程中可能会发生经常性的中断。为了防止帧转送期间其他业务的妨碍,站A可以在帧802的EOF1 820中向站I表明CAP=3,然后站I便在其应答,应答804中使用CAP的值。站A对介质的争用是以第一个帧802(包括在PRP 284中发信号,中断其他传输的决定)的实际CAP和CC为基础的。站I在CAP=3,CC=1的基础上争用(它总是获胜,因为在第一个帧中表明无争用)。从站I来的帧的实际CAP在EOF2和紧随的应答中进行了恢复,因为原始值在两个帧的段控制中发送。当使用这项技术时,也就是,如果帧的CAP比3小或CC=0,始发站选择最大的段尺寸(字节)以确保在转送传输中用于所有帧的总时间比最大允许的帧长度(时间)要小以控制较高优先级业务的等待时间。这可以由包含在TX信道映射(站A到I)中的信息和从站I接收到的连接信息应答来确定。
对帧转送机制的其他实施例也进行了考虑。例如,参照图42-45,用于减少了开销的帧转送的帧转送结构的实现方式是通过删除每个EOF定界符820,822并修改每个SOF定界符812,814来传递曾存在于EOF定界符中的信息。参照图42,可以通过把每个FL和FCCS字段(字段140和136)缩短2个比特而使用4个可用比特来修改SOF定界符帧控制字段98(图98),利用这可用的4个比特来增加一个SOFCAP字段830(2比特),1比特的EOFP字段832用于表明,当设置时,帧中EOF的存在,1比特SOF RWRE字段(期望应答的应答)834,当设置它时,表明有两个应答要跟随。
在该减小了开销的方案中,参照图43,图中显示了仅在最后的帧836之后用于具有应答的帧转送的帧结构。站A发送一个帧,帧中的SOF定界符表示期望有应答,并且具有如下设置CAP=3,CC=1,EOFP=0,RWRE=1,DT用于所期望的应答。这些设置表示第一个帧802要与被发送代替第一个帧802(如果否则要返回ACK的话)的应答的第二个帧一起进行转送,在第一个帧和两个应答(RWR应答808和810)在第二个帧806结束被期望之后就没有PRP会发生。在用于第一个帧802的CC值的基础上,第一个帧802的段控制106中的FW被设置为0b01或0b11。因为CAP=3,CC=1并且不存在PRP,没有站可以中断第二个帧806的传输。如果站I正确地接收到第一个帧802,但却发送一个ACK,站I设置SOF2定界符814以表明不期望有应答,还设置RWRE=1(这样便通知有两个应答将跟随第二个帧)。第二个帧806也使用第一个帧802中段控制字段106所接收到的CAP和CC值,并设置EOFP=0和FW=b01。站I重新计算FCS并设置SOF2以表明在它发送第二个帧806之前不会期望有应答。站A检测出站I发送的第二个帧806的SOF2 814并推断出ACK。站B返回两个RWR应答中的第一个,即,应答808,CC被设置为SOF2定界符814所接收的值,且CAP和RFCS被设置为第二个帧806中接收的值,站I返回了两个RWR应答中的第二个,也就是,最终应答810,其中的CAP,CC和RECS值和第一个帧802中接收的值相同。为了控制对待时间,所有的传输时间包括应答808,810被控制在帧的最大长度之内(时间)。注意在两个帧之间没有PRP,因为没有期待应答,并且用第二个帧来代替应答。
根据图44,显示了有一个NACK或是FAIL在第一个帧838后,仅在最后一个帧后转送应答的帧转送结构。第一个帧802是通过根据图43,如上文所述的同样的方式被发送的,然而,这一实例中,帧转送的第一个帧失败。因此,应答804在第一个帧后立即被发送,用以显示帧转送的失败,在应答804中,ACK字段被设置为0,用来显示不同于ACK的一种应答被返回。FTRYPE的值适当地反应出其他应答(NACK或FAIL)的类型。
通过使用这种减小开销帧,根据图45,一种用于没有应答840的帧转送的帧转送结构被显示出来。在这种结构中,第一个帧802是一个不期望应答的帧,并通过设置具有期待应答(DT=001)和RWRE=0的SOF1定界符812来转送。站I发送第二个帧806,用以替代所期望给第一个帧802的应答,如果否则要发送ACK的话,在第二个帧806中,SOF2定界符814表示没有期待应答,且RWRE=0。因此,在第二个帧806和紧随的PRP(没有显示出来)之后,没有应答被发送。如果第一个帧失败,尽管没有显示出来,可以理解,一种诸如具有NACK或FAIL设置的应答804(如图43)的应答将在第一个帧(代替第二个帧806)后返回。
在另一种可替代的实施例中使用EOF定界符,根据图46,EOF定界符102通过缩短RSVD字段146以容纳一个新长度字段(FLEN)842来修改。这种FLEN字段842表示了这种第二个帧806的长度用来协助提高隐藏站(节点)的性能。站A将基于从站I中接收的连接信息对FLEN作出合理的估计。因而,大致参照图40,同时参照图46,EOF1定界符可被格式化为包括FLEN字段832,且FLEN字段832将被设置为第二个帧806的长度的值(或者,使用图40的速记符号,FLEN=Len F2)。
在第一个帧802和/或第二个帧806之后站A没有接收到(或推断出)ACK的情况下,通常的后退程序是由站A执行的。特定的访问尝试是在第一个帧之后当接收到NACK,FAIL或未接收到应答(即,没有接收到或推断出ACK)时较早完成的。
中间站资源(即,接收缓冲器)必须可以为站利用以接收任意想要的帧。在中间站作为中继站的情况下,不需要有附加的接收缓冲器,因为在任意其他业务到达该站之前(因为介质在帧进出中间站的过程中将会很忙),接收缓冲器已被即刻清空(重新传输的帧)以进行利用。如果要进行中继的帧不能立即重新传输,它将被舍弃。如果转送帧被更高的优先级所中断或者如果由于帧的长度和当前的信道映射使得帧太长不适合单个段,帧可能不会立即发送(并因此而被舍弃)。在后一种情况下,站会返回一个FAIL给始发站。FAIL中保留的比特可以用作REASON字段以返回一个失败的原因码(也就是,表示帧太长而不能进行转送),前提是有多于一条原因而返回FAIL。其他实施例
要理解尽管对本发明进行了详细的描述,但是前面所述的目的是用于描述本发明而不是限制本发明的范围,本发明由所附的 进行定义。其他的实施例也包含在下面权利要求的范围内。
权利要求
1.在包括多个站的网络中,一种由具有待发送帧的站使用的访问争用方法,包括
在争用时段期间检测争用控制信息;和
从争用控制信息确定在争用时段期间该站是否被允许争用访问这些站连接的传输介质。
2.根据权利要求1的方法,其中确定步骤包括
确定争用控制信息是否表示无争用访问;
如果争用控制信息表示无争用访问,确定与待发送帧相关的信道访问优先级是否高于与最后发送的帧相关的信道访问优先级。
3.根据权利要求2的方法,进一步包括
如果争用控制信息表示无争用状态并且与待发送帧相关的信道访问优先级被确定为高于最后发送的帧的信道访问优先级,或者争用控制信息不表示无争用状态,那么检测站网络中的任何站是否意图以高于与待发送帧相关的信道访问优先级的信道访问优先级访问传输介质。
4.根据权利要求3的方法,进一步包括
对于任何这种意图以较高的信道访问优先级争用访问的站,该站延迟对传输介质的争用访问。
5.根据权利要求3的方法,进一步包括
如果没检测到较高信道访问优先级,那么在下一个争用时段期间争用访问该传输介质。
6.根据权利要求5的方法,进一步包括
在争用时段前,用信令向其它站表示以相关信道访问优先级争用的意图。
7.根据权利要求6的方法,其中争用步骤包括
建立对应于随机后退时间的延迟时段;
监视传输介质在延迟时段期间的活动。
8.根据权利要求7的方法,进一步包括
如果在监视期间未检测到活动,那么发送该帧。
9.根据权利要求3的方法,其中检测站网络中的任何站是否意图以高于与待发送帧相关的信道访问优先级的信道访问优先级争用访问传输介质的步骤发生在紧邻争用时段之前的优先级决定时段中,并且其中检测站网络中的任何站是否意图以高于与待发送帧相关的信道访问优先级的信道访问优先级争用访问传输介质的步骤包括
在优先级决定时段期间检测来自至少一个其它站的信令,所检测的信令表示该至少一个其它站所要发送的帧的信道访问优先级。
10.根据权利要求9的方法,其中优先级决定时段包括n个优先级决定时隙,并支持2n个信道访问优先级。
11.根据权利要求10的方法,其中n=2,并且每个信道访问优先级由2比特二进制值表示。
12.根据权利要求11的方法,其中这两个优先级决定时隙包括对应于2比特二进制值中的第一比特的第一优先级决定时隙和对应于2比特二进制值中的第二比特的第二优先级决定时隙,并且其中在两个优先级决定时隙中对应的一个时隙中的所检测信令中接收2比特二进制值中的二进制1。
13.根据权利要求12的方法,进一步包括
在优先级决定时隙中用信令表示与待发送帧相关的信道访问优先级。
14.根据权利要求13的方法,其中信令步骤包括
在第一优先级决定时隙中用信令表示相关信道访问优先级何时需要2比特二进制值中的第一比特是1;
在第一比特是1或者在第一优先级接收时隙中没有检测到来自任何其它站的信令的情况下,在第二优先级决定时隙中用信令表示相关信道访问优先级何时需要2比特二进制值中的第二比特是1。
15.根据权利要求9的方法,进一步包括
保持一个虚拟载波侦听定时器,用于计划优先级决定时段何时相对于最后发送的帧开始。
16.根据权利要求15的方法,其中最后发送的帧包括帧控制信息,并且其中保持步骤包括
使用帧控制信息来把一个值提供给虚拟载波侦听定时器。
17.根据权利要求16的方法,进一步包括
使用一个物理载波侦听来确定优先级决定时段何时相对于最后发送的帧开始。
18.根据权利要求2的方法,其中争用控制信息和信道访问优先级可以由所有站观察到。
19.根据权利要求1的方法,其中争用控制信息是一个标志,该标志被设置时表示无争用状态。
20.根据权利要求1的方法,其中传输介质是电力线。
21.根据权利要求13的方法,其中信令包括发送OFDM码元,并且其中检测信令包括检测所发送的OFDM码元,因为与OFDM码元相关的延迟扩展性能特性,使得OFDM码元可以由所有站观察到。
22.根据权利要求9的方法,其中优先级决定时段跟随一个传输介质非活动时段。
23.在一个包括由传输介质互连的多个站的网络中,每个站上的介质访问控制单元用于控制对传输介质的访问,介质访问控制单元包括
用于在争用时段中检测争用控制信息的单元;
用于从争用控制信息确定站是否被允许在争用时段期间争用访问的单元。
全文摘要
一种由站10网络中的站12使用的访问争用方案具有多级优先级和无争用访问指示符130。具有要发送的帧的站12从检测的争用控制指示符130确定其在争用时段290期间是否被允许争用访问传输介质14。站12确定争用控制指示符130是否指示无争用访问,并且如果争用控制指示符130指示无争用访问,站12确定与所要发送的帧相关的信道访问优先级是否高于与最后发送的帧相关的信道访问优先级144。如果是,站12检测站10网络中的任何站是否意图以高于与所要发送的帧相关的信道访问优先级的信道访问优先级访问传输介质14。如果是,站12延迟争用访问。
文档编号H04L12/413GK1338842SQ0112401
公开日2002年3月6日 申请日期2001年8月6日 优先权日2000年8月4日
发明者劳伦斯W·扬, Ⅲ, 布赖恩E·马克沃尔特, 斯坦利J·科斯托夫, Ⅱ, 詹姆斯·菲利普·佩特拉, 威廉E·厄恩肖 申请人:因特隆公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1