博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tcp是一个复杂的协议
阅读量:6121 次
发布时间:2019-06-21

本文共 721 字,大约阅读时间需要 2 分钟。

tcp是一个很复杂的协议,这是每个人都知道的,但是它是很重要的,超过半数的公司在应届生面试时会提供tcp三次握手的面试题,我当年就碰到了N次,只可惜我对网络比较了解,这件事几乎没有给我带来什么故事。

     在理解tcp之前,如果有机会看一些理论知识,那么就会知道tcp实际上只是一种可靠连接的实现方式,可靠连接这种理论基本分为GBN和SR两种,当然从实践上分析还有二者的结合,如果细致的分析,二者各有优劣,GBN算法对于接收端来讲比较易于实现,特别是不需要维护缓存,对于接收端大多是服务器的情形来讲,这是再好不过的了,毕竟服务器不能有太大的开销,逻辑越简单越好,而SR将复杂度平摊到了两端,对于发送端和接收端复杂了一些,但是对于网络带宽的利用率却高效了很多,不管是GBN还是SR都要涉及到定时器,定时器的超时时延又是一个重要的概念,需要每个协议栈用测量的方式进行实现,另外不管是哪个算法,滑动窗口都是一个很重要的概念,之所以有这个概念,之所以限制窗口的大小是因为两点原因,一种是端点本身的内部原因,因为收发两端的速率需要匹配,另一种是端点作为一个整体和网络的对外关系的原因,因为收发速率即使匹配后也要受到网络的制约,这就有了窗口范围内的慢启动和加性增乘性减算法,实际上慢启动是在用最快的速度到达极端时应用加性增乘性减的一种做法,所有以上这些实现了tcp对于整个网络的公平和对于自身的高效它原来就是将所有最有效的算法结合在一起实现可靠传输的一种策略,在看看linux内核tcp实现,它无非是tcp的一种更加个性的表达方式罢了。

 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1271981

转载地址:http://orwua.baihongyu.com/

你可能感兴趣的文章
46.异地(Azure)容灾-准备工作
查看>>
Exchange Server2010系列之十:典型Exchange Server高可用性规划
查看>>
SQL Server 输出 XML
查看>>
轻松搞定个人虚拟桌面部署之1-远程桌面服务概述
查看>>
如何使用swingbench进行oracle数据库压力测试
查看>>
新中产崛起,高端电视为何成消费市场新宠儿?
查看>>
优酷土豆:财报不是问题!
查看>>
浪潮NF5280M3安装Windows Server 2008 R2注意事项
查看>>
Exchange企业实战技巧(6)配置OWA支持修改密码
查看>>
Windows server 2012体验之集成ISCSI功能
查看>>
关于交换机网络通信故障排除
查看>>
android EnMicroMsg.db安卓微信数据库获得密码的源码
查看>>
windows下pomelo开发环境搭建及JS乱码问题
查看>>
Lync 小技巧-37-Lync PowerShell-打不开
查看>>
如何雇人的十五条建议
查看>>
TFS数据迁移之sync_by_file
查看>>
网管把握市场需求,其实一点都不可怜
查看>>
Hadoop和HBase集群的JMX监控
查看>>
雅虎美女CEO梅耶尔的福利变革很中国
查看>>
用graphite把收集到的数据渲染成图片
查看>>