新进化论

道生一,一生二,二生三,三生万物。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
see also: http://www.sclife.com.cn/blog/article.asp?id=110
RPC 工作原理

每项 RPC 服务都会在注册表中为自己配置一个通用的唯一标识符 (UUID)(类似于全局唯一标识符 GUID)。UUID 是一种常用标识符,各项服务都有一个唯一的 UUID,且在所有平台上通用。当一项 RPC 服务启动时,它会获得一个可用的高端口,并以其 UUID 在该端口注册。有些服务随机使用高端口;而有些服务却每次都尽量使用相同的高端口(如果这些高端口可用)。在服务的生存期内,端口的分配是静态的。

当一个客户端要与某特定 RPC 服务通讯时,它无法事先确定该服务在哪个端口上运行。该客户端会先建立一个到服务器端口映射器服务(在 135 上)的连接,并利用该服务的 UUID 请求所需服务。端口映射器会将相应的端口号返回给客户端,然后关闭连接。最后,客户端利用端口映射器提供的端口号,新建一个到该服务器的连接。

由于事先无法获悉 RPC 服务将使用哪个端口,因此防火墙不得不允许所有高端口通过。

有限的 RPC


优点:仅开放一个高端口,比动态 RPC 更安全

缺点:修改所有服务器的注册表

这种方法更安全,但却需要修改所有域控制器的注册表。可以通过用 Microsoft ® Windows ® 2000 资源工具包中的工具编写脚本这种方式来修改注册表,这样可避免出现配置错误。

必须为 RPC 复制确定一个固定的端口号。Internet Assigned Numbers Authority (IANA) 规定将 49152 - 65535 之间的数字用于专用和动态分配。
posted on 2008-06-25 14:18  岌岌可危  阅读(2045)  评论(0编辑  收藏  举报