计网笔记--运输层(vital)

目录

1--运输层概述

2--端口号、复用与分用的概念

3--UDP和TCP的对比

4--TCP的流量控制

5--TCP的拥塞控制

6--TCP超时重传时间的选择

7--TCP可靠传输的实现

8--TCP的连接建立

9--TCP的连接释放

10--TCP报文段的首部格式


1--运输层概述

运输层的任务:

        为运行在不同主机上的应用进程提供直接的通信服务;

运输层为应用层提供了两种不同的运输协议:

        面向连接的 TCP 和无连接的 UDP 协议;

计网笔记--运输层(vital)_第1张图片

计网笔记--运输层(vital)_第2张图片

2--端口号、复用与分用的概念

端口号:

        端口号用于区分应用层的不同应用进程

        端口号只具有本地意义,用于标识本计算机应用层中的各进程

        复用是针对发送方的,分用是针对接收方的;

        复用可以细分为 UDP 复用TCP 复用,UDP 和 TCP 在协议字段上不同,即 UDP 的协议字段是 17,TCP 的协议字段是 6

        分用也可以细分为 UDP 分用TCP 分用,协议字段也分别为 17 和 6;

计网笔记--运输层(vital)_第3张图片

应用层中,RIPDNSTFTPSNMPDHCP 等协议在运输层中使用 UDP 协议;

应用层中,SMTPFTPBGPHTTPHTTPS 等协议在运输层中使用 TCP 协议;

计网笔记--运输层(vital)_第4张图片

3--UDP和TCP的对比

UDP:全称是用户数据包协议(User Datagram Protocol);

TCP:全称是传输控制协议(Transmission Control Protocol);

UDP 协议TCP 协议具有以下不同:

计网笔记--运输层(vital)_第5张图片

① UDP 是无连接的,TCP是面向连接的:

        UDP 随时可以发送数据,无需建立连接;

        TCP 发送数据需要通信双方建立连接释放连接,其中需要三次握手建立连接四次挥手释放连接

计网笔记--运输层(vital)_第6张图片

② UDP 支持单播、多播、广播等方式,TCP 仅支持单播;

计网笔记--运输层(vital)_第7张图片

③ UDP 协议面向应用报文,TCP 协议面向字节流

计网笔记--运输层(vital)_第8张图片

④ UDP 协议是不可靠的,TCP 协议是可靠的;

        UDP 向上层提供无连接不可靠传输服务,会发生丢失、误码等情况,适用于视频会议等实时应用

        TCP 向上层提供面向连接的可靠传输服务,不会发送丢失、误码等情况,适用于文件传输等要求可靠传输的应用

⑤ UDP 首部仅 8 字节,TCP 首部最小 20 字节,最大 60 字节;

计网笔记--运输层(vital)_第9张图片

4--TCP的流量控制

        TCP 协议的接收方利用滑动窗口机制可以实现对发送方的流量控制

计网笔记--运输层(vital)_第10张图片

         TCP 协议通过滑动窗口机制、超时重传机制和接收方的接收窗口大小严格控制发送方的发送数据;

        TCP 协议规定,当接收方的接收窗口调整为 0 时,发送方的发送窗口会被调控为 0,同时发送方会启动持续计时器;

        持续计时器超时时,发送方会发送零窗口探测报文,探测接收方最新的接收窗口,并相应地调控发送方自己的发送窗口;

计网笔记--运输层(vital)_第11张图片

5--TCP的拥塞控制

        TCP 协议通过慢开始拥塞避免快重传快恢复等方法实现拥塞控制;

计网笔记--运输层(vital)_第12张图片

① 慢开始:

        慢开始算法在门限 ssthresh 前,拥塞窗口(发送方的发送窗口)每次增加上一次发送的拥塞窗口大小(1→2→4→8→16);

② 拥塞避免:

        拥塞避免算法发生在门限 ssthresh 后,拥塞窗口(发送方的发送窗口)每次线性增加1

        当重传计时器超时时(认为发生了拥塞),门限 ssthresh 会更新为发生拥塞时拥塞窗口的一半,同时拥塞窗口会减少为1,重新开始执行慢开始算法;

计网笔记--运输层(vital)_第13张图片

③ 快重传:

        当发送方收到 3 个连续的重复确认后,发送方会立即将相应的报文段重传;

计网笔记--运输层(vital)_第14张图片

④ 快恢复:

        当收到 3 个重复确认时(快重传),TCP协议会将门限 ssthresh 更新为当前拥塞窗口的一半,同时拥塞窗口也更新为 ssthresh 的值,即去除了慢开始阶段,直接快速从拥塞避免阶段开始发送数据

计网笔记--运输层(vital)_第15张图片

6--TCP超时重传时间的选择

计网笔记--运输层(vital)_第16张图片

7--TCP可靠传输的实现

        TCP 协议基于以字节为单位的滑动窗口来实现可靠传输;

        只有发送方收到接收方的 ACK 确认信号(且是某一个字节前所有字节都收到ACK信号),发送方的发送窗口才能向前滑动;

计网笔记--运输层(vital)_第17张图片

8--TCP的连接建立

TCP 协议使用三报文握手建立连接:

        客户发送 TCP 连接请求(第一次握手);

        服务器发送针对 TCP 连接请求的确认(第二次握手);

        客户发送针对 TCP 连接请求的确认的确认(第三次握手);

       

        第三次握手可以防止已失效的连接请求报文段突然传送到 TCP 服务器,导致 TCP 服务器处于数据接收阶段的错误;

计网笔记--运输层(vital)_第18张图片

计网笔记--运输层(vital)_第19张图片

9--TCP的连接释放

TCP 协议使用四报文挥手释放连接:

        客户发送 TCP 连接释放(第一次挥手);

        服务器发送 TCP 普通确认(第二次挥手);

        服务器发送 TCP 连接释放(第三次挥手);

        客户发送 TCP 普通确认(第四次挥手);

客户进行第四次挥手后,处于时间等待状态(持续 2MSL),可以防止由于第四次挥手信号丢失,导致服务器处于最后确认阶段的问题;

计网笔记--运输层(vital)_第20张图片

计网笔记--运输层(vital)_第21张图片

10--TCP报文段的首部格式

        一个 TCP 报文段由首部数据载荷两部分构成,TCP 的全部功能体现在首部中各个字段的作用

计网笔记--运输层(vital)_第22张图片

你可能感兴趣的:(计算机网络)