<IPv6>

 
每个IPV6-enabled 接口必须包括至少一个回环(::1/128)和一个link-local地址
任意播地址是一个全局的单播地址
 
当一个IPV6节点发送多播数据包到一个多播地址时,数据包中的源地址不能是一个多播地址。而且在任何ipv6扩展路由选择包头中,多播地址不能作为源地址
 
多播指定地址
多播的地址     范围            含义                         描述
FF01::1        节点         所有节点       在本地接口范围的所有节点
FF01::2        节点         所有路由器     在本地借口范围的所有路由器
FF02::1        本地链路     所有节点       在本地链路范围的所有节点
FF02::2        本地链路     所有路由器     在本地链路范围的所有路由器
FF02::5        站点         所有路由器     在一个站点范围内的所有路由器
 
节点必需的ipv6地址
  必须的地址                                        地址表示
每个网络接口的本地链路地址                      FF80::/10
回环地址                                        ::1
所有节点多播地址                                FF01::1,FF02::1
分配的可聚合全球单播地址                        2000::/3
所有的每个单播和任意播地址的被请求节点多播地址  FF02::1:FFxx:xxxx其中xx:xxxx 
                                                是每个单播或任意播地址的24
                                                bit
主机所属的所有组的多播地址                      FF00::/8
 
路由器必需的ipv6地址
  必需的地址                                          地址表示
一个节点的所有必需的ipv6地址   FE80::/10,::1,FF01::1,FF02::1,2000::/3,
                               FF02::1:FFxx:xxxx,FF00::/8
所有路由器多播地址             FF01::2,FF02::2,FF05::2
子网路由器任意播地址      UNICAST_PREFIX  :0:0:0:0
其他任意播配置地址       2000::/3
 
多播以太网前缀 33:33加在低32比特的前面
 
·IPv4的局限性:
  1.地址空间的局限性:IP地址空间的危机由来已久,并正是升级到IPv6的主要动力。
  2.安全性:IPv4在网络层没有安全性可言,安全性一直被认为是由网络层以上的层负责。
  3.自动配置:对于IPv4节点的配置比较复杂,让很多普通用户无所适从。
  4.NAT:破坏了Internet端到端的网络模型。
  5.由于IPv4地址分配杂乱无章,没有层次性,网络设备需要维护庞大的路由表项。
  6.IPv4包头过于复杂,使得网络节点处理的效率不高。
 
ipv4 路由转发的时候,ip包会变checksum(校验和) 和TTL(每经过一个路由器TTL值减一)
ipv6 只变TTL
 
CPU现在无法实现128位的转发。
最好只是64位的。
 
 
·IPv4  点分十进制      32bit
  IPv6  冒号分十六进制  128bit
  
·Theoretical limit: 4.3 billion  (十亿)   43亿
  Practical limit  : 250 million  (百万)   2.5亿
 
  Over 420 million Internet in Y2001 
  (less than 10% of the worldwide population)
 
 
没有广播,组播代替广播。所以没有ARP。
 
ipv6 enable
ipv6 install
 
Unicast : one to one
·单播地址用于一对一的连接
·IPv6单播地址有以下几种类型:
 -Unspecified Address              0:0:0:0:0:0:0:0/128 => ::/128
  -Loopback Address                0:0:0:0:0:0:0:1/128 => ::1/128
 -IPv4 Compatible Address            ::192.168.30.1  => ::C0A8:1E01
 -Link Local Address              FE80::/10(前10位以FE80开头)
  -Site Local Address (Private)       FEC0::/10
 -Aggregate Global Unicast Address   2xxx:xxxxx/3  -  3FFF: :FFFF
    2001::/16  IPV6因特网地址
    2002::/16  6to4过渡地址
 
LINK LOCAL:
  1.起用IPV6默认生成Link Local地址
  2.看到下一跳都是对端的Link Local地址,不是公网IP地址.
 
Unspecified Address(未指定的地址或默认地址)              
 
