# applicationLayerMulticast **Repository Path**: chenxfeng/applicationLayerMulticast ## Basic Information - **Project Name**: applicationLayerMulticast - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-01-04 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## applicationLayerMulticast 应用层组播直接基于端主机构造组播网络,通过端主机而非路由器以单播方式,来相互复制并向接受者转发报文。目的是将组播部署为一种叠加与IP网络之上的服务性网络。相比IP组播,应用层组播不需要改变下层网络基础设施,可以直接利用现有的网络设备和传输技术在应用层达到组播的目的。在实际应用时,端系统实现组播功能可以避开IP组播的许多难题。 组播的工作原理: (1)加入组 要加入组的结点发送一个消息到根结点,根结点收到入组请求后,向其子结点发送一个消息,满足条件的子结点就向新来结点发送邀请入组消息,新来结点根据接收的消息的时间先后顺序,按某种约定的策略尝试加入到组播树中。 (2)退出组 结点在退出之前向父结点发送一个退出消息表明自己要退出组播树,同时向自己的子结点发送消息表明他们要重新连接;父结点在收到消息后向退出结点发送退出确认消息,(退出结点的)子结点在收到确认消息后重新向根结点发出加入组播树的请求。 组播树在一个结点退出群组后需要立即重构。 (3)数据的发送 当结点加入组播组后,就能收到从根结点发送的数据。在一个组播组中,数据是沿着根结点,自顶向下到达其他子结点的。每个子结点都从其父结点接收数据,并把它发送给所有的子结点。 (4)组播树 随着结点的加入,将逐步形成一棵树,这棵树称为组播树。组播树中的一条链路代表两个成员之间的一条单播连接。数据信息沿着组播树进行分发,而控制信息则通过会话控制器与各个成员之间的单播连接进行传输。 - 编写一个使用应用层组播的应用程序。包括一个组播树建立程序、组播发送程序和组播接收程序。实现服务器端输入信息,通过组播发送给客户端。要给出程序详细的流程图和对程序的详细介绍、说明。