分布式系统-命名系统(1)

本文探讨了分布式系统中的名称、标识符和地址概念,包括无层次命名的三种策略:广播、多播和转发指针。同时介绍了基于宿主位置的方法来处理实体移动的情况,以确保高效通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.名称、标识符、地址

名称:是由位或字符组成的字符串,用来指向一个实体。分布式系统的实体几乎可以是任何事物,比如主机、打印机、磁盘和文件等资源。

地址:访问实体时需要通过一个访问点访问实体,因此访问点的名称称为地址,一个实体的访问点地址也可以简称为该实体的地址。访问点是一种特殊类型的实体。一个实体可以提供多个访问点,并且经过一段时间后实体的访问点可能会发生变化,例如电话号码可以看作是一个人的访问点,电话号码相当于访问点,一个人可以拥有多个电话号码;同时电话号码可能会更换,即访问点改变。

标识符:唯一标识实体的名称。

2.无层次命名

2.1 广播和多播

广播:主机在局域网内的广播数据包,所有主机均能接收到数据包。这种方法占用网络带宽,效率低下。

多播:只有符合条件的主机才能接收到请求数据包,接收到消息的主机回复本机地址。

2.2  转发指针

当实体从A移动到B时,它将在后面留下一个指针,这个指针指向它在B中的新位置。这种移动实体定位方法的优点是简便:一旦找到实体以后,客户就可以顺着转发指针形成的链来查找实体的当前地址。本方法只适用于局域网。

2.3基于宿主位置的方法

这种方法持续跟踪实体的当前位置位置,可以使用特殊的技术来预防网络故障或进程失效。在实践中,通常选择创建实体的位置作为其宿主位置。每个移动主机都使用一个固定的IP地址,所有与该IP地址进行的通信一开始都被转发到移动主机的宿主代理中。宿主代理位于局域网中,与包含在移动主机IP地址中的网络地址相对应。当一台移动主机转移到另一个网络中是,它会请求一个可以用来通信的临时地址。这种转交地址要在宿主代理中注册。当宿主代理接收到发送给移动主机的数据包时,它会查找主机的当前位置。如果主机是在当前本地网络中,那么就只需转发数据包。否则,它会建立一条通往主机当前位置的通道,也就是说,他会把数据组装成IP包,然后发送给转交地址。同时,将把主机当前的位置告诉数据包的发送者。下图显示了该原理:




参考书:分布式系统原理与范型  辛春生等译


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值