计算机网络笔记(含王道计算机考研课件)
时间:2023-02-22 05:00:00
计算机网络
本博客以B站为基础 王道考研-计算机网络视频整理。视频链接:https://b23.tv/ONpuaE
视频中使用的PPT资源:链接:https://pan.baidu.com/s/1lH3m2j_HIqO8lPfCD8ZJ-A 提取码:w11a
如果这篇文章对你有帮助,别忘了一键三连。
1.概述
1.1概念
含义
计算机网络:它是一个分散的计算机系统。通过独立功能的计算机系统通信设备和线路连接起来,功能完善软件实现资源共享和信息传递的系统。
简单来说,计算机网络是互联的,自主的计算机集合。
功能
- 数据通信(连通性)
- 资源共享
- 分布式处理
- 提高可靠性
- 负载均衡
组成
- 组成部分: 硬件、软件、协议
- 工作方式
- 边缘部分 直接使用用户(C/S服务端客户端方式,P2P方式——PeertoPeer,不太理解)
- 核心部分 服务于边缘部分
- 功能组成
- 通信子网 实现数据通信
- 资源子网 实现资源共享/数据处理
分类
1.2性能指标
速率
速率是数据率或数据传输率或比特率(bit)。将数据从主机传输到信道的速度。
- 一般简写为小写字母b字节简写为大写字母B”。
注意
带宽
在计算机网络中,带宽用于表示网络通信线路传输数据的能力,通常是指单位时间内从网络中的某一点到另一点可以通过的最高数据率。单位是比特每秒,b/s,kb/s,Mb/s,Gb/s。
以豌豆射手为例,假设1b/s指每秒发出一枚炮弹,那2b/s每秒发出两枚炮弹,但炮弹飞行速度不变。
吞吐量
表示单位时间内通过某个网络(或信道、接口)的数据量。b/s,kb/s,Mb/s等。
吞吐量受网络带宽或网络额定速率的限制。
以公园为例,假设公园每秒最多进入100人(带宽),但现在只有30人进入公园,所以吞吐量是30人/s.
时延
指数据(报文/分组/比特流)从网络(或链路)一端传输到另一端所需的时间。也叫延迟或延迟。s。
排队延迟和处理延迟类似于火车站排队时的场景。排队时间为排队延迟,安检时间为处理时间。
时延带宽积
时延带宽积=传播时延 X 带宽
延迟带宽积也称为以比特为单位的链路长度。现在有多少比特链路?”。
往返时延RTT
从发送人发送数据到发送人收到接收人的确认(接收人收到数据后立即发送确认),总共经历了延迟。
RTT = 往返传播延迟(传播延迟)*2) 终端处理延迟(基本忽略)
利用率
1.3分层结构
分层的基本原则
- 各层相互独立,每层只实现相对独立的功能。
- 界面自然清晰,易于理解,相互交流尽可能少。
- 结构可分割。每层都采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应能促进标准化。
分层结构中的概念
1.实体:n层中的活性元素称为n层实体。同一层的实体称为对等实体。
2.协议:在网络中进行对等实体由数据交换建立的规则、标准或协议称为网络协议。
- 语法:规定数据传输格式
- 语义:规定要完成的功能
- 同步:规定各种操作顺序
3.接口(访问服务点)SAP) :上层采用下层服务入口。
4.服务:下层为相邻上层提供的功能调用。【垂直】
上一层的PDU变成下一层的SDU。
1.4 OSI参考模型
- 五层参考模型是为了方便学习而划分的,其实并没有这个模型。
- 使用OSI通信过程中的模型
- 接下来,我们将介绍每层的作用
- 应用层
可以与用户互动产生网络流量的程序。QQ,浏览器等
典型的应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
- 表示层
用于处理在两个通信系统中交换信息的表达(语法和语义)
功能:
- 数据格式变换(翻译)
- 数据加密解密
- 压缩和恢复数据
- 会话层
为表示层实体/用户流程提供建立连接,并在连接上有序传输数据。这是对话,也是同步(SYN)。
功能:
- 建立、管理和终止会话
- 使用验证点可以使会话在通信失效时继续从验证点/同步点恢复通信,实现数据同步。适用于大文件的传输。
- 传输层
负责主机中两个过程的通信,即端到端通信。传输单位为报文段或用户数据报告。
功能:
- 可靠传输,不可靠传输(一般用于小文件)
- 错误控制(用于处理传输过程中的错误)
- 流量控制(当两台主机处理数据的速度不匹配时,会控制速度过快的主机)
- 复用分用
- 复用:下面的运输层服务可以同时用于多个应用层过程。
- 分用:运输层将收到的信息分别交付给上述应用层的相应过程。
- 网络层
主要任务是把握分组从源端到目的端,为网上不同主机的分组交换提供通信服务。
网络层传输单位是数据报告。切割数据报告后,将其分组。
功能:
- 路由选择(选择最合适的路由传递数据)
- 流量控制
- 差错控制
- 拥塞控制(如果所有结点都没有时间接受分组,而且大量分组被丢弃,网络就会处于拥塞状态。因此,应采取一定的措施来缓解这种拥塞。
- 数据链路层
主要任务是将网络层传输的数据报组装成帧。
数据链路层/链路层的传输单元是帧。
功能:
- 成帧(定义帧的开始和结束)
- 差错控制
- 流量控制
- 访问控制(访问控制)
- 物理层
主要任务是在物理媒体上实现比特流的透明传输。
物理层传输单位是比特。
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
功能:
- 定义接口特性
- 定义传输模式
- 单工 接受方和发送方已经确定,不能更改
- 半双工 介于两者之间。同一时间段内,只能有一个接受方或发送方,但是身份可以调换。
- 双工 可以同时当做接收方和发送方,类似于打电话
- 定义传输速率
- 比特同步
- 比特编码
1.5 TCP/IP模型
2.物理层
2.1物理层概念
物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
物理层主要任务 : 确定与传输媒体接口有关的一些特性(即定义标准)
物理层的几个特性
- 机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况。
- 电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等。
- 功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途。
- 规程特性(过程特性):定义各条物理线路的工作规程和时序关系。
2.2数据通信基础知识
数据通信模型
- 调制解调器就是路由器
相关术语
- 通信的目的是传送消息(消息:语音、文字、图像、视频等)。
- 数据data:传送信息的实体,通常是有意义的符号序列。
- 信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式。
- 信源:产生和发送数据的源头。
- 信宿:接收数据的终点。
- 信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。
数据通信的方式
- 单工通信:只有一个方向的通信而没有反方向的交互,仅需要一条信道。(广播)
- 半双工通信:通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接收,需要两条信道。(对讲机)
- 全双工通信:通信双方可以同时发送和接受信息,也需要两条信道。(打电话)
串行传输&并行传输
串行传输:将表示一个字符的8位二进制数按由低位到高位的顺序依次发送。
特点:速度慢,费用低,适合远距离
并行传输:将表示一个字符的8位二进制数同时通过8条信道发送。、
特点:速度快,费用高,适合近距离。
2.3 码元,速率,波特
码元
码元是指用一个固定时长的信号波形(数字脉冲),代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元,而该时长称为码元宽度。当码元的离散状态有M个时(M大于2),此时码元为M进制码元。
1码元可以携带多个比特的信息量。例如,在使用二进制编码时,只有两种不同的码元,一种代表0状态,另一种代表1状态。
例如:K进制码元——4进制码元——>码元的离散状态有4个——>4种高低不同的信号波形 00、01、10、11(四种不同的电平),这时一个码元携带两个比特的信息量。
速率
速率也叫数据率,是指数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率表示。
-
码元传输速率:别名码元速率、波形速率、调制速率、符号速率等,它表示单位时间内数字通信系统所传输的码元个数(也可称为脉冲个数或信号变化的次数),单位是波特(Baud)。1波特表示数字通信系统每秒传输一个码元。
-
信息传输速率:别名信息速率、比特率等,表示单位时间内数字通信系统传输的二进制码元个数(即比特数),单位是比特/秒(b/s )
-
关系:若一个码元携带n bit的信息量,则M Baud的码元传输速率所对应的信息传输速率为M×n bit/s。
2.4 奈氏准则,香农定理
失真
影响失真程度的因素: 1.码元传输速率 ⒉信号传输距离 3.噪声干扰﹐4.传输媒体质量
码间串扰
码间串扰:接收端收到的信号波形失去了码元之间清晰界限的现象。
奈氏准则
奈氏准则:在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为2W Baud,W是信道带宽,单位是Hz。
注意:只有在这两个公式这带宽才用Hz! !
- 在任何信道中,码元传输的速率是有上限的。若传输速率超过此上限,就会出现严重的码间串扰问题,使接收端对码元的完全正确识别成为不可能。
- 信道的频带越宽(即能通过的信号高频分量越多),就可以用更高的速率进行码元的有效传输。
- 奈氏准则给出了码元传输速率的限制,但并没有对信息传输速率给出限制。
- 由于码元的传输速率受奈氏准则的制约,所以要提高数据的传输速率,就必须设法使每个码元能携带更多个比特的信息量,这就需要采用多元制的调制方法。
香农定理
噪声存在于所有的电子设备和通信信道中。由于噪声随机产生,它的瞬时值有时会很大,因此噪声会使接收端对码元的判决产生错误。但是噪声的影响是相对的,若信号较强,那么噪声影响相对较小。因此,信噪比就很重要**。信噪比=信号的平均功率/噪声的平均功率,常记为S/N,并用分贝(dB)作为度量单位**,即:
香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值。
- 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
- 对一定的传输带宽和一定的信噪比,信息传输速率的上限就确定了。
- 只要信息的传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输。
- 香农定理得出的为极限信息传输速率,实际信道能达到的传输速率要比它低不少。
- 从香农定理可以看出,若信道带宽W或信噪比S/N没有上限(不可能),那么信道的极限信息传输速率也就没有上限。
两者对比
2.5编码和调制
1.基带信号与宽带信号
基带信号:将数字信号1和0直接用两种不同的电压表示,再送到数字信道上去传输(基带传输)。
宽带信号:将基带信号进行调制后形成的频分复用模拟信号,再传送到模拟信道上去传输(宽带传输)。
在传输距离较近时,计算机网络采用基带传输方式(近距离衰减小,从而信号内容不易发生变化)
在传输距离较远时,计算机网络采用宽带传输方式(远距离衰减大,即使信号变化大也能最后过滤出来基带信号)
2.编码和调制
3.数字数据编码为数字信号
非归零编码
高1低0
曼彻斯特编码
将一个码元分成两个相等的间隔,前一个间隔为低电平后一个间隔为高电平表示码元1;码元o则正好相反。也可以采用相反的规定。
每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
差分曼彻斯特编码
常用于局域网传输,其规则是:若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同,若为0,则相反。
该编码的特点是,在每个码元的中间,都有一次电平的跳转,可以实现自同步,且抗干扰性强于曼彻斯特编码。
4.数字数据调制为模拟信号
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应于调制解调器的调制和解调过程。
2.6 物理层传输介质
传输介质也称传输媒体/传输媒介,它就是数据传输系统中在发送设备和接收设备之间的物理通路。
传输媒体并不是物理层。
传输媒体在物理层的下面,因为物理层是体系结构的第一层,因此有时称传输媒体为0层。在传输媒体中传输的是信号,但传输媒体并不知道所传输的信号代表什么意思。但物理层规定了电气特性,因此能够识别所传送的比特流。
2.7 物理层设备
1.中继器
诞生原因:由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。
中继器的功能:对信号进行再生和还原,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,延长网络的长度。
中继器的两端: 两端的网络部分是网段,而不是子网,适用于完全相同的两类网络的互连,且两个网段速率要相同。(后面会讲解网段,子网的相关内容)
- 中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管数据中是否有错误数据或不适于网段的数据。
- 两端可连相同媒体,也可连不同媒体。
- 中继器两端的网段一定要是同一个协议。(中继器不会存储转发,傻)
2.集线器(多口中继器)
集线器的功能:对信号进行再生放大转发,对衰减的信号进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。不具备信号的定向传送能力,是一个共享式设备。
3.数据链路层
3.1 功能概述
一些基本概念
- 结点:主机、路由器
- 链路﹔网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
- 数据链路︰网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路
- 帧:链路层的协议数据单元,封装网络层数据报。
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送帧。
功能概述
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络
层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网
络层表现为一条无差错的链路。
漫画解释
功能
- 为网络层提供服务。(无确认无连接服务,有确认无连接服务,有确认面向连接服务。)
- 链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
- 组帧。
- 流量控制。
- 差错控制(帧错/位错)。
3.2 封装成帧&透明传输
-
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
-
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
-
组帧的四种方法: 1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
下面来介绍这几种方法。
1.字符计数法
- 帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
- 这样做有一个很大的缺陷,就是第一个数错误的话,剩下的就全部错误了。因此不经常使用。
2.字符填充法
- 联想java中的转义字符。
3.零比特填充法
操作:
1.在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0。
⒉.在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。
保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
4.违规编码法
可以用“高-高”,“低-低”来定界帧的起始和终止。
由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。
3.3 差错控制(检错编码)
1.差错从哪来
概括来说,传输中的差错都是由于噪声引起的。
全局性:1.由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
局部性⒉.外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术来解决。
- 差错种类
2.差错控制(位错)
冗余编码
在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
奇偶校验码
- 注意:“1”的个数包括检验元
CRC循环校验码
-
接收端如何检错
把收到的每一个帧都除以同样的除数,然后检查得到的余数R。1.余数为0,判定这个帧没有差错,接受。
2.余数为不为0,判定这个帧有差错(无法确定到位),丢弃。FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
3.4 差错控制(纠错编码——海明码)
- 海明码:发现双比特错,纠正单比特错。
1.确定校验码的位数r
2.确定校验码和数据的位置
- 校验码放在2的几次方的位置,如20,21,2^2…
3.求出校验码的值
- 首先写出数据位对应的二进制,二进制位数由数据位最后一位(在下面的例子中为10)确定。所以是4位。
- P1的值是所有二进制最后一位为1的实际值异或为0。 如何解释?
二进制最后一位为1的有 P1,D1,D2,D4,D5。 对他们代表的实际值进行异或。P1设为x
x⊕1⊕0⊕1⊕0=0 所以 x=0 即P1=0。
4.检错并纠错
对所有要校验的位进行异或运算。
eg:对第一位进行异或运算。
P1⊕D1⊕D2⊕D4⊕D5=1。
其他位一样。按从高到低的顺序进行排序。 为 0101=5。 所以判定第五位是错的。纠错即可。
3.5 流量控制和可靠传输机制
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层和传输层流量控制的区别
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
流量控制的方法
- 三者的区别
- 可靠传输,流量控制,滑动窗口
3.6 停止——等待协议
- 下面来介绍一下停等协议的几种应用情况
1.无差错情况
2.数据帧丢失或者帧出错
3.ACK(确认帧)丢失
4.ACK迟到
5.信道利用率
3.7 后退N帧协议(GBN)
1.图解
2.GBK发送方必须响应的三件事
- 上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。 - 收到了一个ACK
GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。 - 超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
3.GBN接收方要做的事
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK(如图所示)。接收方无需缓存任何失序帧,只需要维护一个信息: expectedseqnum(下一个按序接收的帧序号)。
4.滑动窗口的长度
若采用n个比特对帧编号,那么发送窗口的尺寸 w 应满足:1≤w≤2^n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
5.性能分析
优点:因连续发送数据帧而提高了信道利用率。
缺点:在重传时必须把原来已经正确传送的数据帧重传,使传送效率降低。
选择重传协议可以解决这个问题。
3.8 选择重传协议(SR)
那么如何解决后退N帧协议的缺点呢?
解决办法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。
1.滑动窗口
2.SR发送方必须响应的三件事
-
上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。 -
收到了一个ACK
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。 -
超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
3.SR接收方要做的事
4.滑动窗口长度
3.9 信道划分介质访问控制
1.传输数据用到的两种链路
- 点对点链路 : 两个相邻节点通过一个链路相连,没有第三者。应用:PPP协议,常用于广域网。
- 广播式链路 : 所有主机共享通信介质。应用:早期的总线以太网、无线局域网,常用于局域网。典型拓扑结构:总线型、星型(逻辑总线型)
2.介质访问控制
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
3.信道划分介质访问控制
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
- 下面来介绍几种多路复用技术。
4.频分多路复用 FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
优点:充分利用传输介质带宽,系统效率较高 ; 由于技术比较成熟,实现也比较容易。
5.时分多路复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
这样做有一个弊端,就是当ABC都不传输数据的时候,D仍然要等待,不能直接传输。信道利用率只有1/4.
5. 改进时分复用——统计时分复用STDM
- ABCD中任何一个想传输数据时,直接发送即可。不用等到自己的时间段,信道利用率大大提高。
6.波分多路复用WDM
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
7.码分多路复用(CDMA)
- 码分多址(CDMA)是码分复用的一种方式。
- 1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列。发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)。
- 如何不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。
- 如何合并:各路数据在信道中被线性相加。
- 如何分离:合并的数据和源站规格化内积。
这个部分比较难理解,建议结合书和视频多看几遍。
接下来会将 随机访问介质访问控制 中的几种协议。
3.10 ALOHA 协议
- ALOHA协议分为两种,纯ALOHA协议和时隙ALOHA协议。接下来分别介绍他们。
1.纯ALOHA协议
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发
2.时隙ALOHA协议
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。 控制想发就发的随意性
3.11 CSMA协议
CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
如何检测?
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。
MA : 多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
1. 1—坚持CSMA
-
坚持指的是对于监听信道忙之后的坚持。
-
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则一直监听,直到空闲马上传输。 -
如果有冲突(一段时间内未收到肯定回复〉,则等待一个随机长的时间再监听,重复上述过程。
-
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
-
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
2.非坚持CSMA
- 非坚持指的是对于监听信道忙之后就不继续监听。
- 非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则等待一个随机的时间之后再进行监听。 - 优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
- 缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
3.P—坚持CSMA
- p-坚持指的是对于监听信道空闲的处理。
- p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。忙则等待一个随机的时间之后再进行监听。 - 优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
- 发生冲突后还是要坚持把数据帧发送完,造成了浪费。
4. 对比总结
3.12 CSMA/CD协议
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。(总线型网络)
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。 (半双工网络)
问:监听之后为啥还会发生冲突呢?
答:因为电磁波在总线上总是以有限的速率传播的。
问:最迟多久才能知道自己发送的数据没和别人碰撞?
答:最多是两倍的总线端到端的传播时延(2T)
总线的端到端往返传播时延只要经过2z时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞。
问:如何确定碰撞后的重传时机?
答:
若连续多次发生冲突,就表明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。
最小帧长问题
如果帧的长度太小,可能在站点停止传送之前,就已经传送完了。因此需要确定一个最小帧长。
3.13 CSMA/CA协议
CSMA/CA主要用于无线局域网。CSMA/CD主要用于有线局域网。
工作原理
- 发送数据前,先检测信道是否空闲。
- 空闲则发出RTS (request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;
- 信道忙则等待。
- 接收端收到RTS后,将响应CTS (clear to send )。
- 发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
- 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
CSMA/CA 和 CSMA/CD 对比
3.14 轮训访问介质控制访问
- 优点: 既要不产生冲突,又要发送时占全部带宽。
1.轮训协议
2.令牌传递协议
以下几节的内容都不是重点,了解即可。
3.15 局域网基本概念和体系结构
局域网(Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
-
特点1:覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
-
特点2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)
-
特点3:通信延迟时间短,误码率低,可靠性较高。
-
特点4:各站为平等关系,共享传输信道。
-
特点5:多采用分布式控制和广播式通信,能进行广播和组播。
决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。
1.拓扑结构
2.传输介质
3.介质访问控制方法
4.MAC子层和LLC子层
3.16 以太网
1.概述
2. 提供无连接,不可靠的服务
- 无连接:发送方和接收方之间无“握手过程”。
- 不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责
- 以太网只实现无差错接收,不实现可靠传输。
3. 10BASE—T以太网
4. 适配器与MAC地址
- 计算机与外界有局域网的连接是通过通信适配器的。
5. MAC帧
3.17 PPP协议和HDLC协议
在介绍这两个协议之前,先了解一下广域网。
1.广域网
广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。
局域网强调信息传递,广域网强调资源共享。
2.PPP协议
特点
点对点协议PPP (Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。
只支持全双工链路。
满足的要求
- 简单 对于链路层的帧,无需纠错,无需序号,无需流量控制。
- 封装成帧 帧定界符
- 透明传输 与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。
- 多种网络层协议 封装的IP数据报可以采用多种协议。
- 多种类型链路 串行/并行,同步/异步,电/光…
- 差错检测 错就丢弃。
- 检测连接状态 链路是否正常工作。
- 最大传送单元 数据部分最大长度MTU。
- 网络层地址协商 知道通信双方的网络层地址。
- 数据压缩协商
无需满足的要求
- 纠错
- 流量控制
- 序号
- 不支持多点线路
组成部分
PPP协议的状态图
PPP协议的帧格式
3.HDLC协议
简介
HDLC的站
帧格式
4.两种协议对比
3.18 链路层设备
1.网桥
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
网桥分为透明网桥和源路由网桥。
-
透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备(通过自学习算法来提高效率)。
-
源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
如何发现最佳路由信息呢?
方法 : 源站以广播方式向欲通信的目的站发送一个发现帧。可能有好几个路径到达目的栈,发现帧会记录到达的时间,返回给源站,由此确定最佳路由信息。
2.以太网交换机
以太网交换机就是多端口的网桥。现在基本上都在使用以太网交换机。分为两类。
3.冲突域和广播域
- 冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
- 广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。
重点
4.网络层
4.1 网络层功能概述
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
分组和数据报的关系:把数据报进行切割之后,就是分组。
功能一:路由选择与分组转发(最佳路径)
功能二:异构网络互联
功能三:拥塞控制(若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。)
方法:开环控制(静态)闭环控制(动态)
4.2 数据交换方式
1.电路交换
- 优缺点
2.报文交换
- 优缺点
3.分组交换
- 优缺点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lfo5qm9u-1630313939552)(https://gitee.com/infiniteStars/picgoimages/raw/master/image-20210828144905860.png)]
4.三种方式对比
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FtfoDF6X-1630313939552)(https://gitee.com/infiniteStars/picgoimages/raw/master/image-20210828145005830.png)]
5. 传输单元名词辨析
- 应用层——> 报文
- 传输层——> 报文段
- 网络层——> IP数据报,分组(数据报拆分后就是分组)
- 数据链路层——> 帧
- 物理层——> 比特流
6. 数据报方式 && 虚电路方式
-
数据报方式为网络层提供无连接服务。
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定。传输路径,不同分组传输路径可能不同。
-
虚电路方式为网络层提供连接服务。
连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
数据报
虚电路
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PsL7pxgP-1630313939554)(https://gitee.com/infiniteStars/picgoimages/raw/master/image-20210828145811347.png)]
对比
4.3 IP数据报格式
- 详细图解 (中间的标识,标志,偏移量在下一小节中进行讲解)
4.4 IP数据报分片
- 中间三个的含义
- 下面通过一个例题来加深理解。
主要看偏移量。
数据部分的第一个字节位置为0。所以数据报片1的偏移量为0。 数据报片2起始地址为1400B。 偏移量单位为8B,所以偏移量为1400/8=175。 数据报片3同理。
4.5 分类的IPv4地址
- 一个路由器有多个IP地址,每一个端口都有一个IP地址
- IP地址由网络号和主机号组成。
- 为了人类方便识别,我们经常使用点分十进制来表示IP地址。
IP地址的分类
- 根据网络号所占字节的多少,将IP地址分为5类。之所以会减一,减二,是因为含有一些特殊的IP地址。
- 其中包含一些特殊的IP地址,如图所示。
- 私有IP地址(网段个数就是网络号的个数)
4.6 网络地址转换NAT
因为普通的路由器不能将局域网里的数据发送到因特网。所以需要 NAT 来实现它。
网络地址转换NAT(Network Address Translation) : 在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
实现原理
-
里边含有一张NAT转换表,包含局域网里边的主机和因特网里边的一个IP地址。局域网里边的主机请求数据时 会进行IP地址转换,
以此来获取数据。
4.7 子网划分与子网掩码
分类的IP地址的弱点
- IP地址空间的利用率有时很低。
- 两级IP地址不够灵活。
子网划分
子网掩码
子网掩码与IP地址逐位相与,就得到子网网络地址。
使用子网分组时的转发
解释
- 提取目的IP地址与路由表中的子网掩码进行与运算,如果找到,直接交付。没有找到,进行第三步。
- 路由表中有一行是特定主机路由,查看目的IP的地址是否等于主机路由,等于交付。不等于进行第四步。
- 目的IP地址与路由表中的每一个子网掩码进行与运算,有则交付。没有进入第五步。
- 跳转到另一个路由,重复上述步骤。
4.8 无分类变址 CIDR
构成超网
- 通过习题来练习一下
前24位为网络前缀,后8位又进行了子网划分。通过子网掩码来确定子网掩码的位数。258转换为二进制为 11111000。 子网位数为5,最大子网个数为 2^5 =32, 分配地址个数 为 2^3 -2=6。 (减2 是因为不能全为0或全为1)。
4.9 ARP协议
由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址,如图所示。因此我们需要一种协议来获取MAC地址。
ARP协议 : 完成主机或路由器IP地址到MAC地址的映射。
- ARP协议使用过程:
检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。
-
ARP协议4种典型情况:
- 主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;
- 主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址;
- 路由器发给本网络的主机A:用ARP找到主机A的硬件地址;
- 路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。
-
具体过程如图所示
4.10 DHCP协议
主机可以静态和动态的获取IP地址。静态是管理员事先分配好主机的IP地址,子网掩码,默认网关等。动态则是依靠DHCP协议来完成的。接下来介绍一下DHCP协议。
动态主机配置协议(DHCP)是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用 地址续租。
使用过程
4.11 ICMP协议
作用
从图中可以看出ICMP和传输层紧密相连。因此它的作用就是为了更有效地转发IP数据报和提高交付成功的机会。
构成
- 从图中可以看出ICMP报文分为差错报文和询问报文。
差错报文