Archive

标签为 ‘IPV6’的文章

IPv6 for Enterprise Networks – Part2

这是第二部分的总结,包含了5-7章,看到现在,发现虽然这不是本非常好的书,但从中确实能学到一些东西,并且对部署IPv6有了初步的概念。让人不爽的就是译者的无止境的吐槽,对于一本好书,是逻辑性强,从中能学到东西就Ok了,而不是每句话都符合严格语法,如果内容确实有问题,可以直接把意见和看法发给作者,大可不必在书的下面占用大量篇幅吐槽,个人意见而已。

第五章 IPv6部署规划

这章把前几章的东西拿来总结了下,如部署IPv6的好处,效益分析,成本分析,风险,商务案例,过度团队和培训。IPv6编址在整本书中都没有细讲,这个需要找个时间细研究下,相关的技术如无状态地址自动分配(SLAAC,需要/64支持)和DHCPv6。

C/S迁移方案
从网络核心层开始部署IPv6
从服务器端开始部署IPv6
从客户端开始部署IPv6
核心,客户端和服务器全都采用双协议栈,一并部署IPv6

第六章 园区网络中的IPv6部署

这章介绍了在园区网络中的3种常规部署模型,在章节后面,用实例讲解了这几种模型,这章建议仔细过一遍,实例比较简单
完整阅读

IPv6 for Enterprise Networks – Part1

目前简单过了前四章,发现这本书比较奇葩,译者一直在吐槽,真的很奇怪,不好的书干嘛要译。。。另外前四章写的也不是那么好,当然这仅仅是从读者的角度。建议再看此书之前,先看下IPv6相关的基础知识,特别是地址那块,结合实验和包结构分析,这样可能效果会好些。

第一章 启动IPv6的市场驱动力

事实上,到底是否需要IPv6,还要看企业自身的业务类型和发展目标,如果一个企业所有地址都需要公网地址,而且需求量很大,极端的说想申请个A类?!不好意思,申请晚了,那么这时采用IPv6是最好的理由。相反,对于大多数中小型公司来说,几百个IPv4的地址还是可以从ISP那申请到的。部署IPv6的原因很多,没有硬性标准。
完整阅读

IPv6 for DHCPv6 Configuration Exp

最近搞了一阵DHCPv6,稍微总结了下:

配置:

ipv6 dhcp pool test
 address prefix 2004::/64
 dns-server 2004::2
 domain-name cisco.com
!
interface FastEthernet0/0
 no ip address
 完整阅读

CCIE SP — IPV6 基础

IPV6简述

全球Ipv4地址数量越来越少,虽然有众多技术在延长Ipv4的寿命(NAT、CIDR等),但Ipv4总会有用完的一天,Ipv6就必然取代Ipv4。如果感兴趣的朋友,可以登陆公开的全局路由器来观察全球全局路由表的数量,具体登录哪台,可以根据自己喜好从这里选择

下面是v4的增长图,可以从下面link中获得Internet上的v4和v6信息:

http://bgp.potaroo.net/as2.0/bgptable.txt

http://bgp.potaroo.net/v6/as2.0/bgptable.txt

2018-7-26 更新:

IPv6的表达方式

IPv6地址的基本表达方式是X:X:X:X:X:X:X:X,其中X是1个4位16进制整数( 1个16进制等于4个2进制,所以X为16位)。IPv6一共8组,每组16位,共计128位( 4×4×8 = 128 )。由于Ipv6是128位,所以记忆比较复杂,所以有几种可以简化的方法,以下列出常用的几种:

例如如下Ipv6的地址:

2031:0000:130F:0000:0000:09C0:876A:130B

  • 每组的首位为0时,可以忽略”0″:
    • 2031:0:130F:0:0:9c0:876A:130B
  • 连续的组都是0时,可以用”::”来替代,注意,一个ipv6中只能出现一次”::”
    • 2031:0:130F::9C0:876A:130B
    • FF01:0:0:0:0:0:0:1 —>>> FF01::1
    • 0:0:0:0:0:0:0:1 —>>> ::1

地址分类

单播

未指定的地址,环回地址和IPV4兼容地址

未指定地址:0:0:0:0:0:0:0:0 —>>> ::
环回地址:   0:0:0:0:0:0:0:1 —>>> ::1 (与127.0.0.1的作用一致)
IPv4兼容地址:ipv6 = 96bits+32bits,例如:

注:好像::192.168.30.1这种表达方式已经不行了,只能把它转换为16进制才行。

本地链路地址

前10bits(FE80::/10)是固定前缀,例如:


注:后64bits表示端口ID,相当于ipv4中的主机位,会自动分配。

本地链路地址常以EUI-64的方式表示,EUI-64如图所示:

eui-64

X=1 代表唯一性,独一无二的MAC地址
X=0 代表有重复,交换机中可以找到这样的MAC地址
所以当MAC地址为:ca01.0544.0000,EUI-64地址:FE80::c801:05FF:FE44:0 (此时就表示MAC地址有重复,如果不重复则为FE80::ca01:05FF:FE44:0)

本地站点地址

前10bits(FEC0::/10)是固定前缀,在64bits的主机位前又加了16bits的子网id,例如:

可聚合全球单播地址

前3bits(2000::/3)是固定前缀,此时Ipv6被层次化了,如下图所示:

可聚合全球单播地址

13bits TLA:  顶级聚合位,由SP申请。
8bits RES:   区域位,如亚太、东南亚等
24bits NLAs:网络层聚合
16bits SLA:   子网位

组播

