1. IPv4和IPv6协议栈的比较

(1)IPv6取代IPv4,支持IPv6的动态路由协议都属于IPv6协议(如RIPng、OSPFv3)。

(2)Internet控制消息协议IPv6版(ICMPv6)取代ICMP,它报告错误和其他信息以帮助你诊断不成功的数据包传送。其主要功能有邻居发现、地址解析和路由器发现以及地址自动配置。

(3)邻居发现(Neighbor Discovery, ND)协议取代ARP,它管理相邻IPv6节点间的交互,包括自动配置地址和将一下跃点IPv6地址解析为MAC地址。

(4)多播侦听器发现(Multicast Listener Discover, MLD)协议取代IGMP,它管理IPv6多播组成员身份。

2. IPv6报文格式

(1)扩展首部:

  ①版本(version):占4位。它指明了协议的版本,对于IPv6该字段为6。

  ②通信量类(traffic class):占8位。这是为了区分不同的IPv6数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。

  ③流标号(flow label):占20位。所谓“流”是指互联网从指定源点到终点的一系列数据报,所有属于同一个流的数据报都具有同样的流标号。用来标记那些需要IPv6路由器特殊处理(如一种非默认服务质量或实时服务)的信息包顺序。

  ④有效载荷长度(payload length):占16位,它指明IPv6数据报除了基本首部以外的字节数(所有扩展首部部都算在有效载荷之内)。这个字段最大值是64KB。

  ⑤下一个首部(next header):占8位。相当于IPv4的协议字段或可选字段。当IPv6数据报没有扩展首部时,“下一个首部”字段的作用和IPv4协议字段一样,指明了基本首部后面的数据应交付IP上面的高层协议(如6或17分别表示交付给TCP或UDP)。如果有扩展首部其表示的含义因该字段值有所不同,可参考后面的《扩展首部》的内容

  ⑥跳数限制(hop limit):占8位。用来防止数据报在网络中无限期地存在,相当于IPv4中的TTL。源点在每个数据报发出时即设定某个跳数限制(最大为255跳)。每个路由器在转发数据报时,要先把“跳数限制”字段中的值减1.当跳数限制为0时,该数据报被丢弃。

  ⑦源地址:占128位。是数据报发送端的IPv6地址。

  ⑧目的地址:占128位。是数据报的接收端的IPv6地址。

(2)扩展首部:

  ①类似于IPv4的选项部分。但IPv6将扩展首部留给路径两端的源点和终点来检查,而沿途路由器不检查扩展首部(逐跳选项例外。这有别于IPv4)从而大大提高路由器的处理效率RFC2460定义了六种扩展首部。每种扩展首部的含义由基本首部中的“下一个首部”的取值来定义。

下一个首部取值

含义

0

表示逐跳选项首部

43

表示路由选择首部

44

表示分片首部

51

表示鉴别首部

50

表示封装安全有效载荷首部

60

表示目的选项首部

  ②每一个扩展首部都由若干个字段组成,它们的长度也各不相同。但所有扩展首部的第一个字段都是8位的“下一个首部”字段。此字段的值指出了在该扩展首部后面的字段是什么。当使用多个扩展首部时,应按以上的先后顺序出现。高层首部总是放在最后面

3. IPv6地址:长度128位

3.1 IPv6寻址及表达式

(1)首选格式分8段,每段16比特,十六进制表示,并使用冒号等间距分隔。例如。F00D:4598:7304:3210:FEDC:BA98:7654:3210

(2)压缩格式:使用冒号(::)来取代一连串的0,注意在一个地址中只能出现一次双冒号。如可将1080:0:0:0:8:8000:200C:417A表示为1080::8:8000:200C:417A。

(3)内嵌IPv4的IPv6地址:在IPv4和IPv6混合环境中,为实现IPv4和IPv6互通,可将IPv4嵌入到IPv6地址中。格式为:x:x:x:x:x:x:d.d.d.d(注意有6个x),前96比特采用冒分十六进制表示,后32比特使用IPv4的点分十进制表示。如0:0:0:0:0:0:192.168.0.1或者::192.168.0.1的压缩形式

(4)“IPv6地址/前缀长度”表示法。其中的“前缀长度”是一个十进制数,表示该地址前缀。如F00D:4598:7304:3210:FEDC:BA98:7654:3210,其地址前缀是64位,可以表示为F00D:4598:7304:3210:FEDC:BA98:7654:3210/64。

