有人可以从网络角度描述一下RPC(SUN和/或DCE)是什么,为什么它偏离了标准的TCP行为吗?
我的理解方式是,客户端使用唯一的源端口联系服务器,然后在TCP三次握手完成后切换源端口。由于我使用ASA防火墙,因此当未启用DCE RPC的检查时,此行为变得非常明显,因为防火墙会将其视为威胁而阻止它。我已经阅读了一些MS TechNet文章和其他网站的定义,包括观看了大约五个Youtube视频,这些视频似乎都是从程序员的角度来解释它,但由于我不是程序员,所以我还无法完全理解这个概念。
有人可以从网络角度描述一下RPC(SUN和/或DCE)是什么,为什么它偏离了标准的TCP行为吗?
我的理解方式是,客户端使用唯一的源端口联系服务器,然后在TCP三次握手完成后切换源端口。由于我使用ASA防火墙,因此当未启用DCE RPC的检查时,此行为变得非常明显,因为防火墙会将其视为威胁而阻止它。我已经阅读了一些MS TechNet文章和其他网站的定义,包括观看了大约五个Youtube视频,这些视频似乎都是从程序员的角度来解释它,但由于我不是程序员,所以我还无法完全理解这个概念。
(如果使用UDP而不是TCP,则工作方式基本相同,但没有在网络上执行自然的连接设置/拆除)
这对于防火墙来说是一个问题,因为服务器侦听随机选择的端口号,无法行政地允许访问特定的端口号。相反,想要支持这种设置的防火墙需要打开端口映射器端口,捕获发送到端口映射器的那个众所周知的端口的RPC消息,检查与端口映射器交换的消息内容以从RPC消息中提取IP地址和端口号(端口映射器本身被实现为一个RPC服务器),以便动态地在RPC服务器和客户端之间打开一个端口。