IPv6技术简析四篇

2024-08-06

IPv6技术简析 篇1

关键词:IPV4,IPV6,隧道,双协议栈,地址翻译

0 引言

IPv6已被认为是下一代互联网络协议核心标准之一,但是,一种新的协议从诞生到广泛应用需要一个过程,尤其是现在IPv4还很好地支撑着Internet。现在要实施IPv6网络,必须要充分考虑现有网络条件,充分利用现有条件构造下一代互联网,以避免过多的投资浪费。现在的网络设备大部分是基于IPv4的,不可能将它们在短时间内都过渡到基于IPv6的设备,因此,在相对比较长的一段时期内,IPv6网络将和IPv4网络共存,最终实现IPv4到IPv6的平稳过渡。

IPv4到IPv6过渡技术按照工作原理主要分为三大类:双协议栈;隧道技术;IPv6/IPv4协议与地址转换技术。

1 双协议栈技术

IPv6和IPv4是功能相近的网络层协议,两者都基于相同的物理平台,而且加载于其上的传输层协议TCP和UDP又没有任何区别。由图一所示的协议栈结构可以看出,如果一台主机同时支持IPv6和IPv4两种协议,那么该主机既能与支持IPv4协议的主机通信,又能与支持IPv6协议的主机通信,这就是双协议栈技术的工作机理。

双协议栈技术并不需要建立隧道,只有当IPv6结点需要利用IPv4的路由机制传递信息包时隧道才是必需的,但是隧道的建立却需要双栈的支持。

双协议栈技术的优点是易通信、容易理解原理。缺点是需要给每个新的运行IPv6协议的网络设备和终端分配IPv4地址,不能解决IPv4地址短缺问题。在IPv6网络建设初期,由于IPv4地址相对充足,这种方案的实施具有可行性;当网络发展到一定阶段,为每个结点分配两个全局地址的方案将很难实现。

2 隧道技术

随着IPv6网络的发展,出现了许多局部的IPv6网络,但是这些IPv6网络需要通过IPv4G与骨干网络相连。将这些孤立的“IPv6岛”相互联通必须使用隧道技术。利用隧道技术可以通过现有的运行IPv4协议的Internet骨干网络(即隧道)将局部的IPv6网络连接起来,因而是IPv4向IPv6过渡的初期最易于采用的技术。路由器将IPv6的数据分组封装入IPv4,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处,再将IPv6分组取出转发给目的站点。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,因而非常容易实现。因此隧道技术的优点在于隧道的透明性,IPv6主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用。它不需要大量的IPv6专用路由器设备和专用链路,可以明显地减少投资。其缺点是:在IPv4网络上配置IPv6隧道是一个比较麻烦的过程,而且隧道技术不能实现IPv4主机和IPv6主机之间的通信。接下来介绍几种常用的隧道技术。

2.1 GRE隧道技术

使用标准的GRE隧道技术,可在IPv4的GRE隧道上承载IPv6数据报文。GRE隧道是两点之间的连路,每条连路都是一条单独的隧道。GRE隧道把IPv6作为乘客协议,将GRE作为承载协议。所配置的IPv6地址是在Tunnel接口上配置的,而所配置的IPv4地址是Tunnel的源地址和目的地址(隧道的起点和终点)。

如图二所示,两个IPv6子网分别为Group1和Group2,它们之间要求通过路由器R1和R2之间的IPv6隧道协议互联。其中R1和R2的隧道接口为手动配置的全局IPv6地址,隧道的源地址与目的地址也需要手动配置。设R1的E0接口IPv4地址为192.168.100.1,R2的E0接口IPv4地址为192.168.200.1。

在上面的转发过程中,R1路由器首先根据路由表得知目的地址3003::1通过隧道转发出去,所以就将报文送到隧道接口按照特定的GRE格式(如图三所示)进行封装。原有的IPv6报文封装为GRE报文,最后封装为IPv4报文。IPv4报文的源地址为隧道的起始点192.168.100.1,目的地址为隧道的终点192.168.200.1。这个报文被路由器R1从隧道入口发出后,在IPv4的网络中被路由到目的地R2。R2收到报文后,对此IPv4报文解封,取出IPv6报文。因为R2也是一个双协议栈设备,故它在根据IPv6报文中的目的地址信息进行路由,并送到目的地。

2.2 手动隧道

