【三层报文】组播MAC地址关联协议与IP对应关

发布时间:2023年12月29日

组播地址简介

为了使组播源和组播组成员进行通信,需要提供网络层组播,使用IP组播地址。为了在本地物理网络上实现组播信息的正确传输,需要提供链路层组播,使用组播MAC地址。必须存在一种技术将IP组播地址映射为组播MAC地址。

IPv4组播地址

IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用。IPv4地址一共32位,D类地址最高4位为1110,因此地址范围从224.0.0.0到239.255.255.255,具体分类及含义见表1

表1?IPv4组播地址的范围及含义

地址范围

含义

224.0.0.0~224.0.0.255

永久组地址。IANA为路由协议预留的IP地址(也称为保留组地址),用于标识一组特定的网络设备,供路由协议、拓扑查找等使用,不用于组播转发。常见的永久组地址如表2所示

224.0.1.0~231.255.255.255

233.0.0.0~238.255.255.255

ASM(Any-Source Multicas,任意组播源模型)组播地址,全网范围内有效

232.0.0.0~232.255.255.255

缺省情况下的SSM(Source-Specific Multicast,指定组播源模型)组播地址,全网范围内有效

239.0.0.0~239.255.255.255

本地管理组地址,仅在本地管理域内有效。在不同的管理域内重复使用相同的本地管理组地址不会导致冲突

表2 常见的永久组地址列表

永久组地址

映射MAC地址

含义

224.0.0.0

01-00-5E-00-00-00

不分配

224.0.0.1

01-00-5E-00-00-01

网段内所有主机和路由器(等效于广播地址)

224.0.0.2

01-00-5E-00-00-02

所有组播路由器

224.0.0.3

01-00-5E-00-00-03

不分配

224.0.0.4

01-00-5E-00-00-04

DVMRP(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由器

224.0.0.5

01-00-5E-00-00-05

OSPF(Open Shortest Path First,开放最短路径优先)路由器

224.0.0.6

01-00-5E-00-00-06

OSPF DR(Designated Router,指定路由器)

224.0.0.7

01-00-5E-00-00-07

ST(Shared Tree,共享树)路由器

224.0.0.8

01-00-5E-00-00-08

ST主机

224.0.0.9

01-00-5E-00-00-09

RIP-2(Routing Information Protocol version 2,路由信息协议版本2)路由器

224.0.0.11

01-00-5E-00-00-0B

移动代理(Mobile-Agents)

224.0.0.12

01-00-5E-00-00-0C

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器/中继代理

224.0.0.13

01-00-5E-00-00-0D

所有PIM(Protocol Independent Multicast,协议无关组播)路由器

224.0.0.14

01-00-5E-00-00-0E

RSVP(Resource Reservation Protocol,资源预留协议)封装

224.0.0.15

01-00-5E-00-00-0F

所有CBT(Core-Based Tree,有核树)路由器

224.0.0.16

01-00-5E-00-00-10

指定SBM(Subnetwork Bandwidth Management,子网带宽管理)

224.0.0.17

01-00-5E-00-00-11

所有SBM

224.0.0.18

01-00-5E-00-00-12

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)

224.0.0.22

01-00-5E-00-00-16

所有使能IGMPv3(Internet Group Management Protocol, Version 3,因特网组管理协议)的路由器

224.0.0.19 ~ 224.0.0.21

224.0.0.23 ~ 224.0.0.255

01-00-5E-00-00-13 ~ 01-00-5E-00-00-15

01-00-5E-00-00-17 ~ 01-00-5E-00-00-FF

未指定

IPv6组播地址

IPv6地址长度是128位,在RFC4291中对组播地址的定义如图1所示。

图1?IPv6组播地址的格式

和IPv4组播地址相比,IPv6组播地址有了明确的Group ID字段用于标识组播组。

  • 0xFF:最高8位为11111111,标识此地址为组播地址。即IPv6组播地址总是以FF开头。
  • Flags字段(4位),用来标识组播地址的状态。格式如下:

图2?Flags字段格式

表3?Flags字段各位取值及含义

取值说明

0位

最高位为保留位,必须为0

R位

    • 取0表示非内嵌RP的组播地址
    • 取1表示内嵌RP的组播地址,此时P、T位也必须置1

P位

    • 取0表示非基于单播前缀的组播地址
    • 取1则表示基于单播前缀的组播地址,此时T位也必须置1

