论文部分内容阅读
Internet上出现了一些新式应用,例如分布式会议系统,共享白板,远程教学,协同工作和基于Internet的联机游戏等。在这些应用中同时参与计算的节点有多个,用传统的点对点传输协议构建不够方便。组通信是能够实现一点到多点或多点到多点数据传输的一种机制,已被广泛的应用于支持容错的系统。本文结合传统组通信机制中的一些概念和网络层的提供的多播功能,提出用基于IPMulticast的组通信机制,用于支持上述这些分布式应用系统的构建。 论文阐述了组通信提供的服务语义,并且分析讨论了这些服务的具体实现方法。经典的组通信系统往往只提供组和组成员管理服务和消息传递服务,本文把分布进程间的同步问题也纳入到组通信层来解决。 全文分四个部分讨论了组通信系统:1)组和组成员管理。文中采用IP多播地址来标识组,组内成员的标识采用(IP地址,成员ID)二元组的形式。采用简单的崩溃检测和成员一致性维护来实现组内成员的管理。2)消息传递。消息传递服务是文章的重点,分三个方面讨论:消息的可靠性,消息的有序性和面向字节流及消息流服务。FIFO序是借鉴TCP协议中序列号来实现的。在实现因果序时,提出了自发发送事件和被动发送事件的概念,用以体现消息之间存在的因果关系。在实现消息的全序性和分布进程同步问题时,首次提出了基于请求权标的策略。3)同步问题。在请求权标策略的基础上,给出了权标丢失和防止进程饥饿现象发生的解决方法。4)安全性。本文分析了组通信安全性应该考虑的因素,但没有给出其具体的实现策略。 虽然采用IP Multicast,但是整个组通信层并不依赖于具体的路由协议。这样可以使系统有很好的适用性,使得网络层的路由策略改变时组通信层可以不做任何修改。在描述完系统的实现后,我们把它与TCP/IP协议结构相比较。可以发现,组通信如果看作协议栈的一个层的话,那么它的对应TCP/IP协议中的TCP层。因此,组通信层实际上是提供传输层服务。