tcp是一个复杂的协议

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

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



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

相关文章
|
8月前
|
缓存 网络协议 Linux
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
|
9月前
|
XML 存储 JSON
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
|
2月前
|
网络协议 安全 网络安全
网络 (TCP/IP 四层协议中常见网络协议)
网络 (TCP/IP 四层协议中常见网络协议)
50 7
|
28天前
|
网络协议 网络架构
计算机网络——计算机网络体系结构(1/4)-常见的计算机网络体系结构(OSI体系、TCP/IP体系、原理体系五层协议)
计算机网络——计算机网络体系结构(1/4)-常见的计算机网络体系结构(OSI体系、TCP/IP体系、原理体系五层协议)
35 0
|
2月前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
11月前
|
网络协议 网络架构 数据格式
协议分层与OSI参考模型【图解TCP/IP(笔记三)】
协议分层与OSI参考模型【图解TCP/IP(笔记三)】
协议分层与OSI参考模型【图解TCP/IP(笔记三)】
|
9月前
|
网络协议
百度搜索:蓝易云【四层协议:TCP/IP详解!】
现了互联网上的可靠数据传输和网络通信。每个层次都有特定的功能和协议,相互配合以实现端到端的通信。
84 0
|
11月前
|
网络协议 Unix 网络性能优化
两种传输层协议TCP和UDP【图解TCP/IP(笔记十二)】
两种传输层协议TCP和UDP【图解TCP/IP(笔记十二)】
114 0
|
11月前
|
监控 网络协议 网络架构
IP协议【图解TCP/IP(笔记九)】
IP协议【图解TCP/IP(笔记九)】
|
12月前
|
域名解析 网络协议 安全
网络:网络分层与协议/OSI七层模型/(TCP/IP模型)
网络:网络分层与协议/OSI七层模型/(TCP/IP模型)
192 0