在一个接口可以配置很多IPv6地址,所以学习路由就有可能现很多下一跳。
所以出现Link Local地址唯一标识一个节点。看到下一跳都是对端的Link Local地址。
 
没有网络号和广播地址
R1 E0: ipv6 address 2001::/127
R2 E0: ipv6 address 2001::1/127
 
EUI-64 ( Extended Universal IDentifier )
ipv6 address 2001::/64 eui-64
 
 
Multicast : one to many
 
      
 
·FF00::/8
  -永久的:由IANA指定的。FFxy   x=0000
  -临时的:可自行定义的。FFxy   x=0001
 
  FF02::1 本地链路所有节点
  FF02::2 本地链路所有路由器
 
·被请求节点组播地址:
 FF02::1:FF00:0000/104
          (单播地址的低24位)
         对Link Local Address会自动相应生成被请求节点组播地址
         对Aggregate Global Unicast Address会自动相应生成被请求节点组播地址
                
<将本路由器的接口MAC地址换算为Link Local Address>:
    例:MAC地址:            88:88:88:88:88:88
    相对应IPV6:      FE80::8A88:88FF:FE88:8888
      因为  二进制的第七位,"0"变"1","1"变"0"
      所以  8A88
 
Anycast : one to nearest---------任意播
组播的接受对象是一组成员,是个群体.任意播是多个设备共享一个地址.分配IPv6单播(unicast)地址给拥有相同功用的一些设备.发送方发送一个以任意播为目标地址的包,当路由器接受到这个包以后,就转发给具有这个地址的离它最近的设备.单播地址用来分配任意播地址.对于那些没有配备任意播的的地址就是单播地址;但是当一个单播地址分配给不止一个接口的时候,单播地址就成了任意播地址
 Mobile方面的特性,移动设备漫游到其他区域,不必接入原始的接入点,
 只需要找到最近的即可。
 
 
·      以太网帧内协议ID
  IPv4    0x0800        0x0800 IP  0x0806 ARP
  IPv6    0x86DD
 
ipv6 unicast-routing
就加入了FF02::2
 
没有AGUA,直接用Link-local地址时。
可以用ipv6 enable
R2(config)#ipv6 enable  这一命令在没有AGUA地址的情况下会根据MAC地址生成一个link-local地址
MAC地址--0010.7b80.032f
加入ff.fe--0010.7b.ff.fe.80.032f
(将第7位转换)--210.7bff.fe80.32f
加上前缀--FE80::0210:7BFF:FE80:032F这是link-local地址
再生成被请求节点的组播地址--FF02::1:FF80:32F
 
 
Show ipv6 interface
debug ipv6 packet
ipv6 address 2001::1/64
ipv6 address fe80::1 link-local 手工设定link-local地址,通常不会这样做
ipv6 address 2001:1::/64 eui-64  根据前缀自动生成一个IPv6地址,后面用的是link-local的后面的地址
 
< NDP(Neighbor Discovery Protocol)>
 
NS (Neighbor Solicitation)  135
NA (Neighbor Advertisement) 136
 
debug ipv6 icmp 
sh ipv6 neighor (Ethernet有)
cle ipv6 neighor
 
RS (Router Solicitation)  133 
RA (Router Advertisement) 134  (200S发一次)
 
S0:ipv6 address autoconfig (自己配置获取地址)
 
interface Tunnel0
 no ip address
 ipv6 enable
 ipv6 rip R enable
 tunnel source Loopback0
 tunnel destination 8.8.4.4
 tunnel mode ipv6ip
 
<IPV6 NDP(邻居发现协议)>
         
<PMTUD---Path MTU Discovery>
 
 
 
