IP组播
IP组播是指一个IP报文向一个“主机组”的传送,这个包含零个或多个主机 的主机组由一个单独的IP地址标识。主 机组地址也称为“组播地址”,或者D类地 址。除了目的地址部分,组播报文与普通报文没有区别,网络尽力传送 组播报文但 是并不保证一定送达。
主机组的成员可以动态变化,主机有权选择加入或者退出某个主机组。主机可 以加入多个主机组,也可以向自己没 有加入的主机组发送数据。主机组有两种:永 久组和临时组。永久组的IP地址是周知的,由Internet管理机构分配, 是保留地 址。临时组的地址则使用除永久组地址外的非保留D类地址。
IP组播分组在互联网上的转发由支持组播的路由器来处理。主机发出的IP组 播分组在本子网内被所有主机组成员接 收,同时与该子网直接相连的组播路由器会 把组播报文转发到所有包含该主机组成员的网络上。组播报文传递的范 围由报文的 生存期值(TTL, Time-to-Live)决定,如果TTL值等于或者小于设置的路由器端口TTL 门限值(TTL Threshold),路由器将不再转发该报文。
2. 组播地址
?IP组播地址,或称为主机组地址,由D类IP地址标记。D类IP地址的最高四位 为“1110”,起范围从224.0.0.0到 239.255.255.255。如前所述,部分D类地址被 保留,用作永久组的地址,这段地址从224.0.0.0-224.0.0.255。比较重要 的地址 有:
?224.0.0.1 - 网段中所有支持组播的主机
?224.0.0.2 - 网段中所有支持组播的路由器
?224.0.0.4 - 网段中所有的DVMRP路由器
?224.0.0.5 - 所有的OSPF路由器
?224.0.0.6 - 所有的OSPF指派路由器
?224.0.0.9 - 所有RIPv2路由器
?224.0.0.13 -所有PIM路由器
3.Internet组管理协议(IGMP)
?IGMP协议由主机成员关系协议发展而来,目前有两个版 本:IGMPv1(RFC1112),IGMPv2 (RFC2326)。主机使 用IGMP消息通告本地的组 播路由器它想接收组播流量的主机组地址。如果主机支持IGMPv2,它还可以通告 组播 路由器它退出某主机组。组播路由器通过IGMP协议为其每个端口都维护一张 主机组成员表,并定期的探询表中的 主机组的成员,以确定该主机组是否存活。
IGMP消息被置于IP报文中传送。IGMPv1的报文如图1.2所示。IGMPv1中定义了两 种消息类型:主机成员询问和主 机成员报告。当某主机想要介绍某个组播流量时, 它向本地的组播路由器发送"主机成员报告"消息,告知欲接收的 组播地址。组播 路由器收到"主机成员报告"消息后把该主机加入指定的主机组,并在设定的周期 内向组播地址 224.0.0.1(代表所有支持组播的主机) 发送"主机成员询问"消息。 主机如果还想继续接收组播流量,必须发送"主机成 员报告"消息。
现在的问题是:
而直播服务器如何把自己的信息加到组播广播中?
想到现在没明白。
FW:multicast地址也是和你的ip地址一样的,只是特别一点而已(由多个hosts共有)
如果你加入某个组播,就可以收到来自那个组播的广播。
你可以通过netstat -rn来查看你host上的组播。
FW:也就是说服务器如果需要发布组播,就会向专用的组播地址广播信息。
这是不是有什么标准?要不然什么样的服务可以做组播呢?
FW:确切的是说你加入“一个组播”
组播有专门的定义的,如224.0.0.1是指向所有的机器
224.0.0.5(应该是吧)是ospf协议的通讯地址