• 深入理解计算机网络-9IP地址和子网3


    目录

    一、IPv6地址表示形式

    (一)冒号十六进制

    (二)前导零省略表达形式

    (三)压缩零表示形式

    二、IPV6地址类型

    三、IPv6单播地址

    (一)全球单播地址

    (二)本地单播地址

    1.链路本地地址

    2.唯一本地地址

    (三)内嵌IPV4地址的IPV6单播地址

    1.IPV4兼容地址

    2.IPV4映射地址

    3.6to4 IPV6地址

    (四)特殊的IPV6单播地址

    1.未指定地址

    2.环回地址

    三、IPV6组播地址和任播地址

    (一)组播地址

    (二)任播地址

    四、IPV6主机

    (一)主机可以指派的IPV6地址:

    1.主机上可以指派以下单播地址

    2.每个主机都在以下组播地址侦听通信

    (二)路由器可以指派的IPV6地址

    1.路由器上可以指派以下单播地址

    2.路由器可以指派有以下任播地址

    3.路由器将在以下组播地址侦听通信


    一、IPv6地址表示形式

    (一)冒号十六进制

    使用冒号分隔的十六进制数表示,每段4位16位,分8段,称为“冒号十六进制”表示形式

    分网络前缀和接口标识两部分,网络前缀对应IPV4中的网络ID,接口标识对应主机ID

    (二)前导零省略表达形式

    如果一个由冒号分隔的十六进制中有前导零则可以省略(中间和后面的0不能省略)

    如02AA可以写成2AA,00FF可以写成FF,0000写一个0即可

    上例简写为:3FFF:2900:D005:0:2AA:FF:FE28:9C5A

    又如:1080:0000:0000:0000:0008:0810:213C:123A可写成1080:0:0:0:8:810:213c:123a

    (三)压缩零表示形式

    双冒号规则:可以用一个双冒号置换地址中连续值为0的十六进制段,即双冒号置换法

    如:1080:0000:0000:0000:0008:0810:213C:123A可表示为1080::8:810:213C:123A

    但双冒号一个地址中只能使用一次

    二、IPV6地址类型

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

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

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

    IPV6地址类型由“地址前缀”部分来确定:

    IPV6地址前缀表示形式

    基本格式:地址前缀::/前缀长度

    三、IPv6单播地址

    (一)全球单播地址

    等同于IPV4中的公网地址。由全球路由前缀Global routing prefix,子网IDSubnet ID和接口标识InterfaceID组成

    (1)全球路由前缀:由服务提供商Provider指定给一个组织机构,至少48位。

    (2)子网ID:最多可分配到第64位,本字段最多位16位,组织机构可用其来构建本地网络

    (3)接口ID:用来标识一个接口或特定主机,64位,要符合IPV6改进的EUI-64格式(由IEEEE定义),被指派到网络适配器或者从IEEE802的MAC地址派生得到。如下:

    注意:IPV4网络中的48位MAC地址的高24为为公司标识(高第7位为0),低24位为扩展标识符。

    通过EUI-64规范生成“接口ID”的方法:

    *将FFFE插入48位MAC地址的公司标识和扩展标识之间;

    *将高7位的0改为1,标识此接口标识全球唯一。

    目前IANA从整个全球单播地址空间(格式前缀001)中取2001::/16进行分配。

    IANA指定的注册机构把2001:0600::/23~2001:0800::/23段分配给欧洲和中东(包括中国)

    注册机构从IANA得到地址空间分配/32前缀给ISP,ISP可在/32位前缀下继续分配16位前缀(共32+16=48位)给每个客户。

    在48位全球路由前缀的地址空间下还可以进一步分配16位前缀子网,这样每个客户最多可有65535个子网

    (二)本地单播地址

    本地单播地址是指本地网络使用的单播地址开业就是IPV4中的局域网专用地址。

    有两种:链路本地地址、唯一本地地址(原来叫:站点本地地址)

    每个接口上至少有个链路本地单播地址,另外还可以分配任何类型(单播、任播、组播)范围的IPV6地址

    1.链路本地地址

    只能在连接到同一本地链路的结点之间使用,固定前缀FE80::/10,同时将接口ID添加在后面作为地址的低64位。

    启动时结点的每个接口会自动配置一个链路本地地址,也可手动。

    各动态路由协议邻居关系的建立所使用的就是链路本地地址,类似windows系统的169.254.0.0/16网络的自动专用地址

    始终以FE80开头,后面紧跟54位0,最后接口ID为通过EUI-6规范生成的地址

    IPV6路由器永远不会将链路本地通信转发出该链路(FE80::/64标识)

    2.唯一本地地址

    类似于IPV4中的私网地址,只能在本地网络内部被路由转发,而不会在全球网络中转发,但上层应用程序将这些地址看作全球单播地址对待,用来替代本地站点地址,前缀FC00::/7

    L标志位:为1时代表该地址为在本地网络范围内使用的地址,0保留用于以后扩展

    Global ID:通过伪随机方式产生(全球唯一前缀,冲突概率低),参见RFC4193

    可以进行网络之间的私有连接,而不必担心地址冲突等问题。

    前缀FC00::/7,方便边缘路由器进行路由过滤

    如果出现路由泄漏到公网中,该地址也不会和其他地址冲突,不会造成INTERNET路由冲突,因为它具有唯一的FC00前缀,而且后面的全球ID又是随机产生的。

    在应用,上层应用程序将这些地址看作全球单播地址对待,但独立于互联网服务提供商。

    (三)内嵌IPV4地址的IPV6单播地址

    为了帮助从IPV4迁移到IPV6,促进两种类型主机并存,定义了几种过渡性IPV6地址:

    1.IPV4兼容地址

    在IPV6的转换机制中还包括了一种通过IPV4路由接口以隧道方式动态传递IPV6报的技术。

    IPV4必须时全球唯一的公网IP地址,前面的各位均为0,用于公网,称为“与IPV4兼容的IPV6全球单播地址”

    2.IPV4映射地址

    用于局域网内部,33-48位全1,其余为0

    3.6to4 IPV6地址

    用于在两个通过INTERNET同时运行IPV4和IPV6的结点之间的通信。

    6to4地址是通过组合2002::/16前缀和该结点的公网IPV4地址的32为构成,形成一个48为前缀。

    如131.107.0.1,6to4后的前缀为2002:836B:1::/48

    (四)特殊的IPV6单播地址

    1.未指定地址

    0:0:0:0:0:0:0:0/128,::/128,类似于IPV4中的0.0.0.0标识某个接口或者结点还没有IP地址,可以作为某些报文的源IP地址,但源IP地址是::的报文不会被路由设备转发。

    2.环回地址

    0:0:0:0:0:0:0:1/128,::1/128,与127.0.0.1作用相同,主要用于设备给自己发送报文进行接口协议栈测试。实际发送的数据包中不能使用换回地址作为源地址或目的地址。

    三、IPV6组播地址和任播地址

    (一)组播地址

    与IPV4组播地址类似,对应于一组接口地址。

    明显的特征就是最高8位为1(固定位FF)

    Flag:表示在组播地址商设置的标志。目前只用最后一位。为0时表示IANA永久分配地址;为1时表示临时组播地址(非永久分配地址)

    Scope作用域:用来限制组播数据在网络中发送的范围

    (二)任播地址

    与组播地址不同的是,目标地址是任播地址的数据包将发送给其中路由意义商最近的一个网络接口。

    任播地址设计的目的是用来在给多个主机或结点提供相同的服务时提供冗余功能和负载分担功能。

    IPV6中没有为任播规定单独的地址空间,任播地址和单播地址使用相同的地址空间,仅可被分贝给路由设备,不能应用于主机。

    四、IPV6主机

    IPV6主机通常在逻辑上是多主机的,因为它们至少有两个用于接收数据报的地址:

    一个是用于本地链接通信的链路本地地址;

    一个是可路由的唯一本地地址或全球单播地址。

    (一)主机可以指派的IPV6地址:

    1.主机上可以指派以下单播地址

    用于每个接口的链路本地地址

    用于每个接口的唯一本地地址

    一个或多个全局单播地址

    用于回环接口的环回地址::1

    2.每个主机都在以下组播地址侦听通信

    接口本地(仅指一个结点的单一接口,用于组播通信的环回测试)作用域所有结点的组播地址FF01::1

    链路本地作用域所有结点的组播地址FF02::1

    每个接口上用于每个单播地址的请求结点的组播地址

    每个接口上已加入组的组播地址

    (二)路由器可以指派的IPV6地址

    1.路由器上可以指派以下单播地址

    用于每个接口的链路本地地址

    用于每个接口的唯一本地地址

    一个或多个全局单播地址

    用于回环接口的回环地址::1

    2.路由器可以指派有以下任播地址

    用于每个子网的子网路由器任播地址

    其他任播地址(可选)

    3.路由器将在以下组播地址侦听通信

    接口本地作用域所有结点组播地址FF01::1

    接口本地作用域所有路由器的组播地址FF01::2

    链路本地作用域所有结点的组播地址FF02::1

    链路本地作用域所有路由器的组播地址FF02::2

    站点本地作用域所有路由器的组播地址FF05::2

    各接口上用于单个单播地址的请求结点组播地址

    每个接口上已加入组的组播地址

    【说明】“被请求结点的组播地址”是一种特殊的组播地址,对于结点或路由器接口上配置的每个单播地址和任播地址都回自动生成一个对应的被请求结点组播地址。

  • 相关阅读:
    一文帮你搞定H5、小程序、Taro长列表曝光埋点
    聚美优品根据ID取商品详情 API
    TikTok选品有什么技巧?
    centos安装mysql5.7
    快鲸智慧楼宇系统:助力商办楼宇快速实现智慧化、数字化运营
    Mac 通过 brew安装的 ffmpeg 切换版本
    1093:计算多项式的值(信奥一本通 )
    win10 python3.7.5 安装dlib
    再服务器上配置其他版本的DGL
    python小知识--创建scrapy工程步骤
  • 原文地址:https://blog.csdn.net/hongdi/article/details/126048425