有效
一种基于单向握手的太赫兹组网介质访问控制方法
韩彪、王韬、王鹏程、赵宝康、时向泉、虞万荣、魏子令、林继森
中国人民解放军国防科技大学
摘要
本发明公开了一种基于单向握手的介质访问控制方法,目的是解决丢包率较高、服务质量无法确保的问题。技术方案是构建一种基于单向握手的太赫兹组网介质访问控制的网络场景;AP节点与N个边缘节点并行初始化;AP节点天线以r转/s的速率旋转360°,与N个边缘节点轮流进行前两次握手;AP节点天线再次以r转/s的速率旋转,根据QI表的首个元素的源地址与第i个边缘节点进行第三次握手,握手后AP节点的天线对准第i个边缘节点并停转;第i个边缘节点与AP节点进行通信,直到第i个边缘节点的数据传输完成;AP节点天线重启旋转,与第i+1个边缘节点进行通信。本发明通过控制天线的停转,有效降低了丢包率,确保了服务质量。
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帧的记录信息,将发送QI帧的指令传递给第一帧生成模块;边缘节点与AP节点进行第三次握手时,第一控制模块从第一帧解析模块接收Cts帧的记录信息,将Cts帧的记录信息传递给第一发送模块,同时生成发送数据帧的指令并将发送数据帧的指令传递给第一发送模块;边缘节点与AP节点进行数据传输时,第一控制模块从第一帧解析模块接收Ack帧的记录信息,然后遍历待发队列表,根据Ack帧的记录信息中的序列号找到待发队列表中与Ack帧序列号相同的数据帧的记录信息,从待发队列表删除此数据帧的记录信息;边缘节点MAC层的第一帧生成模块与第一控制模块、第一发送模块相连;边缘节点与AP节点进行第二次握手时,将边缘节点地址填入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个边缘节点的初始化方法如下,i为正整数且i≤N: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。
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),其中THzMacHeader wqiHeader是指创建的是太赫兹类型的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帧,将第一控制模块发来的待发队列表m_pktQueue的第一个数据帧的记录信息填到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。



