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

流量控制

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

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

相关推荐
泡泡龙~~18 分钟前
计算机网络:2、TCP和UDP
tcp/ip·计算机网络·udp
月盈缺2 小时前
学习嵌入式的第二十二天——数据结构——双向链表
数据结构·学习·链表
猿究院--王升2 小时前
jvm三色标记
java·jvm·算法
一车小面包2 小时前
逻辑回归 从0到1
算法·机器学习·逻辑回归
妮妮学代码2 小时前
c#:TCP服务端管理类
java·tcp/ip·c#
朱皮皮呀3 小时前
Spring Cloud——服务注册与服务发现原理与实现
运维·spring cloud·eureka·服务发现·php
吱吱企业安全通讯软件3 小时前
吱吱企业通讯软件保证内部通讯安全,搭建数字安全体系
大数据·网络·人工智能·安全·信息与通信·吱吱办公通讯
云手机掌柜3 小时前
Tumblr长文运营:亚矩阵云手机助力多账号轮询与关键词布局系统
大数据·服务器·tcp/ip·矩阵·流量运营·虚幻·云手机
科大饭桶3 小时前
C++入门自学Day14-- Stack和Queue的自实现(适配器)
c语言·开发语言·数据结构·c++·容器
tt5555555555553 小时前
字符串与算法题详解:最长回文子串、IP 地址转换、字符串排序、蛇形矩阵与字符串加密
c++·算法·矩阵