TCP协议和远程过程调用(RPC)有何区别?

6
请问谁能解释一下TCP和RPC这两种协议哪个更具有可扩展性,以及它们之间的区别是什么?
1个回答

14

RPC(远程过程调用)基本上是一种进程间通信形式,允许一个程序直接在同一台计算机或网络上的另一个程序中调用过程。

更多细节请参见维基百科文章:远程过程调用

RPC运行在TCP之上。TCP允许计算机彼此发送任意长度的数据,并保证传输的可靠性。RPC和POP、SMTP和其他协议处于同一层面,这些协议也运行在TCP之上。

TCP是更低级别的协议。由于RPC运行在TCP之上,因此您对可扩展性的问题并不相关。


2
只是为了明确,RPC 可以在 TCP 上运行,也可以在其他协议之上运行。区别在于协议的层。OSI 7 层架构对此非常有用。RPC 是第 7 层(应用程序),而 TCP 是第 4 层的传输层。 - Francis Upton IV
非常正确,@FrancisUpton。我本来想提到这一点的,但是我认为他可能不知道OSI层是什么,所以我保持简单。 - hookenz
2
除了我们这些古老的人,没有人知道 OSI 层是什么。 :) - Francis Upton IV

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接