标签:
《网络工程师》 Part7 下一代互联网
1、在IPv4和IPv6混合的网络中,协议翻译技术用于纯IPv4主机和纯IPv6主机之间进行通信。
纯IPv4主机和纯IPv6主机之间进行通信的需求,由于协议栈的不同很自然的需要对这些协议进行翻译转换。对于协议的翻译涉及两个方面,一方面是IPv4与IPv6协议层的翻译,另一方面是IPv4应用与IPv6协议栈应用之间的翻译。
翻译策略可以对应多种实现技术,其中NAT-PT和TRT主要应用于网络汇聚层,而BIA、BIS则主要是针对主机终端提出的。
2、从IPv4向IPv6的过渡
过渡期要解决的问题可以分成两类:第一类是解决IPv6孤岛之间相互通信的问题;第二类是解决IPv6孤岛与IPv4海洋之间的通信问题。
目前提出的过渡技术归纳为3种:
1)隧道技术。用于解决IPv6节点之间通过IPv4网络进行通信的问题。
2)双协议栈技术。使得IPv4和Pv6可以共存于同一设备和同一网络中。
3)翻译技术。使得纯IPv4主机和纯IPv6主机之间可以进行通信。
3、所谓移动IP是指移动主机通过在无线通信网中漫游来保持网络连接,实现移动IP的关键技术是:移动主机具有一个家乡网络地址并获取一个外地转交地址。
注:简单的说,移动IP技术就是让计算机在互联网及局域网中不收任何限制地即时漫游,也称为移动计算机技术。
专业来说,移动IP技术是移动节点(计算机/服务器/网段等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
移动IP技术的关键有代理搜索、转交地址、登录、隧道。
1)代理搜索:是计算节点用来判断自己是否处于漫游状态。
2)转交地址:是移动节点移动到外网时从外网代理处得到的临时地址。
3)登录:是移动节点到达外网时进行一系列认证、注册、建立隧道的过程。
4)隧道:是家乡代理与外代理之间建立的双向数据通道。
4、在IPv6的单播地址中有两种特殊地址,其中地址0:0:0:0:0:0:0:0表示 (25) ,地址0:0:0:0:0:0:0:1表示 (26) 。
(25)
A. 不确定地址,不能分配给任何结点
B. 回环地址,结点用这种地址向自身发送IPv6分组
C. 不确定地址,可以分配给任何结点
D. 回环地址,用于测试远程结点的连通性
(26)
A. 不确定地址,不能分配给任何结点
B. 回环地址,结点用这种地址向自身发送IPv6分组
C. 不确定地址,可以分配给任何结点
D. 回环地址,用于测试远程结点的连通性
解析:25参考答案: A
26参考答案: B
详细解答: IPv6地址有单播地址、任意播地址和组播地址三种类型:
(1) 单播(Unicast)地址 单播地址是单个网络接口的标识符。对于有多个接口的结点,其中任何一个单播地址都可以用作该结点的标识符。但是为了满足负载平衡的需要,在RFC 2373中规定,只要在实现中多个接口看起来形同一个接口就允许这些接口使用同一地址。IPv6的单播地址是用一定长度的格式前缀汇聚的地址,类似于IPv4中的CIDR地址。单播地址中有下列两种特殊地址: ·不确定地址:地址0:0:0:0:0:0:0:0称为不确定地址,不能分配给任何结点。不确定地址可以在初始化主机时使用,在主机未取得地址之前,它发送的IPv6分组中的源地址字段可以使用这个地址。这种地址不能用作目标地址,也不能用在IPv6路由头中。 ·回环地址:地址0:0:0:0:0:0:0:1称为回环地址,结点用这种地址向自身发送IPv6分组。这种地址不能分配给任何物理接口。
(2) 任意播(AnyCast)地址 这种地址表示一组接口(可属于不同结点的)的标识符。发往任意播地址的分组被送给该地址标识的接口之一,通常是路由距离最近的接口。对IPv6任意播地址存在下列限制: ·任意播地址不能用作源地址,而只能作为目标地址。 ·任意播地址不能指定给IPv6主机,只能指定给IPv6路由器。
(3) 组播(MultiCast)地址 组播地址是一组接口(一般属于不同结点)的标识符,发往组播地址的分组被传送给该地址标识的所有接口。IPv6中没有广播地址,它的功能已被组播地址所代替。 在IPv6地址中,任何全“0”和全“1”字段都是合法的,除非特别排除的之外。特别是前缀可以包含“0”值字段,也可以用“0”作为终结字段。一个接口可以被赋予任何类型的多个地址(单播、任意播、组播)或地址范围。
5、IPv6地址33AB:0000:0000:CD30:0000:0000:0000:0000/60可以表示成各种简
写形式,以下写法中正确的是 (58)
A.33AB:0:0:CD30/60 B.33AB:0:0:CD3/60
C.33AB::CD30/60 D.33AB::CD3/60
答案:(58)A
标准答案是A,0000的压缩只能用一次 否则无法确定0000的准确个数了,C中,CD30左边和右边的0都给省去了 省略了两处的全0 因此不正确。
IPv6“链路本地地址”是将主机 的 MAC地址 附加在地址前缀1111 1110 10之后产生的。
解析:
IPV6涉及到一个概念,link-local address, 中文叫“链路本地地址”,它的前缀是FE80::/64
一个link-local address的范例:FE80::713e:a426:d167:37ab
实际上,这个概念类似于ipv4中,当DHCP分配失败时自动生成的169.254.XXX.XXX这样的地址,凡是源地址或目的地址中含有link-local address的报文,路由器都不应当转发它。这样的报文只能在一个LAN中互通。
<IPV6的地址类型>
可分为三大类:
1、单播地址
2、组播地址
3、任意播地址
. 单播--Unicast : one to one
· 单播地址用于一对一的连接
· IPv6单播地址有以下六种类型:
单播地址六种类型:
1-Aggregate Global Unicast Address 2xxx:xxxxx/3 - 3FFF: :FFFF
2001::/16 IPV6因特网地址
2002::/16 6to4过渡地址
2-Link Local Address FE80::/10 (前10位以FE80开头)
3-Site Local Address (Private) FEC0::/10
4-Unspecified Address 0:0:0:0:0:0:0:0/128 => ::/128
5-Loopback Address 0:0:0:0:0:0:0:1/128 => ::1/128
6-IPv4 Compatible Address ::192.168.30.1 => ::C0A8:1E01
以下是一些单播地址的具体说明:
1、可聚合全球单播地址Aggregate global unicast address
由IANA分配的可在全球路由的公网IP地址
目前已分配的前缀:2000::/3 占用了12.5%的IPV6地址空间
2000:0000:0000:0000:0000:0000:0000:0000--3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
这个前缀中总共包含8192个/16的前缀
目前实际用于IPV6因特网运作的前缀:2001::/16
2002::/16 为使用6-TO-4过渡机制的节点保留
3ffe::/16 用于6bone测试目的的前缀
2、本地链路地址:link-local address
当在一个节点启用IPV6,启动时节点的每个接口自动生成一个link-local address
其前缀64位为标准指定的,其后64位按EUI-64格式来构造
注意:在本链路上,路由表中看到的下一跳都是对端的Link Local地址,不是公网IP地址
前缀:FE80::/10
范围:只能在本地链路使用,不能在子网间路由
为何需要link-local--在一个接口可以配置很多IPv6地址,所以学习路由就有可能出现很多下一跳。
所以出现Link Local地址唯一标识一个节点。在本地链路看到下一跳都是对端的Link Local地址。
在网络重新编址过程中,节点和路由器的Link Local地址不会发生变化,可以很容易地做一个修改,不用担心网络不可达。
R1(config-if)#ipv6 address FE80:0:0:0:0123:0456:0789:0abc link-local 手工指定link-local地址
3、本地站点地址:site-local address
IPV6的私网地址,就像IPV4中的私网保留地址一样
只占用到整个IPV6地址空间的0.1%
前缀:FEC0::/10 其后的54比特用于子网ID 最后64位用于主机ID
范围:只能在本站点内使用,不能在公网上使用
例如:在本地分配十个子网
1、FEC0:0:0:0001::/64
2、FEC0:0:0:0002::/64
3、FEC0:0:0:0003::/64
10、FEC0:0:0:000A::/64
本地站点地址被设计用于永远不会与全球IPV6因特网进行通信的设备,比如:打印机、内部网服务器、网络交换机等
4、未指定地址Unspecified address
形式:0:0:0:0:0:0:0:0
表示地址未指定,或者在写默认路由时代表所有路由
5、回环地址Loopack address
形式:0:0:0:0:0:0:0:1
同IPV4中127.0.0.1地址的含义一样,表示节点自已
6、内嵌IPV4地址的IPV6地址 IPv4 Compatible Address
1、IPV4兼容的IPV6地址--用于在IPV4网络上建立自动隧道,以传输IPV6数据包。
其中高96bit设为0,后面跟32bit的IPV4地址
0000:0000:0000:0000:0000:0000:206.123.31.2
0000:0000:0000:0000:0000:0000:ce7b:1f01
由于这种机制不太好,现在已经不再使用,转而采用更好的过渡机制
2、映射IPV4的IPV6地址--仅用于拥有IPV4和IPV6双协议栈节点的本地范围
其中高80bit设为0,后16bit设为1,再跟IPV4地址
0000:0000:0000:0000:0000:ffff:206.123.31.2
0000:0000:0000:0000:0000:ffff:ce7b:1f01
EUI-64格式:扩展惟一标识符
在IPV6中,无状态自动配置机制使用EUI-64格式来自动配置IPV6地址
所谓无状态自动配置是指在网络中没有DHCP服务器的情况下,允许节点自行配置IPV6地址的机制。
EUI-64的构造规则--根据接口的MAC地址再加上固定的前缀来生成一个IPV6的地址
工作原理:自动将48bit的以太网MAC地址扩展成64bit,再挂在一个64bit的前缀后面,组成一个IPV6地址
一、将48位的MAC地址从中间分开,插入一个固定数值FFFE
0050:3EE4:4C00-->0050:3EFF:FEE4:4C00
二、将第7个比特位反转,如果原来是0,就变为1,如果原来是1,就变为0
0050:3EFF:FEE4:4C00-->0250:3EFF:FEE4:4C00
三、加上前缀--FE80::0250:3EFF:FEE4:4C00 这就是一个完整的IPV6地址
反转的原因:
在MAC地址中,第7比特为1表示本地管理,为0表示全球管理
在EUI-64格式中,第7位为1表示全球惟一,为0表示本地惟一
组播地址Multicast
在IPV6中没有广播,用组播来代替
前缀:FF00::/8 占用了0.38%的IPV6地址空间
1111 1111 4bit 4bit
|→固定值←||→标志←| |→范围←|
标志位为0000表示是永久保留的组播地址,分配给各种技术使用
标志位为0001表示是用户可使用的临时组播地址
范围段定义了组播地址的范围,其定义如下:
二进制 十六进制 范围类型
0001 1 本地接口范围
0010 2 本地链路范围
0011 3 本地子网范围
0100 4 本地管理范围
0101 5 本地站点范围 类似组播的私网地址
1000 8 组织机构范围
1110 E 全球范围 类似组播的公网地址
下面是一些组播指定地址:
FF02::1 all nodes 在本地链路范围的所有节点
FF02::2 all routers 在本地链路范围的所有路由器
FF02::5 all ospf routers
FF02::9 all rip routers 所有运行RIP的路由器
FF02::A all eigrp routers 所有运行eigrp的路由器
FF05::2 在一个站点范围内的所有路由器
被请求节点的组播地址solicited-node multicast address--重要的东东
一种特殊的组播地址,对于节点或路由器的接口上配置的每个单播和任意播地址,都会自动生成一个对应的被请求节点组播地址。注意link-local address也会生成一个被请求节点的组播地址。
工作范围:只在本地链路上有效
特点:
1、在本地链路上,被请求节点的组播地址组中通常只包含一个用户
2、只要知道一个节点的IPV6地址,就能计算出它的被请求节点的组播地址
作用:1、在IPV6中,没有ARP。ICMP代替了ARP的功能,被请求节点的组播地址被节点用来获得相同本地链路上邻居节点的链路层地址
2、用于重复地址检测DAD,在使用无状态自动配置将某个地址配置为自已的IPV6地址之前,节点利用DAD
验证在其本地链路上该地址是否已经被使用。
前缀:FF02:0000:0000:0000:0000:0001:FFxx:xxxx/104
FF02::1:FFxx:xxxx/104
如何产生:被请求节点组播地址的前104位固定,将IP地址的后24位移下来填充到后面就可以了
例如:IPv6---2001::1234:5678/64
被请求节点组播地址---FF02::1:FF34:5678/104
其中FF02::1:FF为固定部分,共104位
组播IP地址到MAC地址的映射:
映射规则:组播MAC地址的前16位固定为0x3333,将组播IPV6地址的后32位直接映射到组播MAC地址的后32位就可以了。
例:IPV6地址为--FF12::1234:5678/64
对应的组播MAC地址为--3333:1234:5678
0x3333为固定前缀
例:所有节点的组播地址:FF02::0001
对应的组播MAC地址:3333:0000:0001
任意播地址Anycast address
应用在one-to-nearest(一到近)模式
任意播是多个设备共享一个地址.分配IPv6单播(unicast)地址给拥有相同功用的一些设备.发送方发送一个以任意播为目标地址的包,当路由器接受到这个包以后,就转发给具有这个地址的离它最近的设备.单播地址用来分配任意播地址.对于那些没有配备任意播的的地址就是单播地址;但是当一个单播地址分配给不止一个接口的时候,单播地址就成了任意播地址。
例如:Mobile方面的特性,移动设备漫游到其他区域,不必接入原始的接入点,只需要找到最近的即可。
必须的IPV6地址:
一旦节点启用IPV6,那么接口就会自动生成下列地址
1、本地链路地址
2、回环地址
3、所有节点多播地址FF02::1
4、如果是路由器,还会有FF02::2
5、被请求节点的组播地址
如果接口配了一个IPV6的单播地址,还会产生被请求节点的组播地址
《如何在帧中继中写MAP》
注意:必须写两条MAP,一条是所配IPV6地址的MAP,一条是link-local地址的MAP
否则会由于没有MAP映射导致无法PING通。
<IPV6的基本命令>
R1(config)#ipv6 unicast-routing 在路由器上开启IPV6路由功能
R1(config-if)#ipv6 enable 在接口下启用IPV6,会自动生成一个link-local地址
R1(config-if)#ipv6 address 2001::1/64 指定一个IP地址,配置后会自动生成一个link-local地址
R1(config-if)#ipv6 address FE80:0:0:0:0123:0456:0789:0abc link-local 手工指定link-local地址
R1(config-if)#ipv6 address 2001:0410:0:1::/64 eui-64 使用eui-64格式自动生成IPV6地址的低64位
R1(config-if)#ipv6 unnumbered 让本接口使用另一个接口的MAC地址生成源地址
R1(config-if)#ipv6 mtu 1500 配置接口的MTU值
R1(config-if)#ipv6 nd suppress-ra 关闭自动下发前缀
R2(config-rtr)#no split-horizon 关闭水平分割 注意IPV6的水平分割是在进程下关闭,不是在接口下
show ipv6 interface e0 显示IPV6接口的信息,包括IPV6地址
7、
标签:
原文地址:http://blog.csdn.net/sinat_24206709/article/details/51205431