T位

    • 取0表示永久分配组播地址
    • 取1则表示非永久分配的组播地址
  • Scope字段(4位):用来标识组播组的应用范围,例如是只包含同一本地网络、同一站点、同一机构中的节点,还是包含全球地址空间内的任何节点。其含义如下:

表4?Scope字段的取值及含义

取值

含义

0、3、F

保留

1

节点(或接口)本地范围(node/interface-local scope)

2

链路本地范围(link-local scope)

4

管理本地范围(admin-local scope)

5

站点本地范围(site-local scope)

8

机构本地范围(organization-local scope)

E

全球范围(global scope)

其他

未分配

  • Group ID(112位):组播组标识号。用来在由Scope字段所指定的范围内唯一标识组播组,该标识可能是永久分配的或临时的,这由Flags字段的T位决定。

固定的IPv6组播地址的范围及含义如表3

表5?IPv6组播地址的范围及含义

范围

含义

FF0x::/32

保留组地址,具体请参见表6

FF1x::/32(x不能是1或者2)

FF2x::/32(x不能是1或者2)

ASM组播地址,全网范围内有效

FF3x::/32(x不能是1或者2)

缺省的SSM组地址范围,全网范围内有效

表6?IPv6常用组播地址范围及含义

范围

IPv6组播地址

IPv6组播MAC地址映射

含义

节点(或接口)本地范围

FF01::1

33-33-00-00-00-01

所有节点(接口)地址

FF01::2

33-33-00-00-00-02

所有路由器地址

链路本地范围

FF02::1

33-33-00-00-00-01

所有节点地址

FF02::2

33-33-00-00-00-02

所有路由器地址

FF02::3

33-33-00-00-00-03

未定义的地址

FF02::4

33-33-00-00-00-04

DVMRP路由器

FF02::5

33-33-00-00-00-05

OSPF IGP Routers

FF02::6

33-33-00-00-00-06

OSPF IGP DR

FF02::7

33-33-00-00-00-07

ST路由器

FF02::8

33-33-00-00-00-08

ST主机

FF02::9

33-33-00-00-00-09

RIP路由器

FF02::A

33-33-00-00-00-0A

EIGRP路由器

FF02::B

33-33-00-00-00-0B

移动代理

FF02::D

33-33-00-00-00-0D

所有PIM路由器

FF02::E

33-33-00-00-00-0E

RSVP封装

FF02::1:1

33-33-00-01-00-01

Link Name

FF02::1:2

33-33-00-01-00-02

所有DHCP代理

FF02::1:FFXX:XXXX

33-33-FF-XX-XX-XX

Solicited-Node地址,XX:XXXX表示节点IPv6地址的后24位

站点本地范围

FF05::2

33-33-00-00-00-02

所有路由器地址

FF05::1:3

33-33-00-01-00-03

所有DHCP服务器

FF05::1:4

33-33-00-10-00-04

所有DHCP中继

FF05::1:1000~FF05::1:13FF

33-33-00-01-10-00~

33-33-00-01-13-FF

服务位置

IPv4组播MAC地址映射关系

以太网传输IPv4单播报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播数据时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用IPv4组播MAC地址,即IPv4组播地址映射到链路层中的地址。

IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位为0,低23位为IPv4组播地址的低23位,映射关系如图3所示。例如组播组地址224.0.1.1对应的组播MAC地址为01-00-5e-00-01-01。

图3?IPv4组播地址与IPv4组播MAC地址的映射关系

IPv4组播地址的前4位是固定的1110,对应组播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丢失了5位的地址信息,直接结果是有32个IPv4组播地址映射到同一MAC地址上。例如IP地址为224.0.1.1、224.128.1.1、225.0.1.1、239.128.1.1等组播组的组播MAC地址都为01-00-5e-00-01-01。网络管理员在分配地址时必须考虑这种情况。

IPv6组播MAC地址映射关系

IPv6组播MAC地址的高16位为0x3333,低32位为IPv6组播地址的低32位。如图4所示,是IPv6组播地址FF01::1111:1的MAC地址映射举例。

图4?IPv6组播地址的MAC地址映射举例

可见IPv6中会有更多的组地址使用同一个MAC地址。

文章来源:https://blog.csdn.net/weixin_41500064/article/details/135226587
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。