集群网络的协议与通信模型解析
1. 数据包封装与集群协议需求
在网络通信中,数据的传输采用了一种类似洋葱嵌套的数据包封装方式。原始数据被封装成一个个数据包,每个数据包成为下层的有效负载,下层会添加自己的头部和后缀。在发送端,数据沿着协议栈向下传递,形成嵌套的数据包结构;在接收端,则逐层剥离头部和后缀。这种分而治之的策略有效解决了两个应用程序之间复杂的网络通信问题,将其拆分为各个协议层的子问题。
在构建计算机集群时,虽然也会遇到一般计算机网络中的问题,但参数有所不同,需要不同的策略。常见的 TCP/IP 协议栈虽然广为人知且应用广泛,但在集群环境中可能并不适用,主要原因如下:
- 高开销 :为处理大的、易出错的网络(如长延迟、多跳路由等)而设计的网络协议必然复杂,协议的复杂性会导致高 CPU 消耗,而简单的协议可以避免这种情况。
- 对故障响应慢 :该协议旨在容忍路由、路由器故障和数据包丢失等问题,确定目标故障需要很长时间。而在集群中,快速可靠地确定计算机和网络故障并迅速恢复至关重要。
因此,集群需要一种快速、可靠且能准确快速响应故障的协议。由于集群计算机通常连接在拓扑简单、可靠的网络上,因此可以避免处理复杂不可靠网络所需的处理开销。
2. 一些有用的集群网络协议
2.1 以太网(Ethernet)
以太网与化学化合物醚无关,它采用 CSMA/CD(载波侦听多路访问/冲突检测)访问方法。各个网卡可以在需要时将消息数据包注入介质(以太网电缆),无需遵循仲裁协议。如果数据包重叠,就会发生冲突,数据包会被损坏和丢失。每个网卡会
超级会员免费看
订阅专栏 解锁全文
172万+

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



