【问题标题】:Custom Service Discovery自定义服务发现
【发布时间】:2017-10-14 01:48:36
【问题描述】:

我正在尝试为我的通信框架编写服务发现协议。我计划执行以下步骤:

服务器端

  1. 创建多播套接字
  2. 加入群组
  3. 广播(发送带有一些心跳的多播消息 [UDP 多播协议]。广播数据包含服务器 IP 和一些将用于处理客户端注册请求的端口
  4. 打开线程以在该端口上接收来自客户端的 TCP 数据包以接受注册

客户端

  1. 创建多播套接字
  2. 加入与服务器相同的多播组以接收消息
  3. 检查服务中的相关广播
  4. 从广播包中获取数据(数据为服务器IP和端口)
  5. 以注册请求的形式向服务器发起 TCP 调用(收到 I​​P 和端口)。

关于安全漏洞,我可以在客户端注册步骤中提供证书来保护它,但我主要关心的是服务广播

如果我在心跳中广播服务器 IP 和端口,这对端口泛洪等攻击非常危险(我可以提供一些安全措施,但重量级的加密和解密会导致服务发现滞后)。有没有替代的设计?

【问题讨论】:

    标签: sockets security networking tcp


    【解决方案1】:

    如果我在心跳中广播服务器 IP 和端口,这对端口泛滥等攻击非常危险(我可以提供一些安全措施,但重量级的加密和解密会导致服务发现滞后)。有其他设计吗?

    另一种设计是从客户端发送广播以发现服务器。就像 DHCP 和其他服务一样:客户端广播一个“发现”消息,所以每个服务器都可以响应一个服务“提供”。请在下面找到更多信息:

    https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

    关于您提到的“发现滞后”。让客户端发送第一个“发现”数据包应该将延迟减少到最低限度,因此这是“反转”模型的另一个优点。

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      相关资源
      最近更新 更多