gpt4 book ai didi

network-protocols - 运动鞋网上的自动消息路由

转载 作者:行者123 更新时间:2023-12-04 09:00:03 26 4
gpt4 key购买 nike

我正在做一个项目,该项目需要一个系统,归结为网络协议(protocol)设计中的一个奇怪练习。这种情况的具体细节很复杂且无关紧要,所以在这里我将把它比作一种强制性的运动鞋网。

假设在整个森林或山脉或北极高原或其他地方的建筑物中有许多桌面。它们没有联网,因为在建筑物之间铺设电缆非常昂贵。 (在这种情况下,实际上实际上是不可能的,但我离题了。)人们经常在建筑物之间通勤,而且每个人都有一个闪存驱动器。他们到达新大楼时要做的第一件事就是将这个闪存驱动器插入那里的桌面。当它插入时,一个软件启动并从中读取数据,并且可以自由地与它传输数据。您可以假设桌面有无限的存储空间,但驱动器没有。

桌面上装满了需要到达其他建筑物的消息。每条消息都有指示源和目的地的元数据,以及可能的任何其他必要的协议(protocol)信息。该驱动器还携带用于该建筑物的消息,该软件将首先卸载这些消息。然后,基于某种算法,软件将新消息加载到驱动器上。
每栋建筑都通过承运人行驶的道路与五座左右的其他建筑相连。任何给定的建筑物不可能直接连接到任何其他特定的建筑物,但在任何两个给定点之间总是至少有一条路径(通过其他建筑物)。

我希望尽量减少在建筑物之间获取信息所需的人际互动。显然,发件人必须指定目的地,我们可以合理地期望承运人知道他们的下一站,但可能不会比这更远。我也希望有一些完美分布的东西——不需要依赖任何中央服务器的东西。

该软件可以用来自动将消息从一栋建筑物发送到另一栋建筑物的最简单系统是什么?理想情况下,软件的每个独立实例都会为相同的输入决定相同的路径。鉴于每个驱动器/载体和每个建筑物都已经有一个唯一的 ID,软件如何自动映射网络中的所有连接?这样的系统如何处理新建筑物或新道路的发现?如果一些运营商知道他们有明确的远离源、目的地和航路点,那么对于可能遵循相同路径(部分和/或全部路径)的消息,应该如何处理?系统如何处理“丢包”(例如,其中一个运营商在途中坠毁)?有没有办法让系统被滥用或破坏?我能做些什么来防止这种情况发生?

另外,假设我想更新桌面上的软件。我可以要求每个驱动器携带他们遇到的最新版本的副本,但这不是很节省空间。相反,我可以让他们只携带最新的版本号,以及他们访问过的任何需要更新的建筑物的 ID 列表。当驱动器击中具有最新版本的建筑物时,那里的软件会清除列表并向这些建筑物创建一条自动消息,询问它们是否仍需要更新。如果他们回答"is",它将打包本地存储的增量并将它们发送出去。在这种情况下,补丁将由系统开发人员签名以确保真实性。有没有办法可以分发它(即,如果每个建筑物的常驻黑客都被授予访问权限怎么办)?或者更具体地说,它如何处理增量碰撞?

任何澄清问题或建议也会有所帮助;我所描述的只是在逻辑上与我将要应用的内容相似,所以我不知道我是否假设了一些不明显或忘记提及重要细节的东西。

最佳答案

大约两年前,我编写了类似的程序。

对于协议(protocol):

-谣言将您的消息 RSA 编码路由到其公钥已知的目的地

- 为方便起见,从昵称到 RSA key 的分布式翻译列表

-谣言路由 RSA 订阅的确认以删除消息的副本。

- 每个桌面客户端都有一个基本的公共(public) RSA key ,它可以确认客户端软件的更新。

- 如果运营商已满,则旧消息优先。

-元信息始终具有优先权。

-最后但并非最不重要的一点:每条消息都有死收件人超时。

这有以下优点:

  • 不是每个人都能收到每条消息,但每个人都会得到一些关于每条消息的元信息,导致这个网络是可搜索的
  • 您可以匿名发送消息或使用您的公钥签名
  • 绝对不需要有关拓扑的知识。
  • 元信息(确认消息)的转发速度比数据快,因此如果负载过重,负载会自动删除得更快。
  • 关于network-protocols - 运动鞋网上的自动消息路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639028/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com