免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1543 | 回复: 0
打印 上一主题 下一主题

ipv6 转 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-10 16:16 |只看该作者 |倒序浏览
核心提示
  “12月3日,备受关注的“中国下一代互联网示范工程(CNGI)”历经5年耕耘结出硕果,我国已建成全球最大的下一代互联网示范网络,推动并形成了中国的下一代互联网产业群,以IPv6路由器为代表的关键技术及设备产业化初成规模,市场占有率跃升至世界第二位。”
  尽管IPv6的普及不是一会儿半会儿的事儿,但是IPv6的广泛应用已经不再是梦想,已经提到日程上来。IPv6的产业化很快就会到来,为了迎接IPv6的普及与应用。我做准备做一系列的IPv6操作实验,与网友们分享IPv6知识与乐趣。
  一、为Windows XP 安装IPV6协议
  Windows的新一代操作系统Vista与Windows Server 2008已经全面支持IPV6,Windows XP SP2也已经支持IPv6了,只不过是默认情况下没有安装。我们可以通过“本地连接”或命令行来安装IPV6协议。
  1、安装IPV6协议

图一

图二

图三 ipv6 install,命令行下安装IPV6
  2、检验安装

图四

图五 ::1为IPV6接口环回地址
  二、为网卡配置IPV6地址
  在Windows XP只能在命令行配置IPV6地址。
C:\>netsh
netsh>interface
netsh interface>ipv6
netsh interface ipv6>add address "本地连接" 1001:1:1:1:1:1:1:1
确定。
netsh interface ipv6>
  以上命令表示为网卡配置了地直为1001:1:1:1:1:1:1:1的IPV6地址(十六进制数),在实验网络中为另一台计算机(Windows XP)配置了1001:1:1:1:1:1:1:2。

图六 ping测试成功
  三、IPV6数据包

图七

图八
  

使用Windows Server 2008的DNS服务把域名解析为IPv6地址的实验。客房端使用Windows XP Professional。关于Windows Server 2008在这里不在赘述,可以参见我的博客里有关Windows Server 2008相关文章。
  实验环境说明
    DNS服务器 IPv4地址:192.168.0.3 IPV6地址:1001:1:1:1:1:1:1:3
    域名:senya.org
  WWW服务器 IPv4地址:192.168.0.3 IPv6地址:1001:1:1:1:1:1:1:3
               主机名:web.senya.org
    客户机:   IPv4地址:192.168.0.1 IPv6地址:1001:1:1:1:1:1:1:1
  一、为Windows Server 2008配置IPV6地址及配置DNS服务器
  打开网络连接,右键单击“本地连接”,打开“本地连接”-“属性”对话框:

图一

图二 配置IPv6地址1001:1:1:1:1:1:1:3/64及DNS

图三 在Windows Server 2008的服务器管理中添加DNS服务器角色

图四 新建正向查找区域

图五 输入域名:senya.org

图六 新建主机

图七

图八

图九 建立反向查找区域

图十 

图十一 选择IPV6反向查找区域

图十二 输入前缀

图十三 反向区域文件名

图十四 新建主机并选择PRT记录项

图十五 
  二、配置客户端
  为客户端IPV6配置DNS服务器:
C:\>netsh
netsh>interface
netsh interface>ipv6
netsh interface ipv6>
netsh interface ipv6>add dns "本地连接" 1001:1:1:1:1:1:1:3
确定。
netsh interface ipv6>
  实验中表明,没有使用IPv6数据包来解析域名,而是使用了IPv6数据来收发DNS解析数据包。

图十六 使用域名访问网站(IPV6),成功解析

图十七 抓取的DNS数据包

图十八 DNS解析中响应客户端数据包
  在实验中,无论是Windows Server 2008还是Windows XP均需要设置IPv4地址,DNS才能正常工作或解析。客户端在向DNS服务器请求解析域名时依然是使用IPv4数据包。


