TCP基础(2)

网友投稿 218 2022-09-24

TCP基础(2)

TCP基础(2)

前边(1)基本上说明了可靠传入的目标以及实现方式,那么把那些东西都实现一下并且解决更多的问题,这就是TCP。 TCP协议,也叫传输控制协议,是一种可靠传输的协议。因为可靠,被广泛的应用。是SOCKET里面的重点。现在N多应用层协议都是封装了它来实现数据的传输。TCP的基本流程就是:建立连接->传数据->断开连接。所有many people都说这是打电话。so 就按照流程来

建立连接

两次存在的问题

三次握手时,第三次似乎看起来没必要??逻辑分析一下,client问server在不在,server告诉client自己在,那么就可以开始通信了啊,为啥client还要告诉server自己在???似乎是多余的。 其实不然,因为server要和client通信,就需要分配CPU,内存这些资源,这是十分珍贵的,尤其是高并发状态下,本来服务器就忙不过来了,如果你是一个坏人,故意调戏他,每次发送第一次SYN之后就不管了,那么服务器每次都要给你准备点通信的资源,那完了,我开个几百万的线程瞬间就把服务器的资源抢占了,服务器gg。所以第三次握手实际上对client看上去没必要,对于服务器来说十分的重要。 当然了,在包重复时,也会产生对应的问题,所以第三次握手时必要的。

开始通信

这个和之前说的一样,可靠传输,滑动窗口机制。

断开连接

完成传输

到这里,TCP已经圆满完成任务了。建立了一个可靠的传输,但是这其中还是右许多的问题的。

RTT设置的问题

前边说了,如果一个包在RTT内没有被ACK,那么就开始重传。那么RTT怎么设置呢?静态RTT??但是网络环境时刻在变化,一会好一会坏,RTT太小导致大量数据被重传,浪费资源,太大传输效率变低。对于这个东西,可以采用自适应RTT,至于方法,不再深入讨论。

流量控制

那么TCP的样子?

结尾

TCP实现的不仅仅是可靠的传输,其中还有很多的设计才让它成为一个十分优秀的传输协议。当然了,这里只能说一些十分常用的。关于TCP的讨论,还有最后一篇:拥塞控制。然后我会的就是这么多了

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:提前4站锁定七连冠,梅赛德斯缔造F1新神话!
下一篇:ActiveMQ整合Spring框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~