3.2 IPv6的地址类型

(1)单播地址(Unicast):点到点通信时使用的地址。此地址仅标识一个接口,路由器负责把对单播地址发送的数据报送到该接口上。

  ①全球单播地址:由全球路由前缀(48位) + 子网(16位) + 接口ID(64位)构成。其中全球路由前缀由ISP分配给站点,站点是子网的集合子网ID表示站点内子网的标符识,由站点管理员分层构建接口ID用来标识链路上的接口,在同一子网内是唯一的,一般在MAC(48位)中间插入FFFE构成只要最高3位是001打头的都是全球单播地址,即2xxx::/64和3xxx::/64

  ②站点本地单播地址:站点本地地址用于不需要全球路由前缀的站点内的寻址。以FEC0开头,格式如FEC0::SubnetID:InterfaceID。站点本地地址应在同一站点内使用。路由器不会转发任何站点本地源地址或目标地址是站点外部地址的数据包。

  ③链路本地单播地址:自动配置的IPv6地址,该地址总是以FE80开头,接下来的48位都设置为0,后面接64位的接口ID,即FE80::InterfaceID。链路本地地址用于在单个链路上对节点进行寻址。来自或发往链路本地地址的数据包不会被路由器转发相当于IPv4中的自动私有地址169.254.x.x

(2)多播地址(Multicast)

  ①一组接口的地址。当数据报的目的地址是多播地址时,路由器尽量将其发送到该组的所有接口上。

  ②与 IPv4 不同,在IPV6 中没有广播地址,因为这一功能已被多播功能代替。信源利用多播功能只须生成一次报文即可将其分发给多个接收者,多播地址以FF开头

(3)任播地址(Anycast)

  ①标识一组接口,它与多播地址的区别在于发送数据报的方法。向任播地址发送数据报并未分发给组内的所有成员,而是发往该地址标识的“最近的”那个接口。

  ②任播地址是从单播地址空间中分配,可使用单播地址的任何格式。因此,从语法上任播地址与单播地址没有区别

  ③但一个单播地址被分配给多于一个接口时,就将其转化为任播地址。被分配具有任播地址的节点必须得到明确的配置,从而知道它是一个任播地址。

3.3 IPv6中特殊的地址

(1)0:0:0:0:0:0:0:0等于::这是IPv4中的0.0.0.0的等价物。当向DHCPv6服务器请求地址时,源地址就是0:0:0:0:0:0:0:0

(2)0:0:0:0:0:0:0:1等于::1这是IPv4中127.0.0.1环回地址的等价物

(3)0:0:0:0:0:0:192.168.100.1,这是在IPv6、IPv4混合网络环境中IPv4地址的表现式。

(4)2000::/3全球单播地址范围,只要最高3位是001就是全球单播地址

(5)FF80::/10链路本地单播地址范围

(6)FF00::/8,组播地址范围

(7)3FFF:FFFF::/32和2001:0DB8::32,为示例和文档保留地址

(8)2002::/16用于IPv6到IPv4的转换系统,这种结构允许IPv6包通过IPv4网络进行传输,无需显式地配置隧道。

