Sockets 自定义服务发现

Sockets 自定义服务发现,sockets,security,networking,tcp,Sockets,Security,Networking,Tcp,我正在尝试为我的通信框架编写一个服务发现协议。我计划执行以下步骤: 服务器端 创建多播套接字 加入一个团体 广播(发送带有心跳的多播消息[UDP多播协议]。广播数据包含服务器IP和用于处理客户端注册请求的端口 打开线程从该端口上的客户端接收TCP数据包以接受注册 客户端 创建多播套接字 加入与服务器相同的多播组以接收消息 检查服务中的相关广播 从广播包获取数据(数据为服务器IP和端口) 以注册请求的形式对服务器进行TCP调用(已接收IP和端口) 关于安全漏洞,我可以在客户端注册步骤中提供证书来保

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

服务器端

  • 创建多播套接字
  • 加入一个团体
  • 广播(发送带有心跳的多播消息[UDP多播协议]。广播数据包含服务器IP和用于处理客户端注册请求的端口
  • 打开线程从该端口上的客户端接收TCP数据包以接受注册
  • 客户端

  • 创建多播套接字
  • 加入与服务器相同的多播组以接收消息
  • 检查服务中的相关广播
  • 从广播包获取数据(数据为服务器IP和端口)
  • 以注册请求的形式对服务器进行TCP调用(已接收IP和端口)
  • 关于安全漏洞,我可以在客户端注册步骤中提供证书来保护它,但我的主要关注的是服务广播

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

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

    另一种设计是从客户端发送广播以发现服务器。就像DHCP和其他服务一样:客户端广播“发现”消息,因此每个服务器可能会响应服务“提供”。请查找以下详细信息:

    关于您提到的“发现延迟”,让客户端发送第一个“发现”数据包应该将延迟减少到最小,因此这是“反转”您的模型的另一个好处

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

    另一种设计是从客户端发送广播以发现服务器。就像DHCP和其他服务一样:客户端广播“发现”消息,因此每个服务器可能会响应服务“提供”。请查找以下详细信息:

    关于您提到的“发现延迟”,让客户端发送第一个“发现”数据包应该将延迟减少到最小,因此这是“反转”您的模型的另一个好处