IPv4协议仅能提供约2.5亿个IP地址, 即使使用CIDR和NAT等技术进行扩展也无法满足日益增长的需要。

IETF于1996年开始研究下一代IP协议IPv6, 并于1998年12月正式公布(RFC2460).至2014年10月,通过IPv4使用Google服务的用户仍占约95%。

IPv6除将IP地址由32位扩展到128位以外还引入了更多扩展:

  • 扩展的地址层次结构

  • 灵活的首部格式

  • 改进的选项

  • 允许协议继续扩充

  • 支持即插即用(即自动配置地址)

  • 支持资源的预分配

  • IPv6首部改为8字节对齐

IPv6 将实现 IPv6 的主机和路由器均称为结点,IIPv6 地址分配给结点上的接口。一个结点可以有多个单播地址,结点任一接口的单播地址可用来唯一地标志该结点。

IPv6地址可以采用点分16进制记法:

68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF

一串连续的0可以被::取代, 为了避免二义性一个地址中最多出现一次:::

FF05:0:0:0:0:0:0:B3 -> FF05::B3

128位全0地址(缩写::)代替`0.0.0.0`来表示任意地址,本地环回地址为::1.以及本地链路单播地址FE80::/10

IPv6把前三位为001的地址划分为全球单播地址,并将单播地址分为3级:

  1. 全球路由选择前缀,占 48 位
  2. 子网标识符,占16 位
  3. 接口标识符,占 64 位

IPv6 把原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。IPv6支持的扩展首部包括:

  • 逐跳选项

  • 路由选择

  • 分片

  • 鉴别

  • 封装安全有效载荷

  • 目的站选项

除逐跳选项扩展首部外, 数据报途中经过的路由器都不处理这些扩展首部.

IPv6 数据报的目的地址可以是以下三种基本类型地址之一:

  • 单播(unicast): 单播就是传统的点对点通信。

  • 多播(multicast): 多播是一点对多点的通信。

  • 任播(anycast): IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

IPv6把分片限制为由源站来完成, IPv6可以保证的最小MTU(Maximum Transfer Unit) 为1280字节。分片是端到端的,路径途中的路由器不允许进行分片。

源站也在发送数据前完成路径最大传送单元发现(Path MTU Discovery),以确定沿着该路径到目的站的最小 MTU。

端到端分片可以减少路由器的开销,允许路由器在单位时间处理更多的数据报。但是中间路由器不能轻易地改变路由,因为改变路由可能会改变路径的MTU。

IPv6允许中间路由器采用隧道技术来传送太长的数据报。当路径途中的路由器需要对数据报进行分片时,就创建一个全新的数据报,然后将这个新的数据报分片,并在各个数据报片中插入扩展首部和新的基本首部。

路由器将每个数据报片发送给最终的目的站,而在目的站将收到的各个数据报片收集起来,组装成原来的数据报,再从中抽取出数据部分。

IPv6协议的更多相关文章

  1. IPv6协议介绍

    IPv6是为了解决基于IPv4的TCP/IP协议簇遇到的问题而推出的下一代IP协议.由于IPv4中采用的编制方式使得可用的网络地址和主机地址的数目远低于理论数目,随着全球互联网的快速发展,现有的IPv ...

  2. ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议

    一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...

  3. 信而泰IPv6协议一致性测试解决方案

    信而泰IPv6协议一致性测试解决方案   背景 中国已经开始逐步进入万物互联的社会,相比原来的手机.电脑等接入网络,万物互联时代接入网络的智能终端会海量增加,而且在万物互联时代,网络的流量巨大,互联的 ...

  4. 在 Windows 7 中禁用IPv6协议/IPv6隧道

    How to disable certain Internet Protocol version 6 (IPv6) components in Windows Vista, Windows 7 and ...

  5. IPSec协议;IPv6为何增加对IPSec协议的支持

      IPSec由一系列的协议组成,除IP层的协议完全结构外,还包括了AH.ESP.ISAKMP.ISAKMP的因特网IP安全解释域.IKE.OAKLEY密钥协议确定等.ESP和AH定义协议.载荷头的格 ...

  6. IPv6邻居发现协议

    IPv6邻居发现协议 邻居发现协议NDP 邻居发现协议NDP(Neighbor Discovery Protocol)是IPv6协议体系中一个重要的基础协议.邻居发现协议替代了IPv4的ARP(Add ...

  7. 网络协议IPV6基础知识点集锦

    由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放.透明以及端到端的特性,因此IPV6地址协议应运而生. IPV ...

  8. (转)协议森林04 地址耗尽危机 (IPv4与IPv6地址)

    协议森林04 地址耗尽危机 (IPv4与IPv6地址) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! IP地址是IP协议的重要组 ...

  9. IPV6入门篇

    引言 由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放.透明以及端到端的特性,因此IPV6地址协议应运而生.I ...

随机推荐

  1. modelsim(2) - vcd (dump, 查看,格式理解)

    二 vcd dump 由于VCD可以用于做功耗分析,所以需要把其dump出来.另外VCD可以作为结果,也可以作为激励,但是实际看到的少啊! VCD是verilog的标准,所以有系统函数$dumpvar ...

  2. VC++ 动态生成 成组的 RadioButton 按钮组

    先说一下 静态创建的方法: 单选按钮也属于CButton类,但由于单选按钮总是成组使用的,所以它在制作和使用上与普通按钮有一定区别.假设有三个单选按钮组成一组,初始时,第一个单选按钮处于选中状态.我们 ...

  3. ( 解压缩版 免安装版 或 zip版 )如何修改mysql5.6.24 字符编码

    1.当我们把zip文件格式解压到指定目录后,并且完成基本环境配置后,打开mysql 5.6.24会发现名为[my-default.ini]的文件.我们用记事本打开该文件会发现并没有[default-c ...

  4. CSS()方法设置元素样式

    使用CSS()方法可以直接设置元素的样式,方法为:css(name,value) $(p).css("font-weight", "bold");     // ...

  5. 线程池pool

    参考链接 http://www.open-open.com/lib/view/open1415453575730.html 参考配置 http://www.cnblogs.com/linjiqin/a ...

  6. hdu 1577 WisKey的眼神 (数学几何)

    WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  7. 清除浮动的 why

    如果你想第三个p不被前面的浮动层所影响,就对它进行清除如果没有清除,第三个层就会移到第一个p下面 记住!!浮动是用来布局的~你看你的网页设计图,好几个版块在一条线上就是要浮动了,不需要浮动就是版块跟前 ...

  8. AngularJS学习---更多模板(More Templating) step 8

    1.切换分支 amosli@amosli-pc:~/develop/angular-phonecat$ git checkout step- #切换分支 amosli@amosli-pc:~/deve ...

  9. Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

    1.下载angularjs 进入其官网下载:https://angularjs.org/‎,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...

  10. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 背景: mys ...