我正在尝试了解 RPC 的工作原理,以便设置一些规则有状态的防火墙,允许客户端和服务器之间的 RPC。
在阅读了一些文档之后
- 客户端通过端口 TCP 111 或 UDP 135 联系基于 RPC 的服务器。
- 客户端告诉位置服务器它希望访问的服务器的唯一 RPC 服务编号。
- 位置服务器使用该服务的新(动态)端口进行回复。
我的第一个问题是:服务器是通过以前的端口(TCP 111 或 UDP 135)进行回复,还是使用刚刚打开的新动态端口进行回复?
事情是这样的:由于防火墙是有状态的,如果服务器负责通过动态端口发起通信,则规则应该是单向的,源=服务器,目标=客户端。
如果答案是通过 135 发送的,则负责发起与动态端口的通信的是客户端。因此,规则应该是单向的,源=客户端,目标=服务器。
我还没有找到任何文档准确描述如何发送此回复。
答案1
在TCP/IP协议中,应答总是通过动态端口,客户端通过135或者111端口与服务器通信,并通过客户端动态打开的端口进行应答。