author:Nakiri
根据计算机网络第八版PPT整理。JXAU期末复习知识点整理,文档前半部分建议配合重点使用,可能存在知识点遗漏情况。本文档不附带例题。
第一章 概述
1.1计算机网络的定义
- 互联网!=互连网。互连网指的是局部范围互连起来的计算机网络,又称“网络的网络”。
- 互联网的重要
基本特点
(Internet提供许多服务的基础):- 连通性
- 资源共享
1.2 互联网的概述
计算机网络
由若干节点和连接这些节点的链路组成。节点
可以是计算机、集线器、交换机或路由器等。网络
:把许多计算机连接在一起。互连网
:把许多网络通过路由器连接在一起。主机
:与网络相连的计算机。- 互联网基础结构发展的三个阶段:
- 1969-1990:从单个网络ARPANET向互联网发展
- 1985-1993:三级结构的互联网(主干网 → 地区网 → 校园网/企业网)
- 1993-现在:全球范围的多层次ISP结构的互联网。
ARPANET
(1990年正式关闭):一个单个的分组交换网,不是
一个互联网。- 1983是
互联网的诞生时间
,这一年TCP/IP协议成为ARPANET上的标准协议。 - ISP(互联网服务提供者):
- 提供接入到互联网的服务
- 需要收取一定费用
- 多层次的ISP结构:
- 分为主干ISP、地区ISP、本地ISP
- 覆盖面积大小和拥有的IP地址数目不同
- IXP(互联网交换点):
- 允许两个网络直接相连并且快速交换分组。
- 常采用工作在数据链路层的网络交换机。
- 世界上较大的 IXP 的峰值吞吐量都在 Tbit/s 量级。
万维网(www)的问世
:20世纪90年代- 互联网标准为RFC文档,但并非所有的RFC文档都是互联网标准。
- RFC文档按照发表时间的先后编上序号,格式:RFCxxxx,xxxx是阿拉伯数字
1.3 互联网的组成
-
互联网的组成(
工作方式
):- 边缘部分
- 由所有连接在互联网上的主机组成
- 用户直接使用
- 核心部分
- 由大量网络和连接这些网络的路由器组成
- 为边缘部分提供服务(连通性和交换)
- 边缘部分
-
端系统
:处在互联网边缘部分的连接在互联网上的所有主机。 -
计算机之间通信
:指主机A的某个进程和主机B上的某个进程进行通信。 -
端系统之间的两种通信方式:
- 客户/服务器方式:Client/Server方式、C/S方式
- 对等方式:Peer to Peer方式、P2P方式
-
C/S方式:
- 描述的是进程之间服务和被服务的关系
- 客户:服务的请求方
- 服务器:服务的提供方
-
客户程序
主要特点:- 调用后运行
- 主动请求
- 知道服务器的地址
- 不需要特殊硬件和复杂的操作系统
-
服务器程序
主要特点:- 专门提供某种服务,可同时处理多个请求
- 不断运行,被动请求
- 不需要知道客户程序的地址
- 需要强大的硬件和高级的操作系统
-
P2P方式
- 不区分请求方和提供方
- 平等的、对等连接通信
- 每个主机即是客户又是服务器
-
交换技术:
- 电路交换
- 分组交换
- 报文交换
-
互联网的核心部分
采用分组交换技术。 -
电路交换中电线队的数量与电话机数量的平方成正比。n部电话机两两直接相连需要n(n-1)/2对电话线。
-
电路交换:每一步电话都直接连接到交换机上,而交换机使用
交换
的方法,让电话用户彼此间很方便的通信。- 交换的含义:即转接。把一条电话线转接到另一条电话线,使它们连通起来
- 按照某种方式动态地分配传输线路的资源。
-
电路交换的三个步骤:
- 建立连接
- 通话
- 释放连接
-
电路交换的特点:通话的两个用户始终占用端到端的通信资源。
-
分组交换
- 采用存
储转发技术
- 过程:
- 在发送端,先把较长的报文划分成更小的等长数据段
- 在每段数据段的前面添加首部
- 发送端依次把各分组发送到接收端
- 接收端收到分组后剥去首部,还原成原来的报文。
分组
指的是在互联网中传送的数据单元- 分组在互联网中的转发:
- 根据首部中包含的目的地址、源地址等重要控制信息进行转发
- 每一个分组在互联网中独立选择传输路径
- 位于网络核心部分的路由器负责转发分组,即进行分组交换
- 路由器要创建和动态维护转发表
- 路由器处理分组的过程:
- 暂存收到的分组
- 检查分组的首部
- 查找转发表
- 按照首部中的目的地址找到合适的接口转发出去
- 优点:
- 高效:动态分配传输带宽,逐段占用通信链路
- 灵活:分组独立选择合适的转发路由
- 迅速:可以不先建立连接就能向其他主机发送分组
- 可靠:可靠的网络协议;分布式多路由的分组交换网
- 缺点:
- 排队延迟:在路由器中存储转发需要排队
- 不保证带宽:动态分配
- 增加开销:携带额外信息,路由器要暂存和转发等
- 采用存
-
报文交换:时延过长,很少有人使用。
-
三种交换方式比较:
- 连续传送大量数据,传送时间远大于连接建立时间,
电路交换
传输速率较快。 - 传送突发数据,
报文交换
和分组交换
提高整个网络的信道利用率(不需要预先分配带宽)。 - 分组交换比报文交换的时延小,更灵活:分组长度远小于报文长度。
- 连续传送大量数据,传送时间远大于连接建立时间,
1.5 计算机网络的类别
-
计算机网络的精确定义未统一。
-
较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
-
计算机网络按照
网络的作用范围
进行分类:广域网WAN、城域网MAN、局域网LAN、个人区域网PAN
若中央处理机之间的距离非常近,称为多处理机系统,不称它为计算机网络。
-
计算机网络按照
网络的使用者
进行分类:公用网、专用网
-
用来
把用户接入到互联网
的网络:接入网AN(本地接入网、居民接入网),实际上事本地ISP所拥有的网络,是从某个用户端系统到本地ISP的
第一个
路由器之间的一种网络,属于局域网。
1.6 计算机网络的性能指标
-
性能指标:从不同的方面来度量计算机网路的性能。
-
速率
最重要
的性能指标- 指数据的传送速率。也成为数据率、比特率
- 单位:bit/s,kbit/s,Mbit/s,Gbit/s
- 单位的进率是10^3
- 往往指额定速率或标称速率,
非实际运行速率
-
带宽
- 频域:
- 某个信号具有的频带宽度
- 单位:赫
- 某信道允许通过的信号频带范围成为该信道的带宽(或通频带)
- 时域:
- 网络中某信道传动数据的能力,表示在单位时间内网络中的某信道能够通过的“最高数据率”
- 单位:bit/s
- 频域和时域
本质相同
- 带宽越宽,所能传输的最高数据率越高
- 频域:
-
吞吐量
- 单位时间内通过某个网络/信道/接口的实际数据量
- 受网络的带宽或网络的额定速率对的限制
- 额定速率是绝对上限
- 可能会远小于额定速率,甚至下降到0
- 可用
每秒传送的字节数
或者帧数
来表示
-
时延
- 数据从网络的一端传送到另一端所需的时间
- 也称:延迟、迟延
- 组成:发送时延、传播时延、处理时延、排队时延
- 发送时延(传输时延):
- 计算:发送时延= 数据帧长度(bit) / 发送速率(bit/s)
- 传播时延
- 计算:传播时延 = 信道长度(米)/信号在信道上的传播速率(米/秒)
- 发送时延与传播时延的不同:
- 发送时延在机器内部的发送器中
- 传播时延在机器外部的传输信道媒体上
- 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
- 小时延网络一般来说是要由于大时延网络,但需要具体情况具体分析,并不确定。
- 对于高速网络链路,我们提高的仅仅是数据的发送速率,不是比特在链路上的传播速率,只是见笑了数据的
发送时延
-
时延带宽积
- 时延带宽积 = 传播时延 x 带宽
- 时延带宽积又称以
比特位单位的链路长度
-
往返时间RTT
- 表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间
-
利用率
- 信道利用率
- 某信道有百分之几的
时间
是被利用的
- 某信道有百分之几的
- 网络利用率
- 全网络的信道利用率的加权平均值
- 当某信道的利用率增大时,时延会迅速增加
- 信道利用率
-
计算机的
非性能特征
:费用、标准化、可靠性、质量、管理和维护、可拓展性和可升级性
1.7 计算机网路体系结构的形成
-
两台计算机要互传的条件
- 必须有一条传送数据的通路。
- 发起方必须激活通路。
- 要告诉网络如何识别接收方。
- 发起方要清楚对方是否已开机,且与网络连接正常。
- 发起方要清楚对方是否准备好接收和储存文件。
- 若文件格式不兼容,要完成格式的转换。
- 要处理各种差错和意外事故,保证收到正确的文件。
-
国际标准框架:开放系统互联参考模型
OSI/RM
但它
失败
了,原因:- 没有商业驱动力
- 过分复杂
- 周期太长
- 划分不合理
-
网络协议
- 为进行网络中的数据交换而建立的规则、标准或约定
- 三个构成要素
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种相应
- 同步:事件实现顺序的详细说明
网络协议是计算机网络的不可缺少的组成部分。
- 两种形式:文字描述、程序代码
- 对于非常复杂的计算机网络协议,其结构应该是
层次式
的 - 分层的优点:
- 各层之间是独立的
- 灵活性好
- 结构上可分割开
- 易于实现和维护
- 能促进标准化工作
- 分层的缺点:
- 有些功能会重复出现产生额外的开销
网络的体系结构
:计算机网络的各层及其协议的集合,是这个计算机网络机器构件所应完成的功能的精确定义(不涉及实现)。- 实现:遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题.
- 体系结构是
抽象
的,实现是具体
的,是真正在运行的计算机硬件和软件。
-
五层协议的体系结构
- 应用层
- 任务:通过进程间的交互来完成特定网络的应用
- 协议:定义的是
应用进程
间通信和交互的规则。 - 数据单元:报文
- 运输层:
- 任务:负责两台主机中
进程
之间的通信提供通用的数据传输服务。 - 功能:复用和分用
- 协议:TCP、UDP
- TCP:
面向连接
的、可靠
的传输。单位是报文段
。 - UDP:
无连接
的尽最大努力的传输,不保证数据传输的可靠性
。单位是用户数据报
。
- 任务:负责两台主机中
- 网络层(网际层、IP层):
- 任务:为分组交换上网的不同
主机
提供通信服务。 - 具体任务:路由选择、转发
- 协议:
无连接
的网际协议IP
和许多中路由选择协议
- 数据单元:IP数据报(数据报)
- 任务:为分组交换上网的不同
- 数据链路层(链路层)
- 任务:实现两个相邻节点之间的可靠通信
- 数据单元:帧
- 协议:可靠传输协议
- 物理层
- 任务:实现比特(0或1)的传输
- 具体任务:确定连接电缆的插头应该有多少根引脚,以及各引脚应该如何连接
传递信息所用的物理媒体,如双绞线、同轴电缆、光缆、无线信道等,不再物理层协议之内,而在物理层协议之下。
- 应用层
-
协议数据单元PDU:对等层次之间传动的数据单位。
-
“对等层”之间的通信:任何两个同样的层次把PDU通过水平虚线直接传递给对方。
-
各层协议实际上就是在哥哥对等层之间传递数据时的各项规定。
-
实体:表示任何可发送或接收信息的硬件或软件进程。
-
协议:控制两个对等实体进行通信的规则的集合
-
在
协议的控制
下,两个对等实体间的通信使得本层能够向上一层提供服务
。要实现本层协议
,需要使用下层所提供的服务
。 -
协议
其实现保证了能够向上一层提供服务,对上面的服务用户是透明的,是水平的。 -
上层
服务
原语获得下层提供的服务,上面的用户只能看见服务,无法看见协议,是垂直的。 -
服务访问点SAP:在同一系统中相邻两层的实体进行交互(信息交换)的地方。是一个
逻辑接口
。 -
服务数据单元SDU:层与层之间交换的数据的单位。
-
可以是多个SDU合成一个PDU,也可以是一个SDU划分成几个PDU
-
TCP/IP是
四层体系结构
,分别为应用层、运输层、网际层、网络接口层。路由器再转发分组时最高只用到网际层
。
第二章 物理层
2.1 物理层的基本概念
- 物理层考虑怎样才能在连接各种计算机的传输媒体上
传输比特流
,而不是
指具体的传输媒体。 - 作用:尽可能屏蔽掉不同传输媒体和通信手段的差异/
物理层的协议
通常成为物理层规程
。- 主要任务:确定传输媒体的接口的一些特性(机械特性、电气特性、功能特性、过程特性)。
2.2 数据通信的基础知识
-
数据通信系统模型的三大部分:源系统(发送端/发送方)、传输系统(传输网络)、目的系统(接收端/接收方)。
-
消息:如话音、文字、图像、视频等。
-
数据,运送消息的实体,有意义的符号序列。
-
信号:数据的电气或电磁的表现。
- 模拟信号:参数是连续的
- 数字信号:参数是离散的
-
码元:在使用时间域(时域)的波形表示数字信号时,代表不同离散数值的基本波形。
在使用二进制编码时,只有1和0两种不同的码元。
-
信道:
- 信道:用来表示向某一个方向传送信息的媒体。
- 单向通信(单工信道):只能有一个方向的通信。
- 双向交替通信(半双工信道):通信双方都可以发送消息,但是不能同时发送。
- 双向同时通信(双工信道):通信的双方可以同时发送和接收信息。
- 基带信号:来自信源的信号,包含较多
低频成分
,甚至有直流成分
。 - 基带调制:仅对基带信号的波形进行变换,
把数字信号转换为另一种形式的数字信号
。这一过程成为编码
。 - 带通调制:使用
载波
进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号
。 - 带通信号:经过载波调制后的信号。仅在一段频率范围内能够通过信道。
-
常用的编码方式
- 不归零制:正电平代表1,负电平代表0。
- 归零制:正脉冲代表1,负脉冲代表0.
- 曼彻斯特编码:位周期中心的向上跳变代表0,为周期中心的向下跳变代表1.
- 差分曼彻斯特编码:在每一位的中心处始终都有跳变。位开始边界有条边代表0,没有跳变代表1.
-
信号频率:
曼彻斯特编码和差分曼彻斯特编码
产生的信号频率比不归零制
高。 -
自同步能力:从信号波形本身中提取信号时钟频率。
曼彻斯特编码和差分曼彻斯特编码
有自同步能力。 -
基本的调制方法:
- 调幅AM:载波的振幅随基带数字信号而变化
- 调频FM:载波的频率随基带数字信号而变化
- 调相PM:载波的初始相位随基带数字信号而变化
-
正交振幅调制QAM:多远至的振幅相位混合调制方法,以达到更高的信息传输速率
-
任何实际的信道都是不理想的,不可能以任意高的速率进行传送。
-
接收端的波形失真越严重:
- 码元传输速率越高
- 信号传输的距离越远
- 噪声干扰越大
- 传输媒体质量越差
-
限制码元在信道上传输速率的两个因素
- 信道能够通过的频率范围
- 信噪比
-
码间串扰:接收端收到的信号波形失去了码元之间的清晰界限。
-
奈氏准则:码元传输的最高速率=2码元/秒(W),超过这个上限就会出现严重的码间串扰问题。
-
信噪比:信号的平均功率和噪声的平均功率之比。常记为S/N,并用分贝(dB)作为度量单位
计算公式:
信噪比(dB) = 10 log10(S/N ) (dB)举个🌰:当 S/N =10 时,信噪比为10dB,而当 S/N =1000 时,信噪比为30dB。
-
信道的极限信息传输速率C=W log2(1+S/N) (bit/s)
- W:信道的带宽(Hz)
- 信道的带宽或信道的信噪比越大,信息的极限传输速率越高
- 只要信息传输速率小于信道的极限信息传输速率,就
一定可以
找到某种办法来实现无差错的传输。
-
提高信息的传输速率的方法:用编码的方法让每一个码元携带更多比特的信息。
-
奈氏准则:激励工程人员不断探索更加先进的
编码技术
,使每个码元携带更多比特的信息。 -
香农公式:告诫工程人员,在实际有噪声的信道上,不论采用多么复杂的编码技术,都
不可能突破信息传输速率的绝对极限
。
2.3 物理层下面的传输媒体
-
传输媒体:数据传输系统中在发送器和接收器之间的物理通路。
-
两类传播媒体:
- 引导型传输媒体:电磁波被引导沿着固体媒体传播。
- 非引导型传输媒体:指自由空间。通常被称为
无线传输
。
-
双绞线:绞合度越高,可用的数据传输率越高。
- 无屏蔽双绞线UTP:无屏蔽层
- 屏蔽双绞线STP:带屏蔽层,都必须有接地线。
-
无论哪种类别的双绞线,衰减都随
频率
的升高而增大。 -
双绞线的最高速率与
数字信号的编码方法
有很大的关系。 -
同轴电缆:
具有很好的抗干扰特性,被广泛用于传输较高速率的数据。
-
光缆
- 光纤通过传递光脉冲来进行通信。
- 发送端有
光源
,接收端有光检测器
。 - 光纤在纤芯中传播的方式是不断地全反射。
- 多模光纤:
- 可存在
多条不同角度入射
的光线在一条光纤中传播。只适合近距离
。 - 单模光纤:
- 不会产生多次反射。
- 成本高,衰耗小,光源使用
半导体激光器
。 - 光纤优点:
- 通信容量非常大
- 传输损耗小,中继距离长,对远距离传输特别经济
- 抗雷电和电磁干扰性好
- 无串音干扰,保密性好,不容易被窃听或截取数据
- 体积小,重量轻
-
无线传输使用的频段:LFTHF(30kHz3000GHz)
-
无线电微波通信主要是直线传播
-
多径效应:基站发出的信号可以经过多个障碍物的数次反射,从多条路径、按不同时间等到达接收方。多条路径信号叠加后一般会产生很大的失真。
-
误码率:
- 对于给定的调制方式和数据率。信噪比越大,误码率越低。
- 对于同样的信噪比,具有更高数据率的调制技术的误码率也更高。
- 如果用户在进行通信时不断改变自己的地理位置,就会引起无线信道特性的改变,因而信噪比和误码率都会发生变化。
-
微波接力
- 中继站把前一站送来的信号放大后再发送到下一站
- 特点:
- 微波波段频率高,频段范围宽,通信信道容量大。
- 工业干扰和天电干扰对微波通信的危害小,微波传输质量较高。
- 投资少,见效快,易于实施。
- 缺点:
- 相邻站之间必须直视,不能有障碍物,存在多径效应
- 会受恶劣气候的影响
- 隐蔽性和保密性差
- 耗费人力物力多
-
卫星通信
- 优点:通信容量大,通信距离远,通信稳定应用,费用与通信距离无关
- 传播时延较大
卫星信道的传播时延较大 != 用卫星信道传送数据的时延较大
- 缺点:保密性差,造价高
- 低轨卫星:大功率、大容量、低轨道
-
无线局域网:使用无线信道的计算机网络
-
无线电频段:通常必须得到无线电频谱管理机构的许可证
-
ISM频段:可以自由使用
-
无线局域网使用ISM频段
2.4 信道复用技术
-
复用:允许用户使用一个共享信道进行通信。
-
频分复用FDM
- 最基本
- 将带宽分成多分,用户分配到一定的
频带
,并在通信过程中自始至终
占用这个频带 - 所有用户在
同样的时间
占用不同的带宽资源
-
时分复用TDM
- 将时间划分为一段段登场的时分服用帧(TDM帧)
- 用户在每一个TDM帧占用固定序号的时隙
- 用户占用的时隙
周期性
出现 - TDM信号也称
等时信号
- 所有用户在
不同的时间
占用同样的频带宽度
- 会导致信道利用率不高
-
频分多址FDMA:让N个用户各使用一个频带,或让更多用户轮流使用这N个频带。
-
时分多址TDMA:让N个用户各使用一个时隙,或让更多用户轮流使用这N个时隙。
-
复用器和分用器
成对使用
。 -
统计时分复用STDM:STDM帧不固定分配时隙,而是按需动态地分配时隙,提高线路的利用率
-
波分复用WDM:
光的频分复用
,使用一根光纤来同时传输多个光载波信号。 -
码分复用CDM
-
用户可以在
同样的时间
使用同样的频带
进行通信。 -
用户使用特殊挑选的不同码型,不会造成干扰。
-
码分复用CDM信道为多个不同地址的用户所共享时,就成为码分多址CDMA
-
码分多址工作原理:
-
将每一个比特时间划分为m个短的间隔,成为码片
-
为每个站指派一个唯一的mbit码片序列
- 发送比特1:发送自己的mbit码片序列
- 发送比特0:发送码片的二进制反码
-
码片序列实现了扩频扩大了m倍
-
每个站分配的码片序列:各不相同,且必须正交
-
正交:向量S和T的规格化内积等于0
-
任何一个码片向量和该码片向量
自己
的规格化内积都是1 -
一个码片向量和该码片
反码
的规格化内积时-1
-
-
-
扩频:
- 直接序列扩频DSSS
- 跳频扩频FHSS
2.5 数字传输系统
- 早期,电话网采用
频分复用
FDM的模拟传输
方式;目前采用时分复用PCM
的数字传输
方式 光纤
成为长途干线最主要的传输媒体- 早期数字传输系统的缺点:
- 速率标准不统一
- 不是同步传输
- SPNET/SDH
- 定义了标准光信号
- 在物理层定义了帧结构
- 使北美、日本和欧洲三个地区三种不同的数字传输体制在STM-1等级上获得了统一
- 已成为公认的新一代理想的传输网体制
- SDH标准也适合于微波和卫星传输的技术体制
2.6 带宽接入技术
-
带宽:标准在不断提高
-
分类(接入媒体):
- 有线带宽接入
- 无线带宽接入
-
非对称数字用户线技术ADSL
- 用数字技术对现有的模拟电话用户先进行改造,使他能够承载带宽服务
- 把低端频谱留给传统电话使用,把原来没有被利用的高端频谱留给用户上网使用
- ITU标准:G.992.1/G.dmt
- 非对称:下行(从ISP到用户)带宽远大于上行(从用户到ISP)带宽
- 不适用于企业,因为它们需要
使用上行信道
发送大量数据给用户 - 调制调解器
- 采用
离散多音调DMT
调制技术 - DMT调制技术采用
频分复用
FDM方法 - 不能保证固定的数据率
- 采用
- 组成:数字用户线接入复用器DSLAM,用户线和用户家中的一些设施
- 好处:利用现有电话网中的用户线,不需要重新布线
-
第二代ADSL
- 包括ADSL2和ADSL2+
- 主要改进:
- 通过提高调制效率得到了更高的数据率
- 采用了无缝速率自适应技术SRA
- 改善了线路质量测评和故障定位功能
-
xDSL
-
光纤同轴混合网(HFC网)
- 基于有线电视网CATV网
- 改造:把原有限电视网中的同轴电缆主干部分改换为光纤
- 有双向传输的功能,拓展了传输频带
- 机顶盒:连接在同轴电缆和用户的电视机之间,使模拟信号电视机能够接收数字电视信号
- 电缆调制调解器:
- 将用户计算机接入互联网
- 在
上行信道
中传送交互数字电视所需要的一些信息 - 只需安装在
用户端
复杂
-
FTTx技术:
代表多种宽带光纤接入方式,即光纤到x
-
光配线网ODN
- 位于光线干线和广大用户之间
- 无源光网络PON:无源的光配线网
- 采用
波分复用
,上行和下行分别使用不同的波长 - 两种流行的PON:
- 以太网无源光网络EPON
- 吉比特无源光网络GPON
第三章 数据链路层
- 网络中的主机、路由器等都必须实现数据链路层
- 局域网中的主机、交换机都必须实现数据链路层
- 不同的链路层可能采用不用的数据链路层协议
- 数据链路层信道类型:
- 点对点信道:一对一
- 广播信道:一对多,使用专用的共享信道协议协调主机数据的发送
3.1 使用点对点信道的数据链路层
-
链路(物理链路):一条无源的点到点的物理线路段,中间没有任何其他的交换节点。
一条链路只是一条通路的一个组成部分
-
数据链路(逻辑链路):把实现控制数据传输的协议的硬件和软件加到链路上,就构成了数据链路。
举个🌰:适配器(网卡)
-
数据单元:帧
-
封装成帧
- 含义:再一段数据的前后分别添加首部和尾部,构成一个帧
- 首部和尾部的作用:帧定界(确定帧的界限)
- 最大传送单元MTU:规定了所能传送的
帧的数据部分
的长度上限 - 帧定界符:
- 帧开始符SOH
- 帧结束符EOH
-
透明传输
-
透明:指某一个实际存在的事物看起来却好像不存在一样
-
含义:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。
-
原理:
-
-
差错检测
- 误码率BER:在一段时间内,传输错误地比特占所传输比特总数地比特率
- 循环冗余检验CRC原理:
- 在发送端,把数据划分为组,假定每组k个比特
- 在每组m后再添加供插座检测用的n位冗余码,再构成一个帧发送出去。共发送(k+n)位
- 计算🌰:
- 帧检测序列FCS:为了进行检错而添加的冗余码
- FCS != CRC:
- CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码
- FCS可以用CRC得出,但是CRC不是获得FCS的唯一方法
- CRC技术只能做到无差错接受,即凡是接收端数据链路层接受的帧均无差错
-
无比特差错 != 无传输差错
- 可靠传输:数据链路层的发送端发送什么,在接收端就接收什么
- 传输差错分类:
- 比特差错
- 传输差错:帧丢失、帧重复、帧失序等
- CRC可以实现无比特差错的传输,但不是可靠传输
- 实现
可靠传输
,必须加上帧编号、确认和重传机制
。
3.2 点对点协议PPP
-
PPP协议应满足的要求
- 简单
- 封装成帧
- 透明性
- 多种网络层协议:能够在同一条物理链路上同时支持多种网络协议
- 多种类型链路
- 差错检测
- 检测连接状态:能够及时自动检测出链路是否处于正常工作状态
- 最大传送单元:设置MTU的标准默认值,促进各种实现之间的互操作性
- 网络层地址协商:提供一种机制使通信的两个网络层实体能够通过协商知道或者能够配置彼此的网络层地址
- 数据压缩协商:提供一种方法来协商使用数据压缩算法
-
PPP协议组成
- 一个将IP数据报封装到串行链路的方法
- 一个链路控制协议LCP
- 一套网络控制协议NCP
-
PPP是面向字节的,所有的PPP帧都是整数字节
-
PPP协议的帧格式
-
首部:4个字段
-
标志字段F:0x7E。连续两帧之间只需要用一个标志字段
-
地址字段A:只置为0xFF。实际上不起作用
-
协议字段C:通常设为0x03
-
协议字段
通常两个字节,不同的值代表不同的含义
-
-
尾部:2个字段
-
-
透明传输问题
-
异步传输
时采用字节填充法
: -
同步传输
时,采用零比特填充法
:
-
-
PPP链路初始化过程
- 用户拨号接入ISP后,建立一条从用户个人电脑到ISP的物理连接。
- 用户个人电脑向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧)
- 之后进行网络层配置。网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址。
- 用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。LCP释放数据链路层连接。
最后释放
的是物理层
的连接。
3.3 使用广播信道的数据链路层
-
局域网
- 特点:
- 网络为一个单位所拥有
- 地理范围和站点数目均有限
- 优点:
- 有广播搜索功能,从一个站点可以方便地访问全网
- 便于系统的拓展和逐渐地演变,各设备地位置可灵活调整和改变
- 提高了系统地可靠性、可用性和生存性
- 拓扑结构:
- 星形网
- 环形网
- 总线网
- 特点:
-
共享信道
带来的问题
:若干个设备子啊共享地广播信道上同时发送数据,则会造成彼此干扰,导致发送失败。
-
媒体共享技术
- 静态划分信道:
- 频分复用
- 时分复用
- 波分复用
- 码分复用
- 动态媒体接入控制(多点接入):
- 随机接入:所有的用户可以随机地发送消息
- 受控接入:用户必须服从一定地控制,如轮询
- 静态划分信道:
-
数据链路层的2个子层:
- 逻辑链路控制LLC子层:与传输媒体无关
- 媒体介入控制MAC子层:与传输媒体有关
-
适配器(网卡)的作用
- 进行串行/并行转换
- 对数据进行缓存
- 在计算机的操作系统安装设备驱动程序
- 实现以太网协议
-
CSMA/CD协议
-
最早的以太网:将许多计算机都连接到一根总线上
-
总线:已于实现广播通信,简单可靠
-
为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中。仅当数据帧中的目的地址与适配器硬件地址一致时,才能接受这个数据帧
-
总线缺点:多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。
-
以太网采取的两种重要措施:
- 采用较为灵活的无连接的工作方式
- 不必先建立连接就可以直接发送数据
- 对发送的数据帧不进行编号,也不要求对方发回确认。
- 发送的数据采用曼彻斯特编码(
缺点
:所占的频带宽度比原石的基带信号增加了一倍)
- 采用较为灵活的无连接的工作方式
-
CSMA/CD协议的要点:
- CSMA/CD:载波监听多点接入/碰撞检测
- 多点接入:说明是总线型网络。许多计算机以多点接入的方式连接在一根总线上
- 载波监听:“边发送边界听”,无论是想要发送数据之前,还是发送数据中,都要不停地检测信道。
- 碰撞检测:边发送边检测信道上信号电压的变化情况。电压摆动值超过了一定的门限值时,就认为欸总线上至少有两个站同时在发送数据,表明产生了碰撞。
-
在检测到了碰撞以后,适配器立即停止发送,并等待一段时间后在此发送。
-
CSMA/CD协议工作流程:
-
进行碰撞检测的原因:信号传播时延对载波监听产生了影响
-
争用期:以太网的端到端往返时延 2t为争用期。或者碰撞窗口。具体时间:51.2微秒
-
碰撞后的重传时机:采取截断二进制指数退避确定
-
在10Mbit/s以太网发从数据时,若前64字节没有发生冲突,则后续的数据就不会发生冲突。
-
以太网规定最短有效帧是64字节。
-
以太网最大的端到端长度约为5km
-
发送站检测到冲突后,立即停止发送数据帧,接着发送32或者48比特的人为干扰信号
-
以太网规定帧间最小间隔是9.6微秒
-
CSMA/CD要点:
-
-
MAC层的硬件地址(物理地址)
如果连接在局域网上的主机或者路由器安装有多个适配器,这样主机或路由器就有多个“地址”。或者说这种48位的地址应当是某个接口的标识符
-
46位的MAC地址:
- 前三个字节:组织唯一标识符
- 后三个字节:厂家自行指派,扩展标识符
- 保证生产出的适配器中没有重复的地址
- 地址被固化在适配器的ROM中
-
地址字段的第一字节的最低位为I/G位
- 单站地址:I/G位=0
- 组地址:I/G位=1(进行多播)
- 广播地址:所有48位都是1。只能作为目的地址使用。
-
地址字段第一字节的最低第二位规定为G/L地址
- 全球管理:G/L位 = 0
- 本地管理:G/L位 = 1
-
适配器的过滤功能:每接受到一个MAC帧,先用硬件检查帧中的MAC地址,如果是发往本站的帧就收下,再仅从其他的处理;否则直接丢弃。(混杂方式工作)
发往本站的帧:
- 单播帧(一对一)
- 广播帧(一对全体)
- 多播帧(一对多)
-
MAC帧的格式:
- V2标准(最常用)
- IEEE 802.3标准
-
V2的MAC帧格式:
类型字段
用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议- 当数据字段小于46字节时,应在数据字段后面加入整数字节的填充字段,以保证以太网的MAC帧不小于64字节
- 为了达到比特同步,再传输媒体上实际传送的要比MAC帧还多了8个字节(就是前面黄色的一部分)
-
无效的MAC帧
- 数据字段的长度与长度字段的值不一致
- 帧的长度不是整数个字节
- 用收到的帧检测序列FCS查出有差错
- 数据字段的长度不再46-1500之间
- 有效的MAC帧长度位64-1518字节之间
对于无效的MAC帧就简单地丢弃,以太网不负责重传丢弃的帧
-
IEEE 802.3 MAC 与以太网V2 MAC帧格式的区别:
- “长度/类型”字段值大于0x0600时,表示“类型”,小于时表示“长度”
- 小于0x0600时,数据字段必须装入逻辑链路控制LLC子层的LLC帧
- 802.3 MAC帧格式包括了8字节的前同步码和帧开始定界符
-
交换机的自学习:
交换表中每个项目都设有一定的有效时间,过期的项目就会自动被删除。
第四章 网络层
4.2 网际IP协议
-
与网际协议IPv4配套的3个协议
- 地址解析ARP
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
-
实现异构网络互联互通需要使用中间设备
层 中间设备 运输层及以上 网关 网络层 路由器 数据链路层 网桥或者桥接器、交换机 物理层 转发器 -
IP网的意义
- 当互联网上的主机进行通信时,就好像在一个网络上进行通信一样,看不见互连的具体的网络异构细节
- 如果再这种覆盖全球的IP网的上层使用
TCP协议
,就是我们现在的互联网。
-
IP地址及其表示方法:
-
IP地址是32位的二进制代码,分为每8位一组,将8位二进制数转换为十进制数,采用
点分十进制数
。 -
互联网上的每台主机(或路由器)的每个接口分配一个再全世界唯一的IP地址
-
IP地址采用2级结构,有两个字段,分别是
网络号
和主机号
。 -
IP地址的分类:
- A类地址:网络号字段net-id为1字节,主机号host-id为3字节。
- B类地址:网络号net-id为2字节,主机号host-id为2字节。
- C类地址:网络号net-id为3字节,主机号host-id为1字节
-
各类IP地址的指派范围:
- A类网络地址中,网络号0和127是保留地址,不指派。0表示”本网络“,127保留作为本地环回测试地址。
- B类网络地址中,网络号128.0是被IANA保留的,不指派。采用无分类编址时可以指派。
- C类网络地址中,网络号192.0.0时被IANA保留的。采用无分类编址时可以指派。
- 指派主机号时,要扣除全0和全1,他们有特殊的用途。
-
一般不使用的特殊IP:
-
IP地址的特点
- 每个IP地址都由网络前缀和主机号两部分组成
- IP地址标志一台主机(或路由器)和一条链路的接口
- 转发器或交换机连接起来的若干个局域网仍为一个网络
- 在IP地址中,所有分配到网络前缀的网络都是平等的。
-
同一个局域网上的主机或路由器的IP地址中的网络号必须一样。路由器的每一个接口都有一个不同网络号的IP地址。
-
-
IP地址放在IP数据报的首部,MAC地址则放在MAC帧的首部。
4.2 网际协议IP
-
地址解析协议ARP
- 实现IP通信使用了两个地址:
- IP地址(网络层地址)
- MAC地址(数据链路层地址)
- ARP的作用:从IP地址解析出MAC地址
- 要点
- ARP高速缓存:
- 存放IP地址到MAC地址的映射表
- 映射表动态更新(新增或超时删除)
- ARP工作过程
- ARP查找IP地址对应的MAC地址
- 本局域网上广播发送ARP请求(路由器不转发ARP请求)
- ARP请求分组:包含发送方硬件地址/发件方IP地址/目标方硬件地址(未知时为0)/目标方IP地址
- 单播ARP响应分组:包含发送方硬件地址/发件方IP地址/目标方硬件地址/目标方IP地址
- ARP分组封装在以太网帧中传播
- ARP高速缓存:
- ARP高速缓存的作用:
- 存放最近获得的IP地址和MAC地址绑定
- 减少ARP广播的通信量
- 为进一步减少ARP的通信量,主机A在发送其ARP请求分组时。就将自己的IP地址到MAC地址请求映射写入ARP请求分组
- 当主机B收到A的ARP请求分组时,就将主机A的IP地址及其对应的MAC地址映射写入主机B自己的ARP高速缓存中,不必发送ARP请求
- ARP用于解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射问题,若两台主机不在同一个局域网上,可以通过路由器转发来解决这一问题。先获取路由器的IP地址,解析其MAC地址,然后由路由器转发给目标主机
- 使用ARP的四种典型情况
- 发送方是主机,要把IP数据报发送到本网络的另一个主机。这时使用ARP找到目的主机的硬件地址
- 发送方是主机,要把IP数据报发送到另一个网络上的一个主机。这时使用本网络上的一个路由器的硬件地址,剩下的工作由路由器完成
- 发送方是路由器,要把IP数据报转发到本网络上的一个主机,这时用ARP找到目的主机的硬件地址
- 发送方是路由器,要把IP数据报转发到另一个网络上的一个主机。这时用ARP找到本网络上的另一个路由器的硬件地址。剩下的工作交由这个路由器完成。
- 实现IP通信使用了两个地址:
-
为什么要使用MAC和IP两种地址:
- 不同使用不同的MAC地址。MAC地址之间的转换非常复杂
- 对以太网MAC地址进行寻址是极其困难的
- IP编址把这个复杂问题解决了
- 虚拟的IP网络上用IP地址进行通信十分方便
4.6.2 内部网关协议RIP
-
RIP的工作原理:
- 路由信息协议RIP是一种分布式的、基于距离向量的路由选择器
- 互联网标准协议
- 最大优点:简单
- 要求网络中的每个路由器都要维护从他自己到其他每一个目的网络的距离记录
-
RIP中“距离”的定义
- 路由器到直接连接的网络的距离 = 1
- 路由器到非直接连接的网络的距离 = 所经过的路由器数量 + 1
- RIP协议中的“距离”也称“跳数”,每经过一个路由器,跳数加1
- 好路由 = “距离短”的路由。最佳路由 = “距离最短”的路由
- 一条路径最多只能包含15个路由器
- “距离”的最大值为16时即相当于不可达
- RIP不能再两个网络之间同时使用多条路由,只选择“距离最短”的路由
-
RIP协议的三个特点
- 仅和相邻的路由器交换信息
- 交换的信息时当前本路由器知道的全部信息,即自己的路由表
- 按固定时间间隔交换路由信息。当网络拓扑发生变换时,路由器也及时向相邻路由器通告变换后的路由信息
-
路由表的建立:
- 路由器刚开始工作,路由表是空的
- 得到直接连接的网络的距离(此距离为1)
- 每一个路由器也只和数量非常有限的相邻路由器交换并更新路由信息
- 经过若干次更新后,所有的路由器最终都会知道本自治系统中任何一个网络的最短距离和下一跳路由器的地址
- RIP协议的收敛过程比较快。“收敛”是指在自治系统中所有的结点都得到正确的路由选择信息的过程
-
路由表的更新规则是使用
距离向量算法
找出到达每个目的网络的最短距离 -
距离向量算法:对每个相邻路由器(假设其地址为X)发送过来的RIP报文
-
修改RIP报文中的所有项目(即路由),把“下一跳”字段中的地址都改为X,并把所有距离字段加1
-
对修改后的RIP报文中的每个项目重复以下步骤:
-
若路由表中没有目的网络N,则把该项目添加到路由表中。否则
若路由表中网络N的下一跳路由器为X,则用收到的项目替换原路由表中的项目。否则
若收到项目中的距离小于路由表中的距离,则用收到项目更新原路由表中的项目。否则什么也不做
-
-
若3分钟还未收到相邻路由器更新的路由表,则把相邻路由器标记为不可达的路由器,即距离置为16(表示不可到达)
-
返回
-
-
RIP2报文
- RIP2的报文使用UDP传送,端口520
- 地址族标识符:字段用来标志所使用的地址协议
- 路由标记:填入自治系统的号码
- 一个RIP报文最多可能包括25个路由,因而RIP报文的最大长度是504个字节
- RIP2具有简单的鉴别功能
-
RIP协议的特点:好消息传播的快,坏消息传播得慢(慢收敛)
-
RIP协议的优缺点:
- 优点:
- 实现简单,开销小
- 缺点
- 网络规模有限。最大距离为15(16表示不可到达)
- 交换的路由信息为完整的路由表,开销大
- 坏消息传播的慢,收敛时间过长
- 优点:
4.6.5 路由器的构成
-
路由器工作在网络层,用于互联网络
-
是互联网的关键设备
-
路由器的主要工作:转发分组。把某个输入端口收到的分组,按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳路由器
-
路由器结构:
-
“转发”和“路由选择”的区别
- 转发
- 根据转发表将用户的IP数据报从合适的端口转发出去
- 仅涉及一个路由器
- 转发表是从路由器得出的
- 转发表必须包含转发功能所必需的信息,每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射
- 路由选择
- 按照路由选择算法,根据网络拓扑的变化情况,动态的改变选择的路由,并由此构造出整个的路由表
- 涉及到很多路由器
- 路由表一般仅包含从目的网络到下一跳的映射
- 转发
-
输入端口对线路上收到的分组的处理:
-
输出端口将交换结构传送来的分组发送到线路:
-
交换结构常用的交换方法有三种:通过存储器、通过总线、通过纵横交换结构
-
通过存储器
- 当路由器的某个输入端口收到一个分组时,就用终端方式通知路由选择处理机。然后分组就从输入端口复制到存储器中
- 路由器处理机从分组首部提取目的地址,查找路由表,再将分组复制到合适的输出端口的缓存中
- 若存储器的带宽为每秒M个分组,那么路由器的交换速率一定小于M/2
-
通过总线:
- 数据报从输入端口通过共享的总线直接传送到合适的输出端口,而不需要路由选择处理机的干预
- 当分组达到输出端口时发现总线忙,则被阻塞而不能通过交换结构,并在输入端口排队等待
- 因为每一个要转发的分组都要通过这一条总线,因此路由器的转发带宽受到总线速率的限制
-
通过纵横交换结构
- 常被成为互连网络
- 它有2N条总线,控制交叉节点可以使N个输入端口和N个输出端口相连接
- 当输入端口收到一个分组时,就将它发送到水平总线上
- 若通过输出端口的垂直总线空闲,则将垂直总线与水平总线接通,把该非不足转发到这个输出端口。若输出端口已被占用,分组再输出端口排队等待
- 特点:是一种无阻塞的交换结构,分组可以转发到任何一个输出端口,只要这个输出端口没有被别的分组占用
第五章 运输层
5.1 运输层协议概述
- 运输层的两个主要协议
- 用户数据报协议UDP
- 传输控制协议TCP
- 两个对等运输实体再通信时传送的数据单位叫做运输协议数据单元TPDU
- TCP传送的数据单位协议是TCP报文段
- UDP传送的数据单位协议是UDP报文段或用户数据报
- UDP与TCP的区别
- UDP
- 传送数据之前不需要先建立连接
- 收到UDP报后,不需要给出任何确认
- 不提供可靠交付,但是一种最有效的工作方式
- TCP
- 提供可靠的、面向连接的运输服务
- 不提供广播或多播服务
- 开销较多
- UDP
5.2 用户数据报协议UDP
-
UDP在IP数据报服务至上增加了一些功能:分用和复用、差错检测
-
UDP的主要特点:
-
无连接。在发送数据前不需要建立连接
-
使用尽最大努力交付。即不保证可靠交付
-
面向报文。UDP一次传送和交付一个完整的报文
-
没有拥塞控制。网络出现拥塞不会使源主机的发送速率降低。很适合多媒体通信的要求
-
支持一对一、一对多、多对一、多对多等交互通信
-
首部开销小,只有8个字节
简单方便,但不可靠
-
-
应用程序必须选择合适大小的报文
- 若报文太长,IP层在传送时可能要进行分片,降低IP层的工作效率
- 若报文太短,会使IP数据报的首部的相对长度太大,降低IP层的效率
-
复用:将UDP用户数据报组装成不同的IP数据报,发送到互联网
-
分用:根据UDP用户数据报首部中的目的端口号,将数据报分别传送到相应的端口,以便应用进程到端口读取数据
5.3 传输控制协议TCP概述
- TCP时面向连接的运输层协议,在无连接的、不可靠IP网络服务基础之上提供可靠交付的服务。
- TCP的主要特点:
- TCP是面向连接的运输层协议
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
- TCP提供可靠交互的服务
- TCP提供全双工通信
- 面向字节流
- TCP中的“流”指的是流入或流出进程的字节序列
- 面向字节流:虽然应用程序和TCP的交互式一次一个数据块,但TCP把应用程序交下来的数据堪称仅仅是一串无结构的字节流
- TCP不保证接收方应用程序收到的数据块和发送方应用程序所发送出的数据块具有对应的大小关系。但接收方应用程序收到的字节楼必须和发送方应用程序的字节流完全一样。
- TCP不关心应用程序一次把多长的报文发送到TCP缓存,根据对方给出的窗口值和当前网络和当前网络拥塞程度来决定一个报文段应包含多少个字节,形成TCP报文段
- TCP把连接作为最基本的抽象
5.8 TCP的拥塞控制
-
拥塞:在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降
-
拥塞产生的因素:
- 节点缓存容量太小
- 链路容量不择
- 处理机处理速率太慢
- 拥塞本身会进一步加剧拥塞
-
增加资源不能解决拥塞,还可能使网络的性能更坏
-
拥塞控制的一般原理:
- 拥塞控制的前提:网络能够承受现有的网络负荷
- 拥塞控制是很难设计的,因为它是一个动态问题
- 分组的丢失是网络发生拥塞的前兆,而不是原因
- 拥塞控制本身可能成为引起网络性能恶化、甚至发生死锁的原因
-
TCP拥塞控制算法
-
慢开始
- 目的:探测网络负载能力或拥塞程度
- 算法:由小到大逐渐增大注入到网络中的数据字节。即:由小到大逐渐增大拥塞窗口数值
-
拥塞避免
- 目的:让拥塞窗口cwnd缓慢的增大,避免发生拥塞
- 拥塞窗口cwnd增大:每经过一个往返时间RTT(不管在此期间收到多少确认),发送方的拥塞窗口cwnd=cwnd+1
- 具有加法增大AI特点:使拥塞窗口cwnd按线性规律缓慢增长
- 拥塞避免并非完全避免拥塞,而是让拥塞窗口增长的缓慢一些,使网络不容易出现拥塞
- 当网络出现拥塞时,无论在慢开始阶段还是在拥塞避免阶段:
- ssthresh = max(cwnd/2, 2)
- cwnd = 1
- 执行慢开始算法
- 目的:迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完毕
-
快重传FR算法
- 目的:让发送方尽早知道发生了个别报文段的丢失
- 发送方只要连续收到三个重复的确认,就立即进行重传,这样就不会超时
- 快重传可以使整个网络的吞吐量提高约20%
- 快重传算法要求接收方立即发送确认,即使收到了失序的报文段,也要立即发出对方已收到的报文段重复确认
- 快重传并非取消重传计时器,而是在某些情况下可以尽早地重传丢失的报文段
-
快恢复FR算法
- 当发送端收到连续三个重读的确认时,不执行慢开始算法,而是执行快恢复FR算法:
- 慢开始门限ssthresh = 当前拥塞窗口cwnd/2
- 乘法减小MD拥塞窗口。新拥塞窗口cwnd = 慢开始门限ssthresh
- 执行拥塞避免算法,使拥塞窗口缓慢地线性放大(加法增大AI)
- 二者何在一起就是所谓的AIMD算法,使TCP性能有明显的改进
- 当发送端收到连续三个重读的确认时,不执行慢开始算法,而是执行快恢复FR算法:
-
TCP拥塞控制流程图
-
-
处理机处理速率太慢
4. 拥塞本身会进一步加剧拥塞 -
增加资源不能解决拥塞,还可能使网络的性能更坏
-
拥塞控制的一般原理:
- 拥塞控制的前提:网络能够承受现有的网络负荷
- 拥塞控制是很难设计的,因为它是一个动态问题
- 分组的丢失是网络发生拥塞的前兆,而不是原因
- 拥塞控制本身可能成为引起网络性能恶化、甚至发生死锁的原因
-
TCP拥塞控制算法
-
慢开始
- 目的:探测网络负载能力或拥塞程度
- 算法:由小到大逐渐增大注入到网络中的数据字节。即:由小到大逐渐增大拥塞窗口数值
- [外链图片转存中…(img-aw8sE27K-1655090861748)]
-
拥塞避免
- 目的:让拥塞窗口cwnd缓慢的增大,避免发生拥塞
- 拥塞窗口cwnd增大:每经过一个往返时间RTT(不管在此期间收到多少确认),发送方的拥塞窗口cwnd=cwnd+1
- 具有加法增大AI特点:使拥塞窗口cwnd按线性规律缓慢增长
- 拥塞避免并非完全避免拥塞,而是让拥塞窗口增长的缓慢一些,使网络不容易出现拥塞
- 当网络出现拥塞时,无论在慢开始阶段还是在拥塞避免阶段:
- ssthresh = max(cwnd/2, 2)
- cwnd = 1
- 执行慢开始算法
- 目的:迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完毕
-
快重传FR算法
- 目的:让发送方尽早知道发生了个别报文段的丢失
- 发送方只要连续收到三个重复的确认,就立即进行重传,这样就不会超时
- 快重传可以使整个网络的吞吐量提高约20%
- 快重传算法要求接收方立即发送确认,即使收到了失序的报文段,也要立即发出对方已收到的报文段重复确认
- 快重传并非取消重传计时器,而是在某些情况下可以尽早地重传丢失的报文段
-
快恢复FR算法
- 当发送端收到连续三个重读的确认时,不执行慢开始算法,而是执行快恢复FR算法:
- 慢开始门限ssthresh = 当前拥塞窗口cwnd/2
- 乘法减小MD拥塞窗口。新拥塞窗口cwnd = 慢开始门限ssthresh
- 执行拥塞避免算法,使拥塞窗口缓慢地线性放大(加法增大AI)
- 二者何在一起就是所谓的AIMD算法,使TCP性能有明显的改进
- 当发送端收到连续三个重读的确认时,不执行慢开始算法,而是执行快恢复FR算法:
-
TCP拥塞控制流程图
-