带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍(二)

简介: 带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍

2.1.1      IPv6 地址结构定义

 

1.  IPv6地址表示

IPv6地址包括 128bit,使用由冒号分隔的 16bit的十六进制数表示。16bit的十六进制数对大小写不敏感。例如,FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

另外,对于中间比特连续为0的情况,还提供了简易表示方法——把连续出现0省略掉,::代替(注::只能出现一次,否则不能确定到底有多少省略的0,如下所示。

1080:0:0:0:8:800:200C:417A等价于 1080::8:800:200C:417A

FF01:0:0:0:0:0:0:101等价于FF01::101

0:0:0:0:0:0:0:1等价于::1

0:0:0:0:0:0:0:0等价于::

 

2.   IPv6地址前缀表示

IPv4类似,IPv6的子网前缀和链路关联。多个子网前缀可分配给同一链路。IPv6地址前缀表示:ipv6-address/prefix-length。其中,ipv6-address为十六进制表示128bit地址;prefix-length为十进制表示的地址前缀长度。

3.   IPv6地址类型

RFC2373IPv6定义了多种地址格式,IPv6地址大致分为单播地址、泛播地址和多播地址。与IPv4相比,IPv6取消了广播地址类型,用更丰富的多播地址代替, 同时增加了泛播地址类型。

(1)  IPv6单播地址

IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往单播地址的报文,由此地址标识的接口接收。每个接口上至少要有一个链路本地单播地址,另外还可分配任何类型

(单播、泛播和多播)或范围的 IPv6地址。

所有格式前缀不是多播格式前缀(11111111IPv6地址都是 IPv6单播格式

泛播和IPv6单播格式相同IPv6单播地址和 IPv4单播地址一样可聚合。目前定义了多种IPv6单播地址格式,包括可聚合全球单播地址、NSAP地址、IPX层次地址、站点本地地址、链路本地地址和具有IPv4能力的主机地址(嵌入 IPv4地址的 IPv6地址。广泛使用的是可聚合全球单播地址、站点本地地址和链路本地地址。

如图 2-4所示,IPv6单播地址由子网前缀和接口 ID两部分组成。子网前缀由IANAISP和各组织分配。接口 ID目前定义为 64bit,可以由本地链路标识生成或采用随机算法生成以保证唯一性。

image.png

2-4     IPv6单播地址格式

 

(2) IPv6泛播地址

IPv6泛播地址格式和 IPv6单播地址格式相同,用来标识一组接口的地址。一般这些接口属于不同的节点。发往泛播地址的报文被送到这组接口中与其最近的接口(由使用的路由协议判断哪个是最近的IPv6    泛播地址的用途之一是标识属于同一提供因特网服务的组织的一组路由器。这些地址可在 IPv6路由头中作为中间转发路由器,以使报文能够通过特定的一组路由器进行转发。另一个用途就是标识特定子网的一组路由器,报文只要被其中一个路由器接收即可。其中有些泛播地址是已经定义好的,如子网路由器泛播地址。

   子网路由器泛播地址中子网前缀域用来标识特定链路,如图2-5所示。发送到子网路由器泛播地址的报文会被送到子网中的一个路由器。所有路由器都必须支持子网泛播地址。子网路由器泛播地址用于节点需要和远端子网上所有路由器中的一个路由器进行通信(不关心具体是哪一个。例如,一个移动节点需要和它    的“家乡”子网上的所有移动代理中的一个路由器进行通信。

image.png

2-5     子网路由器泛播地址格式

 

(3) IPv6多播地址

IPv6多播地址用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于 0到多个多播组。发往多播地址的报文被多播地址标识的所有接口接收,如2-6所示。注意:IPv6多播中不使用跳数限制域(相当于IPv4TTL)。


image.png

2-6     IPv6多播地址格式


 

其中,11111111占用 8bit,标识此地址为多播地址;Scope用来标记此多播组的应用范围;GroupID标识多播组可能是永久的,也可能是临时的,范围由Scope定义

目前 IPv6永久分配的多播地址如表 2-1所示。

 

表2-1      IPv6多播地址表

保留的多播地址

FF00:: ~ FF0F::

共 16个地址

 

所有节点的多播地址

FF01:0:0:0:0:0:0:1

(节点本地)

FF02:0:0:0:0:0:0:1

(链路本地)

 

所有路由器的多播地址

FF01:0:0:0:0:0:0:2

(节点本地)

FF02:0:0:0:0:0:0:2

(链路本地)

FF05:0:0:0:0:0:0:2

(站点本地)

被请求节点的多播地址

FF02:0:0:0:0:1:FFXX:XXXX

 


上述地址通过被请求节点的单播或泛播地址形成:取被请求节点单播或泛播地   址的低 24bit,在前面增加前缀 FF02:0:0:0:0:1:FF00::/104构成。例如,和 IPv6地址4037::01:800:200E:8C6C对应的被请求节点的多播地址是FF02::1:FF0E:8C6C。此地址用在 IPv6邻居发现协议和邻居请求报文中,由于只有后24bit单播地址相同的节点才会接收目的地址为此地址的报文,因此减少了通信流量IPv4ARP相比

(4)  IPv6中特殊的地址

IPv6中还规定了以下几种特殊的地址。

未指定的 IPv6地址:格式 0::0。未指定的 IPv6地址不能分配给任何接口,未分IPv6地址的节点表示其没有 IPv6地址。例如,一个节点启动后没有 IPv6地址,发送报文时填充源地址全0表示自身没有 IP地址。未指定的 IPv6地址不能在 IPv6报文头或路由头中作为目的地址出现。

IPv6环回地址:格式 ::1。此地址与 IPv4中的 127.0.0.1类似,一般在节点发报文给自身时使用,不能分配给物理接口。IPv6环回地址不能作为源地址使用,目的地址为 IPv6环回地址的报文不能发送到源节点外,也不能被 IPv6路由器转发。

(5)  IPv4IPv6的兼容性

IPv6地址框架内使用 IPv4地址主要通过以下两种技术方式来实现。

IPv4兼容的 IPv6地址:如图 2-7所示,这种地址在低32bit携带 IPv4地址,前96bit全为 0,主要用在一种自动隧道技术,目的地址为这种地址的报文会被自动IPv4隧道封装(隧道的端点为自IPv6报文中的IPv4地址,由于这种技术不能解决地址耗尽的问题,已经逐渐被废弃。

image.png

2-7     IPv4兼容的IPv6地址格式


IPv4映射的 IPv6地址:如图 2-8所示,这种地址最前80bit全为 0,中间 16bit全为 1,最后 32bitIPv4地址。这种地址通过 IPv6地址表示只支持 IPv4的节点。在支持双栈的 IPv6节点上,IPv6应用发送目的报文是这种地址时,实际上发出的报文为 IPv4报文(目的地址是“IPv4映射的 IPv6地址”中的 IPv4地址

image.png

2-8     IPv4映射的IPv6地址格式

 

(6)  节点和路由器必须支持的 IPv6地址

节点必须支持的 IPv6地址包括自身接口的链路本地地址、分配的单播地址、环回地址、所有节点的多播地址、每个分配的单播或多播地址对应的被请求节点的多播地址、此主机所属的其他多播组地址。

路由器必须支持的 IPv6地址包括节点必须支持的 IPv6地址、接口配置为路由器接口的子网路由器的泛播地址、任何其他路由器配置的泛播地址、所有路由器的多播地址、此路由器所属的其他多播组地址。

相关文章
|
存储 前端开发 JavaScript
前端实现俄罗斯方块游戏(内含源码)
前端实现俄罗斯方块游戏(内含源码)
794 2
|
XML 算法 自动驾驶
使用URDF和Xacro构建差速轮式机器人模型
前言 本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。 差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。 此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。 机器人的定义和构成 机器人定义:机器人是一种自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高级灵活性的自动化机器
396 15
|
Ubuntu Linux UED
好用的国产Linux系统有那些
好用的国产Linux系统有那些
2770 0
|
缓存 负载均衡 算法
架构详解
每个系统都有服务的上线,所以当流量超过服务极限能力时,系统可能会出现卡死、崩溃的情况,所以就有了降级和限流。限流其实就是:当高并发或者瞬时高并发时,为了保证系统的稳定性、可用性,系统以牺牲部分请求为代价或者延迟处理请求为代价,保证系统整体服务可用。令牌桶方式(Token Bucket)令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。先有一个木桶,系统按照固定速度,往桶里加入Token,如果桶已经满了就不再添加。
396 0
|
机器学习/深度学习 存储 运维
探索未来:结合机器学习功能拓展Elasticsearch应用场景
【10月更文挑战第8天】随着数据量的爆炸性增长,高效的数据存储、检索和分析变得越来越重要。Elasticsearch 作为一个分布式的搜索和分析引擎,以其强大的全文搜索能力、实时分析能力和可扩展性而闻名。近年来,随着机器学习技术的发展,将机器学习集成到 Elasticsearch 中成为了一种新的趋势,这不仅增强了 Elasticsearch 的数据分析能力,还开拓了一系列新的应用场景。
381 7
|
算法 大数据 Python
局部异常因子(LOF)
局部异常因子(LOF)
|
存储
GIGE 协议摘录 —— GVSP 协议(三)(下)
GIGE 协议摘录 —— GVSP 协议(三)
971 1
|
vr&ar 网络架构
配置BGP的基本功能
本文介绍了在AR1、AR2、AR3和AR4路由器之间配置BGP协议的过程。具体包括:在AR1和AR2之间建立EBGP连接,在AR2、AR3和AR4之间建立IBGP全连接,配置IP地址,发布AR1的LoopBack1端口,引入直连路由,并通过ping测试验证网络连通性。
配置BGP的基本功能
|
安全 Linux 测试技术
Kali Linux 开机无法进入图形化界面
【7月更文挑战第21天】
1342 6
|
存储 SQL 分布式计算

热门文章

最新文章