1.一种下一代无线网络的地址配置实现方法,其特征在于,所述无线网络包括三类节点:已配置节点,半配置节点和新节点;其中,已配置节点为具有路由转发功能且已配置地址的节点,半配置节点为具有路由转发功能且产生的地址正在进行地址重复检测过程中的节点,新节点为未配置地址的节点;所述无线网络作为末端网络通过接入路由器连接到互联网;已配置节点和半配置节点同时承担路由路径的中间节点的功能;
所述无线网络的IPv6地址由两部分组成,第一部分是全局路由前缀,长度为128-i-j比特,唯一标识一个无线网络,一个无线网络中所有节点的全局路由前缀都相同,与所连接的接入路由器的全局路由前缀相同;第二部分为随机ID,唯一标识一个节点,随机ID由地址重复检测ID和节点ID构成,其中地址重复检测ID长度为i比特,随机产生,用于地址的重复地址检测,节点ID长度为j比特,随机产生,用于确保节点地址的唯一性;i和j为正整数,随机ID作为链路地址,其长度为16比特或者64特比,即i+j=16或者i+j=64;
i
接入路由器的随机ID为1;节点的地址重复检测ID取值范围为[1,2-1],当节点的地i j址重复检测ID取值为上限2-1时,节点ID的取值范围为[1,2-2],当节点的地址重复检i j测ID的取值范围为[1,2-2]时,节点ID的取值范围为[1,2-1];接入路由器的IPv6地址为预先设置;
新节点通过信标帧来实现地址配置,其中信标帧负载的前三个比特定义信标帧的负载内容和通信方式,如表1所示:表1:
2.根据权利要求1所述的下一代无线网络的地址配置实现方法,其特征在于,初始状态下,一个无线网络中每个节点均为新节点且具有一个无线网络唯一性的ID;新节点在地址配置之前采用具有无线网络唯一性的ID作为临时链路地址;
所述无线网络启动后,接入路由器在一跳范围内广播类型为000的信标帧,信标帧负载为接入路由器的全局路由前缀;新节点获取地址转变为已配置节点后,在一跳范围内广播类型为000的信标帧,信标帧负载为自己的全局路由前缀;
新节点启动后,通过接收邻居接入路由器或者已配置节点广播的类型为000的信标帧获取当前无线网络的全局路由前缀,然后通过下述过程实现地址配置:步骤101:开始;
步骤102:新节点随机产生一个地址重复检测ID和节点ID,其中随机产生的地址重复检测ID满足下述两个条件:条件1:与新节点接收到的所有类型为010的信标帧负载中的地址重复检测ID都不同;
条件2:与新节点的所有邻居已配置节点的地址重复检测ID都不同;
步骤103:新节点在无线网络内广播一个类型为010的信标帧,信标帧负载为获取的全局路由前缀和满足上述两个条件的地址重复检测ID,信标帧的源链路地址为新节点的临时链路地址,然后将自己标记为半配置节点;.
步骤104:无线网络中已配置节点收到新节点的类型为010的信标帧后,转发该信标帧,同时判断已配置节点的全局路由前缀和地址重复检测ID是否与信标帧中的全局路由前缀和地址重复检测ID相同,如果相同,则进行步骤105,否则进行步骤106;
步骤105:已配置节点向新节点单播返回一个类型为001的信标帧,信标帧的源地址为自己的链路地址,信标帧负载为空;
步骤106:无线网络中半配置节点收到新节点的类型为010的信标帧后,转发该信标帧,同时判断半配置节点的全局路由前缀和随机产生的地址重复检测ID是否与信标帧中的全局路由前缀和地址重复检测ID相同,如果相同,则进行步骤107;否则进行步骤108;
步骤107:半配置节点向新节点单播返回一个类型为001的信标帧,信标帧负载为该半配置节点随机产生的地址重复检测ID和节点ID,信标帧源地址为该半配置节点的临时链路地址;
步骤108:在规定时间后,新节点检测所有收到的类型为001的信标帧,判断自己产生的地址重复检测ID和节点ID是否与无线网络内的已配置节点的地址重复检测ID和节点ID相同,如果是,执行步骤102,否则进行步骤109;
步骤109:新节点判断自己产生的地址重复检测ID和节点ID是否与无线网络内的半配置节点的地址重复检测ID和节点ID相同,如果是,执行步骤110,否则进行步骤111;
步骤110:新节点比较它与所有与自己具有相同的地址重复检测ID和节点ID的半配置节点的临时链路地址,判断自己的临时链路地址是否小于所述半配置节点的临时链路地址,如果是,进行步骤111,否则进行步骤102;
步骤111:新节点将自己标记为已配置节点,同时将步骤102中产生的地址重复检测ID和节点ID与获取的全局路由前缀相结合获取了具有网络唯一性的IPv6地址;
步骤112:结束;
无线网络中所有新节点执行步骤101~步骤112过程直到所有节点获取具有全球唯一性的地址为止,此时无线网络初始化结束;
步骤108中,规定时间为α·d·t,其中α为调节系数,d为网络直径,t为一个信标帧的一跳延迟;
步骤102中,新节点产生的地址重复检测ID与无线网络内的已配置节点或者半配置节点的地址重复检测ID相同的概率如下所示:i+j
假设地址重复检测ID和节点ID的比特长度为m,其中m=2 ,那么在无线网络中k个具有相同链路地址的概率P(m,k)如公式(1)所示:利用斯特林公式(2),将公式(1)简化为公式(3):
根据公式(3)推导公式(4),即无线网络中k个具有相同链路地址的概率P(m,k)趋于
0,即一个新节点通常执行一次上述地址配置过程即可获取具有全球唯一性的地址。
3.根据权利要求2所述的下一代无线网络的地址配置实现方法,其特征在于,无线网络初始化结束后,当一个新节点启动时,新节点采用具有无线网络唯一性的ID作为临时链路地址;
新节点通过接收邻居接入路由器或者已配置节点广播的类型为000的信标帧获取当前无线网络的全局路由前缀,然后通过下述过程实现地址配置:步骤201:开始;
步骤202:新节点随机产生n个地址重复检测ID和n个节点ID,n为大于1的正整数,一个地址重复检测ID对应一个节点ID形成n个二元组<地址重复检测ID,节点ID>,其中随机产生的n个地址重复检测ID满足下述两个条件:条件1:与新节点接收到的所有类型为011的信标帧负载中的地址重复检测ID都不同;
条件2:与新节点的所有邻居已配置节点的地址重复检测ID都不同;
步骤203:新节点在无线网络内广播一个类型为011的信标帧,信标帧负载为获取的全局路由前缀和满足上述两个条件的n个地址重复检测ID,信标帧的源链路地址为新节点的临时链路地址,然后将自己标记为半配置节点;.
步骤204:无线网络中已配置节点收到新节点的类型为011的信标帧后,转发该信标帧,同时判断它的全局路由前缀和地址重复检测ID是否与信标帧中的全局路由前缀和其中一个地址重复检测ID相同,如果相同,则进行步骤205;否则进行步骤206;
步骤205:已配置节点向新节点单播返回一个类型为001的信标帧,信标帧的源地址为已配置节点自己的链路地址,信标帧负载为空;
步骤206:无线网络中半配置节点收到新节点的类型为011的信标帧后,转发该信标帧,同时判断半配置节点自己的全局路由前缀和随机产生的地址重复检测ID是否与信标帧中的全局路由前缀以及一个或者多个地址重复检测ID相同,如果相同,则进行步骤207,否则进行步骤208;
步骤207:半配置节点向新节点单播返回一个类型为100的信标帧,信标帧负载为具有相同地址重复检测ID对应的二元组<地址重复检测ID,节点ID>,信标帧源地址为该节点的临时链路地址;
步骤208:在规定时间后,新节点检测所有收到的类型为001或者100的信标帧,判断自己产生的n个地址重复检测ID是否都被无线网络内的已配置节点和半配置节点占用,如果是,执行步骤210,否则进行步骤209;
步骤209:新节点任意选择一个没有被占用的二元组,执行步骤216;
步骤210:新节点判断n个二元组是否都被无线网络内的已配置节点和半配置节点占用,如果是,进行步骤212,否则进行步骤211;
步骤211:新节点选择一个二元组,该二元组的节点ID没有被与该二元组中地址重复检测ID相同的已配置节点或者半配置节点占用,执行步骤216;
步骤212:新节点判断是否存在一个只被已配置节点占用的地址重复检测ID且该地址重复检测ID对应的节点ID空间没有完全被占用,如果是,进行步骤213;否则进行步骤
214;
步骤213:新节点选择该地址重复检测ID对应的二元组,产生一个节点ID,该节点ID不等于任何与该二元组中地址重复检测ID相同的已配置节点的节点ID,用新产生的节点ID更新二元组,执行步骤216;
步骤214:新节点判断是否存在一个只被半配置节点占用且新节点的临时链路地址小于所有与该二元组中的地址重复检测ID相同的半配置节点的临时链路地址,如果是,进行步骤215,否则返回步骤202;
步骤215:新节点选择该二元组,执行步骤216;
步骤216:新节点将自己标记为已配置节点,同时将二元组中的地址重复检测ID和节点ID与获取的全局路由前缀相结合获取了具有网络唯一性的IPv6地址;
步骤217:结束。
4.根据权利要求2所述的下一代无线网络的地址配置实现方法,其特征在于,根据式(1)~公式(4)设置,任意两个节点产生相同地址重复检测ID和节点ID的概率为0;
新节点随机产生一个地址重复检测ID和节点ID,并广播类型为010的信标帧,如果一个中间节点M以一个已配置节点身份向新节点发送类型为001的信标帧企图阻止新节点配置地址,那么新节点通过下述步骤获取地址:步骤301:开始;
步骤302:新节点随机产生一个地址重复检测ID和节点ID,并广播类型为010的信标帧,信标帧负载为获取的全局路由前缀和地址重复检测ID;
步骤303:中间节点M收到类型为010的信标帧后,以一个已配置节点身份向新节点发送类型为001的信标帧,信标帧的源地址的地址重复检测ID与新节点的地址重复检测ID相同,源地址的节点ID随机产生;
步骤304:新节点收到中间节点M发送的类型为001的信标帧后,判断自己产生的地址重复检测ID和节点ID是否与中间节点M的地址重复检测ID和节点ID相同,如果相同,则进行步骤305,否则进行步骤306:步骤305:新节点丢弃原来的节点ID,重新生成一个节点ID且该节点ID与中间节点M的节点ID不同;
步骤306:新节点将自己标记为已配置节点,同时将自己的地址重复检测ID和节点ID与获取的全局路由前缀相结合获取具有网络唯一性的IPv6地址;
步骤307:结束;
新节点随机产生一个地址重复检测ID和节点ID,并广播类型为010的信标帧,如果中间节点M以一个半配置节点身份向新节点发送类型为001的信标帧企图阻止新节点配置地址,那么新节点通过下述步骤获取地址:步骤401:开始;
步骤402:新节点随机产生一个地址重复检测ID和节点ID,并广播类型为010的信标帧,信标帧负载为获取的全局路由前缀和地址重复检测ID;
步骤403:中间节点M收到类型为010的信标帧后,以一个半配置节点身份向新节点发送类型为001的信标帧,信标帧的负载为与新节点相同的地址重复检测ID以及随机产生的节点ID;
步骤404:新节点收到中间节点M发送的类型为001的信标帧后,判断自己产生的地址重复检测ID和节点ID是否与中间节点M产生的地址重复检测ID和节点ID相同,如果相同,则进行步骤405,否则进行步骤406:步骤405:新节点判断自己的临时链路地址是否小于中间节点M的临时链路地址,如果是,进行步骤406,否则进行步骤402;
步骤406:新节点将自己标记为已配置节点,同时将自己的地址重复检测ID和节点ID与获取的全局路由前缀相结合获取了具有网络唯一性的IPv6地址;
步骤407:结束。
5.根据权利要求3所述的下一代无线网络的地址配置实现方法,其特征在于,新节点随机产生n个二元组<地址重复检测ID,节点ID>,并广播类型为011的信标帧,如果中间节点M以一个已配置节点身份向新节点发送类型为001的信标帧企图阻止新节点配置地址,那么新节点通过下述步骤获取地址:步骤501:开始;
步骤502:新节点随机产生n个地址重复检测ID和n个节点ID,n为大于1的正整数,一个地址重复检测ID对应一个节点ID形成n个二元组<地址重复检测ID,节点ID>,新节点广播类型为011的信标帧,信标帧负载为获取的全局路由前缀和n个地址重复检测ID;
步骤503:中间节点M收到类型为011的信标帧后,以一个已配置节点身份向新节点发送类型为001的信标帧,信标帧的源地址的地址重复检测ID与新节点的地址重复检测ID相同,源地址的节点ID随机产生;;
步骤504:新节点收到中间节点M发送的类型为001的信标帧后,从n个二元组中选择一个二元组,该二元组的地址重复检测ID不等于中间节点M的地址重复检测ID,新节点将自己标记为已配置节点,同时将该二元组中的地址重复检测ID和节点ID与获取的全局路由前缀相结合获取了具有网络唯一性的IPv6地址;
步骤505:结束;
新节点随机产生n个二元组<地址重复检测ID,节点ID>,并广播类型为011的信标帧,如果中间节点M以一个半配置节点身份向新节点发送类型为100的信标帧企图阻止新节点配置地址,那么新节点通过下述算法获取地址:步骤601:开始;
步骤602:新节点随机产生n个地址重复检测ID和n个节点ID,n为大于1的正整数,一个地址重复检测ID对应一个节点ID形成n个二元组<地址重复检测ID,节点ID>,广播类型为011的信标帧,信标帧负载为获取的全局路由前缀和n个地址重复检测ID;
步骤603:中间节点M收到类型为011的信标帧后以一个半配置节点身份向新节点发送类型为100的信标帧,信标帧负载为n个二元组<地址重复检测ID,节点ID>,其中中间节点M的n个地址重复检测ID与新节点在011信标帧的n个地址重复检测ID完全相同,n个节点ID随机产生;
步骤604:新节点收到中间节点M发送的类型为100的信标帧后,判断自己的n个二元组是否与类型为100的信标帧中的n个二元组完全相同,如果是,进行步骤605,否则进行步骤607;
步骤605:新节点判断自己的临时链路地址是否小于中间节点的临时链路地址,如果是,则进行步骤606,否则进行步骤602;
步骤606:新节点随意选取一个二元组进行步骤608;
步骤607:新节点选取一个二元组,该二元组不包含在中间节点M发送的100的信标帧中;
步骤608:新节点将自己标记为已配置节点,同时将选取的二元组中的地址重复检测ID和节点ID与获取的全局路由前缀相结合获取了具有网络唯一性的IPv6地址;
步骤609:结束。