<配置>:
R1(config)#ipv6 enable            自动产生Link Local地址
R1(config-if)#ipv6 address 2001::1/16       配置IPV6的IP地址(一个接口可配多个IPV6地址,没有主次之分)
R1(config-if)#ipv6 address 2001::/16        每配置一个IPV6地址自动生成一个被请求节点组播地址    
R1(config-if)#ipv6 address 2003::ff/16   
R1(config)#ipv6 unicast-routing              启动路由器的IPv6路由功能
R1(config-if)#ipv6 address co
R1(config-if)#ipv6 nd prefix 2002::/64 at 
          
debug ipv6 icmp
show ipv6 route
show ipv6 interface ethernet 0
show ipv6 interface ethernet 0 prefix  可以看到通告出来哪些前缀
show ipv6 neighbor
 
if#ipv6 nd suppress-ra  在路由器互连的环境中没必要发RA,用这一命令禁掉,RA只是路由器给PC发前缀用
 
<ICMP>
  1.在IPV4中的作用:"ping" 和"traceroute"     
  2.在IPV6中的作用:ICMP ERROR (基于Path MTU Discovery)
 
<Path MTU Discovery>
        
 
<DAD------Duplicate Address Detection>
 
  重定向
 
<ACL>
 
在IPV6中,ACL必须命名,写法类似IPV4扩展访问列表
Ipv6 access-list wolf
Deny ipv6 2001:12::2/128 any
Permit ipv6 any any 
 
Int s0
Ipv6 traffic-filter wolf out
 
Ipv6的access-list语句的后面默认隐含三条语句:
Permit icmp any any nd-ns
Permit icmp any any nd-na
Deny ipv6 any any 
 
 
 
   在ACL默认的三条语句:Permit icmp any any nd-ns
                       Permit icmp any any nd-na
                       Deny ipv6 any any
应用了访问列表之后,P包不通会提示AAAAA
 
<RIP>--ripng
在IPV6中使用UDP521端口,在IPV4中是520端口
R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router rip wolf  必须要有一个进程号
R1(config-if)#ipv6 rip wolf enable   必须进入接口下开启接口的RIP
    
Show ipv6 route
Show ipv6 route rip
show ipv6 rip
 
IPV6的metric值出口和入口都加1.
IPV6的水平分割是整个路由器开启(在进程中关闭),IPV4是在接口下开关的,在帧中继的HUB-stake模式中要关闭水平分割
 
<OSPF>
在IPV6中使用的是OSPFV3版
Ipv6 router ospf 110
Router-id 2.2.2.2  注意:必须使用一个类似IPV4地址的标识
Int s0
Ipv6 ospf 110 area 0   也是在接口下宣告
Int lo0
Ipv6 ospf 110 area 0  环回口依然是主机路由,128位,可通过改网络类型来改动
 
Show ipv6 route ospf
 
Int s0
Ipv6 ospf neighbor 2001::2   注意OSPF指邻居在接口下做
 
 
<is-is>
本试验只能在Rack00上做
Router isis
Net 49.0001.2222.2222.2222.00
Log-adjacency-changes all    当邻居起来时出个提示
Int s0
Ipv6 router isis     IPV4的ISIS也是在接口下启用
 
重分布直连:
 
Router isis
Redistribute connected   在IPV4中直接在ISIS进程中重分布
 
Router isis
Address-family ipv6     在IPV6中重分布必须进这一进程
Redistribute connected  注意重分布命令必须在address-family进程中用
 
《BGP》
使用TCP179端口,和IPV4中一样
 
Router bgp 3
No autosummary
B router-id 3.3.3.3
No synchronization
Neighbor 2001:13::1 remote-as 1
Address-family ipv6   注意进入address-family进程下
Neighbor 2001:13::1 activate  必须在address-family进程下激活,否则不起效
R3(config-router-af)#network  3::/64     也要在address-family下宣告
 
Show bgp ipv6 neighbor
Show bgp ipv6 summary   注意bgp与ipv6反过来了
 
Clear ip bgp *   清邻居的命令和IPV4中一样
 
<6to4>IOS tunnel
1.自动Tunnel(tunnel没有目标地址)
2.自动分配前缀  2002::/16(即:2002:IPV4::/48)
3.没有IPV6路由
 
    
 
 
 
 
 
