写点什么

【计算机网络原理】第三章 传输层

  • 2022 年 9 月 13 日
    广东
  • 本文字数:2037 字

    阅读完需:约 7 分钟

【计算机网络原理】第三章 传输层

一,传输层的基本服务

传输层功能

  • 核心任务:为应用进程之间提供端到端的逻辑通信服务

  • 主要内容:传输层寻址;应用层报文的分段和重组;报文的差错检测;进程间的端到端可靠数据传输控制;面向应用层实现复用与分解;端到端流量控制;拥塞控制。


注意:传输层协议只需在端系统实现通信的真正端口是主机中运行的应用进程而非主机

传输层寻址与端口

  • 端口号:用统一的寻址方法对应用进程进行标识

  • IP 地址+端口号 实现唯一标识一个通信端点,这个端点便是应用进程

  • 端口号 16 位整数,包含三类端口:(1)熟知端口号,0~1023 ——如 HTTP 的 80 端口(2)登记端口号,1024~49151——也是固定分配,使用该范围的端口号需要在 IANA 登记,以防止重复(3)客户端口号或短暂端口号,留给客户进程选择==暂时使用==

无连接服务与面向连接服务

无连接服务

数据传输之间无需对端进行任何信息交换,直接构造传输层报文端并向接收端发送


——UDP

面向连接服务

在数据传输之前,需要双方交换一些控制信息,建立逻辑连接,然后再传输数据,数据传输后还需要拆除连接


——TCP

二,传输层的复用和分解

多路复用与多路分解

支持众多应用进程公用同一个传输层协议,并能够将接收到的数据准确交付给不同的应用进程


DCP 式

DCP 的多路复用和多路分解


靠 DCP 套接字<目的 IP 地址,目的端口号>判断给哪个端口的应用程序

TCP 式

TCP 套接字 <源 IP 地址,源端口号,目的 IP 地址,目的端口号>


与 DCP 的区别就是 TCP 式的多路复用和多路分解是面向连接服务


即==着重分清源端与目的端的连接关系==

三,停——等协议与滑动窗口协议

可靠数据传输基本原理

实现措施

  1. 差错检测:利用差错编码实现数据包传输过程中的比特差错检测

  2. 确认:接收方向发送方反馈接收状态

  3. 重传:发送方重新发送接收方没有正确接收的数据

  4. 序号:确保数据按序提交

  5. 计时器:解决数据丢失问题——规定的时间没收到,确认丢失

停——等协议

  • 主要特点:每发送一个报文段后就停下来等待接收方的确认这就是停——等

  • 基本工作进程


  1. 发送方发送经过差错编码和编号的报文段,等待接收方的确认

  2. 若接收方查得差错检测无误同时序号正确,则接收报文段并向发送方发送 ACK,否则丢弃报文段并向发送方发送 NAK

  3. 接收方收到 ACK,继续发送剩余报文段接收方收到 NAK,重发刚发送的报文段

滑动窗口协议

停——等协议的主要性能问题

停——等机制降低了信道的利用率

解决方法

流水线协议或管道协议——允许发送方在没有收到确认前连续发送多个分组

流水线协议的改进

增加分组序号范围


发送方和(或)接收方必须缓存多个分组


滑动窗口协议便是典型流水线协议


俩种最具代表性的滑动窗口协议:

  1. 回退 N 步(GBN)协议发送端窗口较大,可以在未得到确认前连续发送多个分组;但接收窗口仅为 1,未按序到达的分组或某个分组出错,都会使发送方重新发送

  2. 选择重传(SR)协议接收方窗口>1,缓存正确到达但失序分组,仅要求发送方重传未被接收方确认的分组,等缺失分组到达后一并向上层按序提交即只要分组内不出现错误就缓存下来,获得全部分组在按序发送

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

无连接,不可靠

UDP 数据报结构

  1. 源与目的端口号:用于 UDP 实现复用和分解

  2. 长度字段:字节数——首部和数据总和

  3. 校验和:接收方用来检测该报文段是否出现差错

UDP 校验和

  1. 对所有参与运算的内容(包括 UDP 报文段)按 16 位求和

  2. 求和过程中的进位与和的最低位再加

  3. 最后取反码


五,传输控制协议(TCP)

TCP 报文段结构


实现数据分段传输、可靠传输、流量控制、避免网络拥塞

TCP 连接管理

连接建立——三次握手

  1. SYN 连接请求同步请求,在连接建立时用来同步序号

  2. SYNACK 确认同步确认

  3. ACK 确认由客户端进行最后一次确认

  4. 握手成功,双方开始数据传输



  • 当 SYN=1 而 ACK=0 时,表明这是一个连接请求报文段

  • 对方若同意建立连接,则应在响应的报文段中使 SYN=1 和 ACK=1

  • ACK 确认:ACK 等于 1 时确认号字段才有效

  • TCP 规定,连接建立后所有传送的报文段都必须将 ACK 置 1

断开连接——四次挥手


  • 终止 FIN:用来释放一个连接,当 FIN=1,表明报文段的发送方数据已发送完毕,并要求释放传输连接

TCP 可靠数据传输

  1. TCP 的可靠数据传输实现机制包括差错编码、确认、序号、重传、计时器(上述有提到)

  2. TCP 的可靠数据传输基于滑动窗口协议,但发送窗口大小是动态变化流程:(1)封装 TCP 报文段,包括校验,序号...(2)发出一个报文段后启动一个计时器,通过计时器判断是否重传(3)通过校验和发现数据差错(4)通过序号重新排序,丢弃重复的报文段(5)流量控制

TCP 流量控制

利用窗口机制实现流量控制


TCP 连接建立时,双方都为之分配了固定大小的缓冲空间同时接收端只允许另一端发送其缓冲区所能接纳的数据


  • 接收端在给发送端发送确认段时,通告接收窗口大小

  • 发送端在接下来发送数据端是,确保未确认段的应用层总量不超过接收端通告的接收窗口大小

TCP 拥塞控制

  • 窗口机制:通过调节窗口大小实现对发送数据速率的调整

  • 窗口调整的基本策略 AIMD 网络不拥堵时,窗口可以逐渐增大,速率加快网络拥堵,则快速减小窗口大小被称为:加性增加,乘性减小如当网络不拥堵,可以加性逐步增加窗口的大小,直到网络拥堵,便乘性快速减小

  • 拥塞控制算法慢启动,拥塞避免,快速重传,快速恢复

用户头像

还未添加个人签名 2022.08.08 加入

即将踏入大二的前端小白,CSDN前端领域新星创作者

评论

发布
暂无评论
【计算机网络原理】第三章 传输层_TCP_前端小刘不怕牛牛_InfoQ写作社区