我正在研究 Windows Server 端口号http://support.microsoft.com/kb/832017,我注意到很多服务都使用端口 135
制定这个标准的逻辑是什么?是因为一台机器可以和多台机器通信吗?例如组策略、Exchange 服务器、文件复制服务。
为某些服务选择某些端口号肯定有其道理。至少解释一下将这么多服务分配给 TCP 端口 135 的理由。
谢谢!
答案1
这些服务不是直接地分配给端口 135。相反,他们都跑过去微电子研究与开发委员会(Windows NT 使用的远程进程通信协议),MSRPC 使用端口 135通过 TCP 传输时。
它们不需要为每项服务(数据类型、框架、语义、客户端和服务器代码)单独重新设计协议,而是只需交换 MSRPC 调用即可。
这就像有十几个网站共享同一个端口 80,因为你使用 HTTP 来访问所有网站。另一个例子是 Linux 的 D-Bus。
请注意,原始 TCP 不是唯一的传输方式 – 其他一些程序使用 SMB“命名管道”来实现这一点;SMB 本身可以通过原始 TCP(端口 445)或 NetBIOS(TCP 端口 139)进行传输...我认为还有 HTTP 传输。换句话说,相同的“远程注册表”MSRPC 服务可能可以通过以下方式访问:
- IP/TCP(端口 135)/ 微软亚太研究中心(服务“WINREG”)
- IP/TCP(端口 139)/ NetBT 会话 / SMB(管道“winreg”)/ 微软亚太研究中心(服务“WINREG”)
- IP/TCP(端口 445)/ 中小企业(管道“winreg”)/MSRPC _(服务“WINREG”)
- 异戊二烯(套接字 0x0455)/ NetBIOS 会话 / SMB(管道“winreg”)/ 微软亚太研究中心(服务“WINREG”)
- NetBEUI/NetBIOS 会话/SMB(管道“winreg”)/ 微软亚太研究中心(服务“WINREG”)
- 或许还有其他。