【无标题】(网络原理(中)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.窗口越大,则网络的吞吐率就越高;

流量控制

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

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

相关推荐
星辞树8 分钟前
从 In-context Learning 到 RLHF:大语言模型的范式跃迁
算法
老兵发新帖13 分钟前
ubuntu网络管理功能分析
数据库·ubuntu·php
再__努力1点24 分钟前
【68】颜色直方图详解与Python实现
开发语言·图像处理·人工智能·python·算法·计算机视觉
mingchen_peng31 分钟前
第一章 初识智能体
算法
百锦再33 分钟前
国产数据库的平替亮点——关系型数据库架构适配
android·java·前端·数据库·sql·算法·数据库架构
IT199536 分钟前
C++使用“长度前缀法”解决TCP“粘包 / 拆包”问题
服务器·网络·c++·tcp/ip
一周困⁸天.41 分钟前
K8S-网络组件 Calico
网络·容器·kubernetes
元亓亓亓1 小时前
考研408--计算机网络--day8--NAT&ARP&DHCP&ICMP&IPv6
网络·计算机网络·nat·arp
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于PHP的家常菜谱教程网站为例,包含答辩的问题和答案
开发语言·php