昨天晚上纠结SSH到半夜12点多,结果得到一个失败品!郁闷的做噩梦被技术组长叫去提问- -#,哎,人生啊!

  还好今天天气不错,阳光大大的,所以心情不错,一天下来,居然收获了两个感想。一个是工作中的人往往不能按照自己的套路出牌,因为当我深深的投入到Y1731的测试中的时候,因为一个臭小子的出差,我就要拿起他的snooping的option 61的测试任务,那感觉就好像在刚刚沦陷到四川麻辣烫的时候突然被人塞了一口上海蜜汁小笼包,虽然都是很美味,但总是有那么一些意犹未尽;二是当一个想认真学习做事情的时候,不妨试试吃饱喝足后洗个热水澡,当然,再来点轻音乐就更棒了。

  嘿小子!虽然早在几个月以前就开始尝试着学习IPV6.,但是一个人学真的很费劲,今天看到黑压压的一大片人来听那个帅哥的技术交流,我突然感觉:IPV6这块大蛋糕上爬着好多蚂蚁啊!真的好多啊!再然后我就又突然有了动力,准备啃一啃这蛋糕,试试它究竟有多难下咽,当然,顺便尝尝它是甜的还是咸的。

  IPV4已经称霸江湖很多年了,俗话说大老虎老了,小老虎长大了要当大老虎(好吧,我承认这句是我随便编的),整个社会上的网络用户越来越多,各种阿姨叔叔大妈大婶小屁孩都加入了互联网的大家庭,43亿的V4地址在设计之初貌似是一个很庞大的数字,但是随着“物联网”概念的提出,网络设备就不仅仅是V4地址唯一的消费者,我们的手机、电视、手表、剃须刀都将成为我们物联网中的节点,那么我们需要分配他们多少地址?200亿?300亿?2011年初,ICANN已经宣布,全球最后5组V4地址已经分配完毕,好吧,也就是说V4没了,我们还有什么?V6。

  任何一个协议的学习我都习惯先去研究它的产生历史,大概V6的产生是目前为止最好理解的一个,我曾经很天真的认为,2的128次方基数可以照顾到我们每一个“物体“,没错就是物体,但是事实证明我确实很傻很天真,如果真这么简单,为什么IPV6还要将地址分为前缀+接口标识,制定啥啥EUI-64生成方式,甚至去设定各种单播、多播和任播地址,简简单单来一个给一个地址,大家排队领地址,多和谐。这个答案,我相信自己会在以后的学习中慢慢领悟,毕竟我不算是特别笨,顶多算一般笨。

  言归正传,我们来看下:

  • V6地址的文本表示方法

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 ,一个教科书般的IPV6地址示例,8个16位的地址段构成了这个128位的V6地址,当然不可能所有的地址都是如此的整齐,连续出现0的情况非常正常,如:1080:0:0:0:8:800:200c:417A,中间这么多的0,我们就用2个冒号去替代它:1080::8:800:200c:417A ,当然为了避免误会,一对冒号在一个地址中只能出现一次,1080::3245::200C:417A就是一个错误的写法,因为这个地址没法提供两个8位组0X3245正确位置的足够信息,通俗说就是这个3245前面和后面究竟有多少个0是不能确定的。当然好说歹说V6也是一个即将抢掉V4饭碗的家伙,我们不能一棒子将人家V4打死,抢场子也要循序渐进的,所以我们就需要利用将V4地址和V6地址结合起来,共同来管理目前的场子,吞并还是以后的事,这样就产生了这样的地址:X:X:X:X:X:X:d:d:d:d,X表示V6地址的十六进制数字,d:d:d:d以点分十进制来表示该地址的最后32位数字,如:0:0:0:0:0:013.1.68.3(::13.1.68.3),这样我们就可以为V4和V6的同处共存提供了方法。

  • 地址前缀的文本表示方法

在V4中,我们知道192.168.1.0/24表示的是一个24位的网段,同样道理,V6也可以采用地址前缀的方法来表示谁是网络位,谁是主机位,当然这里需要改一下名字,V6中我们称其为前缀和接口标识。

地址2001:A304:6101:1:0:E0:F726:4E58 /64 的结构就为

 
 
  • 地址类型分配

在V4中,我们知道其分为A、B、C、D和E五类,决定与地址的高阶bit位,地址类型标识了固定长度的网络地址和主机地址,在V6中拥有更多的地址结构,我从TCP/IP路由技术(二卷)这本书上摘下来如下的总结:

IPV6前缀分配情况 

分配情况 前缀(二进制) 地址空间片段
保留 0000 0000 1/256
未指定 0000 00001 1/256
保留给NSAP分配 0000 001 1/128
保留给IPX分配 0000 010 1/128
未指定 0000 011 1/128
未指定 0000 1 1/32
未指定 00001 1/16
可聚合全局单播地址 001 1/8
未指定 010 1/8
未指定 011 1/8
未指定 100 1/8
未指定 101 1/8
未指定 110 1/8
未指定 1110 1/16
未指定 1111 0 1/32
未指定 1111 10 1/64
未指定 1111 110 1/128
未指定 1111 1110 0 1/512
链路本地单播地址 1111 1110 10 1/1024
站点本地单播地址 1111 1110 11 1/1024
多播地址 1111 1111 1/256

 

 呼,好多啊,眼都花了,还好都是未指定,只需要记住那几个“非指定”地址就好,也就是下面的图中所列出来的:

定义地址类型的数字

起始数字定义 地址类型
00 未指定地址、环回地址、IPv4兼容地址

2

3

可聚合全局单播地址
FE8 链路本地地址
FEC 站点本地地址
FF 多播地址

 我感觉自己刚开始学习IPv4的时候,纠结于去算各类的前缀和掩码、谁和谁是一个网段、那所谓的ABCDE是啥东西,背背私有地址是哪些网段,可是看了V6这东西我才知道那些都是浮云!!今天公司的帅哥讲了很多,加上我以前自学的部分,我只能用自己的语言做完上面的这些,下面的内容如“可聚合全局单播地址”、“链路本地地址”等的定义和应用范围我还不能很好的理解,所以我决定等我看懂了,能合上书本和PPT一口气在这里敲出来了我再来写,本着对自己负责的态度,我决定今天就这些吧。

  大蛋糕真难啃啊,后面的V6报头及扩展报头我真的很挠头,我现在可以发自肺腑的叫出来:我是新手我骄傲!!