【计算机网络-传输层】TCP可靠传输、TCP流量控制、拥塞控制

简介: 【计算机网络-传输层】TCP可靠传输、TCP流量控制、拥塞控制

1. TCP的可靠传输

可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。

比如,我客户端一个字节流发送的是,12345,那服务端收到的也是12345

1.1 校验

增加一个伪首部,通过使用二进制反码求和的方法来确定

1.2 序号(seq)

每次在传输的时候,我们的序号都是报文段的第一个字节

1.3 确认(ack)

每次在传输的时候,我们想要的报文段的第一个字节

1.4 重传

确认重传不分家,TCP的发送方在规定的时间内没有收到确认就要重传已发送的报文段。

1.4.1 超时重传

重传时间:TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间 根据第一个报文段,根据第二个和第一个报文段 ·······)

1.4.2 快速重传(冗余ack-冗余确认)

每当比期望序号大的失序报文段到达时,发送一个冗余ack,指明下一个期待字节的序号。

发送方已发送1,2,3,4,5报文段

接收方收到1,返回给1的确认(确认号为2的第一个字节 )

接收方收到3,仍返回给1的确认(确认号为2的第一个字节)

接收方收到4,仍返回给1的确认( 确认号为2的第一个字节)

接收方收到5,仍返回给1的确认( 确认号为2的第一个字节)

发送方收到3个对于报文段1的冗余ack- >认为2报文段丢失, 重传2号报文段

2. TCP流量控制

2.1 定义

流量控制:让发送方慢点,要让接收方来得及接收。

2.2 滑动窗口

在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd (接收方设置确认报文段的窗口字段来将rwnd通知给发送方), 发送方的发送窗口取接收窗口rwnd和拥塞窗口(网络堵了)cwnd的最小值。

3. TCP拥塞控制

3.1 慢开始和拥塞避免

拥塞窗口慢慢的变大(从0开始,1-2-4-8-16慢慢的探查),指数规律增长,等到达慢开始的界限值(给定一个初始值)时,由慢开始到拥塞避免,转到增加一个值(16-17-18-19),发生网络拥塞,将拥塞窗口置为1,再慢慢的变大(从0开始,1-2-4-8-16慢慢的探查),指数规律增长,等到达慢开始的界限值(这里的界限值是:发生网络拥塞的值除以2),由慢开始到拥塞避免,转到增加一个值(16-17-18-19)

3.3 快重传和快恢复

当收到3个重复的冗余ack时,直接进行快重传

快重传后,执行快恢复, 快恢复不需要降到0,降到发生堵塞的一半,再执行拥塞避免


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4天前
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
22 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
25天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
53 3
|
2月前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
71 10
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
27天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
53 11
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
4月前
|
存储 安全 网络安全
POP3 协议在计算机网络中的优缺点
【8月更文挑战第19天】
94 0
POP3 协议在计算机网络中的优缺点
|
4月前
|
网络协议 视频直播 SDN
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
56 1
|
4月前
|
网络协议
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
63 0
|
6月前
|
机器学习/深度学习 网络协议 网络性能优化
[计算机网络]深度学习传输层TCP协议
[计算机网络]深度学习传输层TCP协议
58 1