手动隧道也是通过IPv4骨干网连接的两个IPv6域的永久链路,用于两个边缘路由器或者终端系统与边缘路由器之间安全通信的稳定连接。手动隧道的转发机制与GRE隧道一样,但它与GRE隧道的封装格式不同,手动隧道直接将IPv6报文封装到IPv4报文中,IPv6报文作为IPv4报文的净载荷。

2.3 IPv4兼容IPv6自动隧道

自动隧道能够完成点到多点的连接,而手动隧道仅仅是点到点的连接。IPv4兼容IPv6自动隧道技术能够使隧道自动生成。在IPv4兼容IPv6自动隧道中,只需要告诉设备隧道的起点,隧道的终点由设备自动生成。为了完成隧道终点的自动产生,IPv4兼容IPv6自动隧道需要使用一种特殊的地址,即IPv4兼容IPv6地址,其格式如图四所示。

在IPv4兼容IPv6地址中,前缀是0:0:0:0:0:0,最后的32位是IPv4地址。IPv4兼容IPv6自动隧道将使用这32位IPv4地址来自动构造隧道的目的地址。IPv4兼容IPv6的自动隧道两端的主机或路由器必须同时支持IPv4和IPv6协议栈。使用IPv4兼容IPv6的自动隧道可以方便地在IPv4上建立IPv6隧道,但是,它限于在隧道的两端点进行通信,隧道两端点后的网络不能通过隧道通信。

IPv4兼容IPv6自动隧道是随报文动态建立的隧道。无论要和多少个对端建立隧道,本端只需要一个接口,路由器维护简单。但是,它要求IPv6地址必须是特殊的IPv4兼容IPv6地址,有很大的局限性。同时,因为IPv6报文中的地址前缀只能是0:0:0:0:0:0,也就是所有的节点处于同一个IPv6网段中,所以它只能做到节点本身的通信,而不能通过隧道进行报文的转发。这种局限性在6to4隧道技术中得到很好的解决。

2.4 6to4隧道技术

6to4隧道可以将多个IPv6域通过IPv4网络连接到IPv6网络,和IPv4兼容IPv6自动隧道类似,使用一种特殊的地址格式为2002:a.b.c.d:xxxx:xxxx:xxxx:xxxx:xxxx的6to4地址。其中a.b.c.d是内嵌在IPv6地址中的IPv4地址,可以用来查找6to4网络中的其他终端。6to4地址有64位网络前缀,其中前48位由路由器上的IPv4地址决定,用户不能改变,后16位由用户自己定义。这样,这个边缘路由器后面就可以连接一组网络前缀不同的网络。

假设路由器R1和R2通过6to4隧道相连。路由器R1的E0接口全局IPv4地址192.168.100.1/24转换成IPv6地址后使用前缀2002:c0a8:6401::/64,对此前缀使用子网划分,Tunnel0使用2002:c0a8:6401:1::/64子网(地址设为2002:c0a8:6401:1::1/64),R1连接主机PC1的E1接口使用2002:c0a8:6401:2::/64子网(地址设为2002:c0a8:6401:2::1/64),PC1也使用2002:c0a8:6401:2::/64子网(地址设为2002:c0a8:6401:2::2/64)。

路由器R2的E0接口全局IPv4地址192.168.50.1/24转换成IPv6地址后使用前缀2002:c0a8:3201::/64,对此前缀使用子网划分,Tunnel0使用2002:c0a8:3201:1::/64子网(地址设为2002:c0a8:3201:1::1/64),R2连接主机PC2的E1接口使用2002:c0a8:3201:2::/64子网(地址设为2002:c0a8:3201:2::1/64),PC2也使用2002:c0a8:3201:2::/64子网(地址设为2002:c0a8:3201:2::2/64)。

配置的静态路由将所有其他发往IPv6前缀2002::/16的流量定向到6to4隧道的Tunnel接口上如图五所示。

2.5 ISATAP隧道技术

ISATAP(Intra-Site Automatic Tunnel AddressingProtocol)是一种自动隧道技术,同时也可以进行地址自动配置。在ISATAP隧道的两端设备之间可以运行ND协议。配置了ISATAP隧道以后,IPv6网络将底层的IPv4网络看成一个非广播的点到多点的链路(NBMA)。ISATAP隧道的地址也有特定的格式,它的接口ID必须为::0:5ffe:w.x.y.x的形式。其中,0:5ffe是IANA规定的格式,w.x.y.x是单播IPv4地址,它嵌入到IPv6地址的低32位。ISATAP地址的前64位是通过向ISATAP路由器发送请求得到的。与6to4地址类似,ISATAP地址中也有IPv4地址存在,它的隧道建立也是基于此内嵌的IPv4地址来进行。

