IPv6基础知识

2018年6月23日12:27:25 发表评论 1,053 views

一概念:IPv6Internet Protocol Version 6的缩写,其中Internet Protocol译为互联网协议 

二·组成结构

1)表示方法

①冒分十六进制表示法:

格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
这种表示法中,每个X的前导0是可以省略的,例如:

2001:0DB8:0000:0023:0008:0800:200C:417A→2001:DB8:0:23:8:800:200C:417A

②、0位压缩表示法:
在某些情况下,一个IPv6地址中问可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
0:0:0:0:0:0:0:1 → ::1
0:0:0:0:0:0:0:0 → ::

③内嵌IPv4地址表示法
  为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用

2)报文内容

IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据3部分。IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。

①报文头部

 

版本号

表示协议版本.值为6

流量等级

主要用于QoS

流标签

用来标识同一个流里面的报文

载荷长度

表明该IPv6包头部后包含的字节数,包含扩展头部

下一报头

该字段用来指明报头后接的报文头部的类型,若存在扩展头,表示第一个扩展头的类型,否则表示其上层协议的类型,它是IPv6各种功能的核心实现方法

跳数限制

该字段类似于IPv4中的TTL,每次转发跳数减一,该字段达到0时包将会被丢弃

源地址

标识该报文的来源地址

目的地址

标识该报文的目的地址

②扩展头部IPv6报文中不再有选项字段,而是通过下一报头字段配合IPv6扩展报头来实现选项的功能。使用扩展头时,将在IPv6报文下一报头字段表明首个扩展报头的类型,再根据该类型对扩展报头进行读取与处理。每个扩展报头同样包含下一报头字段,若接下来有其他扩展报头,即在该字段中继续标明接下来的扩展报头的类型,从而达到添加连续多个扩展报头的目的。在最后一个扩展报头的下一报头字段中,则标明该报文上层协议的类型,用以读取上层协议数据

3)地址类型

IPv6协议主要定义了三种地址类型:单播地址(Unicast Address)、组播地址Multicast Address)和任播地址(Anycast Address)。

①       单播地址:用来唯一标识一个接口,类似于IPv4中的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的一个接口。

。为了适应负载平衡系统,RFC3513允许多个接口使用同一个地址,只要这些接口作为主机上实现的IPv6的单个接口出现。单播地址包括五个类型:全局单播地址、链路本地地址、站点本地地址、兼容性地址、特殊地址。

A:全局单播地址:等同于IPv4中的公网地址,可以在IPv6 Internet上进行全局路由和访问。这种地址类型允许路由前缀的聚合,从而限制了全球路由表项的数量。

链路本地地址和站点本地地址都属于本地单播地址,在IPv6中,本地单播地址就是指本地网络使用的单播地址,也就是IPV4地址中局域网专用地址。每个接口上至少要有一个链路本地单播地址,另外还可分配任何类型(单播、任播和组播)或范围的IPv6地址。

B路本地地址:仅用于单个链路(这里的链路相当于IPv4中的子网),不能在不同子网中路由。结点使用链路本地地址与同一个链路上的相邻结点进行通信。

C:站点本地地址:相当于IPv4中的局域网专用地址,仅可在本地局域网中使用。站点本地地址可以与全局单播地址配合使用,也就是在一个接口上可以同时配置站点本地地址和全局单播地址。但使用站点本地地址作为源或目的地址的数据报文不会被转发到本站(相当于一个私有网络)外的其他站点。

D

E特殊地址:包括未指定地址和环回地址。未指定地址(0:0:0:0:0:0:0:0::)仅用于表示某个地址不存在。环回地址(0:0:0:0:0:0:0:1::1)用于标识环回接口,允许节点将数据包发送给自己。

②组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于IPv4中的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。

任意位置的IPv6节点可以侦听任意IPv6组播地址上的组播通信。IPv6节点可以同时侦听多个组播地址,也可以随时加入或离开组播组。

 

③任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。

一个任播地址必须不能用作IPv6数据包的源地址;也不能分配给IPv6主机,仅可以分配给IPv6路由器

IPv6地址类型是由地址前缀部分来确定,主要地址类型与地址前缀的对应关系如下:

地址类型

地址前缀(二进制)

IPv6前缀标识

单播地址