IPv6是IPv4的增强版本,和IPv4相比,有很多优点包括:
1.支持更大的地址空间
2. IPv6的头部格式比IPv4的头部更为简化,IPv6的头部可以根据需要进行扩展(简单并不代表短,注意不要混淆)
3.更高的安全性和能很好的和移动IP相互兼容
4.能够平滑过渡IPv4到IPv6
 
移动IP是IETF标准,使得移动设备在不中断现有连接的情况下进行迁移.这一特征是内建在IPv6中的,但是IPv4就不是.IP Sec是IETF开发的标准,用于增强IP网络安全性,这一特性对IPv6是必须的
 
IPv6 Addressing
    
如下图对于两种版本的IP进行比较:
     
可以看出IPv4是32位长,4字节;IPv6是128位长,16字节;IPv4支持的地址最多达到42亿,IPv6支持的地址多达3.4乘以10的38次方.增加IP地址的位长即增加了IP包头部信息的大小
 
IPv6的表示方法:
1.X:X:X:X:X:X:X:X(每个X代表16位的16进制数字).不区分大小写
2.排头的0可省略,比如09C0就可以写成9C0,0000可以写成0
3.连续为0的字段可以以::来代替,但是整个地址中::只能出现一次.比如FF01:0:0:0:0:0:0:1就可以简写成FF01::1
来看几个简写的例子:
0:0:0:0:0:0:0:0可以写成::
0:0:0:0:0:0:0:1可以写成::1
 
Multicast Use
 
IPv4中的广播(broadcast)可以导致网络性能的下降甚至广播风暴(broadcast storm).在IPv6中,就不存在广播这一概念了,取而代之的是组播(multicast)和任意播(anycast),任意播也称为泛播.
 
组播的接受对象是一组成员,是个群体.任意播是多个设备共享一个地址.分配IPv6单播(unicast)地址给拥有相同功用的一些设备.发送方发送一个以任意播为目标地址的包,当路由器接受到这个包以后,就转发给具有这个地址的离它最近的设备.单播地址用来分配任意播地址.对于那些没有配备任意播的的地址就是单播地址;但是当一个单播地址分配给不止一个接口的时候,单播地址就成了任意播地址
 
Autoconfiguration
 
来看下IPv6的自动配置:当本地链路的路由器发送网络类型信息给所有节点的时候.支持IPv6的主机就把它自己64位的链路层地址附着在64位的前缀自动配置成128位长的地址,保证地址的唯一性.自动配置启用即插即用(Plug and Play)
 
IPv6 Renumbering
 
IPv6的重编号:路由器发送组播数据包,其中数据包中包含2个前缀,一个是拥有比较短的生存期的前缀,还有一个是新的拥有正常时间的前缀.通知网络上的节点用完旧的前缀后换成新的前缀,这样就能进行平滑的前缀过渡
 
IPv4 to IPv6 Transitioning
 
两种转换的方式:
1.双栈(dual stack)
2.IPv6到IPv4(6to4)的隧道(tunnel)
还有一种是利用NAT来翻译46地址
 
来看看双栈配置的例子,如下:
Router#sh run
(略)
!
interface Ethernet0
 ip address 192.168.99.1 255.255.255.0
 ipv6 address 3ffe:b00:c18:1::3/127
!
(略)
 
再来看看隧道技术,如下图所示:
          
可以看出隧道技术是在双栈路由器上,将IPv6包封装在IPv4包中,然后经过IPv4网络传递到另外一端的双栈路由器上去,然后再由它解封装
要注意的是对采用了隧道技术的网络进行排错的话比较复杂,要记住的是这只是一个过渡方案,不是最终的体系结构
 
对隧道进行配置,需要满足以下2个条件:
1.在连接网络的两端采用双栈路由器
2.在双栈路由器的接口同时配置IPv4和IPv6的地址
如下图所示: