IPv6协议介绍
IPv6是为了解决基于IPv4的TCP/IP协议簇遇到的问题而推出的下一代IP协议。由于IPv4中采用的编制方式使得可用的网络地址和主机地址的数目远低于理论数目,随着全球互联网的快速发展,现有的IPv4地址近乎枯竭。网络地址转换技术(NAT)在一定程度上缓解了IPv4地址枯竭的问题,但也带来了例如端到端通讯的问题。IPv6技术解决了这些问题,它拥有比Ipv4大的多的地址空间以及一些新的特性。
IPv6最为显著的改变是IP地址的改变,它提供了128比特的地址,相比于传统的IPv4的32比特地址,理论上的地址空间扩大了2^96倍。
除了庞大的地址空间外,IPv6支持分级地址模式、高效IP包头、服务质量、主机地址自动配置、认证和加密等多项技术,解决传统IPv4网络实际运行中遇到的问题。
2012年初,中国政府明确了下一代互联网的主要目标和路线图:2013 年底前,开展IPv6 网络小规模商用部署,形成成熟的商业模式和技术演进路线;2014 年至2015年,开展大规模部署和商用,实现IPv4 和IPv6 主流业务的互通。这对于 IPv6 技术在中国的发展产生了极大的促进作用。
RFC1884规定的标准语法建议IPv6地址的16个字节携程8个16位的无符号整数,每个整数用4个十六进制表示,数与数之间用冒号隔开。例如:
3ffe:3201:1401:1:280:c8ff:fe4d:db39
1080:0000:0000:0000:0008:0800:200C:417A
0000:0000:0000:0000:0000:0000:0A00:0001
为了简化管理的难度,做出一些规定。只要不影响数值表示,前面的0可以忽略,因此,可以简写为“
1080:0:0:0:8:800:200C:417A
0:0:0:0:0:0:A00:1
进一步简化,一系列的0可以用::来代替,上述又可以简化为
1080::8 ?有疑问
::A00:1
IPv6的前缀表示和IPv4的前缀表示在CIDR中类此,比如0020:0250:f002::/48表示一个前缀为48位的网络地址空间。
与IPv4的A、B、C类地址定义的类似,IPv6定义了三种地址类型,更广泛的满足各种场景对于互联网地址的需求。
1. 单播地址(unicast)
用于单个接口的标示符。通过高序位八位字节的值来区分单播地址和多路广播地址。单播地址包括可聚类的全球单播地址、链路本地地址等
2. 任意播地址
一组接口的标示符(通常属于不同节点),发送到此地址的数据包被传递给该地址标识的唯一一个接口。
3. 组播地址
与IPv4中的组播类似,组播地址被指定到一群不同的接口,组播地址起始字节为FF00::/8,其后两个字节用于表明组播范围,包括本地节点(0x1)、本地链路(0x2)、本地站点(0x3)、本地结构(0x8)和全球范围(0xE)。
技术优势
相比于IPv4,IPv6具备以下几个优势。
1. 地址资源丰富,IPv4 中规定IP 地址的长度为 32 位,最大地址个数为232个;而 IPv6 中IP 地址的长度为 128 位,即最大地址个数为 2128个。与IPv4 的32位地址空间相比,其地址空间增加了296倍
2. 更小的路由表,IPv6 的地址分配一开始就遵循聚类的原则,这使得路由器能在路由表中用一条记录表示一片子网,大大减小了路由器中路由表的长度,提高了路由器选路和转发数据包的速度。
3. IPv6增加了增强组播的支持以及流控的支持。这使得网络上的多媒体应用有了长足发展的机会,为应用的服务质量控制提供了良好的网络基础。
4. IPv6协议中加入 地址自动配置机制,允许IPv6网络中的节点配置他们自己的IPv6地址。这是对DHCP协议的改进和扩展,使得网络的管理更加的方便和快捷。
5. IPv6具有更高的安全性。在IPv6网络中,用户可以对网络层的数据进行加密并对IP报文进行校验。在IPv6 中的加密与鉴别选项提供了分组的保密性与完整性,极大地增强了网络的安全性。
6lowpan技术介绍
6LoWPAN 是IPv6 over Low power Wireless Personal Area Network 的简写,即基于 IPv6的低速无线个域网,它是一种在IEEE 802.15.4 标准基础上传输 IPv6 数据包的网络体系
鉴于无线传感器网络节点数量庞大等特点,部署无线传感器网络需要数量巨大的 IP地址资源,同时无线传感器网络的应用领域往往对安全性要求较高。而 IPv6 作为下一代网络协议,具有地址资源丰富、地址自动配置、安全性高、移动性好等优点,恰好可以满足无线传感器网络在地址和安全方面的需求,所以,IETF 于2004 年11 月成立了一个6LoWPAN 工作组,它规定了 6LoWPAN 技术底层采取 IEEE 802.15.4 标准,MAC层以上采用 IPv6 协议栈,致力于如何将 IPv6 与IEEE 802.15.4结合,实现 IPv6 数据包在IEEE 802.15.4 上的传输,研究 IPv6 基于IEEE 802.15.4 技术的无线传感器网络的关键问题。
6lowpan协议栈概览
6lowpan适配层是IPv6网络和IEEE 802.15.4 MAC层之间的一个中间层,其向上提供IPv6对IEEE 802.15.4媒介访问支持,向下则控制6LoWPAN网络构建、拓扑以及MAC层路由。6LoWPAN的基本功能支持包括如链路层的分片和重组、头部压缩、组播支持、网络拓扑构建和地址分配等的实现。如下图所示
IPv6协议介绍的更多相关文章
- IPv6地址介绍
IPv6地址介绍 2008 年 04 月 10 日 1. 认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示:而IPv6 ...
- SNMP协议介绍
SNMP协议介绍 一.什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议.SNMP用于网络设备的管理.SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了 “读”操作:管理 ...
- 以太网接口TCP/IP协议介绍,说的很容易懂了
以太网接口TCP/IP协议介绍,说的很容易懂了 TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列. TCP/IP协议栈(按TCP/IP参考模型划分) 应用层 FTP SMTP HTT ...
- TCP/IP 协议介绍
转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...
- 第二章 ZAB协议介绍
ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...
- JSON-RPC轻量级远程调用协议介绍及使用
这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用.jsonrpc4j使用Jackson类库实现Java对象与JSON对象之间的相互转换.jsonrpc4j包含一个JSON- ...
- [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP ...
- ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议
一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...
- Python基础教程之udp和tcp协议介绍
Python基础教程之udp和tcp协议介绍 UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但 ...
随机推荐
- MySQL中部分系统变量介绍
have_symlink DISABLED YES 用以支持在表定义中指 ...
- 关于self.用法的一些总结
转自:http://www.cocoachina.com/bbs/read.php?tid=12850&page=1 最近有人问我关于什么时候用self.赋值的问题, 我总结了一下, 发出来给 ...
- 简单的div元素拖拽到div
drag1 drag2 drag3 代码如下: <!DOCTYPE HTML> <html> <head> <title>div拖拽到div</t ...
- 入门之--linux配置php
[下载php源码]:从php的官方网站下载php的安装源码包. [解压安装包]:下载的安装包是经过压缩的gz格式,在linux可以使用自带的工具tar进行解压,在安装包所在目录执行命令:tar -zx ...
- 3.6html学习笔记之样式选择
1.元素选择器 *{padding:0;margin:0;} p,span{} 2.类选择器 *.class{} p.class{} <p class="important class ...
- find your present (2)
Problem Description In the new year party, everybody will get a "special present".Now it's ...
- IOS 开发中判断NSString是否为空字符
//当 请求网络 或者获取其他返回数据 首先 要做一次判断 数据是否为空 防止程序崩溃 程序崩溃 好比拿刀扎在程序员的心啊- if(为空) { 做提示对话框等操作 } else { 正常执行 } - ...
- C# PageLayoutControl的基本操作
来自:http://www.cnblogs.com/shenchao/p/3594394.html using System; using System.Collections.Generic; us ...
- ASP.NET的票据工具类FormsAuthenticationTicket
票据是asp.net登录验证的一种方式,以前研究过,现在并不使用,今天发现了,记录一下. /*###################票据工具################### * 1.设置< ...
- 【Linux/Ubuntu学习 12】ubuntu下对/etc/profile误修改导致系统不能登录
etc/profile里设置环境变量导致无法登录解决 1,因为不小心在 etc/profile里设在环境变量导致无法登录 不要在 etc/profile里设置 export PATH这样会导 ...