简介
作为一种与单播和广播并列的通信方式,组播技术能够有效地解决单点发送,多点接收的问题,从而实现网络中点到多点的高校数据传送,能够节约大量网络带宽,降低网络负载。
利用组播技术可以方便地提供一些新的增值业务,包括在线直播,网络电视,远程教育,远程医疗,网络电台,实时视频会议等对带宽和数据交互的实时性要求较高的信息服务。
组播地址
组播MAC地址:0x01005Exxxxxx
映射关系:
组播
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
三层组播协议:组播组管理协议,组播路由协议
二层组播协议:IGMP snooping,组播VLAN
IGMP PDU
IGMPv1
IGMPv1 Message Type
0x11 Host Membership Query
0x12 Host Membership Report
IGMPv2
IGMPv2 Message Type
0x11 Membership Query (General Query & Group-Specific Query)
0x16 Version 2 Membership Report
0x17 Leave Group
0x12 Version 1 Membership Report
IGMPv3
Membership query message
Membership report message
Group record format
IGMPv3 Message Types
0x11 IGMPv3 Query [RFC-3376]
0x22 IGMPv3 Membership Report [RFC-3376]
0x12 Version 1 Membership Report [RFC-1112]
0x16 Version 2 Membership Report [RFC-2236]
0x17 Version 2 Leave Group [RFC-2236]
IGMPv3 Group Record Types
Current-State Record, is sent by a system in response to a Query received on an interface.
MODE_IS_INCLUDE
MODE_IS_EXCLUDE
Filter-Mode-Change Record, is sent by a system whenever a local invocation of IPMulticastListen causes a change of the filter mode of the interface-level state entry for a particular multicast address.
CHANGE_TO_INCLUDE_MODE
CHANGE_TO_EXCLUDE_MODE
Source-List-Change Record, is sent by a system whenever a local invocation of IPMulticastListen cause a change of source list that is not coincident with a change of filter mode, of the interface-level state entry for a particular multicast address.
ALLOW_NEW_SOURCES
BLOCK_OLD_SOURCES
Use term State-Change Record to refer to Filter-Mode-Change or Source-List-Change Record
Router Filter Mode: INCLUDE & EXCLUDE
Note: Source filter is only for multicast data pakcets, not for multicast ptotocol pakcets.
MLD
MLD Message Types
130 Multicast Listener Query
131 Multicast Listener Report
132 Multicast Listener Done
IGMP/MLD Destination Address
Message type Group Address
General Query link-scope all-node (224.0.0.1) or (FF02::1)
Group-Specific Query the multicast address being queried
Membership Report the multicast address being reported
Leave/Done Message link-scope all-routers (224.0.0.2) or (FF02::2)
IGMP V1/V2/V3 比较
IGMP V1: 支持包类型, 两种 query 和report;
router 等待超时时间才知道组成员已经不存在;
IGMP V2: 支持包类型, 三种, query,report和Leave,
增加Leave包的目的是,当组中最后一个成员离开时,通知路由器,快速收敛.
而且Query包也分为两种, 一为正常的Query,查询所有的组是否有成员(类似于V1);一种为特殊的query,在收到Leave包后, 路由器所发出的只查询该组的query包;
IGMP V3: 支持包的类型,两种, query和report.
增加Source Filtering功能, host可以通知路由器,指定只收或者不收,某些特定的组和原地址的包. 防止了Unkonw host的DOS攻击.
query分为三种, 查询所有组的/特殊组的/特殊组和特殊源地址的;
关于V3为什么要取消Leave这个有助于快速收敛的包呢? 其实他将V2的Leave包的功能加入到report包中来了, 当host有任何变动且认为应该通知Router时,他就会发送report包. 还有一种情况下发生report包是回复query包的时候.
IGMP v1 & IGMP v2 report IS_EX{}
IGMP v2 leave TO_IN{}
附
IPv4 header
IPv6 header
IPv6 Extention header