CN103595640B - 一种提取移动自组织网络mac层拓扑方法 - Google Patents

一种提取移动自组织网络mac层拓扑方法 Download PDF

Info

Publication number
CN103595640B
CN103595640B CN201310633623.8A CN201310633623A CN103595640B CN 103595640 B CN103595640 B CN 103595640B CN 201310633623 A CN201310633623 A CN 201310633623A CN 103595640 B CN103595640 B CN 103595640B
Authority
CN
China
Prior art keywords
node
subgraph
mac
coordinate
address
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.)
Expired - Fee Related
Application number
CN201310633623.8A
Other languages
English (en)
Other versions
CN103595640A (zh
Inventor
阮宗利
刘学通
王海南
彭晓燕
廖红舒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201310633623.8A priority Critical patent/CN103595640B/zh
Publication of CN103595640A publication Critical patent/CN103595640A/zh
Application granted granted Critical
Publication of CN103595640B publication Critical patent/CN103595640B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明属于移动自组织网络领域,具体涉及移动自组织网络所使用的MAC协议。首先对采集的数据进行过滤,然后提取所有剩下数据包MAC层中的MAC地址对,根据这些地址对,绘制出MAC层拓扑结构。搜集目标网络中通信的数据包,对这些数据包进行筛选,仅保留移动自组网中MAC帧是数据帧,提取出剩下数据包MAC层中MAC地址对,基于这些地址对能够提取出目标网络MAC层拓扑结构。

Description

一种提取移动自组织网络MAC层拓扑方法
技术领域
本发明属于移动自组织网络领域,具体涉及移动自组织网络所使用的MAC协议。
背景技术
移动自组织网络,是由若干可移动的通信节点构成的无固定设置的、可快速组建的多跳无线通信网络,它具有网络拓扑结构动态变化、自组织无中心节点、无线传输带宽有限等特点。通过观察网络拓扑结构,可以获知网络是否存在漏洞并对网络性能进行评估,也可以获知某区域节点是否密集。针对某区域的密集程度,可以选择适合的路由协议。在移动自组织网络中,当有节点出现故障,不能和其他节点通信的时候,网络管理员可以通过获取此时网络的拓扑结构,通过比较以前和现在的网络拓扑结构,找出可能出现故障的节点并及时的修复它。本专利是一种基于采集的数据提取出移动自组织网络的拓扑结构。
发明内容
本发明的目的在于提供一种提取MAC层拓扑结构的方法。
本发明的目的通过如下步骤实现:
S1、对采集的数据包进行筛选,过滤掉非测试网络的数据包,保留MAC帧是Data类型或Data QoS类型、MAC地址(源和目的)是单播地址的数据包,其中,所述的采集的数据包为目标网络中所有数据包;
S2、提取S1筛选下来的数据包的MAC地址对,若目的MAC地址是广播地址,则抛弃该数据包,否则把这对地址作为一个元素存入链表MACList中;
S3、创建一个一维数组MACadd[],用来存放所有的MAC地址,并记每个MAC地址在数组中的位置作为其索引号,记为Index,其中,有L个元素;
S4、根据S3所述的一维数组MACadd[]创建一个L*L的二维数组Adjac_MAC[][],所述Adjac_MAC[][]的横坐标表示源MAC地址,纵坐标表示目的MAC地址,所有元素值初始化为0,所述Adjac_MAC[][]中元素值表示源和目的MAC地址之间的发包数,遍历链表MACList中所有元素,更新邻接矩阵;
S5、根据S4所述更新后的邻接矩阵,绘制测试网络的拓扑结构,包括:
S51、确定子图个数,子图中的任意节点和其他子图中的每个节点都不存在链路,初始化subgraph=1,记索引号为1的节点为参考节点;
S52、反向遍历S51所述参考节点对应的行元素,若有元素值不为零,则标记该值列坐标对应的节点为已读,并以最后一个元素值不为零时,该值列坐标对应的节点为参考节点,执行步骤S52;
S53、遍历所有节点,查找是否存在没有被标记的,若都标记为已读,则执行步骤S54,若有未被标记的,则停止查找,以该节点为参考节点,且subgraph++,执行步骤S52;
S54、把每个节点的标记清零,设显示区域宽为width,高为height,存在链路的节点之间距离为r=width/3/sqrt(subgraph),根据subgraph,把显示区域划分为subgraph块,记索引号为1的节点为根节点,若subgraph为奇数,其坐标为X=width/2,Y=height/2,否则根节点的坐标为X=width*(subgraph+1)/(2*subgraph),Y=height/2;
S55、确定与根节点存在链路的节点坐标。先统计与根节点存在链路节点的个数,记为adjacentnum,令Q=π/4,若adjacentnum==1,Q=π/2,否则,dQ=π/2/(adjacentnum-1),与根节点存在链路的节点坐标为X'=X+r*cos(Q),Y'=Y+r*sin(Q),Q每次递增一个dQ,并标记每个节点为已读,令flag=1,dn=0;
S56、遍历所有节点,若所有节点均已被标记为已读,则结束,否则,执行flag*=-1,当其为-1时,表示与该节点存在链路的节点放在左边的子图,flag为1时,表示与该节点存在链路的节点放在右边的子图,并以该节点为根节点,若subgraph为奇数,根节点坐标为X=0.5*(subgraph+flag*dn)*width/subgraph,Y=height/2;否则,根节点的坐标为X=0.5*(subgraph+1+flag*dn)*width/subgraph,Y=height/2。flag==1时,dn+=2,表示左右子图都画完一次,执行步骤S55。
本发明的有益效果是:搜集目标网络中通信的数据包,对这些数据包进行筛选,仅保留移动自组网中MAC帧是数据帧,提取出剩下数据包MAC层中MAC地址对,基于这些地址对能够提取出目标网络MAC层拓扑结构。
附图说明
图1是提取MAC层拓扑结构流程图。
图2是一个基于AODV路由协议的移动自组网的拓扑图。每个圆代表一个节点,数字代表编号,每个边代表一条直达链路。
图3是802.11协议一般帧格式。
图4是802.11协议帧格式中Frame control字段具体格式。
具体实施方式
下面结合附图来说明本发明的具体实施方式:
创建一个移动移动自组织网络,基于AODV路由协议实验平台,MAC层采用802.11协议,通过互相发送ping命令产生数据。用Linux系统下Wireshark搜集数据,需开启混杂模式(mon0),这样才能收集覆盖范围内的所有数据包。在Windows下用Microsoft visual studio2008编写的程序对采集的数据进行分析,最后把程序整合到Wireshark下进行演示。
S1、如图2所示,构建一个移动自组织网络,由四个节点组成星形结构,采用基于AODV路由协议实验平台,MAC层采用802.11协议,帧格式如图3所示,互相发送ping命令产生数据。
S2、对收集的数据进行筛选。
S21、过滤掉非测试网络的数据包。采集数据的时候,是联入该网络进行采集的,即假设MAC层数据部分是未加密或已解密的,而其他网络大多数都是加密的。所以,若数据包MAC层数据部分加密了,则认为是非测试网络的数据包。在接收的PCAP文件中,若MAC层数据部分未加密或已解密,则数据包中逻辑链路控制字段8个字节都为“aa、aa、03、00、00、00、08、00”(十六进制表示),提取出每个数据包该字段的值,若有一个比特不相符,则认为该数据包不是目标网络产生的。
S22、只保留MAC帧是Data类型或Data QoS类型、MAC地址(源和目的)是单播地址的数据包。在MAC帧头部Frame control字段(见图4)中,有种类和子类两部分,种类有控制帧(01),管理帧(00),数据帧(10)。设一个数据包Frame control字段低8位的值赋给macFrameType,若(macFrameType&0x0C)==0x08,则保留,否则都抛弃。
S3、提取筛选下来的数据包的MAC地址对(SA表示源MAC地址、DA表示目的MAC地址),若目的MAC地址是广播地址,即255.255.255.255(十进制),则抛弃该数据包,否则把这对地址作为一个元素存入链表MACList中;
S4、动态创建一个一维数组MACadd[],用来存放所有MAC地址。遍历链表MACList中每个元素,判断其中的MAC地址是否已在数组中。若数组MACadd[]中没有某MAC地址,则加入;若已存在,则不加。并记每个MAC地址在数组中的位置作为其索引号,记为Index。
S5、根据一维数组MACadd[],元素个数记为L,创建一个L*L二维数组Adjac_MAC[][],横坐标表示源MAC地址,纵坐标表示目的MAC地址,所有元素值初始化为0。数组中元素值表示源和目的MAC地址之间发包数。遍历链表MACList,链表中每个元素(MAC地址对)的源MAC地址记为SA、目的MAC地址记为DA,通过更新邻接矩阵中对应的元素,即Adjac_MAC[Index[SA]][Index[DA]]++。
S6、绘制测试网络的拓扑结构。绘制拓扑图的步骤如下:
A:确定有几个子图,子图中的任意节点和其他子图中的每个节点都不存在链路。初始化subgraph=1,记索引号为1的节点为参考节点。
B:反向遍历参考节点对应的行元素,若有元素值不为零,则标记该值列坐标对应的节点为已读,并以最后一个元素值不为零时,该值列坐标对应的节点为参考节点,执行步骤B。
C:遍历所有节点,查找是否存在没有被标记的,若都标记为已读,则执行步骤D,若有未被标记的,则停止查找,以该节点为参考节点,且subgraph++,执行步骤B。
D:把每个节点的标记清零,设显示区域宽为width,高为height,存在链路的节点之间距离为r=width/3/sqrt(subgraph)。根据subgraph,把显示区域划分为subgraph块。记索引号为1的节点为根节点,若subgraph为奇数,其坐标为X=width/2,Y=height/2;否则根节点的坐标为X=width*(subgraph+1)/(2*subgraph),Y=height/2。
E:确定与根节点存在链路的节点坐标。先统计与根节点存在链路节点的个数,记为adjacentnum,令Q=π/4。若adjacentnum==1,Q=π/2,;否则,dQ=π/2/(adjacentnum-1)。与根节点存在链路的节点坐标为X'=X+r*cos(Q),Y'=Y+r*sin(Q),Q每次递增一个dQ,并标记每个节点为已读,令flag=1,dn=0。
F:遍历所有节点,若所有节点均已被标记为已读,则结束;否则,执行flag*=-1,当其为-1时,表示与该节点存在链路的节点放在左边的子图,flag为1时,表示与该节点存在链路的节点放在右边的子图,并以该节点为根节点,若subgraph为奇数,根节点坐标为X=0.5*(subgraph+flag*dn)*width/subgraph,Y=height/2;否则,根节点的坐标为X=0.5*(subgraph+1+flag*dn)*width/subgraph,Y=height/2。flag==1时,dn+=2,表示左右子图都画完一次。执行步骤E。

Claims (1)

1.一种提取移动自组织网络MAC层拓扑方法,其特征在于,包括如下步骤:
S1、对采集的数据包进行筛选,过滤掉非测试网络的数据包,保留MAC帧是Data类型或Data QoS类型、MAC地址是单播地址的数据包,其中,所述的采集的数据包为目标网络中所有数据包;
S2、提取S1筛选下来的数据包的MAC地址对,若目的MAC地址是广播地址,则抛弃该数据包,否则把这对地址作为一个元素存入链表MACList中;
S3、创建一个一维数组MACadd[],用来存放所有的MAC地址,并记每个MAC地址在数组中的位置作为其索引号,记为Index,其中,有L个元素;
S4、根据S3所述的一维数组MACadd[]创建一个L*L的二维数组Adjac_MAC[][],所述Adjac_MAC[][]的横坐标表示源MAC地址,纵坐标表示目的MAC地址,所有元素值初始化为0,所述Adjac_MAC[][]中元素值表示源和目的MAC地址之间的发包数,遍历链表MACList中所有元素,更新邻接矩阵;
S5、根据S4所述更新后的邻接矩阵,绘制测试网络的拓扑结构,包括:
S51、确定子图个数,子图中的任意节点和其他子图中的每个节点都不存在链路,初始化subgraph=1,记索引号为1的节点为参考节点;
S52、反向遍历S51所述参考节点对应的行元素,若有元素值不为零,则标记该值列坐标对应的节点为已读,并以最后一个元素值不为零时,该值列坐标对应的节点为参考节点,执行步骤S52;
S53、遍历所有节点,查找是否存在没有被标记的,若都标记为已读,则执行步骤S54,若有未被标记的,则停止查找,以该节点为参考节点,且subgraph++,执行步骤S52;
S54、把每个节点的标记清零,设显示区域宽为width,高为height,存在链路的节点之间距离为r=width/3/sqrt(subgraph),根据subgraph,把显示区域划分为subgraph块,记索引号为1的节点为根节点,若subgraph为奇数,其坐标为X=width/2,Y=height/2,否则根节点的坐标为X=width*(subgraph+1)/(2*subgraph),Y=height/2;
S55、确定与根节点存在链路的节点坐标,先统计与根节点存在链路节点的个数,记为adjacentnum,令Q=π/4,若adjacentnum==1,Q=π/2,否则,dQ=π/2/(adjacentnum-1),与根节点存在链路的节点坐标为X'=X+r*cos(Q),Y'=Y+r*sin(Q),Q每次递增一个dQ,并标记每个节点为已读,令flag=1,dn=0,其中,所述Q表示旋转角度,dn表示已标记的节点个数;
S56、遍历所有节点,若所有节点均已被标记为已读,则结束,否则,执行flag*=-1,当其为-1时,表示与该节点存在链路的节点放在左边的子图,flag为1时,表示与该节点存在链路的节点放在右边的子图,并以该节点为根节点,若subgraph为奇数,根节点坐标为X=0.5*(subgraph+flag*dn)*width/subgraph,Y=height/2;否则,根节点的坐标为X=0.5*(subgraph+1+flag*dn)*width/subgraph,Y=height/2,flag==1时,dn+=2,表示左右子图都画完一次,执行步骤S55。
CN201310633623.8A 2013-11-29 2013-11-29 一种提取移动自组织网络mac层拓扑方法 Expired - Fee Related CN103595640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310633623.8A CN103595640B (zh) 2013-11-29 2013-11-29 一种提取移动自组织网络mac层拓扑方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310633623.8A CN103595640B (zh) 2013-11-29 2013-11-29 一种提取移动自组织网络mac层拓扑方法

Publications (2)

Publication Number Publication Date
CN103595640A CN103595640A (zh) 2014-02-19
CN103595640B true CN103595640B (zh) 2016-08-17

Family

ID=50085629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310633623.8A Expired - Fee Related CN103595640B (zh) 2013-11-29 2013-11-29 一种提取移动自组织网络mac层拓扑方法

Country Status (1)

Country Link
CN (1) CN103595640B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945368B (zh) * 2014-04-03 2017-06-30 电子科技大学 一种确定移动自组织网络中ip地址与mac地址的方法
CN109104339A (zh) 2017-06-21 2018-12-28 富士通株式会社 信息传输方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009146132A2 (en) * 2008-04-04 2009-12-03 Powerwave Cognition, Inc. Methods and systems for a mobile, broadband, routable internet
CN102291852A (zh) * 2011-08-01 2011-12-21 湖南立森数据技术有限公司 一种基于无线自组网络的数据终端以及数据访问方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009146132A2 (en) * 2008-04-04 2009-12-03 Powerwave Cognition, Inc. Methods and systems for a mobile, broadband, routable internet
CN102291852A (zh) * 2011-08-01 2011-12-21 湖南立森数据技术有限公司 一种基于无线自组网络的数据终端以及数据访问方法

Also Published As

Publication number Publication date
CN103595640A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
Motamedi et al. A survey of techniques for internet topology discovery
CN105262687B (zh) 一种基于wia-pa技术的用电信息采集系统组网通信方法
CN102185749B (zh) 采用树形拓扑关系避免路由环路的方法
CN106162795B (zh) 利用逻辑区域坐标的无线物联网的自我组网和路由方法
CA2640842A1 (en) Virtual root bridge
CN100366000C (zh) 一种基于SNMP的IPv6传感器网络节点管理方法
CN102594885B (zh) 传感器网络解析互通平台、传感器网络互通方法及系统
CN103595640B (zh) 一种提取移动自组织网络mac层拓扑方法
CN106301921A (zh) 基于隧道的大象流量传输调度方法及系统
CN108768691A (zh) 基于snmp协议的以太网自动拓扑发现及成环定位检测系统
CN106982164A (zh) 一种网络拓扑发现方法及设备
CN103813372B (zh) 一种基于IPv6的无线传感器网络管理方法
Wahyono et al. Optimization Service Discovery in Wireless Balloon Network
CN109639510A (zh) 一种基于子网分析的区域PoP划分方法
CN106452827A (zh) 一种混合cdp、lldp与fdb数据的网络拓扑计算方法
Kothari et al. Implementation of black hole security attack using malicious node for enhanced-dsr routing protocol of manet
Shavitt et al. Quantifying the importance of vantage point distribution in internet topology mapping (extended version)
Huang et al. A backbone-aware topology formation (BATF) scheme for ZigBee wireless sensor networks
CN101414980B (zh) 主干路由系统的三色环网络结构设计及维护方法
CN107948202A (zh) 基于IPv6的数据传输方法和数据传输系统
Dhawan et al. Optimize the routing protocol (GRP, OLSR, DSR) using OPNET & its performance evaluation
CN112039988A (zh) 一种基于IPv6网络的智慧校园平台
Li A method of network topology visualization based on SNMP
CN202353819U (zh) 无线传感器网络侦听系统
CN104980324B (zh) 内容网络上隧道的建立方法、通信方法及相关系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817

Termination date: 20181129