如果我理解正确的话,TCP 是一种全双工双向协议。但是,以太网是半双工的。
这是否意味着即使 TCP 支持全双工,它在以太网上也只能以半双工模式运行?
谢谢!
如果我理解正确的话,TCP 是一种全双工双向协议。但是,以太网是半双工的。
这是否意味着即使 TCP 支持全双工,它在以太网上也只能以半双工模式运行?
谢谢!
实际上,TCP 和以太网是 OSI 模型不同层的示例。TCP 工作在第 4 层(传输层),用于在网络上的节点之间建立连接。TCP 确实是双向的,有时也称为面向连接。
以太网是第 2 层(数据链路层)协议,它规定了如何在物理层(第 1 层)中解释信号。第 2 层有许多子层,但总的来说,以太网是最受欢迎的。
如果以太网以半双工方式运行,则节点不能同时发送和接收。但这并不意味着节点不能使用 TCP。TCP 仍然运行在以太网之上,此外,还在 IP(第 3 层)之上运行以创建 TCP 需要进行通信的双向连接。因此,当谈到以太网和 TCP 时,它们作为不同的层运行。
即使以太网网卡不能同时接收和发送,TCP 仍然进行双向连接。
史蒂文斯的经典著作是有关其工作原理的一个很好的参考:http : //books.google.com/books/about/TCP_IP_Illustrated_Volume_1.html?id=a23OAn5i8R0C
以太网是一种半双工协议,然而,它是在大约 30 年前的 1980 年代创建的。此时,以太网段在使用集线器的设备之间共享,并且所有 PC 共享相同的冲突域。因此,他们不得不轮流发送数据,并倾听以确保没有人同时进行传输。
在普通/现代网络中,冲突域仅限于每个交换机端口一个设备。所以我们没有这个冲突问题。此后,IEEE 802.3 标准被引入,支持全双工接口和高于原始 10Base-T 标准的各种速度。
对我来说,以下类比有效:
想想你和你的朋友通过发送信件相互交流。您和您的朋友以全双工方式发送/接收,但假设邮局以半双工方式工作。
您和您的朋友的行为类似于 TCP(全双工),但信件(邮局)的投递是半双工的。
以太网支持半双工和全双工模式。请看这里。
也请在这里查看https://stackoverflow.com/questions/28494850/is-tcp-bidirectional-or-full-duplex。它解决了同样的问题。