计算机专业外文翻译_第1页
计算机专业外文翻译_第2页
计算机专业外文翻译_第3页
计算机专业外文翻译_第4页
计算机专业外文翻译_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 附录:毕业设计(论文)外文资料翻译院 (系): 计算机科学与工程学院 专 业: 计算机科学与技术 班 级: 姓 名: 学 号: 外文出处: sciencedirect 附 件: 1.译文;2.原文; journal of network andcomputer applications 31 (2008) 6672设计与实现由ipv4过渡到ipv6隧道的配置方案tushar m. raste , d.b. kulkarnidepartment of computer science and engineering, walchand college of engineering,sangli

2、, indiareceived 14 january 2005; received in revised form 28 june 2006; accepted 28 june 2006摘要: 在现有的ipv4互联网中配置ipv6网络时,ipv4到ipv6的过渡就成为一个必然的过程,在过渡期间两种协议将会在较长的时间内共存。以满足多方面的不同协议的需求,有许多种解决过渡问题的技术,隧道技术就是其中之一。隧道技术提供了一种以现有ipv4路由体系来传递ipv6数据的方法:将ipv6包作为无结构意义的数据,封装在ipv4包中,被ipv4网络传输。在本文里,我们将提出一种将ipv6包封装在ipv4包中

3、的方案。当大部分网络转换成只涉及最小ipv4路由的ipv6网络时,此方案将会很有用处。 此种技术结合上双协议栈,便可实现ipv4与ipv6网络环境的互通以及与其他ipv4应用程序的相互作用,而无需修改和再编译,以及nat,也不要任何代理与网关设置。关键字:网络,ipv4,ipv6 corresponding author. tel.:+ 912332301327; fax: +912332300831.e-mail addresses: tusharrasteyahoo.co.in (t.m. raste), d_b_kulkarni (d.b. kulkarni).1084-8045/$ -

4、 see front matter r 2007 published by elsevier ltd. doi:10.1016/j.jnca.2006.06.0091. 引言 在纯ipv6网络(dunn,2002)中,最初的ipv6配置(davies,2002)需要紧密成对使用ipv4地址来支持ipv4与ipv6之间的网络互连。其节点仍然需要与ipv4节点通信,但ipv4节点没有双ip层来支持ipv4与ipv6。这种机制基于ipv4到ipv6隧道的使用(wang et al.,2001),以便在纯ipv6网络中支撑ipv4的通信。由于ipv4全局可用的路由地址空间正成为稀缺资源,人们认为用户应

5、在其一部分网络中配置ipv6协议,以减少对ipv4协议的需求和依赖性。在这种前提下,辅助支持本地ipv4的同时,在很大程度上也增加了ipv6复杂的网络管理(ip地址计划,路由基础设施)。因此在这种情况下建议用户只配置ipv6网络。 当在一个网络中配置隧道技术时,节点同时具有分配的ipv4和ipv6地址。当一个ipv4应用程序需要在一个ipv6节点或另一个纯ipv4节点上与另一个ipv4应用程序建立通信时,隧道技术会被配置。这允许ipv6节点与纯ipv4节点通讯,或者纯ipv4应用程序在ipv6节点上不用修改而运行。这样在一个ipv6域中,ipv4包被隐藏于ipv6包中(bound et al.

6、, 2000)。这样在网络中就只需要管理ipv6路由计划,即简化了网络管理。2. ipv4栈的配置 只要能在本地的ipv6通讯,就不需要隧道技术机制的支持。主机能通过不同的方法检测到是否需要隧道技术:当在ipv4的目标地址查询到dns分解器时;当一个应用程序打开一个ipv4套接字时;或者当一个ipv4包被发送到内核并且没有界面准备转发那个包(bound et al., 2000)时。在需要发送第一个ipv4包时,客户端会获得一个tep的ipv6地址(affifi and tountain,1999),此信息将用来配置4到6的界面。 隧道设定中重要的一步是为隧道创建一个虚拟的界面以及在ipv4节

7、点的路由选择表中创建一个路由输入。这使得ipv4应用程序能够将ipv4包转入到隧道代码中。网滤器钩可用来探测是否需要在节点上安装这样一个隧道。3. 网滤器钩 创建虚拟界面的需要可由网滤器钩来探测(netfilter homopage; chakeres)。可通过识别许多激发路由活动的事件的操作来使用网滤器。网滤器由在linux协议栈中的不同点上的许多钩子构成。它允许用户定义的内图1. 网滤器钩.核模块将回收函数注册到这些钩子上。一个数据包横越钩子时,数据包会通过内核模块中用户自定义的回收方法。 网滤器结构中定义有五个钩子,见图1。在图的顶端有两个钩子,nf_ip_local_in 和 nf_i