2.6 6PE

随着MPLS技术和标准的成熟,出现一种新的基于MPLS/VPN的IPv6隧道机制。随着骨干网越来越多地采用MPLS技术,必须考虑如何在MPLS上集成IPv6。该方法将整个MPLS网络看成IPv6隧道,并充分利用MPLS的特性。该方案具有MPLS网络的一切优点,支持约束路由流量工程,可以把IPv4和IPv6的数据流当作不同的流,从而在核心网络中减小IPv4/IPv6争抢资源的影响。同时由于在MPLS网络中转发是根据标记进行的,不需要数据层面支持IPv6的数据转发,即无需核心网络软硬件的升级,只需要边缘路由器具有配置IPv6的能力即可。当IPv6核心网络达到一定的规模,且当其数据量足够大时,就可以采用这种方案。

6PE隧道的特点是使用现成的MPLS/VPN技术,不需要升级ISP的核心网络,只要将PE路由器升级IPv4/IPv6双栈,并在连接核心网络的接口上运行MPLS即可。6PE技术减少了对现有的网络架构及业务的影响,比较适合于ISP及企业网络。

2.7 6over4

随着IPv6的广泛应用,有些节点可能仅支持IPv6协议,这种节点一旦安装在IPv4网络中(没有直接相连的IPv6路由器),就需要考虑如何保证该节点能够与外界通信。该方案利用IPv4网络的组播特性建立与外部的虚拟通信链路来提供保证。IPv6节点需要与外部通信,它不需要手工配置隧道或与IPv4兼容的地址,而是直接将IPv6报文封装在IPv4报文中,通过IPv4网络的组播特性,将该报文传送到路由器发送到外部。

6over4技术使用IPv4组播来模拟一个虚拟的物理链路,将IPv6的组播地址映射成IPv4组播地址,在此基础上实现ND协议。6over4主机的IPv6地址由64位的单播地址前缀和规定格式的64位接口标识符::wwxx:yyzz组成,其中wwxx:yyzz是其IPv4地址w.x.y.z的十六进制表示。6over4技术要求主机间的IPv4必须支持组播,以用来互联IPv4网络内隔离的IPv6主机。

2.8 隧道代理(Tunnel Broker)

隧道代理(Tunnel Broker)是一种架构,而不是具体的协议。隧道代理(Tunnel Broker)的主要目的是简化隧道的配置,提供自动的配置手段。对于已经建立起IPv6的ISP来说,使用隧道代理(Tunnel Broker)技术可以方便地扩展网络用户。从这个意义上说,Tunnel Broker可以看作一个虚拟的IPv6 ISP,通过Web方式为用户分配IPv6地址、建立隧道,并提供和其他IPv6节点之间的通信。隧道代理(Tunnel Broker)的特点是灵活、可操作性强,可以针对不同的用户提供不同的隧道配置。

2.9 Teredo隧道

Teredo隧道是一种IPv6-over-UDP隧道。为了解决传统的NAT不能够支持IPv6-over-IPv4数据包的穿越的问题,Teredo隧道技术采用将IPv6数据封装在UDP载荷中的方式穿越NAT,使得NAT域内的IPv6节点得到全球性的IPv6连接。

在Teredo协议中,定义了4种不同的实体[16]:Client、Server、Relay、Host-specific Relay。其中Client是指处于NAT域内并想要获得IPv6全局连接的主机。Server具有全局地址并且能够为Client分配Teredo地址,Relay负责转发Client和一般IPv6节点通信的数据包;Host-specific Relay是指不通过Relay就可以直接和Client进行通信的IPv6主机。这些角色同时都支持IPv4/IPv6协议,其地址结构如图六所示。

3 翻译机制

这种过渡技术适合IPv6网络和IPv4网络之间的通信,在过渡的不同阶段和不同环境下,应根据实际网络的具体情况进行部署。协议和地址转换技术包括:

3.1 NAT-PT

Network Address Translation-Protocol Transla-tion网络地址转换/协议转换。除单点故障和性能问题需要解决外,利用转换网关来在IPv4和IPv6网络之间转换以实现IPv4对IPv6的通信是可行的。根据IP报头的地址和协议的不同,对IP分组做相应的语义翻译,从而使纯IPv4和纯IPv6站点之间能够透明通信。

3.2 SIIT