前8位全为1(FF)时,就标示ipv6的组播地址,如下图所示:

组播地址

下图标示了常用的组播地址:

组播地址范围

被请求节点(Solicited-Node)的组播地址:FF02::1:FF00:0000,后24bits(单播ipv4/ipv6的后24bits)是可变的,所以被请求节点的组播地址范围是:FF02::1:FFff:ffff/104,这个可以参考RFC3515: Internet Protocol Version 6 (IPv6) Addressing Architecture

实例说明

ipv6 unicast-routing   !---Ipv6进行路由时,必须打上
!
interface FastEthernet0/0
no ip address
duplex full
ipv6 address 2001::1:1/64   !---全球可聚合单播地址
ipv6 enable   !---可以在端口上开启ipv6
no clns route-cache

#sh int f0/0
FastEthernet0/0 is up, line protocol is up
Hardware is DEC21140, address is ca01.0544.0000 (bia ca01.0544.0000)
!---“bia ca01.0544.0000”,bia即“烧录地址”(burned in address),MAC地址即0003.e39b.9220,此处MAC地址可以通过命令改变,不过主要是为了防止MAC攻击,所以意义不大。

#sh ipv6 interface f0/0   !---通过此命令来查看端口下ipv6的参数
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C801:5FF:FE44:0   !---本地链路地址,EUI-64标示
Global unicast address(es):
2001::1:1, subnet is 2001::/64   !---全球可聚合单播(可以有多个),2001::/64是子网
Joined group address(es):
FF02::1   !---所有节点
FF02::2   !---所有路由器,当打开ipv6 unicast-routing时,才会加入此组
FF02::1:FF01:1   !---被请求节点的组播地址,相当于ARP的广播地址,对应2001::1:1的后32bit,01:0001
FF02::1:FF44:0   !---被请求节点的组播地址,同理对应FE80::C801:5FF:FE44:0的后32bit,44:0000
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND advertised reachable time is 0 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
Hosts use stateless autoconfig for addresses.

2022-11-22更新:IPv6 ND 解析过程

此更新主要记录了整个IPv6解析mac地址的报文分析,方便日后复习。对于IPv6来说,已经用Neighbor Discovery替代了我们熟悉的ARP,在ND协议中,有多种类型的报文,我们在这里只关注NS和NA跟解析MAC地址相关的,对于RS和RA主要用于自动分配地址使用,在BNG v6的场景中使用过。关于这些详细的内容,可以参考RFC4861: Neighbor Discovery for IP version 6 (IPv6)

Message name                            ICMPv6 Type

Router Solicitation                      133
Router Advertisement                     134
Neighbor Solicitation                    135
Neighbor Advertisement                   136
Redirect                                 137

Topology

在交换机上配置一个vlan10,配置2001::1/64,并把gi0/0和gi0/1划入vlan10,linux2的eth4是2001::3/64:

VM Linux1(00:50:02:00:15:04)eth4------gi0/0(5002.0018.0000) VM Switch (5002.0018.0001)gi0/1-----eth4(00:50:02:00:15:04)(2001::3/64)VM Linux2

主机发送NS

在Linux1 up的端口eth4上配置IPv6地址后,可以看到没有任何nd信息:

[root@linux1 ~]# ip addr add dev eth4 2001::2/64
[root@linux1 ~]# ip -6 neigh show
[root@linux1 ~]# 

当IPv6地址激活后,Linux1主动发送NS报文,有点类似Gratuitous ARP,用来进行冲突检测的,可以看到其中33:33是ipv6组播标识,后面的ff900:00:02是IPv6地址的后24bit,如果在网络上有主机收到这个NS发现与自己的IPv6地址重叠,那么就会发送NA,告知自己的地址和mac地址:

组播报文
源Mac : 00:50:02:00:15:04,目的Mac : 33:33:ff:00:00:02
源IPv6: ::,               目的IPv6: ff02::1:ff00:2
ICMPv6 Type 135:
  Target Address: 2001::2
  Option: None

当在Linux1上发起ping后,正式发起ND解析请求,并获得邻居信息,如下:

[root@linux1 ~]# ping -6 2001::3
PING 2001::3(2001::3) 56 data bytes
64 bytes from 2001::3: icmp_seq=1 ttl=64 time=3.62 ms
64 bytes from 2001::3: icmp_seq=2 ttl=64 time=1.72 ms
64 bytes from 2001::3: icmp_seq=3 ttl=64 time=2.07 ms
^C
--- 2001::3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.723/2.472/3.622/0.827 ms
[root@linux1 ~]# ip -6 neigh show
fe80::250:2ff:fe00:1704 dev eth4  FAILED
2001::3 dev eth4 lladdr 00:50:02:00:17:04 REACHABLE

来看下对应的解析NS报文:

组播报文
源Mac : 00:50:02:00:15:04,目的Mac : 33:33:ff:00:00:03
源IPv6: 2001::2,          目的IPv6: ff02::1:ff00:3
ICMPv6 Type 135:
  Target Address: 2001::3
  Option(Source Link-layer address): 00:50:02:00:15:04

远端主机回复NA

接下来是Linux2回复的NA报文:

单播报文
源Mac : 00:50:02:00:17:04,目的Mac : 00:50:02:00:15:04
源IPv6: 2001::3,          目的IPv6: 2001::2
ICMPv6 Type 136:
  Target Address: 2001::3
  Option(Target Link-layer address): 00:50:02:00:17:04

参考文章

为了防止上面参考文章失效,所以截屏保存:

以及上面分析的报文:

blonde teen swallows load.xxx videos