1. 进程交互
目前已有的交互机制
操作系统提供的单机内部进程间通信机制
命名管道(Named Pipe)、信号量(Semaphore)、信号(Signal)、共享内存(Shared Memory)
网络层提供的多机间的进程间通信机制
基于套接字(Socket)的IPC机制
当上述方法在分布式系统中不适用,在分布式系统中,数据传递是基于覆盖网络(overlay network,也称应用层网络)的,拥有点对点、多播/组播、广播三种数据传递方式。
2. 覆盖网络
覆盖网络就是应用层网络,用于提供特定的应用,例如VoIP/ netmeeting(应用层单播/组播)、视频流平台(CDN,内容分发网络)、发布订阅(Pub/Sub)
之所以需要覆盖网络是因为当前的Internet体系结构存在许多局限性,包括缺乏安全性、QoS保证、移动性支持、组播支持、端到端服务保证等。
对覆盖网络的评价指标有:
- 链路压力
计算数据包通过同一链路的频率 - 路径伸展率/相对延迟惩罚
测量覆盖网络中两个节点之间的延迟比率,以及这两个节点在底层网络中所经历的延迟比率