分布式系统中的基础抽象与通信抽象
1. 基本概念
1.1 组件表示
为避免由 k 个组件 $c_1, c_2, \cdots, c_k$ 组成的文本在解释时出现问题,使用符号 $c_1\parallel c_2\parallel\cdots\parallel c_k$ 来表示,其中 $\parallel$ 是表示位串连接的特殊符号。
1.2 签名方案与 MAC
签名方案比消息认证码(MAC)更强大。在 MAC 用于消息认证时,接收者验证消息的真实性后,无法向第三方证明该事实,因为 MAC 的规范不允许第三方验证为其他实体生成的认证器。而数字签名方案只有发送者能对信息进行认证,第三方可以自行验证发送者消息的真实性,即使消息是由有故障的接收者转发的。不过,数字签名基于公钥密码学(或非对称密码学),与对称密码原语相比,会增加相当大的计算开销。
2. 通信抽象
2.1 链路抽象
链路抽象用于表示分布式系统的网络组件。每对进程通过双向链路连接,这种拓扑结构确保了进程间的完全连通性。在实际中,不同的拓扑结构可以实现这种抽象,可能会使用路由算法。具体的架构实例包括:
- 完全连接的网状结构
- 广播介质(如以太网)
- 环形结构
- 通过网桥和路由器互连的链路网状结构(如互联网)
许多算法会细化抽象的网络视图,以利用底层拓扑的特性。进程间通过链路交换的消息是唯一的,每个消息包含足够的信息,使接收者能够唯一识别发送者。当链路用于崩溃停止或崩溃恢复进程抽象时,这个属性很容易实现;但当进程面临更严重的故障或任意故障时,网络也可能出现这些故障,此时
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