这种技术需要IPv4映射的IPv6地址结构(::FFFF:A.B.C.D)。在IPv4地址使用方面,还要有较大的备用IPv4地址池来分配IPv4地址,而且在采用网络层加密和数据完整性保护的情况下不可用。

3.3 BIS

适合网络过渡的初期使用。这种技术在协议栈的层次上进行分组翻译。需要在主机协议栈中插入三个模块,分别完成域名解析、地址映射和翻译。缺点是不支持多播功能、不能实现网络层上的安全机制。

3.4 BIA

BIA与BIS类似,只是在API层而不是在协议栈的层次上进行分组的翻译,所以它的实现比BIS要简单一些因为不需要对IP包头进行分析。

4 结束语

本文对当前IPv4向IPv6的过渡技术作了一个比较全面的介绍,特别是使用隧道的各种技术描述的较详细,因为现在国内外使用最多的过渡技术就是隧道技术。对于有意于进行网络改造或升级的单位或机构,可以根据自身的条件选择其中的一种或几种技术进行实践,笔者所在单位就使用了ISATAP隧道技术作为过渡试验网,取得了良好的效果。

参考文献

[1]IPv6隧道通信技术[EB].http://bbs.chinaitlab.com/viewthread.php.

[2]马严,赵晓宇.IPv4向IPv6过渡技术综述[J].北京邮电大学学报,2002,(4):1-5.

[3]汤九斌,杨静宇.IPv6over IPv4隧道技术原理与实现[J].江苏通信技术2002,(4):28-31.

[4]周军辉.校园网IPV4向IPV6过渡技术的研究[J].大众科技.2008,(7):30-31.

[5]Teredo概述[EB].www.microsoft.com.

IPv6技术简析 篇2

互联网、移动通信、RFID(Radio Frequency Identification,RFID)三大信息技术变革推进了全网融合,延伸了各类网络体系的边界,出现了技术相互融合的趋势,未来网络将是一个相互融合、协同的网络。随着物品信息网络技术逐渐成熟以及无线射频识别标签成本的大幅降低,物品电子标示代码标准得到广泛推广,逐步形成了一个物品的互联网———“物联网”。

本文在介绍RFID技术及工 作原理的 基础上,结合RFID应用中的问题,探讨RFID与IPV6融合的必要性、 可行性。

1RFID技术概述

RFID是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别过程无需人工干预,实现条形码的无线识别,可以使每个物品都连上互联网[1]。通过RFID技术,可以轻松在网上对各种植入RFID芯片的物体进行查找、管理。

1.1RFID系统结构

RFID系统一般由电子标签(Tag)、阅读器(Reader)、 天线(Antenna)及外围计算机处理系统组成。其中,标签 (Tag)由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物品上以标识目标对象,保存物品信息,是RFID技术的核心[2];阅读器读取标签信息,可设计为手持式RFID读写器或固定式;天线在标签和读取器间传递射频信号。

1.2RFID工作原理

当阅读器进入发射天线工作区域时即产生感应电流, 电子标签获得能量并被激活,将编码等信息通过内置天线发送出去;接收天线收 到从射频 卡发送过 来的载波 信号后,经天线调节器传送到阅读器,阅读器对接收信号进行解调和解码后送到后台系统进行相关处理;主系统根据逻辑运算判断芯片卡的合法性,针对不同的设定进行相应的处理和控制,并发出指令信号控制执行。阅读器和电子标签之间射频信号的耦合类型有电感耦合(变压器模型)和电磁反向散射耦合(雷达原理模型)两种[3]。

2RFID与IPv6融合的意义

RFID与IPv6融合为物联网高效运行、智能化创造了基本的技术条件,融合意义在于:

(1)能有效解决物联网中大量的寻址问题。物联网中大规模RFID应用需要众多的节点进行网络连接,节点之间的信息通信涉及大量的寻址问题。RFID和IPv6融合后的地址空间扩 展到128位,开辟了一 个巨大的 地址空间,可以解决IP地址匮乏问题。

(2)能提高物联网选路效率。物联网需要支持诸多设备,包括网络摄像机、非PC类智能终端、信息家电、游戏终端、网络汽车等。这些互相连接的智能终端设备要高效运转,需解决应用中的包头问题。RFID与IPv6融合的物联网包头总长为40字节的8个字段(其中两个是源地址和目的地址),使用固定格式的包头减少了需要检查和处理的字段数量。此外,依据国际标准确定的各类型地址层次结构,可对物联网应用中的地址空间进行层次性规划, 既便于路由的快速查找,也有利于路由聚合,降低网络地址规划难度,使选路效率更高[4]。

(3)能提高物联网服务质量。通过路由器配置,RFID与IPv6融合的物联网报头业务级别和数据流标记可实现优先级控制和QoS保障,可使低性能业务终端支持物联网的语音、视频、优先级服 务等应用。此外,新增流标 志域,使原宿端能快速处理实时业务。通过引入重配置技术以及自动配置技术,对IP地址等信息实现自动增删更新配置,提高系统管理能力,可实现移动终端在任何时间以任何方式进行互联,而且切换时不必脱离现有连接,很好满足了物联网移动性需求,提高了物联网的服务质量。

(4)提升物联 网智能化 管理水平。EPC的载体是RFID电子标签,它通过互联网进行信息传递,提升物联网智能化管理水平。EPC旨在为每 一件物品 建立全球 的、 开放的标识标准,可在全球范围内对单件产品进行跟踪与追溯,从而有效提高供应链管理水平,降低物流成本[4]。

(5)扩展通信网络监测、控制功能。RFID与IPv6的结合,增强了监测和控制的智能化技术。这是由于IPSec可以无缝地为IP提供安全特性,如提供访问控制、数据源身份验证、数据完整性检查、机密性保证以及抗数据重发攻击等,进而可以对网络进行实时监测,确保系统正常运转,遇突发情况能及时处理,同时可控制数据流量,从而实现控制功能。

(6)催生出新的应用,强化兼容性。在RFID与IPv6融合的物联网中,需要构建全新的电子标识体系,使物联网电子标签在新的平台上得到运用。通过物联网追踪物品,促进物联网中各种智能终端设备技术创新。物品变成了网络资源后,会衍生出许多运用,使人们能够实时掌握信息、传递信息,甚至每件物品或设备之间也可以通过全网实现互相通信。

3RFID与IPv6融合的可行性

RFID与IPv6无缝融合在技术层面具有可行性。具体如下:

(1)扩展的编址丰富了RFID的需求。IPv6能够满足RFID海量地址资源的 要求。IPv6采用128位地址长 度基本上可以不受限制地提供地址,有效解决IPv4空间地址耗尽问题,确保端到端连接的可能性,使RFID全面应用具有发展基础[7]。

(2)自动配置便于即插即用。RFID技术与IPv6的融合,对即插即用自动配置和地址重新编号尤为重要。IPv6内置地址自动配置功能,使大量的RFID终端不用手动配置就能发现网络,并获得新的唯一的IPv6地址,从而利用因特网RFID设备实现即插即用。

(3)简化的报头格式提供 了高效的 终端。IPv6的数据包远远超过64k字节,使应用程序可以利用最大的传输单元,获得更可靠、更快的数据传输。同时通过改进选路结构;采用简化的报头定长结构和合理的分段方法,可提高路由器数据包的处理速度,提高转发效率,从而提高网络整体吞吐量,使RFID传输更高效[8]。

(4)强制性安全机制保障端到端的安全传输。IPv6对两端已建立连接主机的数据包进行IPSec封装。通过对通信端的验证和数据加密保护,可以保证端到端的传输安全。 IPSec协议为RFID连接隐私的传递奠定了基础,通过无缝的方式保障了安全性,如提供数据源身份验证、访问控制、 数据完整性检查、机密性保障,以抗击重发攻击等[9]。

(5)增强的移 动IP满足RFID移动运用。RFID与IPv6的融合除了要在任何时间以任何方式相连 外,还需在任何地点互联。要实现移动终端端到端切换的可移动性保持不变,就需要提高结构效 率。IPv6不需要外 地代理,使用内置自动配 置获取转 交地址,这一点与IPv4不同。此外,为避免IPv4中所要求的三角路由选择的额外系统开销,IPv6通过内联机制使通信节点能够与 移动节点直接通信,使IPv6移动结构效率大大提高,从而满足了RFID需要。

(6)IPv6增强了QoS,保证了RFID传输服务 质量。 由于IPv6增加了增强的组播(Multicast)支持和对流支持 (Flow Control),为服务质量控制提供了良好的网络平台, 使得RFID有了更广的发展机会。IPv6报头中的业务级别和流标记通过路由器配置,可以实现优先级控制和QoS保障。增强的QoS服务,一方面能满足RFID应用中的实时性、优先级等服务质量需求;另一方面,还可以根据传感器传输 需求特点,实现差异 化服务,合理分配 网络带宽[10,11]。

4结语

移动Ipv6切换技术研究 篇3

中国移动通信广东公司东莞分公司 523129

摘要:当代社会,随着手机、PDA和个人电脑等移动设备大量的使用,无线网络能提供给移动用户使用的因特网服务也越来越多,因此,如何将无线移动的接入技术以及IP技术相结合逐渐地成为了互联网及通信界共同重点关注的研究点。

关键词:移动 IPv6;快速切换;标准切换

引言:本文分析了移动Ipv6四种切换方案,重点介绍了切换的研究现状及基本原理等内容。移动Ipv6快速切换方案它是针对标准的移动Ipv6切换其延迟时间比较长这个缺点进行相应的改进,采取的策略为“预先注册”,在链路层切换还没有结束时提前网络层注册,从而使得移动节点能够提前获得新的转交地址,大大减少了等待时间,缩短了整个切换的时间延迟。

一、移动Ipv6协议

移动的IP协议从移动Ipv4发展到了Ipv6这个阶段。Ipv4在设计之初小规模的网络环境到现在已经遍布全球互联网应用这个大规模的交换过程中去,其优点包括互操作性好、易于实现等待,这些都广受好评。但是,因特网的发展迅猛,Ipv4协议也出现了一些问题,譬如服务质量得不到很好的保证、安全问题突出、其地址的严重匮乏等,都已经不能够满足目前的网络应用发展需求。所以,Ipv6协议的应运而生,是顺应潮流所需的。Ipv4协议对于移动的支持只是一部分,而Ipv6协议中,移动却是不可缺少的部分。Ipv6相对于Ipv4一个巨大的优势就在于,其庞大的地址空间,它能够为每一个移动主机分配到一个Ipv6地址。

二、标准MIPv6切换方案

1、MIPv6协议描述

移动的节点从本地的网络进入到外地的网络或者是从一个外地的网络进入到另一个外地的网络时,都需要进行切换的。如果切换所遵循的标准移动IPv6协议不对其进行其他任何的扩展,那么这种切换就被称为标准切换。移动节点的标准切换大概可以分为以下几个步骤来完成:

1.1检测移动

移动的节点从家乡的网络移动到了外地网络或者是從一个外地的网络移动到了另一个外地的网络,这样的行为被称为移动。在移动节点进行移动的过程中,如若发现原先使用的路由器不能够达到,或是检测到另外的一个路由器,这样就可认为是自己已经发生了移动。检测移动的是否发生,是可以通过很多发现机制来实现的。MIPv6主要是通过邻居节点的探测机制进行移动的检测。

1.2移动节点跟家乡代理的绑定过程

移动节点是必须向家乡代理绑定更新的,移动节点向家乡代理发送更新后,注册新的转交地址,然后家乡代理再对转交地址进行一个检测,发送出一个绑定应答,以完成一次绑定的注册过程,注册了之后才能够使用新的转交地址。

1.3如何获取新的转交地址

移动节点发现了自己发生了移动之后,再通过移动机制获取当前所在的子网的前缀,根据这个获取得来的子网前缀再形成新的转交地址。但是需要对这个新形成的转交地址不断地重读进行地址检测,用于验证在该子网中是否还有其他的主机已使用过该地址,来保证该地址在全局的唯一性。新的转交地址一旦形成,就算移动节点还未切换到性的路由器,该转交地址也是已能够投入使用的了。

1.4移动节点跟通信对端的绑定过程

移动的节点在确保了新的转交地址是合法的,并且向家乡代理已注册完成家乡代理及移动节点绑定后,便可随时将这个新转交地址告诉通信对端,这个过程通过向通信对端的发送绑定其更新来实现。移动节点跟通信对端它们之间的绑定主要就是为了优化这两者之间的通信路由,也就是说通信对端跟移动节点它们可以直接地进行通信。

MIPv6的标准切换其传输消息序列如图1-1所示:

2、标准MIPv6存在的问题

由于移动节点其移动一次就需要给家乡代理发送一次绑定更新,然后在家乡代理上注册新的转交地址,再次的移动还需要再一次向家乡代理发送绑定更新,再一次注册新的转交地址。这样的话,主干网络上会有很多注册报文信息,造成冗余信息过多,这样不但浪费了网络资源,还会对网络冲突造成引发,这就会大大降低数据有效传输。当移动的节点不断变换网络,这样的开销就变得更加巨大。还有,当移动的节点在远离家乡的网络的时候,因为还需要家乡代理给移动节点发送数据,这样会造成很大的切换的延迟及严重的丢包率。

图1-1 移动Ipv6标准切换的流程图

三、MIPv6层次切换方案

MIPv6层次切换就是说HMIPv6利用了区域的划分思想,将整个的网络分成很多不同的“域”,一个局域网是一个域,局域网中的一个子网也可以是一个域。每一个域都有着一个移动锚点,这样一个移动锚点充当一个临时家乡代理,用来管理整个域,转发通信对端和移动节点之间的分组数据;这也就是说,忽略了这些区域之间地址位置关系,在逻辑上把他们划分出层次,每一个域内都会有一个代理即移动锚点,各域也是相对的独立的,这些域分了不同级别,它们彼此之间可以是平行同级,当然也有可能是上下级的关系;移动节点在漫游时,若在同个域中的不同接入点间发生切换,这叫做“微移动”;然而相对应的,若移动节点在不同域间移动,这被叫做“宏移动”。移动锚点周期性地发送MAP公告消息,如此移动锚点域中的节点就能够得到移动锚点消息。层次型MIPv6结构示意下图如4-4所示:

图4-4 层次移动Ipv6网络拓扑

四、MIPv6的快速切换方案

1.快速切换的概述

MIPv6的快速切换方案就是在移动Ipv6的标准切换方案基础上对某些消息的格式及信令流程进行改进而得来的,整体上还是要遵循标准切换的大体框架。

下面我们介绍两种切换方案的执行过程:

反应式快速切换方案:移动的节点是只有在连接到nAR了之后才能够发送FBU消息。其信令流程如图2-2:

图2-2 反应式快速切换流程图

预测式快速切换方案:pAR和移动节点有连接,也就是说仍然在原来的链路上时,能发送的快速绑定更新消息FBU,这样在与MN建立起网络连接之前就可以为其转发数据包。其信令流程如图3-3:

图3-3 预测式快速切换流程图

五、快速-层次MIPv6切换方案

1.快速-层次MIPv6切换方案概述

快速-层次MIPv6切换方案它是结合快速切换与层次切换,此方案在实现HMIPv6域的管理时,当移动节点在域中的两个接入路由器间进行切换的时候进行快速切换,期望能够达到更好的切换性能,使得切换的过程中尽可能小影响到整个通信。也就是说,我们在对同一个移动锚点域中移动的节点进行快速切换时,其切换的过程是:当移动的节点移动到新的网络时,接收到此网络路由器定时所发出的邻节点通告报文,我们通过对这其中携带的网络前缀信息及其自身网络地址的比对不难发现自己已发生的移动,并当前“域”跟之前“域”属于同一级关系并且同属于一个移动锚点管辖,这样的话,它接下来就只需向该移动锚点通告切换信息就可以。

2.快速-层次切换方案操作流程如图5-5所示:

图5-5 快速-层次移动Ipv6切换流程图

3.特点及研究现状

快速-层次切换的方案是通过在快速切换的过程中,引入一些新的網络实体---移动锚点,这样就能使得移动的节点在发生切换之后能够在规定的某个域中可以不用多次地向家乡代理跟通信对端进行其当前位置信息的不断更新,这样切换所需的时间就尽可能的变短了,也降低了数据分组的丢失率,并且减少了切换对于服务质量的影响,能够使区域管理的实体移动锚点达到负载的平衡。

我们也还可以对快速的Ipv6切换机制跟层次Ipv6切换机制进行相结合改进:摈弃旧的接入路由器及新的接入路由器间建立起隧道的想法,改变为在移动的锚点与新的接入路由器间建立起隧道。这种改进的切换,移动锚点就能够把目的地址为通信对端数据分组经过隧道直接性地发送给新的接入路由器。当心的接入路由器收到了移动锚点通过隧道而转发出来的数据分组后,将会对这些数据分组拆分,在拆分后进行暂时的缓存。当心的接入路由器接收到的移动节点已完成网络层的连接信息后,就将保存在缓存中的这些个数据分组传送给移动的节点。

六、结束语

本文对移动Ipv6的快速切换存在的部分问题进行分析探讨,提出了一些改善移动Ipv6切换的性能方法,在以后的研究中,我们应该更加注重实践与理论的总结,使移动Ipv6的技术能得到更有力的应用。

参考文献:

[1]李楠.移动Ipv6的移动性管理策略研究[D].杭州:浙江大学,2007,25-30

[2]邱荣嘉.改善阶层移动IPv6网路Handoff的效能[D].广州:国立中山大学,2004,50-64

[3]蒋亮,郭建.下一代网络移动IPv6技术[M].北京.机械工业出版社,2005,50-58

上接第495页

度标准值(kPa),应通过试验确定;当无试验资料时可按表8.2.3-2和表8.2.3-3取值;D为锚杆锚固段钻孔直径,本工程取D=150mm。

4.锚杆杆体与锚固砂浆间的锚固长度(m)计算:

m,式中n和d为锚杆杆体钢筋根数和钢筋直径;?b为钢筋与锚固砂浆间的粘结强度设计值(kPa),应由试验确定,当缺乏试验资料时可按表8.2.4取值。

5.锚杆长度的构造规定:锚杆锚固段长度应按上述第1点和第2点进行计算,并取其中大值。同时,土层锚杆的锚固段长度不应小于4.0m,并不宜大于10.0m;岩石锚杆的锚固段长度不应小于3.0m,且不宜大于45D和6.5m,预应力锚索不宜大于55D和8.0m。

IPv6技术简析 篇4

struct sockaddr {

unsigned char sa_len;        /* total length */

sa_family_t    sa_family; /* address family */

char     sa_data[14];    /* actually longer; address value */

};

struct sockaddr_dl {

u_char   sdl_len;  /* Total length of sockaddr */

u_char   sdl_family;     /* AF_LINK */

u_short   sdl_index; /* if != 0, system given index for interface */

u_char   sdl_type; /* interface type */

u_char   sdl_nlen; /* interface name length, no trailing 0 reqd. */

u_char   sdl_alen; /* link level address length */

u_char   sdl_slen; /* link layer selector length */

char sdl_data[46];   /* minimum work area, can be larger;

contains both if name and ll address */

};

struct sockaddr_in6 {

u_int8_t  sin6_len; /* length of this struct(sa_family_t)*/

u_int8_t  sin6_family;    /* AF_INET6 (sa_family_t) */

u_int16_t sin6_port; /* Transport layer port # (in_port_t)*/

u_int32_t sin6_flowinfo;  /* IP6 flow information */

struct in6_addr sin6_addr;     /* IP6 address */

u_int32_t sin6_scope_id; /* scope zone index */

};

如果你接触过freeBSD的代码,你会发现,前两个结构并不是IPv6特有的,在IPv4中就已经有使用,而struct sockaddr_in6 类似于IPv4下的结构struct sockaddr_in

struct sockaddr_in {

uint8_t   sin_len;

sa_family_t    sin_family;

in_port_t sin_port;

struct    in_addr sin_addr;

char sin_zero[8];

};

而其中用于v6的struct in6_addr和用于v4 struct in_addr对比如下

struct in6_addr {

union {

u_int8_t __u6_addr8[16];

u_int16_t __u6_addr16[8];

u_int32_t __u6_addr32[4];

} __u6_addr;            /* 128-bit IP6 address */

};

struct in_addr {

in_addr_t s_addr;

};

所以相对于IPv4而言,IPv6的地址结构并没有大的变动(除了地址从4bytes扩展到16bytes了),

struct sockaddr还是同样的套接字地址,而struct sockaddr_dl 和struct sockaddr_in6是位于不同层(layer)的实际地址格式。

struct sockaddr_dl struct sockaddr_in6和struct sockaddr_in的第一个字节都是长度,第二个地址是代表地址类型的xxx_family。所以虽然他们都可以强制转换成struct sockaddr类型,但是需要检查过第二个字节的内容(并不管你这个字节叫什么名字),才能决定余下字节的含义。

在IPv4的时候,因为struct sockaddr和struct sockaddr_in大小一样,所以会让人误解为这两个结构可以随意转换。正确的做法是,根据实际的需要定义你的地址结构是struct sockaddr_in还是struct sockaddr_in6,甚至还是struct sockaddr_dl(这个定义决定了你地址所占内存的大小),然后你可以将你的结构转换成struct sockaddr类型来传递,一般是通过指针struct sockaddr* 来传递。

如果你并不确定你的地址是v4还是v6的,或者两者都可以,你可以使用struct sockaddr_storage,它有足够的大小放下v6地址。

struct sockaddr_storage {

unsigned char ss_len;        /* address length */

sa_family_t    ss_family; /* address family */

char     __ss_pad1[_SS_PAD1SIZE];

__int64_t __ss_align;    /* force desired struct alignment */

char     __ss_pad2[_SS_PAD2SIZE];

};

上一篇:配电网中的谐波及治理下一篇:天然吸附材料