8、p_local_out。这些钩子的对象是所有来往于局部过程的数据包。在图的底端有两个钩子,nf_ip_pre_routing nf_ip_ post_routing。它们的对象是来往于网络上其他主机的所有数据包。还有一个钩子是用于当前主机转发的数据包,nf_ip_forward。假设一个本地进程为一个远程进程创建一个数据包,作为一个数据包如何横越这些钩子的例子:首先,数据包横越nf_ip_local_out钩子。下一步,执行一个路由选择判断看数据包是否驶往本地主机或网络中的另一个主机。数据包会被发现是为一个远程主机安排的,并通过nf_ip_post_routing钩子被传递到一个网络界面上。注

9、册的回收函数返回下面五个值中的一个:nf_accept(接受数据包并继续数据链),nf_drop (丢弃数据包), nf_queue(将数据包排队到用户空间中)或者nf_stolen (从网络中窃得的数据包)。4.虚拟界面 从内核角度来说,一个网络界面是一个软件对象,它可以处理外流的数据包,而实际的传输机制隐藏于界面驱动中。即使大多数界面被关联到物理设备(或对于回环界面,关联到纯软件的数据循环),设计出依赖于其他界面来执行实际数据包传输的网络界面驱动是有可能的。 “虚拟”界面的想法有助于对特殊目的的数据包处理,同时避免黑客入侵内核网络子系统。这个想法可用于将数据包配置到另一个协议中。因此,创建

10、一个隧道暗指在内核中创建一个虚拟界面,并将封装信息保留在专用数据结构中。5. 设计 提出的设计方案是使用nf_ip_local_out钩子来探测是否需要隧道。当一个本地进程生成的ipv4数据包通过这个钩子,针对此钩子定义的回收函数将有以下任务:1. 决定目的地ipv6地址。2. 若目的地为ipv6主机,则为远程主机创建一个隧道。3. 若目的地在纯ipv4网络中则为边界路由器创建一个隧道。边界路由器存在于ipv6和ipv4域的边界处。4. 创建合适的路由选择表输入。 这样,回收函数有了一个外部分解器的任务(tsuchiya et al., 2002),即解析一个ipv4地址,也就是说进入一个ip

11、v6地址的a记录,即aaaa记录。为此,它会生成一个对dns服务器的dns查询。再一次,隧道的创建可在内核空间中进行。注册的函数将执行创建虚拟界面的任务并和新创建的设备一起配置隧道数据结构。隧道参数可存储于界面的私有数据结构中。 一旦设备被创建出来,那么一个目的地路由就可与之关联,如此一来,数据包就能被转向这个界面了。传输函数就能利用储存在隧道私有数据结构中的信息,有组织地封装这些数据包(图2)。接下来回收函数就能返回nf_accept的一个判断以便数据包返回网络栈中。接着由内核作出路由判断。 一个ipv6域中的用户空间守护程序被配置用于传达在ipv4目的地建立隧道的需求,或者是边界路由器的目

12、的地在ipv4域中。 一种新的被称为ipip(值4)的协议被注册用于接收那些隧道数据包。注册程序涉及到一些用于处理这些隧道数据包及生成错误信息(icmp信息)的特定函数。接收函数移除ipv6头信息并且模拟另一个接收程序,此时一个ipv4数据包被接收,虚拟界面的一些参数被调整以便ipv4数据包的接收可通过虚拟设备来模拟。图2. 数据包的接收. 6.性能6.1延迟时间 在性能评估中,隧道式机制传输平均延迟时间(tsuchiya et al., 2000; raicu and zeadally,2003)第一。平均延迟时间是指把时间作为一个封包通过网路连接从发送者传输到接受者。测试的执行是通过pin

13、g43.53ipv4tunneledlatencytime (ms)2.521.510.5064128256数据包大小512768图3.延迟时间分析.2500throughput2000ipv4tunneledthroughput (kbps)15001000500064128256512768数据包 (字节)图4. 吞吐量分析.程序运行在可靠的icmp网络层上,ping程序的功能是发送回应请求包来控制指定节点和检查回应讯息,并以此来判定特殊节点是否存活。 延迟的测量是从客户端向服务器发送64,128,258,512及768字节的数据包,服务器一旦收到数据包即立刻回送给客户端。整个过程将重复进

14、行,周期循环1000次。 图3显示:ipv4包与隧道包延迟的比较,数据包的大小由64字节到768字节的不同。随着数据包字节的改变,总值呈现出由7%到30%的变化。总值出现于隧道包封装与de封装的所需时间。6.2 吞吐量 吞吐量(tsuchiya et al.,2000; raicu and zeadally,2003)定义是:总的数据包传输到全部路径的单位时间。吞吐量的计算公式为t =p/l,t指吞吐量,p指千字节的数据包大小,l指找到一致的数据包大小的延迟时间。图4是对64字节到768字节的数据包大小的吞吐量的分析。 在ipv6协议栈,数据包大小始终保持在小于1440字节以避免潜在的分裂程序

15、。最大的吞吐量达到最大的数据包大小。吞吐量一般随着数据包大小的增加而增大。总值从7%到30%的变化取决于数据包大小。总值随着数据包大小的增大而减少(图4)。7.与其他机制的比较 本节,讲述一些关于ietf下一代过渡技术工作组的相关工作(ngtrans) (waddington and chang,2002)。 双协议栈(bound and tountain,1999)机制是两种基本传输机制的一种,在主机与路由器中双协议栈可完全支持ipv4和ipv6。但是它不可以减少对全局路由ipv4地址的需求,以及提高ipv4与ipv6混合路由设施的网络复杂性。 应用层网关(alg),socks64 (kit

16、amura et al.,2000)和tcp继电器(kitamura et al.,2000)是可以提供在ipv4与ipv6之间通信的代理机制。在应用程序或者tcp连接层它们都可分离一个ip连接到两个封闭的连接,其中之一在ipv4网络,另一个在ipv6网络。它们共同的缺点是打破因特网点对点的原则,而此原则对电子商务以及商业通信非常的重要。alg是一种应用程序-从属机制,它是指对不同的应用程序它应提供不同的应用程序网关组件。socks64可只为包含于socks客户与socks服务器的网站服务。natpt (tsirtsis and srisureshi,2000)来源于传统的nat (srisu

17、reshi and hodrege, 1999)机制,再加上ipv4与ipv6协议的协议转换。bis (tsuchiya et al.,2000) 由寻址转换器模组到节点系统,与一个地址映射以及延伸到名称分解器,以次来促进转换。siit (nordmark,2000)提供了一个从ipv4到ipv6灵活与无状态的转化,但是它是不完备的,因为它没有指定在ipv6网络里如何从ipv4包到ipv6包转化。这三种机制可以被认为是nat-型机制,所以它们都含有nat固有的缺陷。nat-有害应用程序在不参与应用层网关的情况下不可以通过翻译盒。同时,nat-型机制也有同样的缺陷作为网关型机制直到点对点通信而言

18、。更进一步,任何基于nat的解决方案都是无效与不可扩展的。8. 结论与前景展望 概括起来我们提议的方案有下列优势:在全局网络上纯ipv6主机可以匹配于纯ipv4节点。在一个纯ipv6环境上不孤立于主机与其他的网络,应用程序还没到达ipv6之前就可以运行在纯ipv6主机与网络上,此时网络可只配置ipv6,这里就不需要配置地址与ipv4路由。任何类型的协议/应用程序可显然地传递,不需要配置翻译器。 标准模型假设ipv6节点含有有效的ipv4与ipv6地址,在将来当节点升级为ipv6领域,这时ipv4地址只需要临时ipv4节点通信。对ipv6节点一个机制必须去探测ipv4地址。此时这个机制将需要探测

19、核心层,追踪ipv4 api系统呼叫。所以程序需要从服务器获得ipv4地址,这个程序也许利用dhcpv6或者rpcv6,再或者利用特别设计的目标,同样地服务器需要维护全局的ipv4地址。参考文献af, h., tountain, l., enst bretagne, methods for ipv4-ipv6 transition. ieee 1999.bound, j., tountain, l., af, h., dupont, f., durand, a., dual stack transition mechanism (dstm) internet draft (draft-ietf

20、ngtrans dstm-007.txt) 2002.chakeres, i.d., aodv-ucsb implementation, university of california santa barbara. /http:/moment.cs.ucs- /aodv/aodv.htmls.davies, j., introduction to ip version 6 microsoft press, february 2002. dunn, t., the ipv6 transition. ieee internet comput 2002.kitamura, h., jin

21、zaki, a., kobayashi, s., a socks based ipv6/ipv4 gateway mechanism internet draft draft-ietf-ngtrans-socks-gateway-06.txt 2000.netlter homepage //s.nordmark, e., stateless ip/icmp translator algorithm (siit). rfc2765 february 2000. raicu, i., zeadally, s., evalating ipv4 to ipv6 transition m

22、echanisms. ieee september 2003.srisuresh, p., holdrege, m., ip network address translator (nat) terminology and considerations. rfc2663august 1999.tsuchiya, k, higuchi h., atarashi, y., dual stack hosts using the bump in the stack technique, rfc2767february 2000.tsirtsis, g., srisuresh, p., network

23、address translation-protocol translation (nat-pt). rfc2766, february2000.waddington, d., chang, f., realizing the transition to ipv6. ieee comm mag 2002.wang, k., yeo, a.k., ananda, a.l., dtts: a transparent and scalable solution for ipv4 to ipv6 transitionproceedings of the tenth international conf

24、erence on computer communication and networks, ieee 2001.journal of network andcomputer applications 31 (2008) 6672research notedesign and implementation scheme for deployingipv4 over ipv6 tunneltushar m. raste , d.b. kulkarnidepartment of computer science and engineering, walchand college of engine

25、ering,sangli, indiareceived 14 january 2005; received in revised form 28 june 2006; accepted 28 june 2006abstract:ipv4 to ipv6 transition is an inevitable process when deploying ipv6 networks within the present ipv4 internet. the two protocols are expected to coexist for a number of years during the

26、 transition period. a number of transition techniques exist to address the various needs of different networks. one of them is tunneling mechanism. tunneling means encapsulation of one protocol into another one so that the encapsulated protocol is send as payload on the network. in this paper, a sch

27、eme is presented for tunneling of ipv4 packets in ipv6 packets. this scheme will be useful in the future when most of the networks would be converted into ipv6 networks involving minimum ipv4 routing.this technique, coupled with the dual stack approach, enables ipv4 applications to run and interact

28、with other ipv4 applications in both ipv4 and ipv6 network environments without any modication and recompilation, and without nat, nor any application proxy or gateway.r 2007 published by elsevier ltd.keywords: network; ipv4; ipv61. introductionthe initial deployment of ipv6 (davies, 2002) will requ

29、ire a tightly coupled use of ipv4 addresses to support the interoperation of ipv6 and ipv4 within an ipv6-only network (dunn, 2002). nodes will still need to communicate with ipv4 nodes that do not have a dual ip layer supporting both ipv4 and ipv6. the mechanism proposed is based on the use corresp

30、onding author. tel.:+ 912332301327; fax: +912332300831.e-mail addresses: tusharrasteyahoo.co.in (t.m. raste), d_b_kulkarni (d.b. kulkarni).1084-8045/$ - see front matter r 2007 published by elsevier ltd. doi:10.1016/j.jnca.2006.06.009of ipv4-over-ipv6 tunnels (wang et al., 2001) to carry ipv4 trafc

31、within an ipv6-only network. since the ipv4 globally routable address space available is becoming a scarce resource, it is assumed that users will deploy ipv6 to reduce the need and reliability on ipv4 within a portion of their networks. under this premise, supporting native ipv4 and native ipv6 sim

32、ultaneously largely increases the complexity of network administration (address plan, routing infrastructure). it is proposed, in this case, to congure the network only for ipv6.when tunneling is deployed in a network, the nodes have both ipv4 and ipv6 addresses allocated. when an ipv4 application n

33、eeds to establish communication with another ipv4 application on ipv6 node or another ipv4 only node, tunneling is employed. this allows either ipv6 nodes to communicate with ipv4-only nodes, or ipv4-only applications to run on an ipv6 node without modication. thus ipv4 packets are hidden in the ipv

34、6 packets on an ipv6 domain (bound et al., 2000). this simplies network management: only the ipv6 routing plan is managed inside the network.2. conguration of ipv4 stackas long as communications can take place in native ipv6, no tunneling mechanism is required. the host can detect the need of a tunn

35、el by different methods: when a query to the dns resolver results in an ipv4 destination address, when an application opens an ipv4 socket, or when an ipv4 packet is sent to the kernel and no interface is ready to forward that packet (bound et al., 2000). when the rst ipv4 packet needs to be sent, t

36、he client obtains the ipv6 address of a tep (af and tountain, 1999). this information is used to congure the 4over6 interface.the important step in tunnel conguration is creation of a virtual interface for the tunnel and creation of a route entry in the ipv4 routing table of the node. this enables t

