Linux下IPV4和IPV6的互操作性研究[2]

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:

  IPv4使用子网掩码确定,IPv6使用邻居发现协议。两者共同使用的是:如果目的地址是IPv4地址,则使用  RFC1122比较两者的掩码;如果目的地址是IPv4兼容的IPv6地址,则使用低32位目的地址的子网掩码比较;如果是  IPv6纯地址,则使用邻居发现协议。


三、Linux下IPv6网络研究实验


  我们在研究了大量IPv6协议(主要的IPv6 RFC文档)之后,进行了一系列的IPv6研究实验。现详细叙述如下:


1.Pv6研究实验平台的选择


  在国内有几所大学已经或正在进行IPv6实验研究,并且建立了CERNET IPv6实验床,我们在与CERNET IPv6实验床的老师和同学取得联系并进行了交流,实验床网络中心最初的组网是通过主机配置FreeBSD来完成的,1998年开始用的是FreeBSD2.2.8,现在是FreeBSD3.2,3.4,4.0都有,此外有些科研人员也开始采用linux进行实验,路由器现在采用的是Nokia的IP650,还有FreeBSD+Mrtd的主机。电子科大作为教育网西南地区的主节点,也得到了Nokia捐赠的IPv6路由器。在此基础之上,我们通过分析比较研究各种操作系统,最后选定用linux作为IPv6主机和路由器研究实验平台。具体原因如下:
A. Linux作为开放的操作系统,其原代码完全公开,具有很强的灵活性,现在有很多自由软件联盟为Linux免费开发如件,故Linux具有很强的生命力和活力,而其他大部分由个别公司开发的操作系统,一方面原代码不公开,无法根据自己的要求修改内核,其公司的发展的兴衰,很大程度上影响该操作系统的发展。
B. Linux操作系统很先进,一直跟踪关注网络的发展,用Linux组建Internet网络,建立网站,进行网络开发研究,都是很好的选择。并且其内核从2.2.0开始,就已经开始支持IPv6技术了,这等于就为我们提供了IPv6协议栈原代码,  我们可以利用其共享代码做IPv6的研究开发。


2.Linux主机IPv6协议支持技术研究


  在选定了实验平台之后,我们就着手进行一系列的IPv6实验,主要针对在已大量安装了IPv4的主机和路由器情况下,如何成功地兼容地升级到IPv6,如何运用在IPv6主机和路由器上,与Ipv4主机和路由器成功互操作,以及如何建立配置IPv6主机和路由器。在进行IPv6实验之前,我们根据网上查询资料及对Linux内核分析,研究了如何建立IPv6主机,包括安装协议栈,网络工具及网络程序,现以Redhat 6.1 Linux为例,详细说明其具体步骤如下:


A.支持IPv6协议的新内核的编译


  要让操作系统支持IPv6,就要安装IPv6协议栈,Redhat6.1的内核为2.2.12版本,可支持IPv6,但是安装缺省不支持,由于协议栈在操作系统中是处于核心地位的,必须重新编译新的内核才能安装上新的协议栈,其具体步骤如下:
  1)以root身份登陆,进入源码所在的目录:cd /usr/src/linux
  2)运行 make clean,清除一些可能过期的中间代码。
  3) 然后配置内核选项:make menuconfig 或者 make xmenuconfig运行make menuconfig后,将下面的支持IPv6的选项选上,其他内核选项请根据系统的具体情况作出符合系统的选择。
   Code maturity level options
     Prompt for development and/or incomplete code/drivers Yes.
   Networking options
     Packet socket               yes
     Unix domain sockets            yes
     TCP/IP networking             yes
     The IPv6 protocol             yes
     IPv6: enable EUI-64 token format      yes
     IPv6: disable provider based address    yes
   File systems
     / procfilesystem support yes
  4)然后运行make dep; make clean; make bzImage
  5)没有错误,现在已经编译成功了支持IPv6协议的内核了。将该内核拷贝到Linux的启动目录下。
   cp arch/i386/boot/zImage /boot/vmlinuz-IPv6
  6)编辑etc/lilo.conf使新的内核成为boot的选择。
  7) 重启系统: reboot
  在重启系统之后,在登陆之前会发现有支持IPv6的内核信息出现,这下该主机就是纯IPv6主机啦,但是现在的主机只是安装的IPv6协议栈,并没有IPv6网络配置工具如hostname, netstat, arp, ifconfig, rarp, route等,还不能配置网络,不能检测调试发送IPv6包,因此我们必须进行如下操作。


B.编译net-tools


  Linux的网络配置,基本上是通过ifconfig和route等命令实现的,需要安装编译新版本的支持IPv6的net-tools,我们采用了net-tools-1.52。其安装过程如下:
  1)解开软件包:tar xzf your-path/net-tools-1.52.tar.gz -C /usr/src
  2)进入源码所在目录:cd /usr/src/net-tools

本文关键:Linux下IPV4和IPV6的互操作性研究
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top