【无标题】(网络原理(中)TCP机制)

网络原理(中)TCP机制

拥塞控制

TCP拥塞控制这样的过程,就好像 热恋的感觉,指数增长的过程就是热恋期,感情随着时间快速上升。当到达一定的时间,感情趋于平稳,增长速度缓慢了一些,呈线性增长。当增长到一定节点就以有矛盾吵架,就会分手,感情一落千丈。复合了之后又会经历一次从指数增长开始...

总结:

1.一开始成指数增长,增长速度很快,然后以线性增长。
2.在指数增长的过程中,如果达到阈值,就要从指数增长,变成线性增长。
3.线性增长也是增长,传输速度会越来越快,如果增长到一定程度,网络上就可能出现丢包。

4.当TCP开始启动的时候,慢启动阈值等于窗口最大值;在每次超时重发的时候,慢启动阈值会变成原来的一半,同时拥塞窗口置回1;

延迟应答(效率机制)

如果接收数据的主机立刻返回ACK应答,这时候返回的窗口可能比较小。

假设接收端缓冲区为1M。一次收到了500K的数据;如果立刻应答,返回的窗口就是500K;如果接收端稍微等一会再应答,比如等待200ms再应答,那么这个时候返回的窗口大小就是1M;这样窗口就变大了

举个栗子:我拖欠了一个星期的作业,老师来联系我的时候。我没有先回复,而是熬了一个通宵赶了五天的作业,然后再给老师发过去。相当于多了一点应答时间,获得了更大的窗口

!!注意:窗口越大,网络吞吐量就越大,传输效率就越高。我们的目标是在保证网络不拥塞的情况下尽量提高传输效率;

TCP协议段格式:


源/目的端口号 :表示数据是从哪个进程来,到哪个进程去;

4位TCP报头长度:表示该TCP头部有多少个4字节;TCP头部最大长度是15 * 4 = 60

6位标志位:

URG:紧急指针是否有效

ACK:确认号是否有效

PSH:提示接收端应用程序立刻从TCP缓冲区把数据读走

RST:对方要求重新建立连接;我们把携带RST标识的称为复位报文段

SYN:请求建立连接;我们把携带SYN标识的称为同步报文段

FIN:通知对方,本端要关闭了,我们称携带FIN标识的为结束报文段

滑动窗口(效率机制)

这个机制是为了提高效率 。缩短确认应答的响应时间。

TCP的可靠传输,是会影响传输效率的,多了等待ack的时间,单位时间内能传输的数据就少了。

1.一次发送多条数据,就可以很容易提高性能。

2.发送前四个段的时候,不需要等待任何ACK,直接发送;

3.收到第一个ACK后,滑动窗口向后移动,继续发送第五个段的数据;依次类推;

4.操作系统内核为了维护这个滑动窗口,需要开辟 发送缓冲区 来记录当前还有哪些数据没有应答;只有确认应答过的数据,才能从缓冲区删掉;

5.窗口越大,则网络的吞吐率就越高;

流量控制

站在接收方的角度,反向制约发送方的传输效率。

发送方发送的效率,不应该超过接收方的处理能力。

相关推荐
小张认为的测试7 分钟前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
打鱼又晒网16 分钟前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
_WndProc17 分钟前
C++ 日志输出
开发语言·c++·算法
薄荷故人_18 分钟前
从零开始的C++之旅——红黑树及其实现
数据结构·c++
m0_7482400218 分钟前
Chromium 中chrome.webRequest扩展接口定义c++
网络·c++·chrome
終不似少年遊*26 分钟前
华为云计算HCIE笔记05
网络·华为云·云计算·学习笔记·hcie·认证·hcs
努力学习编程的伍大侠30 分钟前
基础排序算法
数据结构·c++·算法
蜜獾云40 分钟前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
XiaoLeisj1 小时前
【递归,搜索与回溯算法 & 综合练习】深入理解暴搜决策树:递归,搜索与回溯算法综合小专题(二)
数据结构·算法·leetcode·决策树·深度优先·剪枝