IPv6(Internet Protocol version 6)即网际协议第六版。我们当前正在使用的是第四版,我一般不说IPv4,只有与IPv6相提并论时才指出它是第四版。在IPv4之前,我们也没有用过第一、二、三版。为什么称当前使用的IP协议为第四版呢?我猜想TCP/IP开发者(文特●塞夫、罗伯特●卡恩)在设计这套协议时肯定经历了多个测试版本,在他们认为比较完美时,才推出来记大家使用。即IPv4是正式版,可能存在IPv1、IPv2、IPv3,这些版本都是测试版。这些仅仅是猜想而已。
  前两天我们动手做了IPv6的相关实验,今天,我们来具体地了解IPv6的一些相关知识。这些知识需要记住哦。
  一、为什么要开发IPv6
  TCP/IP的开发者,当时并没有预料到互联网在今天会这么火,“计算机千年问题”大家应该还记得吧。互联网的迅猛发展使用TCP/IP协议已经不能满足人们的需要了,阻碍了互联网的发展,主要表现在:1、IP地址已经枯竭,不够用了。互联网技术来自于美国,当然互联网的发展、管理由美国人掌控了,据说美国一所大学拥有的IP地址数量比我们中国还要多!IP地地不够有而且分配不合理。于是出现了划分子网、无类编址、NAT技术来应对,但终究解决不了实质问题。IPv6的地址使用128bit表示,据估计,使用IPv6,可以让地球上的每一粒沙子分得一个IP地址。2、由于IPv4地址分配不合理及互联网的迅猛发展,互联网核心路由器的路由表日益膨胀,使得核心路由器负荷很重,在路由选择计算速度也明显下降。严重影响并制约了互联网的发展。IPv6在这方面做了改进,可以更好支持选路。IPv4数据包报头过于臃肿也会降低数据传输的速度,IPv6数据包采用主报头与扩展报头的方式,来减少不必的数据传输。3、IPv4对QoS(Quality of Service)支持不够好。网联会议、网络电话、网络电视迅速普及与使用,这就要求有更好的QoS来保障这些音视频实时转发。IPv6则提供更好的QoS服务。4、安全性问题。TCP/IP协议在诞生的那一天,根本没有考虑到安全性问题,这就致使今天我们的互联网安全性很差,可以利用协议本身进行攻击。为弥补TCP/IP协议的不安全因素,虽然开发了与之相关的安全补丁协议(IPSec,将其称之为补丁协议,是指它们后来才开发的,用来弥补),但不能从根本上解决安全问题。IPv6在安全性方面会大大增强。5、其它方面。
  二、IPv6的地址分配
  很吓人!看到这么长的IPv6地址,我就头痛,太长了!这是配置IPv6地址的最大感受。
  IPv6地址分为三大类:Unicast(单播)、Multicast(多播)、AnyCast(任播或泛播)。IPv6地址架构这方面的详细信息大家可以参考RFC4291文档:http://www.rfc-editor.org/rfc/rfc4291.txt
  IPv6地址共有128bit,采用冒号分十六进制法表示,分为八节,每节十六bit,形如:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789,怎么样,看着是不是让人头痛!IPv6支持零压缩表示。前面,我们提到IPv6环回地址是::1,它是被压缩后的表示方法,它的完整的记法是0:0:0:0:0:0:0:1。IPv6地址已经没有掩码一说,使用的是前缀。
  多播(Multicast)地址比较容易识别,即所有以FF开头的IPv6地址都是多播地址。
  IPv6的Unicast(单播)地址
  IPv6的单播地址有多种类型:Global Unicast(全局单播地址)、Site-Local Unicast(场点本地单播地址)、Link-Local unicast(链路本地单播地址),在全局单播地址中,还有其它一些子类型的,有特殊用途的、保留的地址等。还有IPv6/IPv4嵌入式地址等。IPv6地址有些复杂,我们在做实验时怎么分配呢?大家可以这样做。全局单播地址的起始bit是001,链路本好单播地址的起始bit是1111111010,场点本地单播地址的起始bit是1111111011,我们可以在这三类单播地址中选择最简单的IPv6地址,如我选择的是1001:1:1:1:1:1:1:1/64。无论学习哪一门知识,我们都应该从易到难,逐步进行,学习IPv6也是一样,逐步学习。
  三、IPv6数据报格
  这方面的详细资料大家可以参考RFC2460文档, Internet Protocol, Version 6 (IPv6) Specification:
http://www.rfc-editor.org/rfc/rfc2460.txt

