计算机网络(自顶向下)第七版考试复习要点(第三章)

第三章

传输层概述

  • 传输层和网络层的关系
  • 进程到进程的数据交付
  • 复用和分用
传输层和网络层的关系

运输层向它上面的应用层提供通信服务
通信部分的最高层
用户功能中的最低层

传输层提供端到端通信服务层次,提供可靠及非可靠连接。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点(点到点)

进程到进程的数据交付

端到端的通信

运输层为相互通信的应用进程提供了逻辑通信

在这里插入图片描述

复用和分用

运输层的复用分用:
操作系统的 多个进程(这里一个端口表示一个进程) 利用一个运输层协议(或者称为运输层接口)发送数据称为复用
同理,接收时叫做 分用。

应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务

UDP协议(用户数据报协议)

  • UDP特点
  • UDP报文段结构
  • UDP检验和
UDP特点
  1. 不需要先建立连接
  2. 不可靠传输
  3. 支持一对一,一对多传输
  4. 没有拥塞控制
  5. UDP 的首部开销小,只有 8 个字节
UDP报文段结构

首部结构
在这里插入图片描述
UDP流程
在这里插入图片描述

UDP检验和

利用伪首部计算
在这里插入图片描述

可靠数据传输原理

  • 流水线可靠数据传输
  • 回退N步
  • 选择重传
流水线可靠数据传输原理

在这里插入图片描述

  • 发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认
  • 由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率
回退N步

如果发送方发送了前 5 个分组,而中间的第 3 个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次,这就叫做 Go-back-N(回退 N),表示需要再退回来重传已发送过的 N 个分组

选择重传

在这里插入图片描述
每一个帧都有设定一个超时时间,独立计算,如果某一帧超时就只单独重传超时帧

TCP协议和TCP的拥塞控制

  • TCP建立连接
  • TCP报文段结构
  • TCP的四个定时器
  • TCP数据传输和流量控制
  • TCP拆除连接
  • 拥塞控制原理
  • TCP的拥塞控制
TCP可靠传输原理

在这里插入图片描述

  • TCP 连接是一条虚连接而不是一条真正的物理连接
  • TCP 对应用进程一次把多长的报文发送到TCP 的缓存中是不关心的
  • TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)
  • TCP 可把太长的数据块划分短一些再传送。TCP 也可等待积累有足够多的字节后再构成报文段发送出去

在这里插入图片描述
窗口原理实现

TCP流量控制

利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制

  1. TCP 为每一个连接设有一个持续计时器
  2. 只要 TCP 连接的一方收到对方的零窗口通知,就启动持续计时器
    若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值
  3. 若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器
  4. 若窗口不是零,则死锁的僵局就可以打破了
    在这里插入图片描述
    窗口大小为400字节
TCP报文段结构

在这里插入图片描述

  • 序号:TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号
  • 确认号:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
  • 数据偏移:占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)
  • URG:当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
  • ACK:确认 ACK —— 只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。
  • PSH: 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。
  • RST:当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
  • SYN:同步 SYN = 1 表示这是一个连接请求或连接接受报文。
  • FIN:用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
TCP建立连接和释放连接

“三次握手”
在这里插入图片描述
释放连接在这里插入图片描述

  1. 数据传输结束后,通信的双方都可释放连接。现在 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP连接
  2. B 发出确认,确认号 ack = u + 1,而这个报文段自己的序号 seq = v。TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接处于半关闭状态。B 若发送数据,A 仍要接收。若没有数据就关闭连接。
拥塞控制

在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞

拥塞控制的算法:慢开始和拥塞避免
慢开始:
慢开始图示

  1. 在主机刚刚开始发送报文段时可先设置拥塞窗口 cwnd = 1,即设置为一个最大报文段 MSS 的数值
  2. 在每收到一个对新的报文段的确认后,将拥塞窗口加 1,即增加一个 MSS 的数值
  3. 用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以使分组注入到网络的速率更加合理

拥塞避免:让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1

综合:
ssthresh:门限状态变量
传输轮次:一个传输轮次所经历的时间其实就是往返时间 RTT
在这里插入图片描述
新的拥塞控制算法的使用在这里插入图片描述

TCP面向字节流和UDP面向报文

TCP有一个缓冲,当应用程序传送的数据块太长,TCP就可以把它划分短一些再传送。如果应用程序一次只发送一个字节,TCP也可以等待积累有足够多的字节后再构成报文段发送出去。
像接水到水缸里再多次用水缸里的水接到杯子盆子里
UDP:应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文,数据ip大小由应用层控制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值