【发布时间】:2017-10-14 01:48:36
【问题描述】:
我正在尝试为我的通信框架编写服务发现协议。我计划执行以下步骤:
服务器端
- 创建多播套接字
- 加入群组
- 广播(发送带有一些心跳的多播消息 [UDP 多播协议]。广播数据包含服务器 IP 和一些将用于处理客户端注册请求的端口
- 打开线程以在该端口上接收来自客户端的 TCP 数据包以接受注册
客户端
- 创建多播套接字
- 加入与服务器相同的多播组以接收消息
- 检查服务中的相关广播
- 从广播包中获取数据(数据为服务器IP和端口)
- 以注册请求的形式向服务器发起 TCP 调用(收到 IP 和端口)。
关于安全漏洞,我可以在客户端注册步骤中提供证书来保护它,但我主要关心的是服务广播。
如果我在心跳中广播服务器 IP 和端口,这对端口泛洪等攻击非常危险(我可以提供一些安全措施,但重量级的加密和解密会导致服务发现滞后)。有没有替代的设计?
【问题讨论】:
标签: sockets security networking tcp