一篇学完:王道考研408计算机网络(全)
时间:2022-09-21 23:30:01
笔记从:lengyueling.cn
PDF版本附在lengyueling.cn对应文章结尾,欢迎下载访问交流
网络系统结构
概念与功能
网络:网络东西或网站系统
计算机网络:是通过通信设备和线路连接分散、独立功能的计算机系统,通过功能完善的软件实现资源共享和信息传输的系统。
计算机网络的功能: 数据通信、资源共享、分布式处理(hadoop提高可靠性,平衡负荷...
发展阶段-第一阶段: ARPAnet(美国国防部分散指挥系统)-> Internet(TCP/IP协议)
发展阶段-第二阶段: 1985年以后,因特网(校园网、区域网、主干网)三层结构
发展阶段-第三阶段: 多层次的ISP结构(本地ISP、地区ISP、主干ISP,电信、移动、联通都是ISP)
组成: 硬件、软件、协议(集合一系列规则和协议)
工作方式:
-
边缘部分
-
C/S方法(客户、服务)
-
P2P方法(平等连接peer-to-peer)
-
-
核心部分
-
服务于边缘部分
-
功能组成:
-
通信子网络(网络层、数据链路层、物理层 )
-
由各种传输介质、通信设备和相应的网络协议组成
-
-
资源子网络(应用层、表示层、会话层)
-
设备和软件集合实现资源共享/数据处理
-
-
传输层(承上启下)
按分布分类:
-
广域网WAN(交换技术)
-
城域网MAN
-
局域网LAN(广播技术)
-
个人区域网PAN
按用户分类:
-
公用网
-
专用网
按交换技术分类:
-
电路交换
-
报文交换
-
分组交换
按拓扑结构分:
-
总线型
-
星形
-
环形
-
网状型(常用于广域网)
按传输技术分:
-
广播式网络 共享公共信号通道
-
点对点网络 使用分组存储转发和路由选择机制
标准化工作及相关组织
标准分类:
-
法定标准 正式合法的标准由权威机构制定 比如OSI模型
-
事实标准 某些公司的产品在竞争中占据了主流产生的标准 比如TCP/IP协议
标准化:
RFC要上升为Internet正式标准的四个阶段
-
因特网草案
-
建议标准
-
草案标准(现在已经取消了)
-
因特网标准
相关组织:
-
国际标准化组织ISO OSI模型、HDLC协议
-
国际电信联盟ITU 指定通信规则
-
电气与电子工程师协会协会IEEE 学术机构、IEEE802系列标准、5G
-
Internet工程任务组IETF 负责制定特网相关标准 RFCYYYY
性能指标
速率:数据率、数据传输率、比特率、连接到计算机网络的主机在数字信道上传输数据位数的速率b/s kb/s Mb/s等等,关系是100倍
存储容量:1Byte=8bit 1KB=2^10B=1024B=1024*8b(比特通常不是字节)
带宽:表示网络通信线路传输数据的能力单位是b/s,链路带看=1MB/s意味着主机在1us内部可以发送到链路1bit以此类推,传输速度保持不变
吞吐量:单位时间内通过网络或信道或接口的数据量。b/s受网络带宽和网络额定速率的限制,多个服务器的最高速率不得超过带宽。
时延:单位是从网络的一段传输到另一端所需的时间s,分为发送延迟(传输延迟)、传播延迟、排队延迟、处理延迟
发送时延=数据长度/信道带宽
传播时延=信道长度/电磁波在信道上的传播速率
排队时延=等待输入/出链路可用的时间
处理时延=检错、找出口
延迟带宽积:传播时延*带宽 单位:b 也称为以比特为单位的链路长度
往返时间RTT:从发送人发送数据到发送人收到接收人确认总经验的延迟。
RTT在收到确认之前,可以发送的数据越多
RTT包括:
-
往返传播延迟=传播时延*2
-
终端处理时间
利用率:
-
信道利用率
-
有数据通过的时间/总时间
-
-
网络利用率
-
信道利用率加权平均值
-
分层结构、协议、界面、服务
为什么要分层?
发送文件前要完成的动作:
-
启动通信的计算机必须激活数据通信的通道。
-
告诉网络如何识别目的主机。
-
启动通信的计算机应查明目的主机是否启动,并与网络正常连接。
-
发起通信的计算机要搞清楚对方计算机中的文件管理程序是否准备好了。
-
确保能够解决错误和事故。
-
...
-
因此需要分层
分层原则:
-
每层相对独立
-
每层界面自然清晰,易于理解
-
每层都采用最合适的技术来实现
-
保持下层和上层的独立性
-
分层结构应促进标准化工作
实体:n层的活动元素称为n层实体,同一层的实体称为对等实体。
协议:规则、标准或约定是为网络中等实体数据交换而建立的。(水平)
-
语法:规定数据传输格式
-
语义:规定要完成的功能
-
同步:规定各种操作顺序
接口:上层使用下层服务的入口
服务:下层为相邻上层提供功能调用。(垂直)
SDU服务数据单元:数据应该传输,以完成用户要求的功能。(上一层真正有意义的信息)
PCI协议控制信息:控制协议操作的信息。(控制信息)
PDU协议数据单元:数据单元在等级之间传输。(以上两种信息之和)
PCI SDU=PDU 紧接着PDU下一层SDU,类似金字塔的结构
OSI参考模型
OSI是7层模型,是法定标准,但是现在大家都用TCP/IP协议,理论是成功的,但是市场是失败的。
-
应用层
-
表示层
-
会话层
-
传输层
-
网络层
-
数据链路层
-
物理层
通信过程:
应用层:
面向用户的所有能和用户交互产生网络流量的程序就是应用层。
典型的应用层服务:
-
文件传输(FTP)
-
电子邮件(SMTP)
-
万维网(HTTP)
-
......
表示层:
用于处理在两个通信系统中交换信息的表示方式(语法和语义)
功能:
-
数据格式变换(翻译官)
-
数据加密/解密
-
数据压缩和恢复
协议:JPEG ASCII
会话层:
向表示层/用户进程提供简历了解并在连接上有序的传输数据。这就是会话,也被曾为建立同步(SYN)
功能:
-
建立、管理、终止会话
-
通过校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步点继续恢复通信,实现数据同步。(传输大文件)
协议:ADSP ASP
传输层:
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
功能:
-
可靠传输、不可靠传输
-
差错控制
-
流量控制
-
复用分用
复用:多个应用层进程可同时使用下面运输车的服务
分用:运输层把收到的信息分别交付给上面应用层相应的进程。
协议:UDP TCP
网络层:
主要任务是把分组从源端传送目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
功能:
-
路由选择 选择合适的路由(最佳路径)
-
流量控制 协调发送端和接收端的速度
-
差错控制
-
拥塞控制 通过一定措施缓解所有节点都来不及接收分组的状态
协议:IP IPX ICMP IGMP ARP RARP OSPF
数据链路层:
主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧。
功能:
-
成帧(定义帧的开始和结束)
-
差错控制 帧错+位错
-
流量控制
-
访问(接入)控制 控制对信道的访问
协议:SDLC HDLC PPP STP
物理层:
主要任务是在物理媒体上实现比特流的透明传输。传输单位是比特。
透明传输:指的是不敢是什么样的比特组合,都应当能够在链路上传送。
功能:
-
定义接口特性
-
定义传输模式 单工、半双工、双工
-
定义传输速率
-
比特同步
-
比特编码
协议:Rj45 802.3
TCP/IP参考模型
OSI与TCPIP参考模型的关系:
与OSI参考模型的相同点:
-
都分层
-
基于独立的协议栈的概念
-
可以实现异构网络互联
不同点:
-
OSI定义三点:服务、协议、接口
-
OSI先出现,参考模型先于协议发明,不偏向特定协议
-
TCPIP设计之初就考虑到异构网互联问题,将IP作为重要层次
面向连接分为三个阶段,第一是建立连接,在此阶段发出一个建立连接的请求,只有在连接成功建立之后,才能开始数据传输,这是第二阶段,接着当数据传输完毕,必须释放连接。
无连接没有那么多阶段,直接进行数据传输。
五层参考模型:
综合了OSI和TCPIP协议的优点,应用层支持各种网络应用(FTP SMTP HTTP),传输层负责进程-进程的数据传输(TCP UDP),网络层负责源主机到目的主机的数据分组路由与转发(IP ICMP OSPF等)数据链路层负责吧网络层传下来的数据报组装成帧,物理层负责比特传输。
封装与解封装:
物理层
基本概念
物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
物理层的主要任务:确定与传输媒体接口有关的一些特性(定义标准)
机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引脚数目、引脚数量和排列情况。
电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等。
功能特性:某调线上出现的某一电平表示某种意义,接口部件的信号线的用途。
规程特性:定义各条物理线路的工作规程和时序关系。
数据通信
通信的目的是传送消息(语音文字图像视频等)
数据data:传送信息的实体,通常是有意义的符号序列。
信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式。
数字信号:消息的参数的取值是离散的。
模拟信号:信息的参数的取值是连续的。
信源:产生和发送数据的源头。
信宿:接受数据的终点。
信道:信号的传输媒介,包含发送信道和接收信道。
按照传输信号分模拟信道和数字信道
按照传输介质分为无线信道和有线信道
三种通信方式:
单工通信:只有一个方向的通信而没有反方向的交互,仅通过一条信道。例子:广播
半双工/双向交替通信:通信双方都可以发送或接受信息但是不能通知发送或接受,需要两条信道。例子:对讲机
全双工信道/双向同时通信:通信双方可以同时发送和接受信息,也需要两条信道,例子:打电话
数据传输方式:
串行传输:将一个字符的8位二进制数按低维到高维的顺序依次发送。速度慢,费用低,适合远距离。
并行传输:将一个字符的8为二进制数同时向八条信道发送。速度快,费用高,适合近距离
同步传输:
-
在同步传输的模式下,数据的传送是以一个数据区块为单位,因此同步传输又称为区块传输。
-
在传送数据时,需先送出一个或多个同步字符,再送出整批的数据。
异步传输:
-
将比特分为 小组进行传输,小组可以使8位的一个字符或者更长。
-
发送方可以在任何时刻发送这些比特组,而接收方不知道他们会在什么时候到达。
-
传送数据时,加一个字符起始位和一个字符终止位。
码元:
-
码元是指用一个固定时长的信号波形,代表不同离散数值的基本波形是数字通信中数字信号的计量单位
-
这个时长内的信号成为k进制码元,而该时长称为码元宽度
-
码元的离散状态有几种状态就是几进制码元
-
1码元可以携带多个比特的信息量,2^n进制码元可以携带n进制信息量
速率:
-
是指数据的传输速率,表示单位时间内传输的数据量。
-
可以用码元传输速率和信息传输速率表示。
-
码元传输速率:单位时间内数字通信系统所传输的码元个数,单位是波特(Baud)1波特表示每秒传输一个码元。
-
码元速率和进制无关,之和码元长度有关R=1/T(B) T:码元长度 R:码元速率
-
信息传输速率表示单位时间内数字通信系统的二进制码元个数(比特数)单位是b/s
-
关系:若一个码元携带n bit信息量, M Baud的码元传输速率所对应的信息传输速率为M*n bit/s
带宽:
模拟信号中:输入的信号频率高或低到一定程度,使得系统的输出功率成为输入功率的一半时,最高频率和最低频率之间的差值就代表了系统的通频带宽。单位为Hz
数字设备中:表示在单位时间内从网络中的某一点到另一点所能通过的最高传输数据率/单位时间内通过链路的数量,常用来表示网络的通信线路所能传输数据的能力。单位是b/s
奈氏准则和香农定理
失真:在现实中的信道中出现的码元传输速率、信号传输距离、噪声干扰、传输媒体质量等因素可能产生为失真,分为有失真但可识别和失真大无法识别。
失真的一种现象-码间串扰:模拟信号的频率过高,接收端收到的信号波形失去了码元之间清晰界限的现象。
奈氏准则:
-
在理想低通条件下,为了避免码间串扰,极限传输速率为2WBaud W为信道带宽,单位是Hz
-
理想低通信道下极限数据传输率=2Wlog 2 V(b/s)
-
在任何信道中码元传输速率是有上限的,若传输速率超过此上限,就会出现严重的码间串扰问题,使接收单对码元的完全正确识别成为不可能。
-
信道的频带越宽,就能用更高的速率进行码元的有效传输。
-
奈氏准则给出了码元传输速率的限制,但并没有对信息传输速率给出限制
-
码元传输速率受到奈氏准则的制约,多以要提高数据的传输速率,就必须设法使每个码元能携带更多个比特的信息为,这就需要采用多元制的调制方式。
香农定理:
-
噪声存在于所有的电子设备和通信信道中。由于噪声随机产生,它的瞬时值有时会很大,
-
因此噪声会使接收端对码元的判决产生错误。但是噪声的影响是相对的,若信号较强,那么噪声影响相对较小。
-
因此,信噪比就很重要,信噪比=信号的平均功率/噪声的平均功率S/N 单位为分贝 dB
-
dB=10log 10 (S/N)
-
信道的极限数据传输速率=Wlog2 (1+S/N)(b/s) W为带宽 S/N为信噪比
-
信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高
-
对一定传输带宽和一定的信噪比,信息传输速率的上限就确定了。
-
只要信息传输独立低于信道的极限传输速率,就一定能找到某种方法来无差错的传输。
-
香农定理得出的为极限信息传输速率,实际信道能达到的传输速率要比他低不少。
-
从香农定理可以看出,若信道带宽W或信噪比S/N没有上限(不可能),那么信道的极限信息传输速率就没有上限
选用情况:
-
奈氏准则:带宽受限无噪声条件下,避免码间串扰
-
香浓定理:带宽受限有噪声条件下的信息传输速率
编码与调制
信道上传送的信号:
基带信号:
-
将数字信号1和0直接用两种不同的电压表示,再送到数字信道上去传输。
-
来自信源的信号,像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。
-
基带信号就是发出的直接表达了要传输信息的信号,比如我们说话的声波。
宽带信号:
-
将基带信号进行调制后形成的频分复用模拟信号,再传送到模拟信道上去传输。
-
把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
应用:
-
在传输距离较近的时候使用基带传输的方式(近距离衰减小,从而信号内容不易发生变化)
-
在传输距离较远时采用宽带传输方式(远距离衰减大,即使信号变化大也能最后过滤出来基带信号)
编码与调制的过程:
数字数据编码分为数字信号:
编码方式有下面六种:
4B/5B编码,编码效率80%
数字数据调制为模拟信号:
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应于调制解调器的调制和解调过程。
模拟信号编码为数字信号:
-
计算机内部处理的是二进制数据,处理的都是数字音频,所以需要将模拟音频通过采样、量化转换成有限个数字表示的离散序列(即实现音频数字化)
-
最典型的例子就是对音频信号进行编码的脉码调制(PCM),在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。它主要包括三步:抽样、量化、编码。
-
抽样:对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号。f采样频率 >= 信号最高频率
-
量化:把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值,并取整数,这就把连续的电平幅值转换为离散的数字量。
-
编码:把量化的结果转换为与之对应的二进制编码。
模拟数据调制为模拟信号:
-
为了实现传输的有效性,可能需要较高的频率。
-
这种调制方式还可以使用频分复用技术,充分利用带宽资源。
-
在电话机和本地交换机所传输的信号是采用模拟信号传输模拟数据的方式;
-
模拟的声音数据是加载到模拟的载波信号中传输的。
数据交换方式
为什么要数据交换:通过某些交换中心将数据进行集中和传送,传输线路为各个用户公用,从而大大节省通信下路,降低系统费用。
数据交换方式:
-
电路交换
-
报文交换(存储转发交换方式)
-
分组交换(存储转发交换方式)
-
数据报方式
-
虚电路方式
-
电路交换:
报文交换:
分组交换:
数据交换的选择:
-
传输数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小。
-
当端到端的通路有许多段的链路组成时候,采用分组交换传送数据较为合适。
-
从信道利用率来看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间突发式的数据通信。
分组交换之数据报方式:
特点:
-
数据报方式为网络层提供无连接服务。发送方可以随时发送分组,网络中的节点可随时接收分组。
-
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
-
-
统一报文的不同分组到达目的节点时可能出现乱序、重复和丢失
-
每个分组在传输过程中都必须携带源地址和目的地址,以及分组号。
-
分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
-
网络具有冗余路径,当某一-交换结 点或一段链 路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强,适用于突发性通信,不适于长报文、会话式通信。
分组交换之虚电路方式:
特点:
-
虚电路方式为网络层提供连接服务。源节点和目的节点之间建立一个逻辑连接,而非物理连接。
-
连接服务:首先为分组的传输确定传输路径,然后沿着路径传输系列分组,系列分组传输路径相同,传输结束后拆除连接
-
-
一次通信的所有分组都通过虚电路顺序传送,分组不需要携带源地址,地址等信息,包含虚电路号,相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
-
分组通过虚电路.上的每个节点时,节点只进行差错检测,不需进行路由选择。
-
每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对两个数据端点的流量进行控制,两个端系统之间也可以有多条虚电路为不同的进程服务。
-
致命弱点:当网络中的某个结点或某条链路出故障而彻底失效时,则所有经过该结点或该链路的虚电路将遭到破坏
虚电路和数据报的区别:
物理传输介质
介绍:
-
传输介质也被称为传输媒体,是数据传输系统中在发送设备和接收设备之间的物理通路。
-
传输层不是物理层,在物理层的下面,有时候也被称为第0层。
-
物理层规定了电气特性,因此能够识别传送的比特流。
分类:
-
导向型传输介质,电磁波被导向沿着固体媒介(铜线/光纤)传播
-
非导向性传输介质,自由空间,介质可以是真空、空气、海水等。
双绞线:
同轴电缆:
光纤:
定义 | 光源 | 特点 | |
---|---|---|---|
单模光纤 | 一种在横向模式直接传输光信号的光纤 | 定向性很好的激光二极管 | 损耗小,适合长距离出书 |
多模光纤 | 有多重传输光信号模式的光纤 | 发光二极管 | 易失真,适合短距离传输 |
特点:
-
传输损耗小,中继距离长,对远距离传输特别经济
-
抗雷电和电磁干扰性能好
-
无串音干扰,保密性好,不易被窃听或截取数据
-
体积小,重量轻
非导向行的传输介质:
无线电波:向所有方向传播,较强穿透能力,可传远距离,广泛用于通信领域(如手机通信)
微波:信号固定方向传播,微波通信频率较高频段范围宽,数据率高,分为地面微波接力通信和卫星通信
红外线、激光:信号固定方向传播,把要传输的信号分别转换为各自的信号格式,即红外光信号和激光信号,再到空间中传播
物理层设备
中继器:
-
由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。
-
中继器对信号进行再生和还原,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,延长网络的长度。
-
中继器的两端:
-
两端的网络部分是网段,而不是子网,适用于完全相同的两类网络的互连,且两个网段速率要相同。
-
中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管数据中是否有错误数据或不适于网段的数据。
-
两端可连相同媒体,也可连不同媒体。
-
中继器两端的网段一定要是同一个协议。
-
-
5-4-3规则:
-
网络标准中都对信号的延迟范围作了具体的规定,因而中继器只能在规定的范围内进行,否则会网络故障。
-
最多五个网段,只能有四个网络设备(可以是中继器、集线器等),只有三个段中可以挂载计算机
-
集线器:
-
也被称为多口中继器,星型拓扑设备。
-
对信号进行再生放大转发,对衰减的信号进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。不具备信号的定向传送能力,是一个共享式设备。
-
不能分割冲突域,连载集线器上的工作设备平分带宽。
数据链路层
功能概述
结点:主机、路由器
链路:网络中两个结点之间的物理通道
数据链路:网络中两个结点之间的逻辑通道
帧:链路层的协议数据单元,封装网络层数据报
负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。(搬运工)
功能:
-
为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务(有连接一定有确认)
-
链路管理,即连接的建立、维持、释放(用于面向连接的服务)
-
组帧
-
流量控制
-
差错控制(帧错/位错)
封装成帧和透明传输
封装成帧:
-
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就形成了一个帧。
-
接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
-
首部和尾部包含许多控制信息,他们的一个重要作用:帧定界(确定帧的界限)
-
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
-
组帧的四种方法:1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法
透明传输:
-
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
-
因此,链路层就“看不见”有什么妨碍数据传输的东西。
-
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
字符计数法:
字符填充法:
ESC就是一个转义字符
零比特填充法:
违规编码法:
差错控制(检错编码)
差错的来源:
概括来说,传输中的差错都是由于噪声引起的,分为全局性和局部性噪音。
全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
局部性:外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术来解决。
差错的分类:
-
位错 比特位出错,1变0,0变1
-
帧错
-
失去
-
重复
-
失序
-
位错的差错控制:
-
检错编码
-
奇偶校验码
-
奇校验 1的个数为奇数
-
偶校验 1的个数为偶数
-
-
CRC循环冗余码
-
FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
-
-
纠错编码
-
海明校验码
-
差错控制(纠错编码)
海明距离:两个合法编码(码字)的对应比特取值不同的比特数称为这两个码字的海明距离(码距),一个有效编码集中,任意两个合法编码(码字)的海明距离的最小值称为该编码集的海明距离(码距)。
海明校验过程:
-
确定校验码位数r
-
数据/信息有m位,冗余码/校验码有r位
-
校验码一共有2^r种取值
-
2^r >= m+r+1(海明不等式)
-
-
确定校验码和数据的位置
-
求出校验码的值
-
检错并纠错
流量控制与可靠传输机制
流量控制:
-
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
-
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的
-
数据链路层流量控制手段:接收方收不下就不回复确认。
-
传输层流量控制手段:接收端给发送端一个窗口公告
流量控制的方法:
-
停止等待协议,每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。(效率低)发送窗口大小=1 接受窗口大小=1
-
滑动窗口协议
-
后退N帧协议(GBN)发送窗口大小>1 接受窗口大小=1
-
选择重传协议(SR)发送窗口大小>1 接受窗口大小>1
-
可靠传输:发送端发啥,接收端收啥
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。
滑动窗口解决:流量控制(收不下就不给确认,想发也发不了) 可靠传输(发送方自动重传)
停止-等待协议
为什么要有停止等待协议?
除了比特位发生差错,底层信道会发生丢包问题,为了实现流量控制。
丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。
研究停等协议的前提?
虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
“停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
无差错情况:
每发送1个数据帧就停止并等待,因此用1bit来编号就够了
ACK:确认帧
数据帧丢失或检测到帧出错:
-
发完一个帧后,必须保留他的副本
-
数据帧和确定帧必须编号
ACK丢失:
ACK迟到:
性能分析:
简单但是信道利用率太低
信道利用率:
发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
信道吞吐率=信道利用率*发送方的发送速率
后退N帧协议(GBN)
GBN发送方必须响应的三件事:
-
上层的调用
-
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。
-
-
收到了一个ACK
-
GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。
-
-
超时事件
-
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
-
GBN接收方要做的事情:
-
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
-
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)。
运行中的GBN:
滑动窗口长度:
若采用n个比特对帧编号,那么发送窗口的尺寸WT应满足:1≤WT≤2n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
重点总结:
-
累积确认(偶尔捎带确认)
-
接收方只按顺序接收帧,不按序则抛弃
-
确认序列号最大的、按序到达的帧
-
发送窗口最大为(2^n)-1,接收窗口大小为1
性能分析:
-
优点:因连续发送数据帧而提高了信道利用率
-
缺点:在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
选择重传协议(SR)
解决办法GBN的缺点:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。
解决办法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。
选择重传协议中的滑动窗口:
SR发送方必须响应的三件事:
-
上层的调用
-
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
-
-
收到了一个ACK
-
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
-
-
超时事件
-
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
-
SR接收方要做的事:
-
SR接收方将确认一个正确接收的帧而不管其是否按序。
-
失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口
-
如果收到了窗口序号为(小于窗口下届)的帧,就返回一个ACK,其他情况就忽略该帧
运行中的SR:
滑动窗口长度:
-
发送窗口最好等于接收窗口。(大了会溢出无法判断是重传的还是开始的帧,小了没意义)
-
W发送窗口=W接受窗口=2^(n-1)
SR协议重点总结:
-
对数据帧逐一确认,收一个确认一个
-
只重传出错帧
-
接收方有缓存
-
W发送窗口=W接受窗口=2^(n-1)
信道划分介质访问控制
传输数据使用的两种链路:
点对点链路:
两个相邻节点通过一个链路相连,没有第三者。应用:PPP协议,常用于广域网
广播式链路:
所有主机共享通信介质,应用:早期的总线以太网、无线局域网,常用于局域网 典型拓扑结构:总线型、星型(逻辑总线型)
介质访问控制:
采取一定的措施,使得两对节点之间的通信不会发生相互干扰的情况。
-
静态划分信道,信道划分介质访问控制
-
频分多路复用 FDM
-
时分多路复用 TDM
-
波分多路复用 WDM
-
码分多路复用 CDM
-
-
动态分配信道
-
轮询访问介质
-
令牌传递协议
-
-
随机访问介质访问控制
-
ALOHA协议
-
CSMA协议
-
CSMA/CD协议
-
CSMA/CA协议
-
-
信道划分介质访问控制:
将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开。把时域和频域资源合理地分配给网络上的设备。
多路复用技术:
-
把多个信号组合在一条物理信道上进行传输,是的多个信号机或终端设备共享信道资源,提高信道利用率。
-
把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。
频分多路复用FDM:
-
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
-
频分复用的所有用户在同样的时间占用不同的带宽资源。
-
充分利用传输介质带宽,系统效率较高,由于技术比较成熟,实现也比较容易。
-
类似于并行。
时分多路复用TDM:
-
将时间划分为一段段等长的时分复用帧。
-
每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
-
类似于并发。
改进的时分复用——统计时分复用STDM:
波分多路复用VDM:
-
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长的光信号
-
由于波长不同,所以各路光纤互不干扰,最后再用波长分解复用器将各路波长分解出来。
码分多路复用CDM:
CDMA:码分多址是码分复用的一种方式
1个比特分为多个码片/芯片,每一个站点被指定一个唯一的m位的芯片序列,发送1时发送芯片序列(通常把0写成-1)
过程:
-
多个站点同时发送数据的时候,要求各个站点芯片序列相互正交,规格化内积为0
-
两个向量到了公共信道上,线性相加
-
数据分离:合并的数据和源站规格化内积。
ALOHA协议
动态媒体接入控制/多点加入特点:信道并非在用户通信时固定分配给用户。
随机访问介质访问控制:所有用户可随机发送信息,发送信息时占全部带宽,会产生不协调产生的冲突。
纯ALOHA协议:
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发
冲突如何检测:如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
冲突如何解决:超时后等一随机时间再重传。
时隙ALOHA协议:
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。控制想发就发的随意性。
总结:
-
纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
-
纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。
CSMA协议
全名:载波监听多路访问协议CSMA(carrier sense multiple access)
CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
监听结果:
-
信道空闲:发送完整帧
-
信道忙:推迟发送
1-坚持CSMA:
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:
-
如果一个主机要发送消息,那么它先监听信道。
-
空闲则直接传输,不必等待。
-
忙则一直监听,直到空闲马上传输。
-
如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
非坚持CSMA:
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:
-
如果一个主机要发送消息,那么它先监听信道。
-
空闲则直接传输,不必等待。
-
忙则等待一个随机的时间之后再进行监听。
优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
p-坚持CSMA:
p-坚持指的是对于监听信道空闲的处理。
p-坚持CSMA思想:
-
如果一个主机要发送消息,那么它先监听信道。
-
空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
-
忙则持续监听直到信道空闲再以p概率发送。
-
若冲突则等到下一个时间槽开始再监听并重复上述过程。
优点:
-
既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
-
但是,发生冲突后还是要坚持把数据帧发送完,造成了浪费。
-
所以,发明了CSMA/CD协议,可以减少资源浪费,一冲突就能发现。
三种CSMA对比总结:
CSMA/CD协议
全名:载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection)
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。运用于总线型网络。
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。运用于半双工网络
为什么还会出现冲突——传播时延对载波监听的影响:
重传时机:
-
确定基本退避(推迟)时间为争用期2𝜏。
-
定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
-
从离散的整数集合[0, 1, , 2k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2r 𝜏 。
-
当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
例如:
-
第一次重传,k=1,r从{0,1}选;
-
重传推迟时间为0或2𝜏,在这两个时间中随机选一个;
-
若再次碰撞,则在第二次重传时,k=2,r从{0,1,2,3}选;
-
重传推迟时间为0或2𝜏或4𝜏或6𝜏,在这四个时间中随机选一个;
-
若再次碰撞,则第三次重传时,k=3,r从{0,1,2,3,4,5,6,7}选……
总结:
-
若连续多次发生冲突,就表明可能有较多的站参与争用信道。
-
使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。
最小帧长问题:
-
如果发送了一个很短的帧但是发生了碰撞,但是在发送完毕才检测到了碰撞,无法停止发送,因此衍生出最小帧长。
-
帧的传输时延至少要两倍于信号在总线中的传播时延。
-
帧长(bit)/数据传输速率>=2 𝜏
-
最小帧长=总线传播时延x 数据传输速率x 2 (2𝜏 x 数据传输速率)
-
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧。
CDMA/CA协议
全名:载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)
运用场景:
CD协议:总线式以太网
CA协议:无限局域网(无法做到360°全面检测碰撞,当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突(隐蔽站))
工作原理:
-
发送数据前,先检测信道是否空闲。
-
空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
-
接收端收到RTS后,将响应CTS(clear to send)。(解决隐蔽站的问题)
-
发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
-
接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
-
发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
三个手段:
-
预约信道
-
ACK帧
-
RTS/CTS帧(可选)
CSMA/CD与CSMA/CA:
相同点:
-
CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。
-
换言之,两个在接入信道之前都须要进行监听。
-
当发现信道空闲后,才能进行接入。
不同点:
-
传输介质不同:CSMA/CD 用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】。
-
载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
-
CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。
轮询访问介质访问控制
信道划分介质访问控制(MAC Multiple Access Control )协议:
-
基于多路复用技术划分资源。
-
网络负载重:共享信道效率高,且公平
-
网络负载轻:共享信道效率低
随机访问MAC协议:(会发生冲突)
-
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
-
网络负载重:产生冲突开销
-
网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
轮询访问MAC协议/轮流协议/轮转访问MAC协议:
既要不产生冲突,又要发送时占全部带宽。
-
轮询协议
-
令牌传递协议
轮训协议:
主结点轮流“邀请”从属结点发送数据。
问题:
-
轮询开销
-
等待延迟
-
单点故障
令牌传递协议:
-
令牌:一个特殊格式的MAC控制帧,不含任何信息。
-
控制信道的使用,确保同一时刻只有一个结点独占信道。
-
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
-
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。
-
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
问题:
-
令牌开销
-
等待延迟
-
单点故障
局域网基本概念和体系结构
局域网:
-
简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
-
特点1:覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
-
特点2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)。
-
特点3:通信延迟时间短,误码率低,可靠性较高。
-
特点4:各站为平等关系,共享传输信道。
-
特点5:多采用分布式控制和广播式通信,能进行广播和组播。
-
决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。
局域网拓扑结构:
<