计算机网络

计算机网络
Silence计算机网络体系结构
计算机网络概述
概念,组成,功能,分类
概念:
计算机网络:是一个将分散的,具有独立功能的计算机系统
,通过通信设备
与线路
连接起来,由功能完善的软件
实现资源共享
和信息传递
的系统。
计算机网络是互联
的,自治
的计算机集合
互连
-通过通信链路互联互通
自治
-无主从关系三网融合是指
电信网
、计算机网
和有线电视网
三大网络的融合。交换
的含义就是转接
电话交换机接通电话线的方式是一种称为
电路交换
三种阶段:建立连接 通信 释放连接
功能
- 数据通信
- 资源共享:可以共享硬件,软件,数据等资源
- 分布式处理:多台计算机之间可以进行
分布式处理
- 提高可靠性
- 负载均衡
- 因特网发展阶段
- ARPnet->internet->Internet
- 三级结构的因特网
- 多层次ISP结构的因特网
- 组成,分类:
- 组成部分:硬件,软件,协议
- 工作方式:
- 边缘部分:用户直接使用
- c/s方式 clien/server B/S B(浏览器) s(服务器)
- p2p方式 对等连接
- 核心部分:为边缘部分服务
功能组成:
* 通信子网:实现数据通信
* 资源子网:实现资源共享/数据处理计算机网络的分类:
- 按分布范围分:广域网(WAN)城域网(MAN)局域网(LAN)个人区域网(PAN)
- 按使用者分: 公用网(电信,移动) 专用网(政府,军队)
- 按交换技术分: 电路交换 报文交换 分组交换
- 按拓扑结构分: 总线型 星型 环形 网状型 树型
- 按传输技术分:
* 广播式网络: 共享公共通信信道
* 点对点网络: 使用分组存储转发和路由选择机制
标准化工作及相关知识
- 标准:法定标准 事实标准
- RFC及其发展为因特网标准的四个阶段
- 相关组织-ISO ITU IEE IETF
性能指标
- 速率:即
数据率
或称数据传输率
或比特率
比特 1/0 位
连接在计算机网络上的主机
在数字信道上传送数据位数的速率
单位:b/s,kb/s,mb/s,gb/s,tb/s
换算单位:
千 1kb/s=10^3b/s
兆 1mb/s=10^3kb/s=10^6b/s
吉 1gb/s=10^3mb/s=10^6kb/s=10^9b/s
太 1tb/s=10^3gb/s=10^6mb/s=10^9kb/s=10^12b/s
存储容量:
1Byte(字节) = 8bit
1kb= 2^10bit=1024B=10248b
1mb= 2^20bit=102410248b
1gb= 2^30bit=1024102410248b
1tb= 2^40bit=10241024102410248b
- 带宽:在链路端最高的发送速率,而不是在链路端的传输速率
带宽
原本指某个信号具有的频带宽度,即最高频率与最低频率之差- 计算机网络中,
带宽
用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到所能通过的最高数据率
单位是b/s,b/s kb/s mb/s gb/s tb/s
传输速率:2*10^8 m/s
电磁波1us可向前传播200m
3. 吞吐量:
- 表示在
单位时间
内通过某个网络(或信道,接口)
的数据量。单位b/s,kb/s,Mb/s - 吞吐量受到网络的带宽或网络的额定速率的限制
- 时延:
指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。
- 发送时延(传输时延):从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间 发送时延=数据长度/信道带宽(发送速率)
- 传播时延: 取决于电磁波传播速度和链路长度 传播时延= 信道长度/电磁波的传播速度
- 排队时延:等待输出 ,入链路可用
- 处理时延:检错,找出口
时延带宽积
时延带宽积又称为以比特为单位的链路长度即“某段链路现在有多少比特”
容量
时延带宽积= 时延*带宽
bit s b/s往返时延RTT:
从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认)总共经历的时延。(RTT越大,在收到确认之前,可以发送的数据越多)
RTT包括:
往返传播时延=传播时延*2
末端处理时间利用率
分为信道利用率
网络利用率
- 信道利用率:在单位时间内,网络中所有信道的利用率为:信道利用率/有数据通过时间(有+无)数据通过时间
- 网络利用率:信道利用率加权平均值
体系结构&参考模型
网络体系结构是从功能上描述计算机网络结构
分层结构
协议,接口,服务
- 分层的基本原则:
- 各层之间相互
独立
,每层只实现一种相对独立的功能 - 每层之间
界面自然清晰
,易于理解,相互交流尽可能少。 - 结构上可分割开。每层都采用
最合适的技术
来实现。 - 保持
下层
对上层
的独立性,上层单向使用下层提供的服务 - 整个分层结构能够促进标准化工作
- 实体:第n层中的活动元素称为
n层实体
。同一层的实体叫对等实体
。 - 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【水平】
- 语法: 规定传输数据的格式
- 语义:规定传输数据的含义和含义(规定所要完成的功能)
- 同步:规定各种操作的顺序
- 接口(访问服务点SAP):上层使用下层服务的入口
- 服务:下层为相邻上层提供的功能调用【垂直】
- SDU服务数据单元:为完成用户所要求的功能而传送的数据
- PCI协议控制信息: 控制协议操作的信息
- PDU协议数据单元:对等层次之间传送的数据单位
ISO/OSI 模型(法定标准)
- 目的:支持异构网络系统的互联互通
- 理论成功,市场失败
- 1984年ISO组织制定TCP/IP协议模型,ISO/OSI模型为TCP/IP协议模型提供指导
- 七层模型:
- 物理层:主要任务是在
物理媒体
上实现比特流的透明传输
物理层传输单位是比特
透明传输
: 指不管所传数据是什么样的比特组合,都应当能够在链路上传送。- 功能一:定义接口特性
- 功能二:功能二:定义传输模式 单工、半双工、双工
- 功能三:定义传输速率
- 功能四:比特同步
- 功能五:比特编码
- 数据链路层: 主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧
- 功能一:功能一:成(定义的开始和结束) ….1000011101010101…..
- 功能二:差错控制 帧错+位错
- 功能三:流量控制
- 功能四:访问(接入)控制 控制对信道的访问
- 主要协议:SDLC、HDLC、PPP STP
- 网络层:主要任务是把
分组
从源端传到目的端,为分组
交换网上的不同主机提供通信服务。网络层传输单位是数据报
- 功能一:路由选择 (最佳路径)
- 功能二:流量控制
- 功能三:差错控制
- 功能四:拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施缓解这种拥塞。
- 主要协议:主要协议: IP、IPX、ICMP 、IGMP、ARP、RARP、OSPF
- 传输层:负责主机中
两个进程
的通信,即端到端
的通信。传输单位是报文段或用户数据报
- 功能一:可靠传输,不可靠传输
- 功能二:差错控制
- 功能三:流量控制
- 功能四:复用分用:复用:多个应用层进程可同时使用下面运输层的服务分用: 运输层把收到的信息分别交付给上面应用层中相应的进程
- 会话层:向表示层实体/用户进程提供建立连接并在连接上有序地传输数据 (建立同步SYN),(协议:ADSP ASP)
- 功能一:建立,管理,终止会话
- 功能二:使用校验点可使会话在通信失效时从
校验点/同步点
继续恢复通信,实现数据同步
- 表示层:用于处理在两个通信系统中交换信息的表示方式(语法和语义)
- 功能一:数据格式变换(翻译官)
- 功能二:数据加密解密
- 功能三:数据压缩解压
TCP/IP模型(事实标准)
相同点
- 都分层
- 基于独立的协议栈的概念
- 可以实现异构网络的互联
不同点
- 0SI定义```三点``:服务、协议、接口
- 0SI```先``出现,参考模型先于协议发明,不偏向特定协议
- TCP/IP设计之初就考虑到异构网
互联
问题,将IP作为重要层次
面向连接
分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段接着,当数据传输完毕,必须释放连接。面向无连接
没有这么多阶段,它直接进行数据传输。
OSI参考模型:网络层(无连接+面向连接) 传输层(面向连接)
TCP/IP模型:网络层(无连接) 传输层(无连接+面向连接)
总结
物理层
物理层接口的特性
- 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体定义标准
- 物理层主要任务: 确定与传输媒体接口有关的一些特性—》定义标准
- 机械特性 定义物理连接的特性,规定物理连接时所采用的规格、接口形状、
引线数目
、 ```引脚数量``和排列情况。 - 电气特性 规定传输二进制位时,线路上信号的
电压范围
、```阻抗匹配、
传输速率和距离限制``等 - 功能特性 指明某条线上出现的某```一电平表示何种意义``,接口部件的信号线的用途
- 规程特性 (过程特性)定义各条物理线路的工作规程和时序关系。
数据通信基础知识
- 通信的目的是传送消息 (消息: 语音、文字、图像、视频等)
- 数据data: 传送信息的实体,通常是有意义的符号序列
- 数据通信指在不同计算机之间传输表示信息的二进制数0、1序列的过程
- 信号:数据的电气/电磁的表现,是数据在传输过程中的```存在形式``。
- 数字信号/离散信号:代表消息的参数的取值是离散的
模拟信号/连续信号:代表消息的参数的取值是连续的 - 信源:产生和发送数据的源头。
信宿:接收数据的终点。
信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含条发送信道和一条接收信道。(按传输信号分模拟信道(传送模拟信号)数字信道(传送数字信号 )信道按传输介质分无线信道有线信道)
三种通信方式
- 单工通信:只有一个方向的通信而没有反方向的交互,仅需要
一条
信道。 - 半双工通信/双向交替通信:通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接收,需要
两条
信道。 - 全双工通信/双向同时通信: 通信双方可以同时发送和接受信息,也需要
两条
信道。
数据传输方式
- 串行通信:数据以
单个位
为单位,按顺序
传输,速度慢,费用低,适合远距离(一个信道传输) - 并行通信:数据以
多个位
为单位,按同时
传输,速度快,费用高,适合近距离(八个信道传输)
同步传输&异步传输
同步传输:在同步传输的模式下,数据的传送是以一个数据区块为单位,因此同步传输又称为区块传输。在传送数据时,需先送出1个或多个同步字符,再送出整批的数据。
异步传输:异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方不知道它们会在什么时候到达。传送数据时,加一个字符起始位和一个字符终
止位。
码元
码元
是指用一个固定时长
的信号波形
(数字脉冲),代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k
进制码元,而该时长称为码元宽度。当码元的离散状态有M
个时(M大于2),此时码元为M进制码元。1码元可以携带多个比特的信息量
。例如,在使用二进制编码时,只有两种不同的码元,一种代表0状态,另一种代表1状态。
数字通信系统数据传输速率的两种表示方法
速率也叫数据率,是指数据的传输速率
,表示单位时间内传输的数据量。可以用码元传输速率
和信息传输速率
表示。
码元传输速率:别名码元速率、波形速率、调制速率、符号速率等,它表示单位时间内数字通信系统所传输的码元个数
(也可称为脉冲个数或信号变化的次数),单位是
波特(Baud)``。1波特表示数字通信系统每秒传输一个码元。数字信号有多进制和二进制之分,但码元速率与进制数无关,只与
码元长度T
(一个码元所占时长)有关。Rb = 1/T信息传输速率:别名信息速率、比特率等,表示单位时间内数字通信系统传输的二进制码元个数(即比特数)单位是比特/秒(b/s)。
思考:
已知八进制数字信号的传输速率为1600B。试问变换成二进制数字信号时的传输速率是多少? 4800
已知二进制数字信号的传输速率为2400b/s。试问变换成四进制数字信号时,传输速率为多少波特 1200
带宽
- 模拟信号系统中:当输入的信号频率高或低到一定程度,使得系统的输出功率成为输入功率的一半时(即-3dB),最高频率和最低频率间的差值就代表了系统的通频带宽,其单位为赫兹(Hz)。
- 数字设备中:表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”/单位时间内通过链路的数量,常用来表示网络的通信线路所能传输数据的能力。单位是比特每秒(bps)。
奈氏准则和香农定理
失真
- 现实中传输的时候受到带宽受限,有噪声,干扰等导致原本规则的信号波形变成了不规则的波形,这种不规则的波形就叫做失真。
- 失真分为:有失真但是可以识别的失真和无法识别的失真。
- 影响失真程度的因素有: 码元传输速率 信号传输距离 噪声干扰 传输媒体质量
失真的一种现象–码间串扰
码间串扰:接收端收到的信号波形失去了码元之间清晰界限的现象
奈氏准则(奈奎斯特定理)
奈氏准则:在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为2WBaud,W是信道
带宽,单位是Hz。
注意:
只有在这两个公式这带宽才用Hz!!
- 在任何信道中,码元传输的速率是有上限的。若传输速率超过此上限,就会出现严重的码间串扰问题,使接收端对
码元的完全正确识别成为不可能。 - 信道的频带越宽(即能通过的信号高频分量越多),就可以用更高的速率进行码元的有效传输。
- 奈氏准则给出了码元传输速率的限制,但并没有对信息传输速率给出限制。
- 由于码元的传输速率受奈氏准则的制约,所以要提高数据的传输速率,就必须设法使每个码元能携带更多个比特的
信息量,这就需要采用多元制的调制方法。
- 例. 在无噪声的情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输率是多少?
- 信号有44=16种可能的波形,码元传输速率为23kHz=6kHz,信息传输速率为6*4=24bit/s。
香农定理
香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值
噪声存在于所有的电子设备和通信信道中。由于噪声随机产生,它的瞬时值有时会很大,因此噪声会使接收端对码元的判决产生错误。但是噪声的影响是相对的,若信号较强,那么噪声影响相对较小。因此,信噪比就很重要。
- 信噪比:表示信号和噪声的比值,是衡量噪声对信号影响的量,是噪声能量与信号能量之比。信噪比越大,噪声对信号的影响越小,信号越清晰,传输质量越好。
信噪比=信号的平均功率/噪声的平均功率,常记为S/N,并用分贝(dB)作为度量单位,即:S/N = 10log10(信号的平均功率/噪声的平均功率)。
。
- 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高
- 对一定的传输带宽和一定的信噪比,信息传输速率的上限就确定了。
- 只要信息的传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输。
- 香农定理得出的为极限信息传输速率,实际信道能达到的传输速率要比它低不少。
- 从香农定理可以看出,若信道带宽W或信噪比S/N没有上限(不可能),那么信道的极限信息传输速率也就没有上
限。
- 例子:
例. 电话系统的典型参数是信道带宽为3000HZ,信噪比为30dB,则该系统最大数据传输速率是多少?
30dB = 10log10(信噪比) s/N = 1000
Wlog2(1+S/N) = 3000* log2(1+1000) =30kbit/s
编码与调制
基带信号与宽带信号
- 信道:信号的传输媒介。一般用来表示向某一个方向传送信息介质,因此一条通信线路往往包含一条发送信道和一条接收信道。
- 传输信号:模拟信道(传送模拟信号)数字信道(传送数字信号)
注意:
模拟信道的应用例子:
无线电广播:无线电广播使用模拟信号来传输音频信息。广播电台将音频信号调制到高频载波上,然后通过无线电波发送到空中,被收音机接收并解调还原为原始音频信号。
电视广播:电视广播也使用模拟信号来传输视频和音频信息。电视台将视频和音频信号调制到高频载波上,然后通过无线电波发送到空中,被电视机接收并解调还原为原始视频和音频信号。
电话通信:传统的电话通信使用模拟信号来传输语音信息。电话机将语音信号转换为模拟信号,然后通过电话线发送到对方电话机,对方电话机再将接收到的模拟信号转换回语音信号。
数字信道的应用例子:
互联网通信:互联网通信主要使用数字信道来传输数据。无论是通过有线还是无线方式,互联网通信都使用二进制数字信号来传输数据,包括文本、图片、视频等。
数字电视:数字电视使用数字信号来传输电视节目。与传统的模拟电视相比,数字电视具有更高的清晰度和更好的信号质量。数字电视节目通过数字信道传输,然后由数字电视机接收并解码显示。
移动通信:移动通信网络(如3G、4G、5G等)使用数字信道来传输语音和数据信息。无论是打电话还是上网冲浪,移动通信都使用数字信号在基站和用户设备之间进行传输。
- 传输介质: 无线信道 有线信道
- 信道上传输的信号:基带信号(单个载波)宽带信号(多个载波)
- 基带信号:将数字信号1和0直接用两种不同的电压表示,再送到数字信道上去传输(基带传输)来自信源的信号,像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。
- 宽带信号:将基带信号进行调制后形成的频分复用模拟信号,再传送到模拟信道上去传输(宽带传输) 把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅一段频率范围内能够通过信道)
在传输距离比较进时,计算机网络采用基带传输的方式(近距离衰减小,从而信号不容易发生变化)
在传输距离比较远时,计算机网络采用宽带传输的方式(近距离衰减大,即使信号变化大也能最后过滤出来基带信号)
数据 —>数字信号 编码
数据 —>模拟信号 调制
数字数据 -数字发送器–>数字信号 编码
数字数据 -调制器–>模拟信号 调制
模拟数据 -PCM编码器–> 数字信号 编码
模拟数据 -放大器调制器–> 模拟信号 调制
数字数据编码为数字信号
编码
- 非归零编码【NRZ
- 高1低0
- 特点:编码容易实现,但没有检错功能且无法判断一个码元的开始和结束,以至于收发双方难以保持同步
曼彻斯特编码:将一个码元分成两个相等的间隔,前一个间隔为低电平后一个间隔为高电平表示码元1;码元0则正好相反。也可以采用相反的规定该编码的特点是在每一个码元的中间出现电平跳变,位中间的跳变既作时钟信号(可用于同步)又作数据信号,但它所占的频带宽度是原始的基带宽度的两倍
差分曼彻斯特编码 :同1异0 常用于局域网传输,其规则是:若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同,若为0,则相反。该编码的特点是,在每个码元的中间,都有一次电平的跳转,可以实现自同步,且抗干扰性强于曼彻斯特编码。
归零编码【RZ】:信号电平在一个码元之内都要恢复到零的这种编码成编码方式
反向不归零编码【NRZI】:信号电平翻转表示0 信号电平不变表示1
4B/5B编码 比特流中插入额外的比特以打破一连串的0或1,就是用5个比特来编码4个比特的数据,之后再传给接收方,因此称为4B/5B。编码效率为80%。
调制
例子:
某通信链路的波特率是1200Baud,采用4个相位,每个相位有4种振幅的QAM调制技术,则该链路的信息传输速率是多少?
44 = 16种波形 = 4bit
12004 = 4800bit/s
模拟数据编码为数字信号
计算机内部处理的是二进制数据,处理的都是数字音频,所以需要将模拟音频通过采样、量化转换成有限个数字表示的离散序列(即实现音频数字化)。最典型的例子就是对音频信号进行编码的脉码调制(PCM),在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。它主要包括三步:抽样、量化、编码。
- 抽样:对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号。
- 为了使所得的离散信号能无失真地代表被抽样的模拟数据,要使用采样定理进行采样:f采样频率>=2f信号最高频率
- 量化:把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值,并取整数,这就把连续的电平幅值转换为离散的数字量。
- 编码:把量化的结果转换为与之对应的二进制编码。
模拟数据调制为模拟信号
为了实现传输的有效性,可能需要较高的频率。这种调制方式还可以使用频分复用技术,充分利用带宽资源。在电话机和本地交换机所传输的信号是采用模拟信号传输模拟数据的方式;模拟的声音数据是加载到模拟的载波信号中传输的。
数据交换方式
- 交换是通过某些交换中心将数据进行集中和传送
- 传输线路为各个用户共用,从而大大节省通信线路,降低系统费用。
电路交换
- 电路交换的原理:
在数据传输期间,源结点与目的结点之间有一条由中间结点构成的专用物理连接线路,在数据传输结束之前,这条线路一直保持。 - 电路交换的阶段:
- 建立连接阶段:发送呼叫请求,转发呼叫请求,呼叫应答
- 传输阶段:数据传输
- 释放连接阶段:发送呼叫释放请求,转发呼叫释放请求,呼叫释放应答
- 特点:独占资源,用户始终占用端到端的固定传输带宽。适用于远程批处理信息传输或系统间实时性要求高的大量数据传输的情况。
- 电路交换优点:
- 传输时延小
- 数据顺序传送,无失序问题
- 实时性强,双方一旦建立物理通路,便可以实时通信适用于交互式会话类通信。
- 全双工通信,没有冲突,通信双方有不同的信道,不会争用物理信道
- 适用于模拟信号和数字信号
- 控制简单,电路的交换设备及控制较简单
- 缺点:
- 建立连接时间长
- 线路独占,即使通信线路空闲,也不能供其他用户使用,信道使用效率低。
- 灵活性差,双方连接通路中的任何一点出了故障,必须重新拨号建立新连接,不适应突发性通信。
- 无数据存储能力,难以平滑通信量。
- 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信
- 无法发现与纠正传输差错,难以在通信过程中进行差错控制。
报文交换
- 报文:报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完
整的数据信息,其长短很不一致,长度不限且可变。 - 报文交换的原理:
无需在两个站点之间建立一条专用通路,其数据传输的单位是报文,传送过程采用存储转发
方式。
- 报文交换的流程:
源主机(报文(附目的+源地址))—>交换设备(1.每个节点收下整个报文后,暂存报文并检查有无错误,2.当所需要的输出电路空闲时,利用路由信息找到下一个结点地址,传送给下一个结点 3. 在两个通信用户间的其他线路段,可传输其他用户的报文,不像电路交换那样必须占用端到端的全部信道)—> 目的主机 - 报文交换的优点:
- 无需建立连接,无建立连接时延,用户可随时发送报文
- 动态分配线路,动态选择报文通过的最佳路径,可以平滑通信量。
- 提高线路可靠性,某条传输路径发生故障,可重新选择另一条路径传输。
- 提高线路利用率,通信双方在不同的时间一段一段地部分占有这条物理通道,多个报文可共享信道。
- 提供多目标服务:一个报文可同时发往多个目的地址,
- 在存储转发中容易实现代码转换和速率匹配,甚至收发双方可以不同时处于可用状态。这样就便于类型、规格和速度不同的计算机之间进行通信。
- 报文交换的缺点:
- 实时性差,不适合传送实时或交互式业务的数据。数据进入交换结点后要经历存储转发过程,从而引起转发时延。
- 只适用于数字信号。
- 由于报文长度没有限制,而每个中间结点都要完整地接收传来的整个报文,当输出线路不空闲时,还可能要存储几个完整报文等待转发,要求网络中每个结点有较大的缓冲区。为了降低成本,减少结点的缓冲存储器的容量,有时要把等待转发的报文存在磁盘上,进一步增加了传送时延
分组交换
分组:大多数计算机网络都不能连续地传送任意长的数据,所以实际上网络系统把数据分割成小块,然后逐块地发送,这种小块就称作分组(packet)。
分组交换的原理:
分组交换与报文交换的工作方式基本相同,都采用存储转发方式,形式上的主要差别在于,分组交换网中要限制所传输的数据单位的长度,一般选128B。发送节点首先对从终端设备送来的数据报文进行接收存储,而后将报文划分成一定长度的分组,并以分组为单位进行传输和交换。接收结点将收到的分组组装成信息或报文。分组交换的流程:
源主机(分组(附目的+源地址))—>交换设备(1.每个节点收下整个分组后,暂存分组并检查有无错误,2.当所需要的输出电路空闲时,利用路由信息找到下一个结点地址,传送给下一个结点 3. 在两个通信用户间的其他线路段,可传输其他用户的分组,不像电路交换那样必须占用端到端的全部信道
)—> 目的主机分组交换的优点:
无建立时延,无需为通信双方预先建立一条专用通信线路,用户可随时发送分组。
线路利用率高,通信双方在不同的时间一段一段地部分占有这条物理通道,多个分组可共享信道。
简化了存储管理。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
加速传输,后一个分组的存储可以和前一个分组的转发并行操作;传输一个分组比一份报文所需缓冲区小,减少等待发送时间
减少出错几率和重发数据量,提高可靠性,减少传输时延。
分组短小,适用于计算机之间突发式数据通信,
分组交换的缺点:
尽管分组交换比报文交换的传输时延少,但仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。
每个分组都要加控制信息,一定程度上降低了通信效率,增加了处理的时间。
当分组交换采用数据报服务时,可能出现失序、丢失或重复分组,分组到达目的结点对,要对分组按编号进行排序等工作,增加了麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
分组交换的方式:
- 数据报方式:
数据报方式
为网络层提供无连接服务。发送方可随时发送分组,网络中的结点可随时接收分组。 - 虚拟电路方式:
无连接服务:不事先为分组的传输确定传输路径,每个,不分组独立确定传输路径同分组传输路径可能不同,
数据交换方式的选择
- 传送数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小
- 当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。
- 从信道利用率上看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式的数据通信。
数据报方式的特点
- 数据报方式为网络层提供无连接服务。发送方可随时发送分组,网络中的结点可随时接收分组。
- 同一报文的不同分组达到目的结点时可能发生乱序、重复与丢失。
- 每个分组在传输过程中都必须携带源地址和目的地址,以及分组号。
- 分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
- 网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强,适用于突发性通信,不适于长报文、会话式通信
虚电路方式
- 虚电路将数据报方式和电路交换方式结合,以发挥两者优点。
- 虚电路:都维持一张虚电路表,每一项记录了一个打开的虚电路的信息
一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立, - 特点:
- 连接服务:首先为分组的传输确定传输路径(建立连接)然后沿该路径:(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接
- 虚电路方式为网络层提供连接服务。源节点与目的结点之间建立一条逻辑连接,而非实际物理连接。
- 一次通信的所有分组都通过虚电路顺序传送,分组不需携带源地址、目的地址等信息,包含虚电路号,相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
- 分组通过虚电路上的每个节点时,节点只进行差错检测,不需进行路由选择。
- 每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对两个数据端点的流量进行控制,两个端系统之间也可以有多条虚电路为不同的进程服务。
- 致命弱点:当网络中的某个结点或某条链路出故障而彻底失效时,则所有经过该结点或该链路的虚电路将遭
到破坏
物理层传输介质
传输介质及分类
- 传输介质也称传输媒体/传输媒介,它就是数据传输系统中在发送设备和接收设备之间的物理通路
传输媒体并不是物理层
。传输媒体在物理层的下面,因为物理层是体系结构的第一层,因此有时称传输媒体为0层。在传输媒体中传输的是信号,但传输媒体并不知道所传输的信号代表什么意思。但物理层规定了电气特性
,因此能够识别所传送的比特流。- 传输介质:
- 导向性传输介质:电磁波被导向沿着固体媒介(铜线/光纤)传播。
- 双绞线是古老、又最常用的传输介质,它由两根采用一定规则并排绞合的、相互绝缘的铜导线组成。绞合可以减少对相邻导线的电磁干扰。
为了进一步提高抗电磁干扰能力,可在双绞线的外面再加上一个由金属丝编织成的屏蔽层,这就是屏蔽双绞线
(STP),无屏蔽层的双绞线就称为非屏蔽双绞线(UTP)。
双绞线价格便宜,是最常用的传输介质之一,在局域网和传统电话网中普遍使用。模拟传输和数字传输都可以使用双绞线,其通信距离一般为几公里到数十公里。距离太远时,对于模拟传输,要用放大器放大衰减的信号;对于数字传输,要用中继器将失真的信号整形。 - 同轴电缆:同轴电缆由导体铜质芯线、绝缘层、网状编织屏蔽层和塑料外层构成。按特性阻抗数值的不同,通常将同轴电缆分为两类:502同轴电缆和75Q同轴电缆。其中,50同轴电缆主要用于传送基带数字信号,又称为基带同轴电缆,它在局域网中得到广泛应用;750同轴电缆主要用于传送宽带信号,又称为宽带同轴电缆,它主要用于有线电视系统
- 同轴电缆Vs双绞线
由于外导体屏蔽层的作用,同轴电缆抗干扰特性比双绞线好,被广泛用于传输较高速率的数据,其传输距离更远,但价格较双绞线贵。 - 光纤
- 光纤通信就是利用光导纤维(简称光纤)传递光脉冲来进行通信。有光脉冲表示1,无光脉冲表示0。而可见光的频率大约是10^8MHz,因此光纤通信系统的带宽远远大于目前其他各种传输媒体的带宽。(光纤在发送端有光源,可以采用发光二极管或半导体激光器,它们在电脉冲作用下能产生出光脉冲;在接收端用光电极管做成光检测器,在检测到光脉冲时可还原出电脉冲)
- 光纤主要由纤芯(实心的!)和包层构成,光波通过纤芯进行传导,包层较纤芯有较低的折射率。当光线从高折射率的介质射向低折射率的介质时,其折射角将大于入射角。因此,如果入射角足够大,就会出现全反射,即光线碰到包层时候就会折射回纤芯、这个过程不断重复,光也就沿着光纤传输下去。
- 特点
超低损耗,传送超远距离! - 多模光纤:一种在横向模式直接传输光信号的光纤 (适合近距离传输)光源(定向性很好的激光二极管)
- 单模光纤: 有多种传输光信号模式的光纤 (适合中长距离传输)光源 (发光二极管)
- 光纤特点:
1. 传输损耗小,中继距离长,对远距离传输特别经济
2. 抗雷电和电磁干扰性能好
3. 无串音干扰,保密性好,也不易被窃听或截取数据。
4. 体积小,重量轻。
- 非导向性传输介质:自由空间,介质可以是空气、真空、海水等
- 无线电波:信号向所有方向传播
- 较强的穿透力,可以远距离,手机通信
- 微波:信号固定方向传播
- 微波通信频率较高、频段范围宽因此数,据率很高
- 地面微波接力通信
- 卫星通信
- 红外线,激光:信号固定方向传播
- 在空间中传播把要传输的信号分别转换为各自的信号格式,即红外光信号和激光信号
物理层设备
中继器(再生数字信号)
- 诞生原因:由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接
收错误。 - 中继器的功能: 对信号进行
再生和还原
,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,延长
网络的长度。 - 中继器的两端:
- 两端的网络部分是网段,而不是子网,适用于完全相同的
两类
网络的互连,且两个网段速率要相同。 - 中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管数据中是否有错误数据或不适于网段的数据。
- 两端可连相同媒体,也可连不同媒体
- 中继器两端的网段一定要是同一个协议。(中继器不会存储转发,傻)
- 5-4-3规则:网络标准中都对信号的延迟范围作了具体的规定,因而中继器只能在规定的范围内进行,否则会网络故障。
- 5: 最多不超过五个网段
- 4:五个网段中最有四个网络设备
- 3:只要三个段可以挂接计算机
集线器(多口中继器)
- 集线器的功能:对信号进行再生放大转发,对衰减的信号进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。不具备信号的定向传送能力,是一个共享式设备。
数据链路层
数据链路层的基本概念
- 节点:主机,路由器
- 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
- 数据链路 :网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
- 帧:链路层的协议数据单元,封装网络层数据报
- 数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
数据链路层的功能
- 数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
- 功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。(有连接一定有确认)
- 功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
- 功能三:差错控制,即差错控制和恢复。
- 功能四:流量控制,即流量控制。
- 功能五:组帧
封装成帧和透明传输
封装成帧
就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。具有一个重要的作用:帧定界
(确定帧的界限)
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止- 组帧的四种方法:1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
字符计数法
帧首部使用一个计数字段(第一个字节,八位)来标明内字符数。
字符填充法
在发送端的时候添加转义字符,接收端的时候去掉转义字符
当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCI码)不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。
当传送的帧是由非ASCI码的文本文件组成时(二进制代码的程序或图像等)就要采用字符填充方法实现透明传输
零比特填充法(5,1,1,0)
- 在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0。
- 2.在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的O删除。
保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
违规编码法
- 采用一种不常用的字符编码,如采用ASCII码的反码,即采用反码编码,这样在接收端就无法识别出帧的边界,只能通过硬件扫描比特流来确定帧的边界。
差错控制(检错编码)
差错从何来产生?
概括来说,传输中的差错都是由于噪声引起的全局性
1.由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
局部性 2.外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因
解决办法:通常利用编码技术来解决。
差错:
- 位错 【比特位出错,1变成0,0变成1。】
- 帧错:丢失:收到[#1]-[#3] 重复:收到[#1]-[#2]-[#2]-[#3] 失序:收到[#1]-[#3]-[#2]
物理层编码vs数据层编码
数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过几余码的技术实现一组二进制比特串在传输过程是否出现了差错。冗余码:
在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的几余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
检错编码–奇偶校验码
- 奇偶校验码(n-1位信息元1位校验元)
- 奇校验码 “1”的个数位奇数
- 偶校验码 “1”的个数位偶数
- 奇偶校验码特点:
只能检查出奇数个比特错误,检错能力为50%。
检错编码–CRC校验码‘
- 例子:
要发送的数据是1101011011,采用CRC校验,生成多项式是10011,那么最终发送的数据应该是? - 最终发送的数据: 要发送的数据+帧检验序列FCS
计算冗余码:
- 加0 假设生成多项式G(x)的阶为r 则加r个0
- 模2除法 :数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。 异或:同0异1
10011表示为多项式为:(求阶数,就是总的位数减一 现在有五位 则阶数为4)
x^4+x^1+x^0 = x^4+1x^1+1 阶为4如果题目中写的生成多项式为 x^4+1x^1+1 则还原
1x^4+0x^3+0x^2+1x^1+1*x^0 = 1101 0110 11
TIPS:多项式N位,阶为N-11101 0110 11
由于阶为4 则在后面加四个零 1101 0110 11 0000
除法 :1101 0110 11 0000 / 10011 异或:同0异1法 后 = 1110 (余数 FCS)
接收端检错过程:
- 把收到的每一个帧都除以同样的除数,然后检查得到的余数R。余数为0,判定这个帧没有差错,接受
- 余数为不为0,判定这个帧有差错(无法确定到位),丢弃。
FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速因此不会延误数据的传输。
- 在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错”
- “可靠传输”:数据链路层发送端发送什么,接收端就收到什么链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。
差错控制(纠错编码)
检错编码只能检查不能修改
纠错编码–海明码
- 工作流程:
- 确定校验码位个数r
- 确定校验码和数据的位置
- 求出校验码的值
- 检错并纠错
海明距离
- 两个合法编码(码字)的对应比特取值不同的比特数称为这两个码字的海明距离(码距),一个有效编码集中,任意两个合法编码(码字)的海明距离的最小值称为该编码集的海明距离(码距)。(还可以用异或来求码距)
- 总结:如果要检测海明码的d位错,则需要d+1位的码距 如果要纠错d位错,则需要2d+1位的码距
- 工作流程:
- 确定校验码位个数r
- 数据/信息有m位,冗余码/校验码有r位,则校验码有2^r种取值,2^r>=m+r+1(海明不等式)
采用奇偶校验法中的偶校验 x4= 0 x2= 0 x1= 1
4. 检错并纠错
若接收方受到的数据为1110001
4号校验码负责 4,5,6,7的校验 –》0,1,1,1
2号校验码负责 2,3,6,7的校验–》0,0,1,1
1号校验码负责1,3,5,6 的校验–》1,0,1,1
不符合奇偶校验
- 纠错方法一:找到不满足奇/偶校验的分组取交集,并与符合校验的分组取差集
- 纠错方法二:
x4 0,1,1,1
x2 0,0,1,1 –》如果满足奇偶校验则 x4=1,x2=0,x1=1 横置 x4=1,x2=0,x1=1 取十进制 = 5 则第五位出错了
x1 1,0,1,1
流量控制与可靠传输机制
数据链路层的流量控制
较高的发送速度
和较低的接收能力
的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作- 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的
数据链路层
流量控制手段:接收方收不下就不回复确认- 传输层流量控制手段:接收端给发送端一个窗口公告。
流量控制的方法
- 停止等待协议:每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。(发送窗口大小=1 接收窗口大小=1)
- 滑动窗口协议:
- 后退N帧协议(GBN)(发送窗口>1 接收窗口大小=1)
- 选择重传协议(SR) (发送窗口大小>1 接收窗口大小>1)
可靠传输,滑动窗口,流量控制
- 可靠传输:发送端发啥,接收端收啥。
- 流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个。
- 滑动窗口解决:
- 流量控制(收不下就不给确认,想发也发不了)
- 可靠传输(发送方自动重传)
停止等待协议
- 为什么要有停止-等待协议?
- 除了比特出差错,底层信道还会出现丢包问题为了实现流量控制。
- 研究停等协议的前提?
- 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。“停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
- 停止-等待协议有几种应用情况
- 无差错传输:发送一个帧,接收方接收到了后回复确认信息
- 数据帧丢失或检测到帧出错:超时计时器:每次发送个帧就启动一个计时器 (超时计时器设置的重传时间应当比帧传输的平均RTT更长一些)
数据发送超时后,发送方自动重发数据 - 发完一个帧后,必须保留它的副本
- 数据帧和确认帧必须编号
- ACK丢失(确认帧丢失):
发送方重传1帧,然后接收方丢弃重复的1帧,重传确认帧 - AC迟到(确认帧迟到):
收下丢弃
- 数据帧丢失或检测到帧出错:超时计时器:每次发送个帧就启动一个计时器 (超时计时器设置的重传时间应当比帧传输的平均RTT更长一些)
- 停等协议性能分析
简单 信道利用率太低 - 信道利用率
发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
信道利用率 = (L/C)/ T
L 内发送L比特数据
C 发送方数据传输率
T 发送周期(从开始发送数据到收到第一个确认帧为止)
后退N帧协议(GBN)
- 发送窗口:发送方维持一组连续的允许发送的帧的序号。
- 接收窗口:接收方维持一组连续的允许接收的帧的序号。
- 上层的调用:
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满
,则产生一个帧并将其发送;如果窗口已满
发送方只需将数据返回给上层,暗示上层窗口己满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。 - 收到了一个ACk :
GBN协议中,对n号帧的确认采用累积确认
的方式,标明接收方已经收到n号帧和它之前的全部帧。 - 超时事件:
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。 - 接收方要做的事情:
- 如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
- 其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)。
- 滑动窗口长度:
若采用n个比特对帧编号,那么发送窗口的尺寸w满足:1 =< w =< 2^(n-1) - 1,因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧 - GBN协议重点总结
- 累计确认(偶尔捎带确认)
- 接收方只按照顺序接收帧,不按序无情丢弃
- 确认序列号最大的、按序到达的帧
- 发送窗口最大为 2^n-1,接收窗口大小为1
- GBN协议的性能分析
- 因连续发送数据帧而提高了信道利用率
- 在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
选择重传协议(SR)
- 选择重传协议是基于滑动窗口协议的。
- 上层的调用:
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否
则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。 - 收到了一个ACk:
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。 - 超时事件:
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。 - SR接收方要做的事情:
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。 - 滑动窗口长度:
WTmax = WRmax=2^(n-1)