IPv6 报头格式
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version| Traffic Class |                   Flow Label                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Payload Length             | Next Header |   Hop Limit   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                                                               |
   +                                                                                              +
   |                                                                                               |
   +                         Source Address                                                +
   |                                                                                               |
   +                                                                                              +
   |                                                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                                                               |
   +                                                                                              +
   |                                                                                               |
   +                      Destination Address                                             +
   |                                                                                               |
   +                                                                                              +
   |                                                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 下面拿一个实例加一解释与说明:

图一 我使用数据凶嗅探工具抓取的IPv6数据包
  从上图中我们可以年到IPv6报头与IPv4相比较减少许少,这是因为IPv6报头采用主报头与扩展报头的结构。上图中只有一个IPv6主报头。对其数据域做一些解释与说明:
  版本:6,表示是IPv6,占用4个bit。
       流量类别(Traffic Class):0,表示该次流量没有加识别标志,是普通流量。
   流标签(Flow Label):0。
   载荷长度 (Payload Length):410
   下一个首部(报头):TCP,值是6
   跳数限制(Hop Limit):128。
  源地址:1001:0001:0001:0001:0001:0001:0001:0001
  目的地址:1001:0001:0001:0001:0001:0001:0001:0003
  由上图我可以看出,Ethernet帧头中的协议类型(protocol type)的值变成了0x86DD,Ethernet帧头、TCP、HTTP等协议均没有发生变化。从这里我们看到网络协议分层的好处。IP协议是TCP/IP协议套件中最为重要的协议,与之关系密切的协议肯定也得做相应的变化,如IGMP、ICMP、路由协议(RIP、OSPF等)及物理地址到IP地址映射的协议。明天,我们来认识他们都做了哪些变化。
我们知道TCP/IP协议是分层设计的,当某一层的协议发生变化时,并不影响其它层的协议工作,但这些协议是互相协作工作的,IP协议是TCP/IP协议套件中的最为重要的协议,因此,IP协议的改变势必影响到与之关系密切的协议,再说了,通过对IP协议的改进,目的是让互联网更好的适应我们的需要。因此,其它有缺陷的协议也应该改进。
  一、邻居发现协议
  邻居发现协议(ND,Neighbour Discovery)的详细介绍请参见RFC2461:
http://www.rfc-editor.org/rfc/rfc2461.txt
,在IPv4中用ARP协议完成IP层逻辑地址到数据链路层物理地址的映射。的IPv6中已经不在使用ARP协议了,而是使用一个新的解析协议邻居发现协议(ND)。ND使用ICMPv6协议封装、发送接收数据。ND有两种类型的数据报文:Neighbor Solication和Neighbor Advertisement。Neighbor Solication报文用来请求IPv6地址到链路层物理地址解析,它的数据报文结构与内容如下:

图一 Neighbor Solication报文格式与内容
  Neighbor Solication报文格式与内容与传输说明:上图中IPv6地址为1001:1:1:1:1:1:1:3的主机想知道IPv6地址为1001:1:1:1:1:1:1:1的主机的以太网MAC地址,于是IPv6地址为1001:1:1:1:1:1:1:3的主机发出一个组播IPv6数据报文,告诉该多播组中的主机,我的以太网Mac地址是多少,我的IPv6地址是多少,请告诉我IPv6地址为1001:1:1:1:1:1:1:1的的主机的以太网Mac地址是多少? 
Neighbor Advertisement数据报文
  Neighbor Advertisement报文是对Neighbor Solication报文的响应与回答:

图二 该报文是对图一所示的Neighbor Solication报文的回答 
  该报文要表达的意思是:我的IPv6地址是1001:1:1:1:1:1:1:1,我的以太网Mac地直是00:1E:90:1c:8c:4F。通过这两个报文的交换完成了IP层逻辑地址到数据链路层物理地址的映射。
  二、ICMPv6
  详细资料请参见RFC4443,
http://www.rfc-editor.org/rfc/rfc4443.txt
  ICMP通用报文格式:
  以Echo Request、Echo Reply为介绍

图三 ICMPv6 Echo Request报文 ,该报文ICMP类型代码为128

图四 ICMPv6 Echo Reply报文,该报文ICMP类型代码为129
 



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93115/showart_1896608.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP