0.巨大的地址空间

这个已经不用再说了。除了空间巨大,固定长度的前缀分配也使得地址分配更加均衡。

1.ICMPv6真正的有了用武之地:地址/路由配置的自动化

IPv6使得联网设备真的成了即插即用,一切都是通过自动生成的链路本地地址开始的,如果没有这个开始,将不会存在后续的自动化。任何支持IPv6的设备都会为接口生成一个链路本地地址,所有的链路本地地址都是FE80开头的,巧妙的是最后的64位,是通过链路层地址生成的,典型的是EUI-64映射,将48位的以太网MAC地址映射成64位的链路本地地址的接口标识,生成这个链路本地地址后,即使没有路由器,同一链路的设备也能通过这个地址进行IP层的通信。IPv6中,链路层和IP层就这样巧妙的结合在一起,链路层提供信息,IP层使用之,使通信成为可能。
        但是IPv6协议规定,使用这个自动生成的链路本地地址不能跨越路由器,我们知道,所谓的互联网就是由路由器连接而成的,互联网数据通信必须跨越路由器,也就是说必须有一个非链路本地地址的IPv6地址。既然有了同一链路可用的链路本地地址,那就意味着使用链路本地地址可以和同一链路的路由器通信了(一个路由器的每一个接口表示一个链路),IPv6定义了很多的邻居发现报文,可以让路由器告诉终端设备接口信息应该配置成什么,这就是所谓的自动配置,从开始到最后,不需要人工干预,普通用户再也不需要为配置地址这种技术型的工作犯愁了。下面就是自动配置的流程图:

Open×××的路由自动推送和自动地址配置和IPv6及其相似。

2.Linux的ARP与IPv6的地址解析:状态图竟然如此类似

IPv6以太网的地址解析使用组播进行,不再使用广播。这个过程十分简单,如果知道节点的IPv6地址,其组播地址可以自动算出来,然后就往这个组播地址发送解析报文请求即可,其实就是个邻居发现,得到回应后将MAC-IP对缓存起来,这个MAC-IP对的缓存有一个状态图,这个状态图猛一看好像是Linux的ARP缓存状态图,它们太像了,简直就是一个:

对比《Linux实现的ARP缓存老化时间原理解析》里面的那幅图。
        然而和Liunx维护的ARP状态图不同的是,IPv6的邻接点缓存不再通过复杂的计算以及协议外的原则来维护,而是通过报文本身来维护,比如ARP缓存的更新机制是“收到来自同一IP的设备的arp包”即覆盖,IPv6则是使用邻接点公告报文中的“覆盖标志”来决定是否更新的。二者的差别仅仅是一个是实现,一个是协议标准自带的。

3.IPv6的各种发现机制:自动化配置的根基

IPv6之所以可以自动配置,正是由于存在诸多的发现报文,典型的就是:
a.邻接点请求/公告
b.路由器请求/公告

这些发现报文全部由ICMPv6来承载,路由器发现机制在IPv4实现中是可选的,然而IPv6实现中却是必须的。地址和路由的自动配置信息正是从这些发现报文中得到的。
        诸多的自动化配置也需要对应的自动化失效机制,这就是引入了IPv6的一个针对地址的概念,也算是一个地址的属性吧,那就是地址的状态,一个地址使用下面的状态中的一种:试探,有效(选用/丢弃),无效,无疑,具体属于哪个状态和超时时间以及接收到的消息有关。
        路由器配置非自动化,因为它需要表示人的策略,主机配置自动化,因为它仅仅被使用。IPv6路由器是不能使用自动配置机制的,配置路由器的人基本都是专业人士,IPv4的配置困难恰恰在于把路由配置,IP地址配置这种技术性的工作交给了使用者而不是管理员,要知道管理员不能去配置每一个终端,DHCP虽然可以,但它毕竟是一个外围的协议,并非IPv4本身的性质。IPv6彻底解放了广大用户,使用IPv6,所有人的终端就成了即插即用的了,类似传统家用电器那样子。
        因此,IPv6的主干是配置而成,而叶子则是自己长出来的。主干嫁接容易,叶子却只能长出来,IPv4的叶子就是嫁接的,很不成功。这也符合我们的常识,一般都是在既有的树木上嫁接一系列光秃秃的枝干,然后等待叶子自己长出来...

4.IPv4中的几个跃跃欲试的思想

在配置Linux地址或者路由时,你可能会注意到一个scope参数,虽然你几乎不会用到它,然而到了IPv6,这个scope竟然集成进了IPv6地址本身,不同的前缀代表不同的scope。
        在使用Windows的时候,当你使用多块网卡配置了多个默认网关或者DHCP得到了多个默认网关的时候,你可能会注意到注册表中有一个DeadGWDetectDefault,它根据TCP连接的有效率来判断使用哪个默认网关,然而到了IPv6,周期性的路由器通告竟然成了标准,协议本身就做好了DeadGWDetect的工作,并且减少了误判,做的更好。
        在第2节,我解释了Linux的arp实现与IPv6的地址解析,同样的,这也是一个最终成为标准的跃跃欲试的想法。也许,很多不开源的协议栈也是这么实现的吧。因此IPv6可以说是集个大家协议栈于大成,解决了很多问题。

5.强弱主机支持的遗憾

6.IPv6将带来应用模式的根本转变

