扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
主机到主机和路由器到主机隧道技术都是将IPv6包传到主机的,可以用IPv6包的信息获得终点地址。隧道入口创建一个IPv4封装头并传送包,隧道出口解包,去掉IPv4头,更新IPv6头,处理IPv6包。隧道入口节点需要保存隧道信息如MTU等。如果用于目的节点的IPv6地址是与IPv4兼容的地址,隧道的IPv4地址可以自动从IPv6地址继承下来,因此也就不需要人工配置。这种隧道也就称为自动隧道。
IPv4兼容的IPv6地址格式如下:
B.双IP协议栈方式
双协议栈方式包括提供IPv6和IPv4协议栈的主机和路由器。双协议栈工作方式的简单描述如下:
·如果应用程序使用的目的地址是IPv4地址,那么将使用IPv4协议栈;
·如果应用程序使用的目的地址是兼容IPv4的IPv6地址,那么IPv6就封装到IPv4中;
·如果目的地址是另一种类型的IPv6地址,那么就使用IPv6地址,可能封装在默认配置的隧道中。
双协议栈的缺省IP包发送算法为:
a. 如果IP包的目的地址是IPv4地址:
如果目的站点在可达链路上,直接发送;
如果目的站点不可达,要么送往在线路由器,要么不可达。
b. 如果IP包的目的地址是IPv4兼容的IPv6地址:
如果目的站点在可达链路上,直接发送IPv6包;
如果目的站点处于off-link,(1)如果有可达IPv4路由器,则封装在IPv4包中发往IPv4路由器;(2)如果有可达IPv6路由器,则不封装,直接发送;(3)如果没有可达路由器,则不可达。
c. 如果IP包的目的地址是纯IPv6地址:
如果目的站点在 可达链路上,直接发送IPv6包;
如果目的站点处于off-link,(1)如果有可达IPv6路由器,则直接发送到路由器;(2如果目的地通过手动隧道可达,并且链路上有可达IPv4路由器,则封装成IPv4包,目的IP地址为隧道终点地址,链路地址为可达路由器的链路地址。(3)否则为不可达。
d. 在线/离线的确定
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的选项选上,其他内核选项请根据系统的具体情况作出符合系统的选择。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者