欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

为何要部署IPV6

程序员文章站 2022-03-18 14:41:15
·IPv4的局限性: 1.地址空间的局限性:IP地址空间的危机由来已久,并正是升级到IPv6的主要动力。 2.安全性:IPv4在网络层没有安全性可言,安全性一直被认为是由网络层以上的层负责。 3.自动配置:对于IPv4节点的配置比较复杂,让很多普通用户无所适从。 4.NAT:破坏了Internet端 ......

·IPv4的局限性:

  1.地址空间的局限性:IP地址空间的危机由来已久,并正是升级到IPv6的主要动力。

  2.安全性:IPv4在网络层没有安全性可言,安全性一直被认为是由网络层以上的层负责。

  3.自动配置:对于IPv4节点的配置比较复杂,让很多普通用户无所适从。

  4.NAT:破坏了Internet端到端的网络模型。

  5.由于IPv4地址分配杂乱无章,没有层次性,网络设备需要维护庞大的路由表项。

  6.IPv4包头过于复杂,使得网络节点处理的效率不高。

 

IPV6的好处:

  1、超大的地址空间

  2、全球可达性,不需要再用NAT

  3、全球重新部署,有规划,易于实现聚合

  4、能自动配置,实现即插即用

  5、方便的进行重编址

  6、包头简单,通过扩展包头技术可实现以后的新技术扩展

 

ipv4 路由转发的时候,ip包会改变checksum(校验和) 和TTL(每经过一个路由器TTL值减一)

ipv6 只变TTL,没有校验和

 

CPU现在无法实现128位的转发。

最好只是64位的。

 

·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。

IPv4中的广播(broadcast)可以导致网络性能的下降甚至广播风暴(broadcast storm).在IPv6中,就不存在广播这一概念了,取而代之的是组播(multicast)和任意播(anycast),任意播也称为泛播.

 

IPV6在以太网中的协议ID值是0x86DD

 

<IPV6地址的表示方法>

·IPv4  点分十进制      32bit

  IPv6  冒号分十六进制  128bit

 

0000:0000:0000:0000:0000:0000:0000:0000=>::

0000:0000:0000:0000:0000:0000:0000:0001=>0:0:0:0:0:0:0:1=>::1

2001:0000:0000:1234:0000:0000:0567:00ff=>2001::1234:0:0:567:ff   只能有一个::

fe80:0000:0000:0000:0000:0000:0000:0009=>fe80::9

 

 

URL的IPV6地址表示

   为了区分IPV6地址中的冒号和端口号前的冒号,要把IPV6地址用[]括起来

   <www.example.net:8080/index.html>

   <https:[2001:410:0:1:250:fcee:e450:33ab]:8443/abc.html>

 

IPV6中掩码的表示:

在IPV6中掩码只能使用CIDR表示法

 

2001:410:0:1::45ff/128

2001:410::1/64

 

注意:在IPV6中没有广播地址和网络号保留地址

 

------------------------------------------------------------------------------------------

 

<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:1f02

 

   由于这种机制不太好,现在已经不再使用,转而采用更好的过渡机制

 

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

     |→固定值←||→标志←| |→范围←|

 

 

下面是一些组播指定地址:

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                在一个站点范围内的所有路由器

 

<IPV6的基本命令>

 

R1(config)#ipv6 unicast-routing    在路由器上开启IPV6路由功能

R1(config-if)#ipv6 enable        在接口下启用IPV6,会自动生成一个link-local地址

R1(config-if)#ipv6 address 2001::1/64   指定一个IP地址,配置后会自

show ipv6 interface e0    显示IPV6接口的信息包括IPV6地址,link-local地址加入的组播地址及被请求节点组播地址

IPV6的路由:

 

<静态路由>

建议写法:

ipv6 route 2001::/64 2001::2 下一跳地址

 

<RIP>--ripng

在IPV6中使用UDP521端口,在IPV4中是520端口

使用组播地址:FF02::9

操作半径15跳

 

ipv6 unicast-routing

ipv6 router rip ABC  必须要有一个进程号

int s1/0

  ipv6 rip ABC enable   必须进入接口下开启接口的RIP

   

Show ipv6 route

Show ipv6 route rip

 

 

<OSPF>

在IPV6中使用的是OSPFV3版

 

R1(config)#Ipv6 router ospf 110

R1(config-router)#Router-id 2.2.2.2  注意必须使用一个类似IPV4地址的标识必须手工指定不能自动选

R1(config)#Int s0

R1(config-if)#Ipv6 ospf 110 area 0   也是在接口下宣告

R1(config)#Int lo0

R1(config-if)#Ipv6 ospf 110 area 0  环回口依然是主机路由,128可通过改网络类型来改动

 

Show ipv6 route ospf

 

<PAP认证以明文方式发送密码

 

·PAP认证(PPP Password Authentication Protocol)

 主机和路由器之间,PAP是单向认证

 路由器之间,PAP是双向认证

 

1在接口下启用PPP封装:

 R2/R4(config-if)#encapsulation ppp

 

2建立本地用户数据库,用户名密码

 R2(config)#username R4 password R4 对方必须这个用户名和密码发给我才行

 R4(config)#username R2 password R2

 

3)在接口下启用PAP认证:

 R2/R4(config-if)#ppp authentication pap

 

4)发送对方为自己建立的用户名&密码:

 R2(config-if)#ppp pap sent-username R2 password R2

 

 

<CHAP认证>(Challenge Handshake Authentication Protocol)

 

1R2R4Serial0:

 R2/R4(config-if)#encapsulation ppp

 

2)建立用户名&密码:

 用户名:对方的hostname(完全一致,区分大小写)

 密 码:双方要一致(注意空格,区分大小写)

 R2(config)#username R4 password cisco

 R4(config)#username R2 password cisco

 

3)在接口启用CHAP认证:

 R2/R4(config-if)#ppp authentication chap