《IPv6兼容的实现方案.docx》由会员分享,可在线阅读,更多相关《IPv6兼容的实现方案.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息家电远程控制中IPv4/IPv6兼容的实现方案信息家电远程控制中IPv4/IPv6兼容的实现方案ronggang导语:析了IPv4和IPv6两种家电局域网的构造和信息家电的控制形式,研究了Web效劳中实现IPv4/IPv6兼容的方法,提出了一种实现信息家电远程控制中IPv4/IPv6兼容的详细实现方案摘要:分析了IPv4和IPv6两种家电局域网的构造和信息家电的控制形式,研究了Web效劳中实现IPv4/IPv6兼容的方法,提出了一种实现信息家电远程控制中IPv4/IPv6兼容的详细实现方案。关键词:IPv4/IPv6;家电控制;网络随着当代信息技术和家电控制技术的交融与开展,当代家庭也将参
2、加“信息化、自动化、网络化的行列,“通过Internet远程访问由家用电器组成的局域网已成为将来家庭的一个重要标志,通过Web阅读器实现远程控制家电运行和查看家电运行状态的功能也是家电控制开展的一个方向。但是,如今使用的IPv4,无论从计算机本身的开展,还是从Internet的规模和网络传输速率、效劳质量Qos、传输平安性等方面来看,都已经很不适用了,其主要的问题是:一、32bit的IP地址很快就要耗尽,PDA、无线设备、3G挪动等新技术的应用,使IP地址短缺的矛盾更加激化,甚至汽车、冰箱都需要一个全球单播地址连到Internet中去,IPv4的地址空间知足不了这些需求;二、网络的效劳质量Qo
3、s和平安性难以知足用户不断增长的需求。IPv6是在1999年完成IETF要求的协议审定和测试的下一代Internet协议,它保存了IPv4很多赖以成功的特点,同时具备以下新特性:一、全新的报文构造,报文头包括固定头部和扩展头部,使路由器在处理协议头时效率更高。二、宏大的地址空间,128bit的IP地址能使世界上每一个人拥有5.71028个IPv6地址,并且地址配置更加简化。三、对Qos更好的支持,IPv6的包头中有流标签字段,使路由器可以不翻开传送的内层数据包就可以识别流。四、平安性好,另外,IPv6还支持IPSec,具有邻居发现协议等。在网络今后的一段开展时间中,IPv4将逐步被IPv6所取
4、代,但构建在IPv4或者IPv6技术根底之上的信息家电仍将共存。在信息家电的远程控制系统中,实现IPv4/IPv6的无缝过渡和兼容也将是一个热门研究课题。由于在信息家电的远程控制系统中一般都有一个信息家电控制中心进展家电局域网的组织和治理功能,而且是通过客户端Web阅读器远程控制家电的运行和查看家电运行的状态。本文在此根底上,分析了IPv4/IPv6协议栈对域名解析地址格式处理方法的根底上,提出并实现了一种通过合并信息家电控制中心,并增加双协议栈和代理等功能实现信息家电远程控制的IPv4/IPv6兼容的方法。1信息家电远程控制系统的中用IPv4协议栈实现与IPV6进程的通讯方法1.1信息家电远
5、程控制系统的构造align=center图1信息家电远程控制系统的构造示意图/align图1是信息家电远程控制系统的构造示意图,其中上半局部分别是IPv4信息家电远程控制系统的构造和IPv6信息家电远程控制系统的构造,下半局部是两者兼容系统的构造。在IPv4和IPv6信息家电远程控制系统中信息家电通过无线网络接入点组成家电局域网,并接入Internet,而“家电控制中心具有中心控制地位。在IPv4的家电局域网中,“家电控制中心本质上是一个应用网关,其功能是组织家电局域网、进展数据格式的转换、治理用户和家电等,实现信息家电通过一个公有IP地址接入Internet,并配置有WWW效劳器、Sendm
6、ail效劳器、防火墙等。其中,WWW效劳器中有访问各个家电的Web页,可以使用户通过Web阅读器远程访问应用网关,实现对家电的远程监控。在IPv6的家电局域网中,“家电控制中心与网络家电具有同等的地位,其功能是对家电局域网的用户和网络家电的地址进展治理,同时对家电的电源开启进展治理,也可以将它看成是一个具有网管功能的网络家电。结合IPv6协议和网络家电的特点,考虑到嵌入式系统的功能不断增强,处理才能和存储容量也有了很大的进步,同时,也为了使家庭网络用户使用信息家电的更方便和更实用,在信息家电的嵌入式控制系统中直接配置WWW效劳器、Sendmail效劳器、防火墙等网络效劳。其中,WWW效劳器中包
7、含有家电自身治理和控制的Web页,使用户可以通过Web阅读器实现对家电的远程监控,并能随时与厂家互动。在两种信息家电都有的兼容系统中,“家电控制中心具有IPv4家电局域网和IPv6家电局域网“家电控制中心的双重功能,并具有IPv4/IPv6双协议栈和IPv4/IPv6地址识别功能,能根据用户访问的目的IP地址自动调用IPv4或者IPv6的协议栈和信息家电控制系统。在此家电局域网中,IPv4、IPv6的信息家电与“家电控制中心的关系和独立的IPv4、IPv6家电局域网中的关系是一致的,单独来看,没有改变原来IPv4、IPv6家电局域网的构造。1.2IPv4协议栈与IPV6的Web效劳器通讯的原理
8、和方法IPv4的Web阅读器无法访问基于IPv6的网页是由于IPv4应用程序都使用structsockaddr_in构造体存储效劳器的IPv4地址32位,在调用connect函数或sendto函数的时候,假如指定了一个IPv6地址,而构造体中in_addr仅仅有4个字节,无法包容IPv6的128位地址,所以不可能通过客户端IPv4协议栈与IPv6效劳进程通讯。假如在IPv4的Web阅读器中设置代理端口,相当于在阅读器和Internet之间增加了一层转发机制,代理一方面成为了阅读器发出恳求的“效劳器端,另一方面又作为客户端向远端的效劳器转发恳求,既代理效劳器一方面要承受来自阅读器的TCP连接恳求
9、,另一方面又必须可以向Web效劳器发出TCP连接恳求。固然IPv4的Web阅读器无法访问基于IPv6的网页,但是阅读器在使用socket函数建立本地套接口时,都使用AF_INET参数指定使用本地IPv4协议栈,假如在具有IPv4/IPv6双协议栈的主机上,使用socket函数建立本地接口的时,可以使用AF_INET6标志指定使用IPV6协议栈,那么通过这个协议栈就可以实现与IPV6效劳进程的通讯。一旦connect函数建立连接后,网络通讯都简化成了文件的读写操纵,此时与详细的协议栈和IP地址都没有关系。但是如今使用的客户端根本上都是IPv4的单协议栈,而且改写阅读器本身的代码是不现实的。这样,
10、可以在“家电控制中心增加一项“IPv4/IPv6双协议栈的代理效劳功能,阅读器通过代理端口的设置,将恳求交给“家电控制中心处理,通过编程处理让“家电控制中心根据客户端恳求的目的地址的不同调用系统的IPv4或者IPV6协议栈,分别实现客户端与IPv4或者IPV6进程的通讯。2信息家电远程控制中IPv4/IPv6兼容的实现2.1信息家电控制中心中代理功能的设置和阅读器的选择在基于IPv4技术的家电远程控制系统中,一般家电用户可以直接输入“家电控制中心的IP地址,直接访问到信息家电及其控制/状态页面。但在基于IPv6的信息家电中,每个家电都可具有自己的一个或者多个IP地址,当然也可以具有域名。这样,
11、在考虑信息家电远程控制IPv4/IPv6兼容问题时,不但要考虑用户的URL恳求直接是IP地址,还要考虑用户对信息家电应用的域名。因此,在“家电控制中心中首先要添加IPv4/IPv6双协议栈,并使之成为Web代理效劳器,同时也要具有恳求域名解析的功能,最后,判定地址的格式,根据不同协议地址调用对应的协议栈。网络中客户端Web阅读器的代理端口设置为“家电控制中心的对应端口,阅读器将URL中输入的内容交给“家电控制中心处理,经过域名解析,假如是IPv4地址,那么“家电控制中心的代理不进展处理,按照原来的形式发送恳求;假如是IPv6的地址,那么“家电控制中心的代理将恳求交给IPv6处理模块,调用系统的
12、IPV6协议栈,实现与IPV6的通讯。图2是“家电控制中心对IPv4客户端的URL处理流程图。align=center图2家电控制中心对URL的处理流程图/align2.2阅读器的选择和多URL同时恳求的解决方案在客户端选择使用Netscape阅读器,由于在通过手动设置代理联入Internet的时,IE要对其URL中输入的内容进展语法检查,而Netscape那么完全不作任何检查,把从域名解析到数据转发的任务都交给“家电控制中心,这样无论在URL中输入的是域名还是IPv4或者IPv6地址,Netscape都会不加任何检查地送入“家电控制中心,所以,客户端Web效劳的接入和阅读工具选择Netsca
13、pe。由于“家电控制中心要对一个阅读器的多个恳求或多个阅读器的多个恳求同时作出反响,在详细实现时,使用“家电控制中心的daemon侦听端口,使“家电控制中心碰到恳求就产生子进程进展处理,即通过socket函数创立监听套接字listenfd,并调用bind和listen函数将其变成一个监听套接口,使系统内核接收来自客户的连接恳求。“家电控制中心调用accept函数等待客户端的连接。当客户端Web阅读器提议的TCP连接恳求转发到“家电控制中心处理时,TCP使用三次握手建立连接,当握手完毕时,accept函数返回,其返回值是一个称为已连接描绘字connetcteddescrIPtor的新描绘字con
14、nfd。“家电控制中心用fork函数为这个描绘字开启一个子进程,并用此子进程处理连接和通讯,同时父进程仍保持监听状态。另外,在实现“家电控制中心的IPv4/IPv6双协议栈代理功能时,在处理监听套接口的同时,又要处理已连接套接口,还要处理多个描绘字,在解决这个问题时用到了I/O复用技术。在I/O复用中,系统阻塞于select调用,等待数据报套接口可读,当select返回套接口可读时,系统调用readline函数将数据报读到缓冲区中。在连接建立和传输经过中,“家电控制中心为每一幅图片和每一个文本文件建立一个描绘字,因此,在select的参数设置中要保证每一个描绘字都是可读取的。3测试和结论在测试
15、环境中,家电局域网由“家电控制中心、基于IPv4的信息家电和基于IPv6的信息家电。“家电控制中心除具有用户治理、家电治理、信息格式转换等模块外,具有IPv4/IPv6双协议栈、Web代理效劳、域名解析、IPv4/IPv6地址识别等功能。基于IPv4的信息家电和基于IPv6的信息家电都具有Web效劳的功能,并有对应的控制/状态页面。客户端计算机是IPv4协议栈,Web阅读器使用Netscape,并将代理设置为“家电控制中心。由于使用Netscape作为Web阅读器,操纵系统均选用了Linux。在测试中,通过客户端实现了对两类家电的访问和控制。本文作者创新点是利用信息家电局域网中的“家电控制中心
16、,在不改变家电网络构造的情况下,针对信息家电远程控制提出并实现了IPv4/IPv6兼容的一种方法,使基于IPv4的信息家电和基于IPv6的信息家电通过具有IPv4/IPv6双协议栈、域名解析、地址的识别和不同协议栈调用等功能的“家电控制中心交融在了同一个局域网中,进而方便了用户的使用和厂家的开发及维护。参考文献:1DouglasE.Comer.InternetworkingwithTCP/IPM.USA:Preatice-hall,19952GillignR,NordmarkE;RFC1993:TransitionMechanismsforIPv6HostsandRouters;1996-043Berners-LeeT,FieldingR,MasinterL;RFC2396:UniformResourceIdentifiers;Genericsyntax;1998-084DeeringS,HindenR;RFC2460:InternetProtocol,Version6Specification.1995-125HindenR,CarpenterB,MasinterL;RFC2732:FormatforLiteralIPv6AddressesinURLs;1999-126周红波;基于Linux的源代码开放阅读器J;微计算机信息,20025,4849