37、he ipv4 application to divert the ipv4 packets to the tunnel code written in the kernel. net- lter hooks can be used to detect the need to install such a tunnel on the node.3. net-lter hooksthe need for virtual interface creation can be detected by using net-lter (netlter homopage; chakeres) hooks.

38、net-lter can be used by our implementation to identify many of the events that trigger the routing action. net-lter consists of a number of hooks at various points inside the linux protocol stack. it allows user-dened kernel modules to register callback functions to these hooks. when a packet traver

39、ses a hook, the packet ows through the user dened callback method inside the kernel module.there are ve hooks dened in the net-lter architecture, as shown in fig. 1 at the top of the gure there are two hooks, nf_ip_local_in and nf_ip_local_out. these hooks are for all packets to and from local proce

40、sses. at the bottom of the gure there are two hooks, nf_ip_pre_routing and nf_ip_post_routing. these are for all packets from and to other hosts on the network. there is also a hook for packets that are forwarded by the current host, nf_ip_forward. as an example of how packets traverse these hooks,

41、suppose a packet is created by a local process for a remote process. it rst traverses the nf_ip_local_out hook. next, a routing decision is performed to see if the packet is bound for the local host or another host on the network. the packet is found to be destined for a remote host, and the packet

42、is passed through thefig. 1. net-lter hooks.nf_ip_post_routing hook and then onto a network interface. the call back function registered returns one of the ve values nf_accept (accept the packet and continue the chain), nf_drop (drop the packet), nf_queue (queue the packet to user space) or nf_stole

43、n (packet stolen from network stack).4. virtual interfacefrom the kernels point of view, a network interface is a software object that can process outgoing packets, and the actual transmission mechanism remains hidden inside the interface driver. even though most interfaces are associated to physica

44、l devices (or, for the loopback interface, to a software-only data loop), it is possible to design network interface drivers that rely on other interfaces to perform actual packet transmission.the idea of a virtual interface can be useful to implement special-purpose processing on data packets while

45、 avoiding hacking with the network subsystem of the kernel. this idea can be used in tunneling of packets inside another protocol. thus creating a tunnel implies creating a virtual interface in the kernel and maintaining the information for encapsulation in its private data structure.5. designthe pr

46、oposed design uses the nf_ip_local_out hook to detect the need of a tunnel. when a local process generates ipv4 packets they pass through this hook. a call back function dened for this hook will have the following tasks:1. determine the destination ipv6 address.2. if the destination is an ipv6 host,

47、 create a tunnel for the remote host.3. if the destination is on ipv4-only network then create a tunnel for the border router. aborder router resides on the boundary between ipv6 domain and ipv4 domain.4. create the appropriate ipv4 routing table entry.the call back function thus has the job of an e

48、xtension resolver (tsuchiya et al., 2002), i.e. resolve an ipv4 address, i.e. an a record into an ipv6 address, i.e. aaaa record. thus it will generate a dns query to the dns server for this purpose. creation of the tunnel can be again done in kernel space. the function registered will carry out the

49、 task of creating a virtual interface and conguring a tunnel data structure with the newly created device. the tunnel parameters can be stored in the private data structure of the interface.once the device is created then a route for the destination can be associated with the device so that the pack

50、ets can be diverted to this interface. the transmission function can then systematically encapsulate the packets using the information stored in the tunnels private data structure (fig. 2). the call back function after registering the device can then return a verdict of nf_accept so that the packet

51、returns to the network stack. the routing decision is then made in the kernel diverting the packets to the previously created route.a user space daemon in the ipv6 domain is deployed to communicate the need of establishinga tunnel at the ipv4 destination, or the border router if the destination is i

52、n ipv4 domain. for reception of such tunneled packets a new protocol called ipip protocol (value 4) isregistered with the kernel. this registration process involves specifying functions for processing such tunneled packets and generating error messages (icmp messages). the receiving function then re

53、moves the ipv6 header and simulates another reception process where this time an ipv4 packet is received and the parameters for virtual interface are adjusted so that the reception of ipv4 packets is simulated through the virtual device.6. performance6.1. latencyin evaluating the performance of the

54、tunneling-based mechanism the average transmission latency (tsuchiya et al., 2000; raicu and zeadally, 2003) was measured rst. the average transmission latency is the time taken for a packet to be transmitted across a network connection from sender to receiver. tests were performed using the pingfig. 2. packet rgram run on a reliable icmp internet layer. the ping utility sends icmp echo request packets to

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论