【计算机网络】:5-运输层

运输层

运输层主要解决了应用进程之间的通信,称之为端到端协议

1.运输层概述

image-20221018171237220

计算机网-------络体系结构的角度

image-20221018171513745

image-20221018171644385

AP:应用进程之间的简称

2. 运输层端口号、复用与分用的概念

2.1 端口号

image-20221018172316002

2.2 发送方的复用(multiplexing)和接收方的分用(demultiplexing)

  • 复用

**UDP复用:**发送发某些应用进程发送的应用报文使用UDP进行封装

**TCP复用:**发送发某些应用进程发送的应用报文使用TCP进行封装

image-20221018172739294 image-20221018172815989
  • TCP/IP体系的应用层常用的运输层端口号

image-20221018173108667

3. TCP/UDP

  • TCP和UDP是TCP/IP体系结构运输层中两个重要协议

  • UDP协议(发短信协议)

    • 可以随时发送数据

    • UDP支持一对一,一对多通信

    • UDP是面向应用报文的(对应用报文不拆分)

      image-20221018174221350
    • UDP提供不可靠传输服务

    • 首部开销小:8字节

      image-20221018174926825
  • TCP协议(打电话协议)

    • 发送数据前 必须使用“三次握手”,结束后“四次挥手”

    • TCP仅支持一对一通信

    • TCP是面向字节流的(对应用报文拆分成字节形式)

      image-20221018174429904
    • TCP提供可靠传输服务

    • 首部开销大20~60字节

      image-20221018174948822

4. TCP的流量控制(flow control)

前言:如果发送方发送数据过快,接收方就可能来不及接收

  • 流量控制:让发送方发送速率不要太快
  • 利用滑动窗口机制可以实现对发送方的流量控制

例:

image-20221018180029921

rwnd=0可能会出现死锁情况,所以在收到rwnd=0时需要启动一个接收计时器(超时后发送窗口探测报文)

下面为下述情况举例:

image-20221018180242862

5. TCP的拥塞控制(congestion control)

  • 拥塞:网络中某一资源的需求超过了该资源所能提供的可用部分

  • 若出现拥塞而不进行控制,整个网络吞吐量将随着负载的增大而下降

image-20221018195511775

cwnd:拥塞窗口

swnd:发送窗口

ssthresh:慢开始门限

image-20221018200130626

5.1 TCP的拥塞控制算法——慢开始

image-20221018200548636

初始拥塞窗口是1,慢开始门限是16

经过确认后cwnd每轮自加

image-20221018200826677

image-20221018201025292

5.2 TCP的拥塞控制算法——拥塞避免

  • 经过确认后cwnd每轮加1

image-20221018201049671

  • 直到增的大到报文段在传输时丢失,判断网络可能出现拥塞

image-20221018201253816

总共折线图

image-20221018202353962

5.3 TCP的拥塞控制算法——快重传

有时个别报文段会在网络中丢失,但实际上网络并未发生拥塞(会降低效率)

快重传算法可以让发送方早知道个别报文段的丢失,尽快进行重传

image-20221018202901376

例子解释:

image-20221018202953805

5.4 TCP的拥塞控制算法——快恢复

image-20221018203248669

综合例题:

image-20221018203901010

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

RTO:超时重传时间

RTT:报文段往返时间

为了使用效率,RTO的值应该略大于RTT的值

image-20221018205156122

加权平均往返时间算法:

image-20221018210000510

RTT偏差的加权平均:

image-20221018210022359

RTO算法:

image-20221018210143954

tips:

如果出现超时重传,就把超时重传时间(RTO)增大一些(两倍)

image-20221018210914021

7. TCP可靠传输的实现

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

    • 发送窗口

    image-20221019195005831

    image-20221019200151446
    • 接收窗口

    image-20221019195642921

    image-20221019200800152

例:

image-20221019202433287

8. TCP的运输连接管理

  • TCP运输连接由三个阶段
    • 建立TCP连接(三次握手)
    • 数据传送
    • 释放TCP连接(四次挥手)

8.1 TCP的连接建立

TCP客户:TCP连接的发起者

TCP服务器:被动等待的进程

image-20221019222913035

注:

同步位SYN=1时,发送的报文段不能携带数据

下一步的确认字段ACK=上一步的序号字段seq+1

8.2 TCP的连接释放

image-20221019224251262

如果不进行等待可能会导致服务器端无法关闭

对于连接异常的探测机制:保活计时器

image-20221019224708353

9. TCP报文段的首部格式

  • 一个TCP报文段由首部数据载荷两部分组成

    image-20221020173427113

  • TCP的全部功能都体现在它首部中各字段的作用

    image-20221020174234606

    image-20221020174346526

    image-20221020174431710

    image-20221020174504694

    image-20221020174519642

    image-20221020174702228

    举例

    如果数据偏移值=0101,则首部为20字节
    20 = ( 0101 ) 2 ∗ 4 字节 20=(0101)_2*4字节 20=(0101)24字节

    image-20221020175815970

    image-20221020175837530

    image-20221020175855550

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值