目前大量的应用都是C/S模式(B/S也是CS的一种)的,数据流特征基本是单向的,并且广域网的接入层也迎合了这种态势,ADSL正是其体现,不对称性正是IPv4的缺陷以及NAT修补造成的。
        IPv6风靡之后,全球所有的节点在理论上将互联互通,CS模式的应用保持现状,大量的P2P应用将会涌现,整个互联网的交互性将大大增强。并且IPv6会影响到广域网接入技术,ADSL这种技术将不再流行,宁可对开也不要三七分。
        除了应用,路由器等硬件设备也会发生大的转变,NAT不再是必须的功能,路由器真的就成了路由器。我们现在使用的家用路由器比如TP-LINK,D-LINK,甚至syslink等其实不是什么路由器,而只是一个互联网接入设备,也不知道当初为何为这种东西取名子为路由器。路由器的一对端口应该是双向互通的。IPv6使得NAT不再流行,诸多家用路由器厂商估计也要对自己的软件进行大的升级改造了。

转载于:https://blog.51cto.com/dog250/1268911

闲谈IPv6-典型特征的一些技术细节相关推荐

  1. 闲谈IPv6-电梯,MMU引发的遐想

    见过凌晨4点的杭州吗?醒来作文一篇. 其实本文我想换个题目的,但是就着<闲谈IPv6>系列写吧,反正也是闲谈,就着一个系列,也便于自己以后整理成专栏. 没关系,闲扯吧. 引 近期上演的&l ...

  2. 闲谈IPv6-一起玩转IPv6地址自动配置

    昨夜梦里惊魂,1997年,安阳市文峰中路老口腔医院门口那个卖冰糖葫芦的老人,他死了.1997年我刚上初中,他已经是老人了,我上学路上老是碰到他,却从没有买过他一个冰糖葫芦-现在,他死了,那个卖洗衣膏的 ...

  3. IPv6闲谈-一起玩玩IPv6自动配置

    昨夜梦里惊魂,1997年,安阳市文峰中路老口腔医院门口那个卖冰糖葫芦的老人,他死了.1997年我刚上初中,他已经是老人了,我上学路上老是碰到他,却从没有买过他一个冰糖葫芦-现在,他死了,那个卖洗衣膏的 ...

  4. 闲谈IPv6-说说IPv6地址分配和BGP

    曾经IANA总管全球的IPv4地址分配策略,但后来的事实表明,按照最初的IPv4分配策略,它做的并不是很好.互联网这么开放的组织,统一的规则存在是合理的,但大一统的机构监管,确实别扭. 后来地址分配和 ...

  5. 闲谈IPv6-Loopback网口上的IPv6地址

    上周末,中国浙江温州一家小型皮鞋厂的吴老板咨询了一个问题,由于周末又是带正则又是怼996的,就没顾得上看,周一看了下,发现这个一个非常典型且有意思的问题. 先说Loopback网卡,它一般的用途有三个 ...

  6. 【笔记】openwrt - 【一文解决】ipv6设置、DDNS、端口转发

    ipv6测试:https://test-ipv6.com/ 环境:移动运营商.openwrt 探讨家用路由怎么配置ipv6实现外网访问.尽量避开原理. (想了解原理推荐看下面贴出的视频链接) 链接:红 ...

  7. 闲谈IPv6-编址规则以及聚类的意义

    电脑城一楼杀马特造型的装机小子对着你一顿电脑型号专有名词狂射,RTX2070 WF3,i7-9700K,ASUS B360M PIXIU-,你就跟他去了吗?其实,他们什么也不懂,他们背诵的那些东西,给 ...

  8. IPv6时代的《TCP/IP详解》!

    点击我,试试看吧!                                                    点击我,试试看吧!                              ...

  9. 第五十六期:IPv6只是增加了地址数量?其实真相并没有那么简单!

    究竟什么是IPv6?它到底是干啥用的?IPv6的全称是Internet Protocol version 6.其中,Internet Protocol译为"互联网协议".所以,IP ...

最新文章

  1. 一篇搞定异常: Exception
  2. 【转】Linux中断处理学习笔记
  3. mac mysql 链接_mac上搭建mysql环境配置和Navicat连接mysql
  4. java 汉字拼音排序_Java汉字排序(2)按拼音排序
  5. IOS图标 HTML规范,IOS用户界面(UI)设计规范图表——APP设计师必看!
  6. 知网又火了!续订费近千万且连年上涨 中科院:不堪重负 停用
  7. iPhone 14屏幕细节曝光:LTPO OLED面板仍为Pro版专属
  8. maya显示已安装_【3D建模】Maya操作秘籍83招(一)
  9. Flutter之Binding简单梳理
  10. 注解@PostConstruct与@PreDestroy讲解及实例
  11. 树莓派Raspberrypi安装Kali Linux保姆教程(通过树莓派安装ARM Kali教程)
  12. 超全面总结Vue面试知识点
  13. zynq uart0和uart1设置
  14. 基督里一切的丰盛_司布真
  15. 整理:不用ACE你不知道ACE有多烂,给饱受ACE折磨的弟兄们散分了。
  16. 微信公众平台针对iBeacon 增加摇一摇周边功能
  17. 学习《python模拟测试机器人》笔记2
  18. databasedt
  19. Spring Boot 3.0.0-M1 Reference Documentation(Spring Boot中文参考文档) 9-16
  20. 闽江学院计算机系微博,我校计控学子在第13届中国大学生计算机设计大赛中勇创佳绩...

热门文章

  1. VS.net 2005 试用(1)
  2. 针对苹果最新审核要求 为应用兼容IPv6
  3. Win2D 官方文章系列翻译 - 避免内存泄漏
  4. 关于算法中的并查集,写的很有意思,转过来看看~
  5. 基本类型和引用类型的传值
  6. linux fdisk 分区、格式化、挂载
  7. 参加中国十大IT杰出博客
  8. Know more about RAC statistics and wait event
  9. crypt函数的使用(仅限LINUX)
  10. Nagios—服务和性能监控