关于TCP全双工模式的解释

TCP是全双工模式,允许两端同时发送数据。虽然TCP三次握手过程看似单向,但这仅是连接建立阶段,实际数据传输中双方可并发发送。传输层的全双工并不意味着上层应用一定全双工,如HTTP/1.x是半双工,而HTTP/2支持全双工。
摘要由CSDN通过智能技术生成

上半年时白师傅去了某个易*软件公司面试实习时,被面试官问到TCP是全双工还是半双工模式?
我回答说是全双工,面试官说TCP是半双工! 当时面试房间内三个负责人看着有点紧张也没说什么。想到TCP有三次握手,应该是半双工吧?
今天看了下资料解释一下TCP的全双工。

一 TCP双方可以同时发送数据

这一点属性其实就可以完全解释为什么TCP是全双工了。
如果不理解的话可以看以下TCP差错控制中的选择重发ARQ协议,在每一时刻是同时存在收发端发送的帧和ACK信号的。
差控中的选择重发ARQ协议

二 TCP握手为什么看起来像半双工

仔细看TCP三次握手建立连接的过程,可以看到每一时刻只有发送端发送的SYN信号或者是接收端发送的ACK确认信号。
TCP三次握手理解
但是!TCP三次握手不能代表平时的数据传输,三次握手的目的是为了确立连接建立,而在实际TCP传输过程中大多情况是收发端同时发送数据的。

三 传输层TCP是全双工的,但是其上层应用层可能是半双工的

每一个层次都有自己的双工模式,传输层有传输层的双工模式,应用层有应用层的双工模式。
但下层的双工模式会影响到上层,比如下层支持半双工,上层顶多支持半双工,不可能支持全双工。
tcp是全双工的,但它的上层可能支持半双工,比如http1.x,也有可能支持全双工,比如http2.,

学习笔记的记录,如有错误欢迎指正!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忙碌了一天的白师傅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值