未指定地址

00…0(128 bits)

::/128

环回地址

00…1(128 bits)

::1/128

链路本地地址

1111111010

FE80::/10

站点本地地址

1111111011

FEC0::/10

全球单播地址

其他形式

-

组播地址

11111111

FF00::/8

任播地址

从单播地址空间中进行分配,使用单播地址的格式

 

三·使用协议

(1) 地址配置协议

①       无状态地址自动配置协议(SLAAC

 无状态地址自动配置的核心是不需要额外的服务器管理地址状态,主机可自行计算地址进行地址自动配置,包括4个基本步骤:
1. 链路本地地址配置。主机计算本地地址。
2. 重复地址检测,确定当前地址唯一。
3. 全局前缀获取,主机计算全局地址。
4. 前缀重新编址,主机改变全局地址 [8] 

②       IPv6动态主机配置协议(DHCPv6):

DHCPv6DHCP的基础上,进行了一定的改进与扩充。其中包含3种角色:DHCPv6客户端,用于动态获取IPv6地址、IPv6前缀或其他网络配置参数;DHCPv6服务器,负责为DHCPv6客户端分配IPv6地址、IPv6前缀和其他配置参数;DHCPv6中继,它是一个转发设备。通常情况下。DHCPv6客户端可以通过本地链路范围内组播地址与DHCPv6服务器进行通信。

 

(2) 路由协议:分成内部网关协议IGP)与外部网关协议EGP

①    RIPng
  下一代RIP协议(RIPng)是对原来的RIPv2的扩展。大多数RIP的概念都可以用于RIPng。为了在IPv6网络中应用,RIPng对原有的RIP协议进行了修改:
UDP端口号:使用UDP521端口发送和接收路由信息。
  组播地址:使用FF02::9作为链路本地范围内的RIPng路由器组播地址。
  路由前缀:使用128位的IPv6地址作为路由前缀。
  下一跳地址:使用128位的IPv6地址。

②    OSPFv3
RFC 2740定义了OSPFv3,用于支持IPv6OSPFv3OSPFv2的主要区别如下:
1. 修改了LSA的种类和格式,使其支持发布IPv6路由信息。
2. 修改了部分协议流程。主要的修改包括用Router-lD来标识邻居,使用链路本地地址来发现邻居等,使得网络拓扑本身独立于网络协议,以便于将来扩展。
3. 进一步理顺了拓扑与路由的关系。OSPFv3LSA中将拓扑与路由信息相分离,在一、二类LSA中不再携带路由信息,而只是单纯的拓扑描述信息,另外增加了八、九类LSA,结合原有的三、五、七类LSA来发布路由前缀信息。
4. 提高了协议适应性。通过引入LSA扩散范围的概念进一步明确了对未知LSA的处理流程,使得协议可以在不识别LSA的情况下根据需要做出恰当处理,提高了协议的可扩展性。

③    BGP 4+
  传统的BGP 4只能管理IPv4的路由信息,对于使用其他网络层协议(如IPv6等)的应用,在跨自治系统传播时会受到一定的限制。为了提供对多种网络层协议的支持,IETF发布的RFC2858文档对BGP 4进行了多协议扩展,形成了BGP4+
  为了实现对IPv6协议的支持,BGP 4+必须将IPv6网络层协议的信息反映到NLRlNetwork LayerReachable Information)及下一跳Next Hop)属性中。为此,在BGP4+中引入了下面两个NLRI属性。
MP_REACH_NLRI:多协议可到达NLRI,用于发布可到达路由及下一跳信息。
MP_UNREACH_NLRI:多协议不可达NLRI,用于撤销不可达路由。
BGP 4+中的Next Hop属性用IPv6地址来表示,可以是IPv6全球单播地址或者下一跳的链路本地地址。BGP 4原有的消息机制和路由机制没有改变。

④    ICMPv6协议
ICMPv6协议用于报告IPv6节点在数据包处理过程中出现的错误消息,并实现简单的网络诊断功能。ICMPv6新增加的邻居发现功能代替了ARP协议的功能,所以在IPv6体系结构中已经没有ARP协议了。除了支持IPv6地址格式之外,ICMPv6还为支持IPv6中的路由优化、IP组播、移动IP等增加了一些新的报文类型

 

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: