计算机网络-第5章 运输层(2)

5.6 TCP可靠传输实现

以字节为单位的滑动窗口。

发送窗口已满,停止发送。

发送和接收的数据都来自缓存。

超时重传时间RTO选择:自适应算法,

选择确认SACK:只传送缺少的数据。大多数实现还是重传所有未被确认的数据块。

5.7 TCP的流量控制

流量控制,让发送方的发送速率不要太快,让接收方来得及接收。A向B发送数据时,B告诉A它的接收窗口。发送方的发送窗口不能超过接收窗口的数值。

TCP为每一个连接设定一个持续计时器,TCP连接的一方收到对方的零窗口通知,启动计时器,时间到后就发送一个零窗口探测报文段。

TCP传输效率,TCP报文段的发送时机三种机制:

Nagle算法:

5.8 TCP的拥塞控制

计算机的链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。若网络中的某一资源超的需求,超过了该资源提供的可用部分,网络性能变坏,此情况叫拥塞。

拥塞控制,防止过多的数据注入到网络中,可以使网络中的路由器或链路不致过载。

流量控制是指点对点通信量的控制。

拥塞控制方法:慢开始、拥塞避免、快重传、快恢复。

慢开始:由小到大逐渐增大发送窗口,即增大拥塞窗口数值。

拥塞避免:每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,慢开始阶段加倍增加。

快重传:

快恢复:

AIMD算法:

主动队列管理:

为避免网络中的全局同步现象,98年提出主动队列管理AQM。实现方法有:随机早期检测RED。

5.9 TCP运输连接管理

运输连接三阶段:连接建立、数据传送、连接释放。发起连接的应用进程为客户、被动等待连接建立的应用进程为服务器。

TCP连接建立的三个问题:

建立连接的过程为握手,通过三报文握手建立TCP连接。

TCP连接释放:

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 09:24:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 09:24:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 09:24:03       82 阅读
  4. Python语言-面向对象

    2024-03-12 09:24:03       91 阅读

热门阅读

  1. 用python实现选择排序

    2024-03-12 09:24:03       56 阅读
  2. 软考笔记--层次式架构之表现层框架设计

    2024-03-12 09:24:03       47 阅读
  3. CSS note

    2024-03-12 09:24:03       52 阅读
  4. Spring Boot面试系列-02

    2024-03-12 09:24:03       46 阅读
  5. kuberadm搭建k8s集群

    2024-03-12 09:24:03       45 阅读
  6. 第九节 JDBC数据类型

    2024-03-12 09:24:03       45 阅读
  7. Spring Boot实现热部署有哪几种方式

    2024-03-12 09:24:03       37 阅读