CN113890628A - 一种基于单向握手的太赫兹组网介质访问控制方法 - Google Patents
一种基于单向握手的太赫兹组网介质访问控制方法 Download PDFInfo
- Publication number
- CN113890628A CN113890628A CN202111163354.4A CN202111163354A CN113890628A CN 113890628 A CN113890628 A CN 113890628A CN 202111163354 A CN202111163354 A CN 202111163354A CN 113890628 A CN113890628 A CN 113890628A
- Authority
- CN
- China
- Prior art keywords
- frame
- node
- module
- data
- edge node
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/90—Non-optical transmission systems, e.g. transmission systems employing non-photonic corpuscular radiation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/18—Network planning tools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
Abstract
本发明公开了一种基于单向握手的介质访问控制方法,目的是解决丢包率较高、服务质量无法确保的问题。技术方案是构建一种基于单向握手的太赫兹组网介质访问控制的网络场景;AP节点与N个边缘节点并行初始化;AP节点天线以r转/s的速率旋转360°,与N个边缘节点轮流进行前两次握手;AP节点天线再次以r转/s的速率旋转,根据QI表的首个元素的源地址与第i个边缘节点进行第三次握手,握手后AP节点的天线对准第i个边缘节点并停转;第i个边缘节点与AP节点进行通信,直到第i个边缘节点的数据传输完成;AP节点天线重启旋转,与第i+1个边缘节点进行通信。本发明通过控制天线的停转,有效降低了丢包率,确保了服务质量。
Description
技术领域
本发明涉及太赫兹组网中的介质访问控制领域,具体涉及一种基于单向握手的介质访问控制方法。
技术背景
太赫兹THz(Terahertz)波是位于毫米波和红外光波之间的电磁波,其频率范围是0.1THz-10THz。和常用的无线通信的低频段相比,太赫兹频段目前虽然尚未获得开发利用,但是由于太赫兹频段具有极大的未被利用的连续带宽,可以支持数十Gbps的数据传输速率,因此太赫兹频段具有极大的开发潜力。太赫兹频段在短距离超高速无线网络通信领域具有较大的应用前景,尤其是室内短距离无线网络通信领域,有望提供高数据传输速率、高服务质量(Quality of Service,QoS)的无线通信业务。
太赫兹超高速无线网络是指采用太赫兹频段作为无线载波进行通信,能够支持数十Gbps级别的数据传输速率的无线通信网络。太赫兹超高速无线网络能够克服现有无线局域网速率低、延时大且可靠性不高等问题,满足人们对近距离、高速率、高可靠性及低成本无线通信技术的需求。但是,太赫兹波在空气中传播时衰减较大且当空气中水分子较多时衰减尤其严重,因此,会产生在接受方接收功率不足的问题,进而导致通信无法顺利完成。
介质访问控制方法即信道访问控制方法,可以简单地把它理解为如何控制网络节点何时发送数据、如何传输数据以及怎样在介质上接收数据,用于解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题。
目前,国内外针对太赫兹通信的有关研究已经相对充分,但在太赫兹组网方面的研究仍处于起步状态,而太赫兹超高速无线网络的正常运行离不开MAC(Medium AccessControl介质访问控制)协议的支持。对太赫兹组网MAC协议进行深入研究可以解决通信节点的同步、信道访问等问题,实现节点间的高速率和高可靠性的通信。
太赫兹网络一般由多个通信节点组成,各通信节点组成模块参见太赫兹组网介质访问控制方法(简称背景技术1,参见文献“Xia Q,Hossain Z,MedleyM,et al.A Link-Layer Synchronization and Medium Access Control Protocol for Terahertz-BandCommunication Networks[C]//GLOBECOM 2015-2015IEEE Global CommunicationsConference.IEEE,2015”.译为:一种太赫兹通信网络的链路层同步和介质访问控制协议,在2015年IEEE全球通信会议上发表,太赫兹组网介质访问控制方法见该文献第四章第三页到第六页)。背景技术1描述了如图1所示的太赫兹网络,该太赫兹网络由多个边缘节点与一个中心节点(即AP节点)组成,边缘节点通过边缘节点的定向天线进行数据发送;中心节点通过中心节点的定向天线进行数据收集。背景技术1的节点模型如图2所示,定义边缘节点为发送方,AP节点为接收方,发送方、接收方均由太赫兹网络层及上层(包括传输层及应用层两层)、太赫兹MAC层、太赫兹物理层和太赫兹信道组成。发送方的太赫兹网络层及上层的数据生成模块进行待发数据生成,接收方的太赫兹网络层及上层的数据处理模块处理接收到的数据;发送方的太赫兹MAC层负责完成信道接入请求、数据传输等功能;接收方的太赫兹MAC层功能负责完成节点发现、链路控制、组网控制及管理太赫兹定向天线等功能;发送方和接收方的太赫兹物理层构造调制信号;太赫兹信道用于模拟太赫兹无线信道,实现多个节点之间的连接与通信,将数据帧从发送方传递到接收方的物理层。
背景技术1所述的介质访问控制方法包括以下步骤:
第一步,中心节点即接收方通过中心节点的高速定向天线持续性的扫描空间,监听来自接收方的传输请求。
第二步,边缘节点即发送方有数据传输需求时,通过边缘节点的高速定向天线向中心节点发送请求发送帧Rts(Request To Send),请求接入太赫兹信道。
第三步,当中心节点天线旋转至边缘节点所在扇区时,接收到来自边缘节点的Rts后,发回允许发送帧Cts(Clear To Send)给边缘节点,允许边缘节点访问太赫兹信道。
第四步,边缘节点收到中心节点发来的Cts后,选取边缘节点待发队列表中的首个数据帧进行传输。
第五步,中心节点收到边缘节点发来的数据帧后,发回确认帧ACK给边缘节点。
第六步,边缘节点收到中心节点发送的ACK后,本轮通信完成。
然而,以上方案的太赫兹组网介质访问控制方法存在以下问题:
(1)在第一步~第三步,中心节点通过高速转向定向天线持续性地扫描空间,完成与边缘节点的控制信息及数据信息的交换。但在这一过程中,无通信需求的节点也占用了信道时间,造成了通信资源的极大浪费,导致太赫兹信道利用率低下。
(2)在第二步~第六步,发送方产生传输需求后,会向接收方发送Rts,请求获取信道使用权限,但在采用定向天线通信的机制下,当收发双方天线未对准时,该请求无法收到回应,而当请求次数超过最大重传次数时,发送方会将当前数据帧丢弃,进而产生较高的丢包率,服务质量无法得到保证。
综上所述,如何有效提高节点发现及数据传输过程中的信道利用,能够实现通信节点高效同步的介质访问控制方法是本领域技术人员正在探讨的热点问题。针对目前方法的缺陷,需要提供一种可以实现可靠数据传输的介质访问控制方法。
发明内容
本发明要解决的技术问题是提供一种基于单向握手的太赫兹组网介质访问控制方法。针对太赫兹波由于本身的传播衰减特性使得接收方接收功率不足,现有的太赫兹组网介质访问控制方法存在丢包率较高,服务质量无法确保的问题,本发明提供一种基于单向握手的太赫兹组网介质访问控制方法,由接收方发起通信,采集发送方的传输请求,并根据各边缘节点的传输请求进行信道时间的分配,有效避免了各边缘节点因无序争用信道而产生的丢包,有效降低了通信中的丢包,进而实现了服务质量的确保。
本发明包括以下步骤:
第一步,构建一种基于单向握手的太赫兹组网介质访问控制的网络场景,该网络场景大小为20m×20m,AP节点位于网络场景的中心,网络中N个边缘节点随机分布在AP节点周围10m范围内,N为正整数。边缘节点的定向天线的波束方向始终指向AP节点,AP节点的天线通过定速旋转扫描信道实现通信链路的建立。
边缘节点为发送方,AP节点为接收方。发送方、接收方均由太赫兹网络层及上层、太赫兹MAC层、太赫兹物理层组成,发送方与接收方通过太赫兹信道连接。发送方的网络层及上层安装有数据生成模块,发送方的太赫兹MAC层安装有发送缓存模块、第一帧生成模块、第一发送模块、第一控制模块、第一帧解析模块、第一接收模块。接收方的网络层及上层安装有数据处理模块,接收方的太赫兹MAC层安装有第二帧生成模块、第二发送模块、第二控制模块、接收缓存模块、第二帧解析模块、第二接收模块。发送方和接收方的太赫兹物理层通过太赫兹无线信道进行连接。发送方、接收方以MAC层帧结构的形式传递数据,MAC层帧包含数据帧和控制帧两种;MAC层帧由发送方的第一帧生成模块与接收方的第二帧生成模块产生。MAC层帧由源地址、目的地址、类型、持续时间、序列号组成。其中,目的地址与源地址字段为收发双方的MAC地址;类型字段用于区分传输的帧的类型,包括Cts(Clear ToSend允许发送)、WQI(waiting queue information等待队列信息)、QI(queue information队列信息)、Data、Ack等五种类型(这五种MAC层帧中,Data是数据帧,另外四种是控制帧);持续时间字段是本次通信要占用的信道时长(通信前计算得出,计算公式:数据帧传输时间+数据帧传播时间+控制帧传输时间+控制帧传播时间,用于占用信道。传输时间是网络设备将MAC层帧推出所需要的时间,它是MAC层帧长度和链路传输速率的函数,与两台设备之间的距离无关;传播时间是一个MAC层帧从一台设备向另一台设备传播所需要的时间,它是两台设备之间距离的函数,与MAC层帧的长度或链路的传输速率无关);序列号字段为MAC层帧的唯一标识符。
边缘节点网络层及上层的数据生成模块与边缘节点MAC层的发送缓存模块相连,数据生成模块用于生成待发数据并将生成的数据发送给发送缓存模块,与背景技术1中的数据生成模块相同。
边缘节点MAC层的发送缓存模块与边缘节点网络层及上层的数据生成模块、边缘节点MAC层的第一控制模块、第一发送模块相连。发送缓存模块负责从数据生成模块接收M个数据,按序为所有数据创建数据类型帧头,构建数据帧;负责记录数据帧的相关信息并对数据帧的相关信息进行缓存(缓存好的数据帧的相关信息称为数据帧的记录信息),将数据帧的记录信息发送给第一控制模块,将数据帧发送给第一发送模块。
第一控制模块与边缘节点的太赫兹定向天线、边缘节点MAC层的发送缓存模块、第一帧生成模块、第一帧解析模块、第一发送模块相连。第一控制模块在边缘节点初始化时设定边缘节点的天线为发送模式,并调整相应参数。第一控制模块在边缘节点与AP节点进行第一次握手时从发送缓存模块接收数据帧的记录信息,将数据帧的记录信息存入第一控制模块创建的待发队列表;第一控制模块选取待发队列表中的第一个数据帧的记录信息,计算本轮通信持续时间;第一控制模块还负责向第一帧生成模块发送构造QI帧的指令,同时将待发队列表中的第一个数据帧的记录信息与本轮通信持续时间发送给第一帧生成模块。边缘节点与AP节点进行第一次握手时,第一控制模块负责从第一帧解析模块接收WQI帧的记录信息,将WQI帧的记录信息传递给第一帧生成模块,同时将发送QI帧的指令传递给第一帧生成模块。边缘节点与AP节点进行第三次握手时,第一控制模块从第一帧解析模块接收Cts帧的记录信息,将Cts帧的记录信息传递给第一发送模块,同时生成发送数据帧的指令并将发送数据帧的指令传递给第一发送模块。边缘节点与AP节点进行数据传输时,第一控制模块从第一帧解析模块接收Ack帧的记录信息,然后遍历待发队列表,根据Ack帧的记录信息中的序列号找到待发队列表中与Ack帧序列号相同的数据帧的记录信息,从待发队列表删除此数据帧的记录信息。
边缘节点MAC层的第一帧生成模块与第一控制模块、第一发送模块相连。边缘节点与AP节点进行第二次握手时,第一帧生成模块从第一控制模块接收到WQI帧的记录信息,提取其中的源地址信息,将其填入QI帧的目的地址字段;将边缘节点地址填入QI帧的源地址字段;第一帧生成模块从第一控制模块接收待发队列表的首个数据帧的记录信息,提取其中的序列号sequence信息,将其填入QI帧的目的序列号sequence字段;第一帧生成模块从第一控制模块接收本轮通信持续时间,将本轮通信持续时间填入QI帧的持续时间duration字段;将“QI”填入QI帧的类型字段;第一帧生成模块从第一控制模块接收到发送QI帧的指令后,将构造的QI帧传递给第一发送模块。
边缘节点MAC层的第一发送模块与边缘节点MAC层的发送缓存模块、第一帧生成模块、第一控制模块,AP节点MAC层的第二接收模块相连。边缘节点与AP节点进行第一次握手时,第一发送模块从第一帧生成模块接收QI帧,将QI帧发送给AP节点MAC层的第二接收模块。边缘节点与AP节点进行数据传输时,第一发送模块从第一控制模块收到Cts帧的记录信息和发送数据帧的指令后,负责从发送缓存模块中读取与Cts帧的记录信息的序列号相同的数据帧,并将与Cts帧的记录信息的序列号相同的数据帧发送给AP节点MAC层的第二接收模块。
边缘节点MAC层的第一接收模块与AP节点MAC层的第二发送模块、边缘节点MAC层的第一帧解析模块相连。边缘节点与AP节点进行第一次握手时,第一接收模块负责从AP节点MAC层的第二发送模块接收WQI帧,将WQI帧发送给第一帧解析模块。边缘节点与AP节点进行第三次握手时,第一接收模块负责从AP节点MAC层的第二发送模块接收Cts帧,将Cts帧发送给第一帧解析模块。边缘节点与AP节点双方进行数据传输时,第一接收模块从AP节点MAC层的第二发送模块接收Ack帧,将Ack帧发送给第一帧解析模块。
边缘节点MAC层的第一帧解析模块与边缘节点MAC层的第一接收模块、第一控制模块相连。边缘节点与AP节点进行第一次握手时,第一帧解析模块从第一接收模块接收WQI帧,对WQI帧进行解析得到WQI帧的记录信息。边缘节点与AP节点进行第三次握手时,第一帧解析模块从第一接收模块接收Cts帧,对Cts帧进行解析得到Cts帧的记录信息。边缘节点与AP节点双方进行数据传输时,第一帧解析模块负责从第一接收模块接收Ack帧,对Ack帧进行解析得到Ack帧的记录信息。
AP节点MAC层的第二接收模块与边缘节点MAC层的第一发送模块、AP节点MAC层的第二帧解析模块相连。边缘节点与AP节点进行第二次握手时,第二接收模块负责从第一发送模块接收QI帧,将QI帧发送给第二帧解析模块;边缘节点与AP节点双方进行数据传输时,第二接收模块负责从第一发送模块接收与Cts帧的记录信息中的序列号相同的数据帧,并将接收的数据帧发送给第二帧解析模块。
AP节点MAC层的第二帧解析模块与AP节点MAC层的第二接收模块、AP节点MAC层的接收缓存模块、AP节点MAC层的第二控制模块相连。边缘节点与AP节点进行第二次握手时,第二帧解析模块负责从第二接收模块接收QI帧,读取QI帧中的信息并记录,将QI帧的记录信息发送给第二控制模块,完成第二次握手。边缘节点与AP节点进行数据传输时,第二帧解析模块从第二接收模块接收数据帧,读取数据帧中的信息并记录,将数据帧的记录信息发送给第二控制模块。此外,在数据接收完成后,第二帧解析模块从第二控制模块接收拆帧指令,根据拆帧指令将收到的数据帧拆除头部,将拆除头部的数据帧存入接收缓存模块。
AP节点MAC层的第二控制模块与AP节点MAC层的第二帧解析模块、AP节点的太赫兹定向天线、AP节点的第二帧生成模块相连。边缘节点与AP节点进行第一次握手时,第二控制模块生成发送WQI帧的指令,并发送给第二帧生成模块。边缘节点与AP节点进行第二次握手时,第二控制模块负责从第二帧解析模块接收QI帧的记录信息,构建QI表(用于存储QI帧的记录信息),向第二帧生成模块传递QI帧的记录信息,同时生成发送Cts帧的指令,将发送Cts帧的指令发送给第二帧生成模块;边缘节点与AP节点双方进行数据传输时,第二控制模块从第二帧解析模块接收数据帧的记录信息后,控制天线停止旋转,并在通信完成后控制天线重启旋转。边缘节点与AP节点进行数据传输时,第二控制模块从第二帧解析模块接收数据帧的记录信息,向第二帧生成模块传递数据帧的记录信息,同时生成发送Ack帧的指令,将发送Ack帧的指令发送给第二帧生成模块,并向第二帧解析模块发送拆帧指令。
AP节点MAC层的第二帧生成模块与AP节点MAC层的第二控制模块、AP节点MAC层的第二发送模块相连。边缘节点与AP节点进行第一次握手时,第二帧生成模块从第二控制模块接收发送WQI帧的指令,生成WQI帧,将WQI帧发送给第二发送模块。边缘节点与AP节点进行第三次握手时,第二帧生成模块从第二控制模块接收QI帧的记录信息与发送Cts帧的指令后,根据QI帧的记录信息生成Cts帧,将Cts帧发送给第二发送模块。边缘节点与AP节点双方进行数据传输时,第二帧生成模块从第二控制模块接收数据帧的记录信息与发送Ack帧的指令后,根据数据帧的记录信息生成Ack帧,将Ack帧发送给第二发送模块。
AP节点MAC层的第二发送模块与AP节点MAC层的第二帧生成模块、边缘节点的第一接收模块相连。边缘节点与AP节点进行第一次握手时,第二发送模块从第一帧生成模块接收WQI帧,将WQI帧发送给边缘节点的第一接收模块。边缘节点与AP节点进行第二次握手时,第二发送模块从第一帧生成模块接收Cts帧,将Cts帧发送给边缘节点的第一接收模块。边缘节点与AP节点进行数据传输时,第二发送模块从第二帧生成模块接收Ack帧,将Ack帧发送给边缘节点的第一接收模块。
第二步,AP节点与N个边缘节点并行进行初始化操作。AP节点按2.1的流程进行初始化,第二控制模块设定AP节点的天线为接收模式,并调整相应参数,准备接收数据。同时N个边缘节点按2.2的流程进行初始化,第一控制模块设定边缘节点的天线为发送模式,调整相应参数;然后N个边缘节点按2.3的流程准备发送数据。
2.1AP节点初始化,第二控制模块设定AP节点的天线为接收模式,并调整相应参数,具体步骤如下:
2.1.1设定AP节点的天线状态为接收模式;
2.1.2设定AP节点的天线初始角度InitialAngle为0°;
2.1.3设定AP节点的天线波束宽度beamwidthDegrees优选值为p°(0<p<180,p与通信距离、通信频段等因素相关,在本方案的网络场景下,优选值p为26);
2.1.4设定AP节点的天线初始覆盖范围m_rxIniAngle=InitialAngle+beamwidthDegrees;
2.1.5设定AP节点的天线转速TurningSpeed为r转每秒(r为正整数,在本方案的网络场景下,优选值为200转/s);
2.1.6AP节点天线参数设定,方法是:
2.1.6.1设定AP节点的天线旋转一圈所需时间tCircle=1/TurningSpeed秒;
2.1.6.2设定扇区个数为nSector=360°/beamwidthDegrees;
2.1.6.3设定天线对准每个扇区的时长tSector=tCircle/nSector;
2.1.7令本轮通信已传输的数据帧数量初始值have_send=0;
2.1.8AP节点初始化完成,AP节点转第三步,进行第一次握手。
2.2在AP节点初始化的同时,N个边缘节点并行进行初始化,N个边缘节点的第一控制模块并行设定边缘节点的天线为发送模式,并调整相应参数,N个边缘节初始化方法相同,其中第i个边缘节点的初始化方法如下:
2.2.1设定第i个边缘节点的天线为传输模式并将天线指向AP节点所在位置;
2.2.2设定第i个边缘节点的天线波束宽度=AP节点的天线波束宽度beamwidthDegrees;
2.2.3第i个边缘节点初始化完成,等待来自网络层及上层的数据,转2.3步。
2.3第i个边缘节点产生数据传输需求,进行待发数据处理,得到待发队列表m_pktQueue,方法是:
2.3.1设置初始化序列号m_sequence为0,第i个边缘节点网络层及上层的数据生成模块将M个数据发送给发送缓存模块;M为正整数。
2.3.2第i个边缘节点的发送缓存模块判定是否从网络层及上层的数据生成模块接收到M个数据,若接收到,转2.3.3;若未接收到,转2.3.2等待数据。
2.3.3按序为M个数据创建数据类型帧头,存储数据帧的记录信息,将数据帧的记录信息发送给第i个边缘节点的第一控制模块,具体步骤如下:
2.3.3.1发送缓存模块创建数据类型帧头,并设置相应参数,令THzMacHeaderheader=THzMacHeader(m_address,dest,Data),其中THzMacHeader header指太赫兹MAC类型的帧头,m_address指边缘节点地址(源地址),dest指目的地址,Data指帧的类型为数据帧;
2.3.3.2设置当前数据帧序列号为m_sequence=m_sequence+1;
2.3.3.3将创建的帧头加入序列号为m_sequence的数据帧;
2.3.4发送缓存模块记录序列号为m_sequence的数据帧的记录信息,具体步骤如下:
2.3.4.1令数据长度rec.RecSize=序列号为m_sequence的数据的实际长度;
2.3.4.2令数据帧入队时间rec.RecTime=系统当前时间;
2.3.4.3令数据帧序列号rec.RecSeq=m_sequence;
2.3.4.4令数据帧重传次数rec.RecRetry=0;
2.3.4.5令持续时间duration=数据包传输时间(数据包长度/第i个边缘节点传输带宽)+数据包传播时间(帧传播时间×1)+Ack传输时间(17字节/第i个边缘节点传输带宽)+Ack传播时间(帧传播时间×1);
2.3.5第i个边缘节点的发送缓存模块将2.3.4中的数据帧的记录信息发送给第i个边缘节点的第一控制模块。
2.3.6第i个边缘节点的第一控制模块接收发送缓存模块发来的数据帧的记录信息,创建待发队列表m_pktQueue(m_pktQueue满足能够容纳上层产生的数据的记录信息即可)(队列中的每一项包括:rec.RecSize;rec.RecTime;rec.RecSeq;rec.RecRetry),将收到的记录信息录入到m_pktQueue中;
2.3.7第i个边缘节点的发送缓存模块判断m_sequence<M是否成立,如果成立,说明从边缘节点网络层及上层的数据生成模块收到的数据未处理完,转2.3.3.1对下一个数据进行处理;如果m_sequence=M,第i个边缘节点的发送缓存模块转2.3.2继续等待数据生成模块发来的数据,第i个边缘节点的第一接收模块、第一帧解析模块、第一控制模块、第一帧生成模块、第一发送模块转第三步与AP节点进行握手以传输数据。
第三步,AP节点与第i个边缘节点进行第一次握手,即AP节点按边缘节点所处位置依次向N个边缘节点发送WQI帧,依次收集N个边缘节点的待发队列表信息,具体方法如下;
3.1令边缘节点序号i=1;
3.2AP节点的天线按照r转/s的速度进行旋转,若旋转的度数等于p°,AP节点的第二控制模块向第二帧生成模块传递发送WQI帧的指令,若AP节点的天线与N个边缘节点中的第i个边缘节点的天线对准,转3.3;若AP节点的天线与N个边缘节点中的第i个边缘节点的天线未对准,转3.2。
3.3AP节点的第二帧生成模块生成WQI帧,将WQI帧传递给AP节点的第二发送模块,方法是:
3.3.1AP节点的第二帧生成模块生成WQI帧,具体步骤如下:
3.3.1.1第二帧生成模块创建WQI帧,即令THzMacHeaderwqiHeader=THzMacHeader(m_address,GetBroadcast,WQI,duration),其中THzMacHeaderwqiHeader是指创建的是太赫兹类型的WQI帧头,m_address为源地址即AP节点地址,GetBroadcast为数据帧的目的地址即广播地址,WQI指帧的类型为WQI;
3.3.1.2设置WQI帧序列号,即令wqiHeader.SetSequence=0;
3.3.1.3设置WQI帧持续时间duration,即令wqiHeader.SetDuration=0;
3.3.2第二帧生成模块将生成的WQI帧(此时只包含头部信息)传递给AP节点的第二发送模块;
3.4AP节点的第二发送模块向物理层传输WQI帧,该帧经由太赫兹无线信道到达第i个边缘节点的物理层。
3.5第i个边缘节点的物理层从太赫兹无线信道接收到WQI帧,将WQI帧传递给第i个边缘节点的第一接收模块;
3.6第i个边缘节点的第一接收模块将WQI帧传递给第一帧解析模块;
3.7第i个边缘节点的第一帧解析模块从第一接收模块接收WQI帧;
3.8第i个边缘节点的第一帧解析模块读取WQI帧中的信息并记录,得到WQI帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
3.9第i个边缘节点的第一帧解析模块将WQI帧的记录信息传递给第i个边缘节点的第一控制模块,完成了AP节点与第i个边缘节点的第一次握手,即完成了AP节点向i个边缘节点发送WQI帧。
第四步,第i个边缘节点与AP节点进行第二次握手,即第i个边缘节点向AP节点发送QI帧,方法是:
4.1第i个边缘节点的第一控制模块判断是否从第i个边缘节点的第一帧解析模块接收到WQI帧的记录信息,若收到,转4.2;若未收到,转4.1;
4.2第i个边缘节点的第一控制模块从待发队列表中选取第一个数据帧的记录信息,计算本轮通信的持续时间duration;向第i个边缘节点的第一帧生成模块发送QI帧的生成指令,同时将待发队列表m_pktQueue的第一个数据帧的记录信息与duration发送给第i个边缘节点的第一帧生成模块,具体步骤如下:
4.2.1读取待发队列表的第一个元素,即令第一个待发数据帧m_pktData为待发队列表的首个数据帧的信息;
4.2.2第一控制模块根据待发队列表m_pktQueue长度确定本轮通信要传输的数据帧个数m_tosend,即令m_tosend=待发队列表m_pktQueue中元素的个数,一般m_tosend≥M;
4.2.3第一控制模块遍历待发队列表m_pktQueue,获取所有待发数据的总长度(即待发队列表中m_tosend个元素的长度之和),记为m_tosendlength;
4.2.4第一控制模块计算传输所有待发数据的传输时间m_tosendTxduration,m_tosendTxduration=m_tosendlength/第i个边缘节点传输带宽(本方案要求边缘节点传输带宽大于等于100Gbps);
4.2.5第一控制模块计算本轮通信的持续时间duration,duration=控制帧传输时间+控制帧传播时间+数据帧传输时间+数据帧传播时间,控制帧传输时间=控制帧长度(17字节)×控制帧数量/第i个边缘节点传输带宽,控制帧数量=WQI帧个数1+QI帧个数1+Cts帧个数1+Ack帧个数m_tosend(Ack的数量与要传输的数据帧的数量相同),控制帧传播时间=控制帧数量×帧传播时间(帧传播时间优选值为33.3ns),数据帧传输时间=所有待发数据的传输时间=m_tosendTxduration,数据帧传播时间=m_tosend×帧传播时间;
4.2.6第i个边缘节点的第一控制模块向第i个边缘节点的第一帧生成模块发送QI帧的生成指令,同时将待发队列表m_pktQueue的第一个数据帧的记录信息与4.2.5计算出的duration发送给第i个边缘节点的第一帧生成模块;
4.3第一帧生成模块生成QI帧,具体步骤如下:
4.3.1第一帧生成模块创建QI帧(只包含帧头),将第一控制模块发来的待发数据的记录信息填到QI帧的头部,即令THzMacHeaderqiHeader=THzMacHeader(m_address,GetDestination,QI,duration,sequence),其中THzMacHeaderqiHeader是指创建的是太赫兹类型的QI帧头,m_address为边缘节点地址(源地址),GetDestination为可获取数据帧的目的地址,QI指帧的类型为QI,duration为4.2.5计算出的本轮通信持续时间,sequence=第4.2.6步第一帧生成模块收到的数据帧的记录信息中的序列号;
4.3.2第一帧生成模块将生成的QI帧发送给第一发送模块;
4.4第i个边缘节点的第一发送模块向物理层传输QI帧,该帧经由太赫兹无线信道到达AP节点的物理层。
4.5AP节点的物理层从太赫兹无线信道接收QI帧,将QI帧传递给AP节点的第二接收模块;
4.6AP节点的第二接收模块将QI帧发送给第二帧解析模块;
4.7AP节点的第二帧解析模块从AP节点的第二接收模块接收QI帧;
4.8AP节点的第二帧解析模块读取QI帧中的信息,得到QI帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
4.9AP节点的第二帧解析模块将QI帧的记录信息传递给AP节点的第二控制模块;
4.10AP节点的第二控制模块接收QI帧的记录信息,创建用于存储N个边缘节点的待发队列表信息的QI表,并将收到QI帧的记录信息录入QI表,QI表第i个表项的内容为源地址source、目的地址destination、类型type、持续时间duration。此时AP节点与第i个边缘节点的第二次握手完成,AP节点接收到了来自第i个边缘节点的QI帧。
4.11令i=i+1,若i≤N,转步骤3.2。若i>N,转步骤4.12。由于AP节点天线始终按照r转/s的速度进行旋转,当AP节点的天线与第i个节点的天线对准时,AP节点与边缘节点的两次握手完成时间仅为ns级,而AP节点天线旋转到与下一个边缘节点天线对准的时间为ms级,因此在对准第i+1个边缘节点的天线前,AP节点和第i个边缘节点有充足的时间完成两次握手。
4.12此时i=N+1,表示AP节点的天线旋转完了一圈,AP节点共发送了360°/p°个WQI帧,收到了分别来自N个边缘节点的N个QI帧,AP节点的第二控制模块停止向第二帧生成模块传递发送WQI帧的指令,AP节点的天线继续以r转/s的速率旋转,转第五步;
第五步,AP节点根据QI表的首个元素的源地址source与第i个边缘节点进行第三次握手,方法是:
5.1令i=1。
5.2AP节点的第二控制模块判断QI表是否为空,如不空,则读取QI表中的第i条记录信息,准备向QI表中首个元素的source指向的第i个边缘节点发送Cts帧,允许第i个边缘节点访问信道,转5.3;如果QI表为空,表示N个边缘节点均已访问过信道了,转3.1,AP节点开始与N个边缘节点进行下一轮通信;
5.3AP节点的第二控制模块向第二帧生成模块传递发送Cts帧的指令和QI帧的记录信息;
5.4AP节点的第二帧生成模块接收发送Cts帧的指令和QI帧的记录信息,创建Cts帧,具体步骤如下:
5.4.1AP节点的第二帧生成模块创建Cts帧(内容部分为空,仅包含头部),根据QI帧的记录信息填充Cts帧头部,即令THzMacHeaderctsHeader=THzMacHeader(source,destination,Cts,sequence),其中source为AP节点地址(源地址),destination为Cts帧的目的地址即为QI帧的源地址,Cts是指帧的类型为Cts,sequence=QI表中首个元素的sequence;
5.4.2AP节点的第二帧生成模块将生成的Cts帧发送给AP节点的第二发送模块;
5.5AP节点的第二发送模块向物理层传输Cts帧,Cts帧经由太赫兹无线信道模块到达第i个边缘节点的物理层;
5.6第i个边缘节点的物理层从AP节点的第二发送模块接收Cts帧,将Cts帧传递给第i个边缘节点的第一接收模块;
5.7第i个边缘节点的第一接收模块将Cts帧传递给第i个边缘节点的第一帧解析模块;
5.8第i个边缘节点的第一帧解析模块解析Cts帧,具体步骤如下:
5.8.1第i个边缘节点的第一帧解析模块接收Cts帧,读取Cts帧中的信息并记录,得到Cts帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration,序列号sequence;
5.8.2第i个边缘节点的第一帧解析模块将Cts帧的记录信息发送给第一控制模块,第三次握手完成,即第i个边缘节点收到了AP节点发送的Cts帧。
第六步,QI表中的首个元素的source指向的边缘节点(即第i个边缘节点)与AP节点进行数据传输,具体方法是:
6.1第i个边缘节点的第一控制模块将Cts帧的记录信息传递给第一发送模块,并向第一发送模块发送“发送数据帧的指令”,具体步骤如下:
6.1.1第i个边缘节点的第一控制模块将Cts帧的记录信息发送给第一发送模块,并向第一发送模块传递“发送数据帧的指令”;
6.1.2第一发送模块读取Cts帧的记录信息的sequence;
6.1.3第一发送模块从发送缓存模块读取序列号与sequence相同的数据帧;
6.1.4第i个边缘节点的第一发送模块修改该数据帧的持续时间字段duration,令duration=数据帧传输时间(即数据帧长度/第i个边缘节点传输带宽)+数据帧传播时间(即帧传播时间×数据帧数量1)+Ack帧传输时间(17字节/第i个边缘节点传输带宽)+Ack帧传播时间(帧传播时间×Ack帧数量1);
6.1.5第i个边缘节点的第一发送模块向物理层传输序列号与sequence一致的数据帧,数据帧经由太赫兹无线信道到达AP节点的物理层;
6.2AP节点的物理层接收到该数据帧,将该数据帧传递给AP节点的第二接收模块;
6.3AP节点的第二接收模块将从物理层收到的数据帧传递给AP节点的第二帧解析模块;
6.4AP节点的第二帧解析模块对数据帧进行解析,将解析后得到的数据帧的记录信息传递给AP节点的第二控制模块,方法是:
6.4.1AP节点的第二帧解析模块收到数据帧后,读取数据帧中的信息并记录,得到数据帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
6.4.2AP节点的第二帧解析模块将数据帧的记录信息传递给AP节点的第二控制模块,转步骤6.5;
6.5令第一时间t1=系统时间;AP节点的第二控制模块设定AP节点的天线转速为0,AP节点天线处于停止状态,天线指向QI表中的第i条记录信息所指向的边缘节点,通信链路建立;同时,AP节点的第二控制模块向AP节点的第二帧生成模块发送数据帧的记录信息,并向第二帧生成模块传递发送Ack的指令,转步骤6.9;同时,AP节点的第二控制模块向AP节点的第二帧解析模块发送拆帧指令,转步骤6.6;
6.6AP节点的第二帧解析模块根据拆帧指令对从第二接收模块收到的数据帧拆除头部,将拆除了头部的数据帧发送给接收缓存模块。
6.7接收缓存模块判断是否收到拆除了头部的数据帧,若收到,则对拆除了头部的数据帧进行存储,转6.8;若未收到拆除了头部的数据帧,接收缓存模块转6.7继续等待;
6.8网络层及上层的第二数据处理模块读取接收缓存模块中的数据帧,根据用户要求进行处理(此时数据已到达AP节点的用户端,处理方式取决于具体的数据类型、数据来源、用户要求,此处不做具体说明),处理完后转6.7。
6.9AP节点的第二帧生成模块创建Ack,具体步骤如下:
6.9.1AP节点的第二帧生成模块创建Ack(内容字段为空,仅有头部信息),并将数据帧头部信息填入Ack头部,令THzMacHeaderAckHeader=THzMacHeader(source,destination,Ack),其中source为AP节点地址,destination为数据帧记录信息中的源地址source,Ack指帧的类型为Ack;
6.9.2AP节点的第二帧生成模块将序列号填充入该Ack帧,即令Ack帧的sequence=数据帧记录信息中的sequence,并设置持续时间,令ackHeader.SetDuration=0;
6.9.3AP节点的第二帧生成模块将生成的Ack帧传递给AP节点的第二发送模块;
6.10AP节点的第二发送模块向物理层传输该Ack帧,Ack帧经由太赫兹无线信道模块到达第i个边缘节点的物理层。
6.11第i个边缘节点的物理层接收到该Ack帧,将Ack帧传递给第i个边缘节点的第一接收模块,
6.12第i个边缘节点的第一接收模块将Ack帧传递给第i个边缘节点的第一帧解析模块;
6.13第i个边缘节点的第一帧解析模块对Ack帧进行解析,具体步骤如下:
6.13.1第i个边缘节点的第一帧解析模块收到Ack后,读取Ack帧中的信息并记录,其中包含源地址source、目的地址destination、类型type、持续时间duration;
6.13.2第i个边缘节点的第一帧解析模块将Ack帧的记录信息传递给第一控制模块。
6.13.3第i个边缘节点的第一控制模块遍历第三步生成的待发队列表,根据Ack帧的记录信息中的序列号找到待发队列表中与序列号符合的数据帧,记录该数据帧发送结果,令have_send=have_send+1;
6.13.4第i个边缘节点的第一控制模块判断已发送的数据帧数量是否小于要发送的数据帧数量,即判断have_send<m_tosend是否成立,如果成立,说明第i个边缘节点仍有数据待发,则令sequence=Ack帧的sequence+1,转6.1.3,传输下一个待发数据;否则,第i个边缘节点的所有数据传输完成,第i个边缘节点转2.3,AP节点转6.13.5;
6.13.5令第二时间t2=系统时间,若t2-t1=duration,说明QI表中的第i条记录信息所指向的第i个边缘节点与AP节点的数据传输完成,AP节点的第二控制模块重新设置天线旋转速度TurningSpeed为r转每秒,令i=i+1,若i≤N,转第5.2步;若i>N,则说明AP节点与网络内N个边缘节点的通信完成,清空QI表,转3.1(见6.13.4,由于第i个边缘节点传输完成后转2.3处理数据,在AP节点转3.1前,已有至少N-1个节点准备好了下一组数据),AP节点与N个边缘节点进行下一轮通信。
步骤6.6-6.8由AP节点的接收缓存模块和数据处理模块完成,步骤6.9-6.13由AP节点的第二帧生成模块、第二发送模块、边缘节点的第一接收模块、第一帧解析模块、第一控制模块、发送缓存模块、第一帧生成模块、第一发送模块完成;6.6-6.8和6.9-6.13并行执行。
采用本发明可以达到以下技术效果:
1.本发明第一步构建了一种基于单向握手(由接收方即AP节点首先发送WQI向各边缘节点收集队列信息,再由AP节点通过Cts授予边缘节点信道访问权限,整个过程均由AP节点主动发起握手,称为单向握手)的太赫兹组网介质访问控制的网络场景,第一控制模块和第二控制模块居中协调,管理其他模块的收发操作,并对天线的参数进行调整,进而实现高效的组网与收发控制。
2.本发明通过第二步的参数设置使AP节点的定向天线开始旋转扫描信道,完成节点发现;通过第六步的参数设置使AP节点的定向天线停止旋转,指向当前对准的边缘节点,建立通信链路并进行数据交换,通信完成后通过参数设置使AP节点的定向天线再次开始旋转扫描信道,实现下一个通信节点的发现与切换。通过上述方式控制AP节点天线的停止与旋转,可实现AP节点天线在通过旋转扫描信道时进行节点发现,在对准通信节点时停转进行数据传输,最终实现较高的通信效率。
3.本发明通过第三步-第五步中收发双方的三次握手,由接收方发起通信,采集发送方的传输请求,并根据各边缘节点的传输请求进行信道时间的分配,有效避免了各边缘节点因无序争用信道而产生的丢包,有效降低了通信中的丢包,进而实现了服务质量的确保。
4.本发明优化了收发双方通信中的协商过程,收发双方在通过一次WQI-Cts的交互后建立信道,可传输多个(M个)数据帧,最大化的提高了数据传输时长在一次通信流程中的占比,有效地提高了信道利用率。
附图说明
图1是背景技术1所述的网络模型示意图。
图2是背景技术1中的节点模型示意图。
图3是本发明第一步构建的基于单向握手的太赫兹组网介质访问控制的网络场景的逻辑结构图。
图4是本发明Mac层帧格式示意图。
图5是本发明总体流程图。
具体实施方式
图5是本发明总体流程图。如图5所示,本发明包括以下步骤:
第一步,构建一种基于单向握手的太赫兹组网介质访问控制的网络场景,该网络场景如图3所示,大小为20m×20m,AP节点位于网络场景的中心,网络中N个边缘节点随机分布在AP节点周围10m范围内,N为正整数。边缘节点的定向天线的波束方向始终指向AP节点,AP节点的天线通过定速旋转扫描信道实现通信链路的建立。以网络中有6个边缘节点(N=6)为例,网络模型与背景技术1相同,如图1所示。
边缘节点为发送方,AP节点为接收方。发送方、接收方均由太赫兹网络层及上层、太赫兹MAC层、太赫兹物理层组成,发送方与接收方通过太赫兹信道连接。发送方的网络层及上层安装有数据生成模块,发送方的太赫兹MAC层安装有发送缓存模块、第一帧生成模块、第一发送模块、第一控制模块、第一帧解析模块、第一接收模块。接收方的网络层及上层安装有数据处理模块,接收方的太赫兹MAC层安装有第二帧生成模块、第二发送模块、第二控制模块、接收缓存模块、第二帧解析模块、第二接收模块。发送方和接收方的太赫兹物理层通过太赫兹无线信道进行连接。发送方、接收方以MAC层帧结构的形式传递数据,MAC层帧包含数据帧和控制帧两种;MAC层帧的各字段与对应长度如图4所示,由发送方的第一帧生成模块与接收方的第二帧生成模块产生。MAC层帧由源地址、目的地址、类型、持续时间、序列号组成。其中,目的地址与源地址字段为收发双方的MAC地址;类型字段用于区分传输的帧的类型,包括Cts(Clear To Send允许发送)、WQI(waiting queue information等待队列信息)、QI(queue information队列信息)、Data、Ack等五种类型(这五种MAC层帧中,Data是数据帧,另外四种是控制帧);持续时间字段是本次通信要占用的信道时长(通信前计算得出,计算公式:数据帧传输时间+数据帧传播时间+控制帧传输时间+控制帧传播时间,用于占用信道。传输时间是网络设备将MAC层帧推出所需要的时间,它是MAC层帧长度和链路传输速率的函数,与两台设备之间的距离无关;传播时间是一个MAC层帧从一台设备向另一台设备传播所需要的时间,它是两台设备之间距离的函数,与MAC层帧的长度或链路的传输速率无关);序列号字段为MAC层帧的唯一标识符。
边缘节点网络层及上层的数据生成模块与边缘节点MAC层的发送缓存模块相连,数据生成模块用于生成待发数据并将生成的数据发送给发送缓存模块,与背景技术1中的数据生成模块相同。
边缘节点MAC层的发送缓存模块与边缘节点网络层及上层的数据生成模块、边缘节点MAC层的第一控制模块、第一发送模块相连。发送缓存模块负责从数据生成模块接收M个数据,按序为所有数据创建数据类型帧头,构建数据帧;负责记录数据帧的相关信息并对数据帧的相关信息进行缓存(缓存好的数据帧的相关信息称为数据帧的记录信息),将数据帧的记录信息发送给第一控制模块,将数据帧发送给第一发送模块。
第一控制模块与边缘节点的太赫兹定向天线、边缘节点MAC层的发送缓存模块、第一帧生成模块、第一帧解析模块、第一发送模块相连。第一控制模块在边缘节点初始化时设定边缘节点的天线为发送模式,并调整相应参数。第一控制模块在边缘节点与AP节点进行第一次握手时从发送缓存模块接收数据帧的记录信息,将数据帧的记录信息存入第一控制模块创建的待发队列表;第一控制模块选取待发队列表中的第一个数据帧的记录信息,计算本轮通信持续时间;第一控制模块还负责向第一帧生成模块发送构造QI帧的指令,同时将待发队列表中的第一个数据帧的记录信息与本轮通信持续时间发送给第一帧生成模块。边缘节点与AP节点进行第一次握手时,第一控制模块负责从第一帧解析模块接收WQI帧的记录信息,将WQI帧的记录信息传递给第一帧生成模块,同时将发送QI帧的指令传递给第一帧生成模块。边缘节点与AP节点进行第三次握手时,第一控制模块从第一帧解析模块接收Cts帧的记录信息,将Cts帧的记录信息传递给第一发送模块,同时生成发送数据帧的指令并将发送数据帧的指令传递给第一发送模块。边缘节点与AP节点进行数据传输时,第一控制模块从第一帧解析模块接收Ack帧的记录信息,然后遍历待发队列表,根据Ack帧的记录信息中的序列号找到待发队列表中与Ack帧序列号相同的数据帧的记录信息,从待发队列表删除此数据帧的记录信息。
边缘节点MAC层的第一帧生成模块与第一控制模块、第一发送模块相连。边缘节点与AP节点进行第二次握手时,第一帧生成模块从第一控制模块接收到WQI帧的记录信息,提取其中的源地址信息,将其填入QI帧的目的地址字段;将边缘节点地址填入QI帧的源地址字段;第一帧生成模块从第一控制模块接收待发队列表的首个数据帧的记录信息,提取其中的序列号sequence信息,将其填入QI帧的目的序列号sequence字段;第一帧生成模块从第一控制模块接收本轮通信持续时间,将本轮通信持续时间填入QI帧的持续时间duration字段;将“QI”填入QI帧的类型字段;第一帧生成模块从第一控制模块接收到发送QI帧的指令后,将构造的QI帧传递给第一发送模块。
边缘节点MAC层的第一发送模块与边缘节点MAC层的发送缓存模块、第一帧生成模块、第一控制模块,AP节点MAC层的第二接收模块相连。边缘节点与AP节点进行第一次握手时,第一发送模块从第一帧生成模块接收QI帧,将QI帧发送给AP节点MAC层的第二接收模块。边缘节点与AP节点进行数据传输时,第一发送模块从第一控制模块收到Cts帧的记录信息和发送数据帧的指令后,负责从发送缓存模块中读取与Cts帧的记录信息的序列号相同的数据帧,并将与Cts帧的记录信息的序列号相同的数据帧发送给AP节点MAC层的第二接收模块。
边缘节点MAC层的第一接收模块与AP节点MAC层的第二发送模块、边缘节点MAC层的第一帧解析模块相连。边缘节点与AP节点进行第一次握手时,第一接收模块负责从AP节点MAC层的第二发送模块接收WQI帧,将WQI帧发送给第一帧解析模块。边缘节点与AP节点进行第三次握手时,第一接收模块负责从AP节点MAC层的第二发送模块接收Cts帧,将Cts帧发送给第一帧解析模块。边缘节点与AP节点双方进行数据传输时,第一接收模块从AP节点MAC层的第二发送模块接收Ack帧,将Ack帧发送给第一帧解析模块。
边缘节点MAC层的第一帧解析模块与边缘节点MAC层的第一接收模块、第一控制模块相连。边缘节点与AP节点进行第一次握手时,第一帧解析模块从第一接收模块接收WQI帧,对WQI帧进行解析得到WQI帧的记录信息。边缘节点与AP节点进行第三次握手时,第一帧解析模块从第一接收模块接收Cts帧,对Cts帧进行解析得到Cts帧的记录信息。边缘节点与AP节点双方进行数据传输时,第一帧解析模块负责从第一接收模块接收Ack帧,对Ack帧进行解析得到Ack帧的记录信息。
AP节点MAC层的第二接收模块与边缘节点MAC层的第一发送模块、AP节点MAC层的第二帧解析模块相连。边缘节点与AP节点进行第二次握手时,第二接收模块负责从第一发送模块接收QI帧,将QI帧发送给第二帧解析模块;边缘节点与AP节点双方进行数据传输时,第二接收模块负责从第一发送模块接收与Cts帧的记录信息中的序列号相同的数据帧,并将接收的数据帧发送给第二帧解析模块。
AP节点MAC层的第二帧解析模块与AP节点MAC层的第二接收模块、AP节点MAC层的接收缓存模块、AP节点MAC层的第二控制模块相连。边缘节点与AP节点进行第二次握手时,第二帧解析模块负责从第二接收模块接收QI帧,读取QI帧中的信息并记录,将QI帧的记录信息发送给第二控制模块,完成第二次握手。边缘节点与AP节点进行数据传输时,第二帧解析模块从第二接收模块接收数据帧,读取数据帧中的信息并记录,将数据帧的记录信息发送给第二控制模块。此外,在数据接收完成后,第二帧解析模块从第二控制模块接收拆帧指令,根据拆帧指令将收到的数据帧拆除头部,将拆除头部的数据帧存入接收缓存模块。
AP节点MAC层的第二控制模块与AP节点MAC层的第二帧解析模块、AP节点的太赫兹定向天线、AP节点的第二帧生成模块相连。边缘节点与AP节点进行第一次握手时,第二控制模块生成发送WQI帧的指令,并发送给第二帧生成模块。边缘节点与AP节点进行第二次握手时,第二控制模块负责从第二帧解析模块接收QI帧的记录信息,构建QI表(用于存储QI帧的记录信息),向第二帧生成模块传递QI帧的记录信息,同时生成发送Cts帧的指令,将发送Cts帧的指令发送给第二帧生成模块;边缘节点与AP节点双方进行数据传输时,第二控制模块从第二帧解析模块接收数据帧的记录信息后,控制天线停止旋转,并在通信完成后控制天线重启旋转。边缘节点与AP节点进行数据传输时,第二控制模块从第二帧解析模块接收数据帧的记录信息,向第二帧生成模块传递数据帧的记录信息,同时生成发送Ack帧的指令,将发送Ack帧的指令发送给第二帧生成模块,并向第二帧解析模块发送拆帧指令。
AP节点MAC层的第二帧生成模块与AP节点MAC层的第二控制模块、AP节点MAC层的第二发送模块相连。边缘节点与AP节点进行第一次握手时,第二帧生成模块从第二控制模块接收发送WQI帧的指令,生成WQI帧,将WQI帧发送给第二发送模块。边缘节点与AP节点进行第三次握手时,第二帧生成模块从第二控制模块接收QI帧的记录信息与发送Cts帧的指令后,根据QI帧的记录信息生成Cts帧,将Cts帧发送给第二发送模块。边缘节点与AP节点双方进行数据传输时,第二帧生成模块从第二控制模块接收数据帧的记录信息与发送Ack帧的指令后,根据数据帧的记录信息生成Ack帧,将Ack帧发送给第二发送模块。
AP节点MAC层的第二发送模块与AP节点MAC层的第二帧生成模块、边缘节点的第一接收模块相连。边缘节点与AP节点进行第一次握手时,第二发送模块从第一帧生成模块接收WQI帧,将WQI帧发送给边缘节点的第一接收模块。边缘节点与AP节点进行第二次握手时,第二发送模块从第一帧生成模块接收Cts帧,将Cts帧发送给边缘节点的第一接收模块。边缘节点与AP节点进行数据传输时,第二发送模块从第二帧生成模块接收Ack帧,将Ack帧发送给边缘节点的第一接收模块。
第二步,AP节点与N个边缘节点并行进行初始化操作。AP节点按2.1的流程进行初始化,第二控制模块设定AP节点的天线为接收模式,并调整相应参数,准备接收数据。同时N个边缘节点按2.2的流程进行初始化,第一控制模块设定边缘节点的天线为发送模式,调整相应参数;然后N个边缘节点按2.3的流程准备发送数据。
2.1AP节点初始化,第二控制模块设定AP节点的天线为接收模式,并调整相应参数,具体步骤如下:
2.1.1设定AP节点的天线状态为接收模式;
2.1.2设定AP节点的天线初始角度InitialAngle为0°;
2.1.3设定AP节点的天线波束宽度beamwidthDegrees优选值为p°(0<p<180,p与通信距离、通信频段等因素相关,在本方案的网络场景下,优选值p为26);
2.1.4设定AP节点的天线初始覆盖范围m_rxIniAngle=InitialAngle+beamwidthDegrees;
2.1.5设定AP节点的天线转速TurningSpeed为r转每秒(r为正整数,在本方案的网络场景下,优选值为200转/s);
2.1.6AP节点天线参数设定,方法是:
2.1.6.1设定AP节点的天线旋转一圈所需时间tCircle=1/TurningSpeed秒;
2.1.6.2设定扇区个数为nSector=360°/beamwidthDegrees;
2.1.6.3设定天线对准每个扇区的时长tSector=tCircle/nSector;
2.1.7令本轮通信已传输的数据帧数量初始值have_send=0;
2.1.8AP节点初始化完成,AP节点转第三步,进行第一次握手。
2.2在AP节点初始化的同时,N个边缘节点并行进行初始化,N个边缘节点的第一控制模块并行设定边缘节点的天线为发送模式,并调整相应参数,N个边缘节初始化方法相同,其中第i个边缘节点的初始化方法如下:
2.2.1设定第i个边缘节点的天线为传输模式并将天线指向AP节点所在位置;
2.2.2设定第i个边缘节点的天线波束宽度=AP节点的天线波束宽度beamwidthDegrees;
2.2.3第i个边缘节点初始化完成,等待来自网络层及上层的数据,转2.3步。
2.3第i个边缘节点产生数据传输需求,进行待发数据处理,得到待发队列表m_pktQueue,方法是:
2.3.1设置初始化序列号m_sequence为0,第i个边缘节点网络层及上层的数据生成模块将M个数据发送给发送缓存模块;M为正整数。
2.3.2第i个边缘节点的发送缓存模块判定是否从网络层及上层的数据生成模块接收到M个数据,若接收到,转2.3.3;若未接收到,转2.3.2等待数据。
2.3.3按序为M个数据创建数据类型帧头,存储数据帧的记录信息,将数据帧的记录信息发送给第i个边缘节点的第一控制模块,具体步骤如下:
2.3.3.1发送缓存模块创建数据类型帧头,并设置相应参数,令THzMacHeaderheader=THzMacHeader(m_address,dest,Data),其中THzMacHeader header指太赫兹MAC类型的帧头,m_address指边缘节点地址(源地址),dest指目的地址,Data指帧的类型为数据帧;
2.3.3.2设置当前数据帧序列号为m_sequence=m_sequence+1;
2.3.3.3将创建的帧头加入序列号为m_sequence的数据帧;
2.3.4发送缓存模块记录序列号为m_sequence的数据帧的记录信息,具体步骤如下:
2.3.4.1令数据长度rec.RecSize=序列号为m_sequence的数据的实际长度;
2.3.4.2令数据帧入队时间rec.RecTime=系统当前时间;
2.3.4.3令数据帧序列号rec.RecSeq=m_sequence;
2.3.4.4令数据帧重传次数rec.RecRetry=0;
2.3.4.5令持续时间duration=数据包传输时间(数据包长度/第i个边缘节点传输带宽)+数据包传播时间(帧传播时间×1)+Ack传输时间(17字节/第i个边缘节点传输带宽)+Ack传播时间(帧传播时间×1);
2.3.5第i个边缘节点的发送缓存模块将2.3.4中的数据帧的记录信息发送给第i个边缘节点的第一控制模块。
2.3.6第i个边缘节点的第一控制模块接收发送缓存模块发来的数据帧的记录信息,创建待发队列表m_pktQueue(m_pktQueue满足能够容纳上层产生的数据的记录信息即可)(队列中的每一项包括:rec.RecSize;rec.RecTime;rec.RecSeq;rec.RecRetry),将收到的记录信息录入到m_pktQueue中;
2.3.7第i个边缘节点的发送缓存模块判断m_sequence<M是否成立,如果成立,说明从边缘节点网络层及上层的数据生成模块收到的数据未处理完,转2.3.3.1对下一个数据进行处理;如果m_sequence=M,第i个边缘节点的发送缓存模块转2.3.2继续等待数据生成模块发来的数据,第i个边缘节点的第一接收模块、第一帧解析模块、第一控制模块、第一帧生成模块、第一发送模块转第三步与AP节点进行握手以传输数据。
第三步,AP节点与第i个边缘节点进行第一次握手,即AP节点按边缘节点所处位置依次向N个边缘节点发送WQI帧,依次收集N个边缘节点的待发队列表信息,具体方法如下;
3.1令边缘节点序号i=1;
3.2AP节点的天线按照r转/s的速度进行旋转,若旋转的度数等于p°,AP节点的第二控制模块向第二帧生成模块传递发送WQI帧的指令,若AP节点的天线与N个边缘节点中的第i个边缘节点的天线对准,转3.3;若AP节点的天线与N个边缘节点中的第i个边缘节点的天线未对准,转3.2。
3.3AP节点的第二帧生成模块生成WQI帧,将WQI帧传递给AP节点的第二发送模块,方法是:
3.3.1AP节点的第二帧生成模块生成WQI帧,具体步骤如下:
3.3.1.1第二帧生成模块创建WQI帧,即令THzMacHeaderwqiHeader=THzMacHeader(m_address,GetBroadcast,WQI,duration),其中THzMacHeaderwqiHeader是指创建的是太赫兹类型的WQI帧头,m_address为源地址即AP节点地址,GetBroadcast为数据帧的目的地址即广播地址,WQI指帧的类型为WQI;
3.3.1.2设置WQI帧序列号,即令wqiHeader.SetSequence=0;
3.3.1.3设置WQI帧持续时间duration,即令wqiHeader.SetDuration=0;
3.3.2第二帧生成模块将生成的WQI帧(此时只包含头部信息)传递给AP节点的第二发送模块;
3.4AP节点的第二发送模块向物理层传输WQI帧,该帧经由太赫兹无线信道到达第i个边缘节点的物理层。
3.5第i个边缘节点的物理层从太赫兹无线信道接收到WQI帧,将WQI帧传递给第i个边缘节点的第一接收模块;
3.6第i个边缘节点的第一接收模块将WQI帧传递给第一帧解析模块;
3.7第i个边缘节点的第一帧解析模块从第一接收模块接收WQI帧;
3.8第i个边缘节点的第一帧解析模块读取WQI帧中的信息并记录,得到WQI帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
3.9第i个边缘节点的第一帧解析模块将WQI帧的记录信息传递给第i个边缘节点的第一控制模块,完成了AP节点与第i个边缘节点的第一次握手,即完成了AP节点向i个边缘节点发送WQI帧。
第四步,第i个边缘节点与AP节点进行第二次握手,即第i个边缘节点向AP节点发送QI帧,方法是:
4.1第i个边缘节点的第一控制模块判断是否从第i个边缘节点的第一帧解析模块接收到WQI帧的记录信息,若收到,转4.2;若未收到,转4.1;
4.2第i个边缘节点的第一控制模块从待发队列表中选取第一个数据帧的记录信息,计算本轮通信的持续时间duration;向第i个边缘节点的第一帧生成模块发送QI帧的生成指令,同时将待发队列表m_pktQueue的第一个数据帧的记录信息与duration发送给第i个边缘节点的第一帧生成模块,具体步骤如下:
4.2.1读取待发队列表的第一个元素,即令第一个待发数据帧m_pktData为待发队列表的首个数据帧的信息;
4.2.2第一控制模块根据待发队列表m_pktQueue长度确定本轮通信要传输的数据帧个数m_tosend,即令m_tosend=待发队列表m_pktQueue中元素的个数,一般m_tosend≥M;
4.2.3第一控制模块遍历待发队列表m_pktQueue,获取所有待发数据的总长度(即待发队列表中m_tosend个元素的长度之和),记为m_tosendlength;
4.2.4第一控制模块计算传输所有待发数据的传输时间m_tosendTxduration,m_tosendTxduration=m_tosendlength/第i个边缘节点传输带宽(本方案要求边缘节点传输带宽大于等于100Gbps);
4.2.5第一控制模块计算本轮通信的持续时间duration,duration=控制帧传输时间+控制帧传播时间+数据帧传输时间+数据帧传播时间,控制帧传输时间=控制帧长度(17字节)×控制帧数量/第i个边缘节点传输带宽,控制帧数量=WQI帧个数1+QI帧个数1+Cts帧个数1+Ack帧个数m_tosend(Ack的数量与要传输的数据帧的数量相同),控制帧传播时间=控制帧数量×帧传播时间(帧传播时间优选值为33.3ns),数据帧传输时间=所有待发数据的传输时间=m_tosendTxduration,数据帧传播时间=m_tosend×帧传播时间;
4.2.6第i个边缘节点的第一控制模块向第i个边缘节点的第一帧生成模块发送QI帧的生成指令,同时将待发队列表m_pktQueue的第一个数据帧的记录信息与4.2.5计算出的duration发送给第i个边缘节点的第一帧生成模块;
4.3第一帧生成模块生成QI帧,具体步骤如下:
4.3.1第一帧生成模块创建QI帧(只包含帧头),将第一控制模块发来的待发数据的记录信息填到QI帧的头部,即令THzMacHeaderqiHeader=THzMacHeader(m_address,GetDestination,QI,duration,sequence),其中THzMacHeaderqiHeader是指创建的是太赫兹类型的QI帧头,m_address为边缘节点地址(源地址),GetDestination为可获取数据帧的目的地址,QI指帧的类型为QI,duration为4.2.5计算出的本轮通信持续时间,sequence=第4.2.6步第一帧生成模块收到的数据帧的记录信息中的序列号;
4.3.2第一帧生成模块将生成的QI帧发送给第一发送模块;
4.4第i个边缘节点的第一发送模块向物理层传输QI帧,该帧经由太赫兹无线信道到达AP节点的物理层。
4.5AP节点的物理层从太赫兹无线信道接收QI帧,将QI帧传递给AP节点的第二接收模块;
4.6AP节点的第二接收模块将QI帧发送给第二帧解析模块;
4.7AP节点的第二帧解析模块从AP节点的第二接收模块接收QI帧;
4.8AP节点的第二帧解析模块读取QI帧中的信息,得到QI帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
4.9AP节点的第二帧解析模块将QI帧的记录信息传递给AP节点的第二控制模块;
4.10AP节点的第二控制模块接收QI帧的记录信息,创建用于存储N个边缘节点的待发队列表信息的QI表,并将收到QI帧的记录信息录入QI表,QI表第i个表项的内容为源地址source、目的地址destination、类型type、持续时间duration。此时AP节点与第i个边缘节点的第二次握手完成,AP节点接收到了来自第i个边缘节点的QI帧。
4.11令i=i+1,若i≤N,转步骤3.2。若i>N,转步骤4.12。由于AP节点天线始终按照r转/s的速度进行旋转,当AP节点的天线与第i个节点的天线对准时,AP节点与边缘节点的两次握手完成时间仅为ns级,而AP节点天线旋转到与下一个边缘节点天线对准的时间为ms级,因此在对准第i+1个边缘节点的天线前,AP节点和第i个边缘节点有充足的时间完成两次握手。
4.12此时i=N+1,表示AP节点的天线旋转完了一圈,AP节点共发送了360°/p°个WQI帧,收到了分别来自N个边缘节点的N个QI帧,AP节点的第二控制模块停止向第二帧生成模块传递发送WQI帧的指令,AP节点的天线继续以r转/s的速率旋转,转第五步;
第五步,AP节点根据QI表的首个元素的源地址source与第i个边缘节点进行第三次握手,方法是:
5.1令i=1。
5.2AP节点的第二控制模块判断QI表是否为空,如不空,则读取QI表中的第i条记录信息,准备向QI表中首个元素的source指向的第i个边缘节点发送Cts帧,允许第i个边缘节点访问信道,转5.3;如果QI表为空,表示N个边缘节点均已访问过信道了,转3.1,AP节点开始与N个边缘节点进行下一轮通信;
5.3AP节点的第二控制模块向第二帧生成模块传递发送Cts帧的指令和QI帧的记录信息;
5.4AP节点的第二帧生成模块接收发送Cts帧的指令和QI帧的记录信息,创建Cts帧,具体步骤如下:
5.4.1AP节点的第二帧生成模块创建Cts帧(内容部分为空,仅包含头部),根据QI帧的记录信息填充Cts帧头部,即令THzMacHeaderctsHeader=THzMacHeader(source,destination,Cts,sequence),其中source为AP节点地址(源地址),destination为Cts帧的目的地址即为QI帧的源地址,Cts是指帧的类型为Cts,sequence=QI表中首个元素的sequence;
5.4.2AP节点的第二帧生成模块将生成的Cts帧发送给AP节点的第二发送模块;
5.5AP节点的第二发送模块向物理层传输Cts帧,Cts帧经由太赫兹无线信道模块到达第i个边缘节点的物理层;
5.6第i个边缘节点的物理层从AP节点的第二发送模块接收Cts帧,将Cts帧传递给第i个边缘节点的第一接收模块;
5.7第i个边缘节点的第一接收模块将Cts帧传递给第i个边缘节点的第一帧解析模块;
5.8第i个边缘节点的第一帧解析模块解析Cts帧,具体步骤如下:
5.8.1第i个边缘节点的第一帧解析模块接收Cts帧,读取Cts帧中的信息并记录,得到Cts帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration,序列号sequence;
5.8.2第i个边缘节点的第一帧解析模块将Cts帧的记录信息发送给第一控制模块,第三次握手完成,即第i个边缘节点收到了AP节点发送的Cts帧。
第六步,QI表中的首个元素的source指向的边缘节点(即第i个边缘节点)与AP节点进行数据传输,具体方法是:
6.1第i个边缘节点的第一控制模块将Cts帧的记录信息传递给第一发送模块,并向第一发送模块发送“发送数据帧的指令”,具体步骤如下:
6.1.1第i个边缘节点的第一控制模块将Cts帧的记录信息发送给第一发送模块,并向第一发送模块传递“发送数据帧的指令”;
6.1.2第一发送模块读取Cts帧的记录信息的sequence;
6.1.3第一发送模块从发送缓存模块读取序列号与sequence相同的数据帧;
6.1.4第i个边缘节点的第一发送模块修改该数据帧的持续时间字段duration,令duration=数据帧传输时间(即数据帧长度/第i个边缘节点传输带宽)+数据帧传播时间(即帧传播时间×数据帧数量1)+Ack帧传输时间(17字节/第i个边缘节点传输带宽)+Ack帧传播时间(帧传播时间×Ack帧数量1);
6.1.5第i个边缘节点的第一发送模块向物理层传输序列号与sequence一致的数据帧,数据帧经由太赫兹无线信道到达AP节点的物理层;
6.2AP节点的物理层接收到该数据帧,将该数据帧传递给AP节点的第二接收模块;
6.3AP节点的第二接收模块将从物理层收到的数据帧传递给AP节点的第二帧解析模块;
6.4AP节点的第二帧解析模块对数据帧进行解析,将解析后得到的数据帧的记录信息传递给AP节点的第二控制模块,方法是:
6.4.1AP节点的第二帧解析模块收到数据帧后,读取数据帧中的信息并记录,得到数据帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
6.4.2AP节点的第二帧解析模块将数据帧的记录信息传递给AP节点的第二控制模块,转步骤6.5;
6.5令第一时间t1=系统时间;AP节点的第二控制模块设定AP节点的天线转速为0,AP节点天线处于停止状态,天线指向QI表中的第i条记录信息所指向的边缘节点,通信链路建立;同时,AP节点的第二控制模块向AP节点的第二帧生成模块发送数据帧的记录信息,并向第二帧生成模块传递发送Ack的指令,转步骤6.9;同时,AP节点的第二控制模块向AP节点的第二帧解析模块发送拆帧指令,转步骤6.6;
6.6AP节点的第二帧解析模块根据拆帧指令对从第二接收模块收到的数据帧拆除头部,将拆除了头部的数据帧发送给接收缓存模块。
6.7接收缓存模块判断是否收到拆除了头部的数据帧,若收到,则对拆除了头部的数据帧进行存储,转6.8;若未收到拆除了头部的数据帧,接收缓存模块转6.7继续等待;
6.8网络层及上层的第二数据处理模块读取接收缓存模块中的数据帧,根据用户要求进行处理(此时数据已到达AP节点的用户端,处理方式取决于具体的数据类型、数据来源、用户要求,此处不做具体说明),处理完后转6.7。
6.9AP节点的第二帧生成模块创建Ack,具体步骤如下:
6.9.1AP节点的第二帧生成模块创建Ack(内容字段为空,仅有头部信息),并将数据帧头部信息填入Ack头部,令THzMacHeaderAckHeader=THzMacHeader(source,destination,Ack),其中source为AP节点地址,destination为数据帧记录信息中的源地址source,Ack指帧的类型为Ack;
6.9.2AP节点的第二帧生成模块将序列号填充入该Ack帧,即令Ack帧的sequence=数据帧记录信息中的sequence,并设置持续时间,令ackHeader.SetDuration=0;
6.9.3AP节点的第二帧生成模块将生成的Ack帧传递给AP节点的第二发送模块;
6.10AP节点的第二发送模块向物理层传输该Ack帧,Ack帧经由太赫兹无线信道模块到达第i个边缘节点的物理层。
6.11第i个边缘节点的物理层接收到该Ack帧,将Ack帧传递给第i个边缘节点的第一接收模块,
6.12第i个边缘节点的第一接收模块将Ack帧传递给第i个边缘节点的第一帧解析模块;
6.13第i个边缘节点的第一帧解析模块对Ack帧进行解析,具体步骤如下:
6.13.1第i个边缘节点的第一帧解析模块收到Ack后,读取Ack帧中的信息并记录,其中包含源地址source、目的地址destination、类型type、持续时间duration;
6.13.2第i个边缘节点的第一帧解析模块将Ack帧的记录信息传递给第一控制模块。
6.13.3第i个边缘节点的第一控制模块遍历第三步生成的待发队列表,根据Ack帧的记录信息中的序列号找到待发队列表中与序列号符合的数据帧,记录该数据帧发送结果,令have_send=have_send+1;
6.13.4第i个边缘节点的第一控制模块判断已发送的数据帧数量是否小于要发送的数据帧数量,即判断have_send<m_tosend是否成立,如果成立,说明第i个边缘节点仍有数据待发,则令sequence=Ack帧的sequence+1,转6.1.3,传输下一个待发数据;否则,第i个边缘节点的所有数据传输完成,第i个边缘节点转2.3,AP节点转6.13.5;
6.13.5令第二时间t2=系统时间,若t2-t1=duration,说明QI表中的第i条记录信息所指向的第i个边缘节点与AP节点的数据传输完成,AP节点的第二控制模块重新设置天线旋转速度TurningSpeed为r转每秒,令i=i+1,若i≤N,转第5.2步;若i>N,则说明AP节点与网络内N个边缘节点的通信完成,清空QI表,转3.1,AP节点与N个边缘节点进行下一轮通信。
Claims (12)
1.一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于包括以下步骤:
第一步,构建一种基于单向握手的太赫兹组网介质访问控制的网络场景,该网络场景由一个AP节点和N个边缘节点组成,N为正整数;边缘节点的定向天线的波束方向始终指向AP节点,AP节点的天线通过定速旋转扫描信道实现通信链路的建立;
边缘节点为发送方,AP节点为接收方;发送方、接收方均由太赫兹网络层及上层、太赫兹MAC层、太赫兹物理层组成,发送方与接收方通过太赫兹信道连接;发送方的网络层及上层安装有数据生成模块,发送方的太赫兹MAC层安装有发送缓存模块、第一帧生成模块、第一发送模块、第一控制模块、第一帧解析模块、第一接收模块;接收方的网络层及上层安装有数据处理模块,接收方的太赫兹MAC层安装有第二帧生成模块、第二发送模块、第二控制模块、接收缓存模块、第二帧解析模块、第二接收模块;发送方和接收方的太赫兹物理层通过太赫兹无线信道进行连接;发送方、接收方以MAC层帧结构的形式传递数据,MAC层帧包含数据帧和控制帧两种;MAC层帧由发送方的第一帧生成模块与接收方的第二帧生成模块产生;MAC层帧由源地址、目的地址、类型、持续时间、序列号即sequence组成,包括Cts、WQI、QI、Data、Ack五种类型,Data是数据帧,另外四种是控制帧;
边缘节点网络层及上层的数据生成模块与边缘节点MAC层的发送缓存模块相连,数据生成模块用于生成待发数据并将生成的数据发送给发送缓存模块;
边缘节点MAC层的发送缓存模块与边缘节点网络层及上层的数据生成模块、边缘节点MAC层的第一控制模块、第一发送模块相连;发送缓存模块负责从数据生成模块接收M个数据,按序为所有数据创建数据类型帧头,构建数据帧;负责记录数据帧的相关信息并对数据帧的相关信息进行缓存,缓存好的数据帧的相关信息称为数据帧的记录信息,将数据帧的记录信息发送给第一控制模块,将数据帧发送给第一发送模块;
第一控制模块与边缘节点的太赫兹定向天线、边缘节点MAC层的发送缓存模块、第一帧生成模块、第一帧解析模块、第一发送模块相连;第一控制模块在边缘节点初始化时设定边缘节点的天线为发送模式,并调整相应参数;第一控制模块在边缘节点与AP节点进行第一次握手时从发送缓存模块接收数据帧的记录信息,将数据帧的记录信息存入第一控制模块创建的待发队列表;第一控制模块选取待发队列表中的第一个数据帧的记录信息,计算本轮通信持续时间;第一控制模块还负责向第一帧生成模块发送构造QI帧的指令,同时将待发队列表中的第一个数据帧的记录信息与本轮通信持续时间发送给第一帧生成模块;边缘节点与AP节点进行第一次握手时,第一控制模块负责从第一帧解析模块接收WQI帧的记录信息,将WQI帧的记录信息传递给第一帧生成模块,同时将发送QI帧的指令传递给第一帧生成模块;边缘节点与AP节点进行第三次握手时,第一控制模块从第一帧解析模块接收Cts帧的记录信息,将Cts帧的记录信息传递给第一发送模块,同时生成发送数据帧的指令并将发送数据帧的指令传递给第一发送模块;边缘节点与AP节点进行数据传输时,第一控制模块从第一帧解析模块接收Ack帧的记录信息,然后遍历待发队列表,根据Ack帧的记录信息中的序列号找到待发队列表中与Ack帧序列号相同的数据帧的记录信息,从待发队列表删除此数据帧的记录信息;
边缘节点MAC层的第一帧生成模块与第一控制模块、第一发送模块相连;边缘节点与AP节点进行第二次握手时,第一帧生成模块从第一控制模块接收到WQI帧的记录信息,提取其中的源地址信息,将其填入QI帧的目的地址字段;将边缘节点地址填入QI帧的源地址字段;第一帧生成模块从第一控制模块接收待发队列表的首个数据帧的记录信息,提取其中的序列号sequence信息,将其填入QI帧的目的序列号sequence字段;第一帧生成模块从第一控制模块接收本轮通信持续时间,将本轮通信持续时间填入QI帧的持续时间duration字段;将“QI”填入QI帧的类型字段;第一帧生成模块从第一控制模块接收到发送QI帧的指令后,将构造的QI帧传递给第一发送模块;
边缘节点MAC层的第一发送模块与边缘节点MAC层的发送缓存模块、第一帧生成模块、第一控制模块,AP节点MAC层的第二接收模块相连;边缘节点与AP节点进行第一次握手时,第一发送模块从第一帧生成模块接收QI帧,将QI帧发送给AP节点MAC层的第二接收模块;边缘节点与AP节点进行数据传输时,第一发送模块从第一控制模块收到Cts帧的记录信息和发送数据帧的指令后,负责从发送缓存模块中读取与Cts帧的记录信息的序列号相同的数据帧,并将与Cts帧的记录信息的序列号相同的数据帧发送给AP节点MAC层的第二接收模块;
边缘节点MAC层的第一接收模块与AP节点MAC层的第二发送模块、边缘节点MAC层的第一帧解析模块相连;边缘节点与AP节点进行第一次握手时,第一接收模块负责从AP节点MAC层的第二发送模块接收WQI帧,将WQI帧发送给第一帧解析模块;边缘节点与AP节点进行第三次握手时,第一接收模块负责从AP节点MAC层的第二发送模块接收Cts帧,将Cts帧发送给第一帧解析模块;边缘节点与AP节点双方进行数据传输时,第一接收模块从AP节点MAC层的第二发送模块接收Ack帧,将Ack帧发送给第一帧解析模块;
边缘节点MAC层的第一帧解析模块与边缘节点MAC层的第一接收模块、第一控制模块相连;边缘节点与AP节点进行第一次握手时,第一帧解析模块从第一接收模块接收WQI帧,对WQI帧进行解析得到WQI帧的记录信息;边缘节点与AP节点进行第三次握手时,第一帧解析模块从第一接收模块接收Cts帧,对Cts帧进行解析得到Cts帧的记录信息;边缘节点与AP节点双方进行数据传输时,第一帧解析模块负责从第一接收模块接收Ack帧,对Ack帧进行解析得到Ack帧的记录信息;
AP节点MAC层的第二接收模块与边缘节点MAC层的第一发送模块、AP节点MAC层的第二帧解析模块相连;边缘节点与AP节点进行第二次握手时,第二接收模块负责从第一发送模块接收QI帧,将QI帧发送给第二帧解析模块;边缘节点与AP节点双方进行数据传输时,第二接收模块负责从第一发送模块接收与Cts帧的记录信息中的序列号相同的数据帧,并将接收的数据帧发送给第二帧解析模块;
AP节点MAC层的第二帧解析模块与AP节点MAC层的第二接收模块、AP节点MAC层的接收缓存模块、AP节点MAC层的第二控制模块相连;边缘节点与AP节点进行第二次握手时,第二帧解析模块负责从第二接收模块接收QI帧,读取QI帧中的信息并记录,将QI帧的记录信息发送给第二控制模块,完成第二次握手;边缘节点与AP节点进行数据传输时,第二帧解析模块从第二接收模块接收数据帧,读取数据帧中的信息并记录,将数据帧的记录信息发送给第二控制模块;在数据接收完成后,第二帧解析模块从第二控制模块接收拆帧指令,根据拆帧指令将收到的数据帧拆除头部,将拆除头部的数据帧存入接收缓存模块;
AP节点MAC层的第二控制模块与AP节点MAC层的第二帧解析模块、AP节点的太赫兹定向天线、AP节点的第二帧生成模块相连;边缘节点与AP节点进行第一次握手时,第二控制模块生成发送WQI帧的指令,并发送给第二帧生成模块;边缘节点与AP节点进行第二次握手时,第二控制模块负责从第二帧解析模块接收QI帧的记录信息,构建存储QI帧的记录信息的QI表,向第二帧生成模块传递QI帧的记录信息,同时生成发送Cts帧的指令,将发送Cts帧的指令发送给第二帧生成模块;边缘节点与AP节点双方进行数据传输时,第二控制模块从第二帧解析模块接收数据帧的记录信息后,控制天线停止旋转,并在通信完成后控制天线重启旋转;边缘节点与AP节点进行数据传输时,第二控制模块从第二帧解析模块接收数据帧的记录信息,向第二帧生成模块传递数据帧的记录信息,同时生成发送Ack帧的指令,将发送Ack帧的指令发送给第二帧生成模块,并向第二帧解析模块发送拆帧指令;
AP节点MAC层的第二帧生成模块与AP节点MAC层的第二控制模块、AP节点MAC层的第二发送模块相连;边缘节点与AP节点进行第一次握手时,第二帧生成模块从第二控制模块接收发送WQI帧的指令,生成WQI帧,将WQI帧发送给第二发送模块;边缘节点与AP节点进行第三次握手时,第二帧生成模块从第二控制模块接收QI帧的记录信息与发送Cts帧的指令后,根据QI帧的记录信息生成Cts帧,将Cts帧发送给第二发送模块;边缘节点与AP节点双方进行数据传输时,第二帧生成模块从第二控制模块接收数据帧的记录信息与发送Ack帧的指令后,根据数据帧的记录信息生成Ack帧,将Ack帧发送给第二发送模块;
AP节点MAC层的第二发送模块与AP节点MAC层的第二帧生成模块、边缘节点的第一接收模块相连;边缘节点与AP节点进行第一次握手时,第二发送模块从第一帧生成模块接收WQI帧,将WQI帧发送给边缘节点的第一接收模块;边缘节点与AP节点进行第二次握手时,第二发送模块从第一帧生成模块接收Cts帧,将Cts帧发送给边缘节点的第一接收模块;边缘节点与AP节点进行数据传输时,第二发送模块从第二帧生成模块接收Ack帧,将Ack帧发送给边缘节点的第一接收模块;
第二步,AP节点与N个边缘节点并行进行初始化操作;AP节点按2.1的流程进行初始化,第二控制模块设定AP节点的天线为接收模式,并调整相应参数,准备接收数据;同时N个边缘节点按2.2的流程进行初始化,第一控制模块设定边缘节点的天线为发送模式,调整相应参数;然后N个边缘节点按2.3的流程准备发送数据;
2.1AP节点初始化,第二控制模块设定AP节点的天线为接收模式,并调整相应参数,具体步骤如下:
2.1.1设定AP节点的天线状态为接收模式;
2.1.2设定AP节点的天线初始角度InitialAngle为0°;
2.1.3设定AP节点的天线波束宽度beamwidthDegrees为p°,0<p<180;
2.1.4设定AP节点的天线初始覆盖范围m_rxIniAngle=InitialAngle+beamwidthDegrees;
2.1.5设定AP节点的天线转速TurningSpeed为r转每秒,r为正整数;
2.1.6AP节点天线参数设定,方法是:
2.1.6.1设定AP节点的天线旋转一圈所需时间tCircle=1/TurningSpeed秒;
2.1.6.2设定扇区个数为nSector=360°/beamwidthDegrees;
2.1.6.3设定天线对准每个扇区的时长tSector=tCircle/nSector;
2.1.7令本轮通信已传输的数据帧数量初始值have_send=0;
2.1.8AP节点初始化完成,AP节点转第三步,进行第一次握手;
2.2在AP节点初始化的同时,N个边缘节点并行进行初始化,N个边缘节点的第一控制模块并行设定边缘节点的天线为发送模式,并调整相应参数,N个边缘节初始化方法相同,其中第i个边缘节点的初始化方法如下:
2.2.1设定第i个边缘节点的天线为传输模式并将天线指向AP节点所在位置;
2.2.2设定第i个边缘节点的天线波束宽度=AP节点的天线波束宽度beamwidthDegrees;
2.2.3第i个边缘节点初始化完成,等待来自网络层及上层的数据,转2.3步;
2.3第i个边缘节点产生数据传输需求,进行待发数据处理,得到待发队列表m_pktQueue,方法是:
2.3.1设置初始化序列号m_sequence为0,第i个边缘节点网络层及上层的数据生成模块将M个数据发送给发送缓存模块;M为正整数;
2.3.2第i个边缘节点的发送缓存模块判定是否从网络层及上层的数据生成模块接收到M个数据,若接收到,转2.3.3;若未接收到,转2.3.2等待数据;
2.3.3按序为M个数据创建数据类型帧头,存储数据帧的记录信息,将数据帧的记录信息发送给第i个边缘节点的第一控制模块,具体步骤如下:
2.3.3.1发送缓存模块创建数据类型帧头,并设置相应参数,令THzMacHeader header=THzMacHeader(m_address,dest,Data),其中THzMacHeader header指太赫兹MAC类型的帧头,m_address指边缘节点地址即源地址,dest指目的地址,Data指帧的类型为数据帧;
2.3.3.2设置当前数据帧序列号为m_sequence=m_sequence+1;
2.3.3.3将创建的帧头加入序列号为m_sequence的数据帧;
2.3.4发送缓存模块记录序列号为m_sequence的数据帧的记录信息,包括数据长度rec.RecSize、数据帧入队时间rec.RecTime、数据帧序列号rec.RecSeq、数据帧重传次数rec.RecRetry、持续时间duration;
2.3.5第i个边缘节点的发送缓存模块将数据帧的记录信息发送给第i个边缘节点的第一控制模块;
2.3.6第i个边缘节点的第一控制模块接收发送缓存模块发来的数据帧的记录信息,创建待发队列表m_pktQueue,m_pktQueue中的每一项包括:rec.RecSize;rec.RecTime;rec.RecSeq;rec.RecRetry,将收到的记录信息录入到m_pktQueue中;
2.3.7第i个边缘节点的发送缓存模块判断m_sequence<M是否成立,如果成立,说明从边缘节点网络层及上层的数据生成模块收到的数据未处理完,转2.3.3.1;如果m_sequence=M,第i个边缘节点的发送缓存模块转2.3.2继续等待数据生成模块发来的数据,第i个边缘节点的第一接收模块、第一帧解析模块、第一控制模块、第一帧生成模块、第一发送模块转第三步与AP节点进行握手;
第三步,AP节点与第i个边缘节点进行第一次握手,即AP节点按边缘节点所处位置依次向N个边缘节点发送WQI帧,依次收集N个边缘节点的待发队列表信息,具体方法如下;
3.1令边缘节点序号i=1;
3.2AP节点的天线按照r转/s的速度进行旋转,若旋转的度数等于p°,AP节点的第二控制模块向第二帧生成模块传递发送WQI帧的指令,若AP节点的天线与N个边缘节点中的第i个边缘节点的天线对准,转3.3;若AP节点的天线与N个边缘节点中的第i个边缘节点的天线未对准,转3.2;
3.3AP节点的第二帧生成模块生成WQI帧,将WQI帧传递给AP节点的第二发送模块;
3.4AP节点的第二发送模块向物理层传输WQI帧,该帧经由太赫兹无线信道到达第i个边缘节点的物理层;
3.5第i个边缘节点的物理层从太赫兹无线信道接收到WQI帧,将WQI帧传递给第i个边缘节点的第一接收模块;
3.6第i个边缘节点的第一接收模块将WQI帧传递给第一帧解析模块;
3.7第i个边缘节点的第一帧解析模块从第一接收模块接收WQI帧;
3.8第i个边缘节点的第一帧解析模块读取WQI帧中的信息并记录,得到WQI帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
3.9第i个边缘节点的第一帧解析模块将WQI帧的记录信息传递给第i个边缘节点的第一控制模块,完成了AP节点与第i个边缘节点的第一次握手;
第四步,第i个边缘节点与AP节点进行第二次握手,即第i个边缘节点向AP节点发送QI帧,方法是:
4.1第i个边缘节点的第一控制模块判断是否从第i个边缘节点的第一帧解析模块接收到WQI帧的记录信息,若收到,转4.2;若未收到,转4.1;
4.2第i个边缘节点的第一控制模块从待发队列表中选取第一个数据帧的记录信息,包括第一个待发数据帧m_pktData、本轮通信要传输的数据帧个数m_tosend、所有待发数据的总长度m_tosendlength、传输所有待发数据的传输时间m_tosendTxduration;计算本轮通信的持续时间duration;向第i个边缘节点的第一帧生成模块发送QI帧的生成指令,同时将待发队列表m_pktQueue的第一个数据帧的记录信息与duration发送给第i个边缘节点的第一帧生成模块;
4.3第一帧生成模块生成QI帧,将生成的QI帧发送给第一发送模块;
4.4第i个边缘节点的第一发送模块向物理层传输QI帧,该帧经由太赫兹无线信道到达AP节点的物理层;
4.5AP节点的物理层从太赫兹无线信道接收QI帧,将QI帧传递给AP节点的第二接收模块;
4.6AP节点的第二接收模块将QI帧发送给第二帧解析模块;
4.7AP节点的第二帧解析模块从AP节点的第二接收模块接收QI帧;
4.8AP节点的第二帧解析模块读取QI帧中的信息,得到QI帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
4.9AP节点的第二帧解析模块将QI帧的记录信息传递给AP节点的第二控制模块;
4.10AP节点的第二控制模块接收QI帧的记录信息,创建用于存储N个边缘节点的待发队列表信息的QI表,并将收到QI帧的记录信息录入QI表,QI表第i个表项的内容为源地址source、目的地址destination、类型type、持续时间duration;此时AP节点与第i个边缘节点的第二次握手完成,AP节点接收到了来自第i个边缘节点的QI帧;
4.11令i=i+1,若i≤N,转步骤3.2;若i>N,转步骤4.12;
4.12此时i=N+1,表示AP节点的天线旋转完了一圈,AP节点的第二控制模块停止向第二帧生成模块传递发送WQI帧的指令,AP节点的天线继续以r转/s的速率旋转,转第五步;
第五步,AP节点根据QI表的首个元素的源地址source与第i个边缘节点进行第三次握手,方法是:
5.1令i=1;
5.2AP节点的第二控制模块判断QI表是否为空,如不空,则读取QI表中的第i条记录信息,准备向QI表中首个元素的source指向的第i个边缘节点发送Cts帧,允许第i个边缘节点访问信道,转5.3;如果QI表为空,转3.1;
5.3AP节点的第二控制模块向第二帧生成模块传递发送Cts帧的指令和QI帧的记录信息;
5.4AP节点的第二帧生成模块接收发送Cts帧的指令和QI帧的记录信息,创建Cts帧,将生成的Cts帧发送给AP节点的第二发送模块;
5.5AP节点的第二发送模块向物理层传输Cts帧,Cts帧经由太赫兹无线信道模块到达第i个边缘节点的物理层;
5.6第i个边缘节点的物理层从AP节点的第二发送模块接收Cts帧,将Cts帧传递给第i个边缘节点的第一接收模块;
5.7第i个边缘节点的第一接收模块将Cts帧传递给第i个边缘节点的第一帧解析模块;
5.8第i个边缘节点的第一帧解析模块解析Cts帧,具体步骤如下:
5.8.1第i个边缘节点的第一帧解析模块接收Cts帧,读取Cts帧中的信息并记录,得到Cts帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration,序列号sequence;
5.8.2第i个边缘节点的第一帧解析模块将Cts帧的记录信息发送给第一控制模块,第三次握手完成,即第i个边缘节点收到了AP节点发送的Cts帧;
第六步,QI表中的首个元素的source指向的边缘节点即第i个边缘节点与AP节点进行数据传输,具体方法是:
6.1第i个边缘节点的第一控制模块将Cts帧的记录信息传递给第一发送模块,并向第一发送模块发送“发送数据帧的指令”,第i个边缘节点的第一发送模块向物理层传输序列号与sequence一致的数据帧,数据帧经由太赫兹无线信道到达AP节点的物理层,方法是:
6.1.1第i个边缘节点的第一控制模块将Cts帧的记录信息发送给第一发送模块,并向第一发送模块传递“发送数据帧的指令”;
6.1.2第一发送模块读取Cts帧的记录信息的sequence;
6.1.3第一发送模块从发送缓存模块读取序列号与sequence相同的数据帧;
6.1.4第i个边缘节点的第一发送模块修改该数据帧的持续时间字段duration;
6.2AP节点的物理层接收到该数据帧,将该数据帧传递给AP节点的第二接收模块;
6.3AP节点的第二接收模块将从物理层收到的数据帧传递给AP节点的第二帧解析模块;
6.4AP节点的第二帧解析模块对数据帧进行解析,将解析后得到的数据帧的记录信息传递给AP节点的第二控制模块,方法是:
6.4.1AP节点的第二帧解析模块收到数据帧后,读取数据帧中的信息并记录,得到数据帧的记录信息,包含源地址source、目的地址destination、类型type、持续时间duration;
6.4.2AP节点的第二帧解析模块将数据帧的记录信息传递给AP节点的第二控制模块,转步骤6.5;
6.5令第一时间t1=系统时间;AP节点的第二控制模块设定AP节点的天线转速为0,AP节点天线处于停止状态,天线指向QI表中的第i条记录信息所指向的边缘节点,通信链路建立;同时,AP节点的第二控制模块向AP节点的第二帧生成模块发送数据帧的记录信息,并向第二帧生成模块传递发送Ack的指令,转步骤6.9;同时,AP节点的第二控制模块向AP节点的第二帧解析模块发送拆帧指令,转步骤6.6;
6.6AP节点的第二帧解析模块根据拆帧指令对从第二接收模块收到的数据帧拆除头部,将拆除了头部的数据帧发送给接收缓存模块;
6.7接收缓存模块判断是否收到拆除了头部的数据帧,若收到,则对拆除了头部的数据帧进行存储,转6.8;若未收到拆除了头部的数据帧,接收缓存模块转6.7继续等待;
6.8网络层及上层的第二数据处理模块读取接收缓存模块中的数据帧,根据用户要求进行处理,处理完后转6.7;
6.9AP节点的第二帧生成模块创建Ack,将生成的Ack帧传递给AP节点的第二发送模块;
6.10AP节点的第二发送模块向物理层传输该Ack帧,Ack帧经由太赫兹无线信道模块到达第i个边缘节点的物理层;
6.11第i个边缘节点的物理层接收到该Ack帧,将Ack帧传递给第i个边缘节点的第一接收模块,
6.12第i个边缘节点的第一接收模块将Ack帧传递给第i个边缘节点的第一帧解析模块;
6.13第i个边缘节点的第一帧解析模块对Ack帧进行解析,具体步骤如下:
6.13.1第i个边缘节点的第一帧解析模块收到Ack后,读取Ack帧中的信息并记录,其中包含源地址source、目的地址destination、类型type、持续时间duration;
6.13.2第i个边缘节点的第一帧解析模块将Ack帧的记录信息传递给第一控制模块;
6.13.3第i个边缘节点的第一控制模块遍历第三步生成的待发队列表,根据Ack帧的记录信息中的序列号找到待发队列表中与序列号符合的数据帧,记录该数据帧发送结果,令have_send=have_send+1;
6.13.4第i个边缘节点的第一控制模块判断已发送的数据帧数量是否小于要发送的数据帧数量,即判断have_send<m_tosend是否成立,如果成立,说明第i个边缘节点仍有数据待发,则令sequence=Ack帧的sequence+1,转6.1.3;否则,第i个边缘节点的所有数据传输完成,第i个边缘节点转2.3,AP节点转6.13.5;
6.13.5令第二时间t2=系统时间,若t2-t1=duration,说明QI表中的第i条记录信息所指向的第i个边缘节点与AP节点的数据传输完成,AP节点的第二控制模块重新设置天线旋转速度TurningSpeed为r转每秒,令i=i+1,若i≤N,转第5.2步;若i>N,则清空QI表,转3.1。
2.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于第一步所述基于单向握手的太赫兹组网介质访问控制的网络场景大小为20m×20m,AP节点位于网络场景的中心,网络中N个边缘节点随机分布在AP节点周围10m范围内。
3.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于第一步所述MAC层帧的目的地址与源地址字段为收发双方的MAC地址;类型字段用于区分传输的帧的类型;持续时间字段是本次通信要占用的信道时长,计算公式:数据帧传输时间+数据帧传播时间+控制帧传输时间+控制帧传播时间,用于占用信道;传输时间是网络设备将MAC层帧推出所需要的时间,它是MAC层帧长度和链路传输速率的函数;传播时间是一个MAC层帧从一台设备向另一台设备传播所需要的时间,它是两台设备之间距离的函数;序列号字段为MAC层帧的唯一标识符。
4.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于2.1步所述AP节点初始化时p设置为26;r设置为为200转/s。
5.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于2.3.4步所述发送缓存模块记录序列号为m_sequence的数据帧的记录信息的方法是:
2.3.4.1令数据长度rec.RecSize=序列号为m_sequence的数据的实际长度;
2.3.4.2令数据帧入队时间rec.RecTime=系统当前时间;
2.3.4.3令数据帧序列号rec.RecSeq=m_sequence;
2.3.4.4令数据帧重传次数rec.RecRetry=0;
2.3.4.5令持续时间duration=数据包传输时间+数据包传播时间+Ack传输时间+Ack传播时间;数据包传输时间=数据包长度/第i个边缘节点传输带宽;数据包传播时间=帧传播时间×1;Ack传输时间=17字节/第i个边缘节点传输带宽;Ack传播时间=帧传播时间×1。
6.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于3.3步所述AP节点的第二帧生成模块生成WQI帧,将WQI帧传递给AP节点的第二发送模块的方法是:
3.3.1AP节点的第二帧生成模块生成WQI帧,具体步骤如下:
3.3.1.1第二帧生成模块创建WQI帧,即令THzMacHeaderwqiHeader=THzMacHeader(m_address,GetBroadcast,WQI,duration),其中THzMacHeaderwqiHeader是指创建的是太赫兹类型的WQI帧头,m_address为源地址即AP节点地址,GetBroadcast为数据帧的目的地址即广播地址,WQI指帧的类型为WQI;
3.3.1.2设置WQI帧序列号,即令wqiHeader.SetSequence=0;
3.3.1.3设置WQI帧持续时间duration,即令wqiHeader.SetDuration=0;
3.3.2第二帧生成模块将生成的WQI帧传递给AP节点的第二发送模块。
7.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于4.2步所述第i个边缘节点的第一控制模块从待发队列表中选取第一个数据帧的信息,方法是:
4.2.1读取待发队列表的第一个元素,即令首个待发数据帧m_pktData为待发队列表的首个数据帧的信息;
4.2.2第一控制模块根据待发队列表m_pktQueue长度确定本轮通信要传输的数据帧个数m_tosend,即令m_tosend=待发队列表m_pktQueue中元素的个数;
4.2.3第一控制模块遍历待发队列表m_pktQueue,获取所有待发数据的总长度,即待发队列表中m_tosend个元素的长度之和,记为m_tosendlength;
4.2.4第一控制模块计算传输所有待发数据的传输时间m_tosendTxduration,m_tosendTxduration=m_tosendlength/第i个边缘节点传输带宽;
4.2.5第一控制模块计算本轮通信的持续时间duration,duration=控制帧传输时间+控制帧传播时间+数据帧传输时间+数据帧传播时间,控制帧传输时间=控制帧长度即17字节×控制帧数量/第i个边缘节点传输带宽,控制帧数量=WQI帧个数1+QI帧个数1+Cts帧个数1+Ack帧个数m_tosend,Ack的数量与要传输的数据帧的数量相同,控制帧传播时间=控制帧数量×帧传播时间,数据帧传输时间=所有待发数据的传输时间=m_tosendTxduration,数据帧传播时间=m_tosend×帧传播时间。
8.如权利要求7所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于所述第i个边缘节点传输带宽要求大于等于100Gbps;所述帧传播时间为33.3ns。
9.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于4.3步所述第一帧生成模块生成QI帧的方法是:第一帧生成模块创建QI帧,将第一控制模块发来的待发数据的记录信息填到QI帧的头部,即令THzMacHeaderqiHeader=THzMacHeader(m_address,GetDestination,QI,duration,sequence),其中THzMacHeaderqiHeader是指创建的是太赫兹类型的QI帧头,m_address为边缘节点地址即源地址,GetDestination为可获取数据帧的目的地址,QI指帧的类型为QI,duration为4.2计算出的本轮通信持续时间,sequence=第4.2步第一帧生成模块收到的数据帧的记录信息中的序列号。
10.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于5.4步所述AP节点的第二帧生成模块创建Cts帧的方法是:AP节点的第二帧生成模块创建Cts帧,根据QI帧的记录信息填充Cts帧头部,即令THzMacHeaderctsHeader=THzMacHeader(source,destination,Cts,sequence),其中source为AP节点地址即源地址,destination为Cts帧的目的地址即为QI帧的源地址,Cts是指帧的类型为Cts,sequence=QI表中首个元素的sequence。
11.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于6.1.4步所述第i个边缘节点的第一发送模块修改该数据帧的持续时间字段duration的方法是:令duration=数据帧传输时间+数据帧传播时间+Ack帧传输时间+Ack帧传播时间;数据帧传输时间=数据帧长度/第i个边缘节点传输带宽;数据帧传播时间=帧传播时间×数据帧数量1;Ack帧传输时间=17字节/第i个边缘节点传输带宽;Ack帧传播时间=帧传播时间×Ack帧数量1。
12.如权利要求1所述的一种基于单向握手的太赫兹组网介质访问控制方法,其特征在于6.9步所述AP节点的第二帧生成模块创建Ack的方法是:
6.9.1AP节点的第二帧生成模块创建Ack,并将数据帧头部信息填入Ack头部,令THzMacHeaderAckHeader=THzMacHeader(source,destination,Ack),其中source为AP节点地址,destination为数据帧记录信息中的源地址source,Ack指帧的类型为Ack;
6.9.2AP节点的第二帧生成模块将序列号填充入该Ack帧,即令Ack帧的sequence=数据帧记录信息中的sequence,并设置持续时间,令ackHeader.SetDuration=0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163354.4A CN113890628B (zh) | 2021-09-30 | 2021-09-30 | 一种基于单向握手的太赫兹组网介质访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163354.4A CN113890628B (zh) | 2021-09-30 | 2021-09-30 | 一种基于单向握手的太赫兹组网介质访问控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113890628A true CN113890628A (zh) | 2022-01-04 |
CN113890628B CN113890628B (zh) | 2022-05-27 |
Family
ID=79004926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111163354.4A Active CN113890628B (zh) | 2021-09-30 | 2021-09-30 | 一种基于单向握手的太赫兹组网介质访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113890628B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005064672A (ja) * | 2003-08-08 | 2005-03-10 | Advanced Telecommunication Research Institute International | 無線ネットワークのための制御方法及び制御装置 |
CN106454873A (zh) * | 2016-09-29 | 2017-02-22 | 浙江工业大学 | 面向自组织太赫兹网络的辅助式有向通信方法及其网络构架 |
CN108124276A (zh) * | 2017-12-19 | 2018-06-05 | 重庆邮电大学 | 一种并行传输的太赫兹无线个域网双信道接入方法 |
-
2021
- 2021-09-30 CN CN202111163354.4A patent/CN113890628B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005064672A (ja) * | 2003-08-08 | 2005-03-10 | Advanced Telecommunication Research Institute International | 無線ネットワークのための制御方法及び制御装置 |
CN106454873A (zh) * | 2016-09-29 | 2017-02-22 | 浙江工业大学 | 面向自组织太赫兹网络的辅助式有向通信方法及其网络构架 |
CN108124276A (zh) * | 2017-12-19 | 2018-06-05 | 重庆邮电大学 | 一种并行传输的太赫兹无线个域网双信道接入方法 |
Non-Patent Citations (4)
Title |
---|
李桂林等: "基于太赫兹无线网络的高速MAC协议研究与实现", 《信息通信》 * |
李桂林等: "基于太赫兹无线网络的高速MAC协议研究与实现", 《信息通信》, no. 01, 15 January 2017 (2017-01-15) * |
杨文文等: "太赫兹通信研究进展", 《北京联合大学学报(自然科学版)》 * |
杨文文等: "太赫兹通信研究进展", 《北京联合大学学报(自然科学版)》, no. 04, 20 October 2015 (2015-10-20) * |
Also Published As
Publication number | Publication date |
---|---|
CN113890628B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101248689B (zh) | 通过cpri接口传输以太网分组 | |
JP5677307B2 (ja) | マルチキャスト通信のためのデータ速度適合の方法 | |
EP1528726A2 (en) | Ad-hoc network wireless communication system and method thereof | |
EP2434832A2 (en) | Communication method in an ieee 802.11 wireless lan environment | |
JP2006503479A (ja) | ワイヤードlanインフラストラクチャを用いたワイヤレスlanアクセス・ポイント間の協力 | |
WO2009026747A1 (en) | Method and apparatus for communicating over multiple networks | |
EP2178230A1 (en) | Performance improvement of dual mode devices for data over cable applications | |
CN113765584B (zh) | 一种基于双向握手的太赫兹组网介质访问控制方法 | |
WO2022012561A1 (zh) | 数据传输方法及装置 | |
CN113890628B (zh) | 一种基于单向握手的太赫兹组网介质访问控制方法 | |
Khan et al. | A reliable multicast MAC protocol for Wi-Fi Direct 802.11 networks | |
Kojima et al. | Necessary modifications on conventional IEEE802. 15.3 b MAC to achieve IEEE802. 15.3 c millimeter wave WPAN | |
TWI416903B (zh) | 於多重網路上進行通信之方法及裝置 | |
Fan et al. | Improved IEEE 802.11 point coordination function considering fiber-delay difference in distributed antenna systems | |
Edirisinghe et al. | An Adaptable Contention-free MAC Protocol for Full-duplex Split-plane Optical Wireless Network | |
KR100778346B1 (ko) | 교차 계층 최적화 기반의 매체접근제어 장치 및 그 방법 | |
CN103997755A (zh) | 无线设备信号传输方法及其装置 | |
US20230371102A1 (en) | Emlmr operation for p2p communication | |
US20240015812A1 (en) | Tdls discovery process for emlsr operation | |
Wang et al. | Efficient Synchronous MAC Protocols for Terahertz Networking in Wireless Data Center | |
WO2009026745A1 (en) | Method and apparatus for communicating in multiple modes | |
Stamenković et al. | System Architecture | |
Duan et al. | PQ-MAC: Exploiting Bidirectional Transmission Opportunities via Leveraging Peers’ Queuing Information for Full-Duplex WLAN | |
Yeong et al. | 802.11 a MAC layer: firmware/hardware co-design | |
TW202329716A (zh) | 多鏈路通信的方法和多鏈路設備 |
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 |