第11章 拾遗4:IPv6(1)_报文格式和地址类型的更多相关文章

  1. 第11章 拾遗5:IPv6和IPv4共存技术(3)_NAT-PT技术【全书完】

    6.4 NAT-PT (1)NAT-PT和NAT的差别 ①NAT-PT(附带协议转换的网络地址转换)技术秉承NAT技术的思想,但在原理方面大有不同. ②NAT-PT和NAT本质的区别在于应用场合的不同 ...

  2. 第11章 拾遗5:IPv6和IPv4共存技术(1)_双栈技术和6to4隧道技术

    6. IPv6和IPv4共存技术 6.1 双栈技术 (1)双协议主机的协议结构 (2)双协议栈示意图 ①双协议主机在通信时首先通过支持双协议的DNS服务器查询与目的主机名对应的IP地址. ②再根据指定 ...

  3. 第11章 拾遗4:IPv6(3)_配置IPv6路由

    5. 配置IPv6路由 5.1 配置IPv6静态路由 (1)在路由器上配置静态路由(以R1路由器为例) //静态路由 R1#config t R1(config)#ipv6 unicast-routi ...

  4. 第11章 拾遗4:IPv6(2)_给计算机配置IPv6地址

    4. 给计算机配置IPv6地址 4.1 无状态自动配置IPv6地址 (1)网络拓扑 ①无状态地址自动配置是指不需要DHCP服务器进行管理,由客户端向路由器发送前缀请求(RS)询问其所在网段.路由器收到 ...

  5. 第11章 拾遗5:IPv6和IPv4共存技术(2)_ISATAP隧道技术

    6.3 ISATAP隧道技术 (1)基本概念 ①在一个IPv4网络中主机与路由器之间创建一条ISATAP隧道,以便让该主机可以访问IPv6网络中的资源. ②条件:IPv4中的PC主机需要支持IPv4和 ...

  6. 第11章 拾遗3:虚拟局域网(VLAN)

    1. 虚拟局域网(VLAN) (1)VLAN是建立在物理网络基础上的一种逻辑子网,它将把一个LAN划分成多个逻辑的局域网(VLAN),每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内 ...

  7. 第11章 拾遗1:网络地址转换(NAT)和端口映射

    1. 网络地址转换(NAT) 1.1 NAT的应用场景 (1)应用场景:允许将私有IP地址映射到公网地址,以减缓IP地址空间的消耗 ①需要连接Internet,但主机没有公网IP地址 ②更换了一个新的 ...

  8. 第11章 Windows线程池(1)_传统的Windows线程池

    第11章 Windows线程池 11.1 传统的Windows线程池及API (1)线程池中的几种底层线程 ①可变数量的长任务线程:WT_EXECUTELONGFUNCTION ②Timer线程:调用 ...

  9. 《mysql必知必会》学习_第11章_20180801_欢

    第11章:使用数据处理函数. P69 文本处理函数,upper()函数把文本变成大写字体. select vend_name,upper(vend_name) as vend_name_upcase ...

随机推荐

  1. Singer 学习二 使用Singer进行gitlab 2 postgres 数据转换

    Singer 可以方便的进行数据的etl 处理,我们可以处理的数据可以是api 接口,也可以是数据库数据,或者 是文件 备注: 测试使用docker-compose 运行&&提供数据库 ...

  2. 新建 django 项目

    安装 django ,就不必多说,python 环境是 python 3.6,django 安装的命令为: pip3 install django==2.1.7 开始demo,名字为 guest dj ...

  3. maven 内置变量

    ${basedir} 项目根目录 ${project.build.directory} 构建目录,缺省为target ${project.build.outputDirectory} 构建过程输出目录 ...

  4. ubuntu网络配置及端口名修改

    一.网络配置文件 buntu系统进行网络配置有的时候用图形界面不起作用,这种情况下可以直接修改某些启动脚本或配置文件 Ubuntu系统进行网络配置涉及到几个配置文件1./etc/network/int ...

  5. dojo:如何为表格添加从数据库获得存储的下拉框

    为表格添加下拉框的例子官网上就有,但如果下拉框的数据是从数据库请求的.需要有一些注意的地方. 首先希望实现的效果如下图所示: 表格初始数据为空,点击查询后获得表格表格数据,但下拉框的数据是在对应的fo ...

  6. jQuery模态框实现 后台添加删除修改Ip端口

    主要用到,$('#i1').each(),标签里绑定函数可传参数this <!DOCTYPE html> <html lang="en"> <head ...

  7. system.Data.Entity.Infrastructure.DbUpdateConcurrencyException: Store update, insert, or delete statement affected an unexpected number of rows (0) 问题

    页面控件没有做限制.提交后还可以继续点击,造成了在短时间内的多次请求.查看日志两次错误在200ms之内. 错误信息 system.Data.Entity.Infrastructure.DbUpdate ...

  8. STL序列式容器学习总结

    STL序列式容器学习总结 参考资料:<STL源码剖析> 参考网址: Vector: http://www.cnblogs.com/zhonghuasong/p/5975979.html L ...

  9. Apache Solr 介绍

    Apache Solr 介绍 Solr 是什么? Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的Java 来实现.服务器通信使用标准的HTTP 和XML,所以如果使用Solr 了解J ...

  10. 黄聪:PHP数据库连接失败--could not find driver 解决办法

    数据库连接失败could not find driver在调试一个PHP程序时,报了这个错误, could not find driver 经过一番查找,结合自己的思考和实践,终于找到了问题所在. 原 ...