计算机网络
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报文分为差错报文和询问报文。
差错报文
- 终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。(无法交付)
- 时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。(TTL=0)
- 参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发
送参数问题报文。(首部字段有问题) - 改变路由(重定向)︰路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。(有更好的路由)
差错报文构成
不发送ICMP报文的情况
- 对ICMP差错报告报文不再发送ICMP差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
- 对具有组播地址的数据报都不发送ICMP差错报告报文。
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
ICMP询问报文
-
回送请求和回答报文
主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。(测试目的站是否可达以及了解其相关状态)
-
时间戳请求和回答报文
请某个主机或路由器回答当前的日期和时间。(用来进行时钟同步和测量时间)
ICMP的应用
4.12 IPv6数据报
- IPv6从根本上解决了IPv4地址不够用的问题。
添加的功能:
- 快速处理/转发数据报
- 支持QoS(Qos (Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。)
1.数据报格式
- 详细的数据报格式
2. IPv4和IPv6的区别
- IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。
- IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。
- lPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
- IPv6支持即插即用(即自动配置),不需要DHCP协议。
- IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。
- IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
- ICMPv6:附加报文类型“分组过大”。
- IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
- IPv6取消了协议字段,改成下一个首部字段。
- IPv6取消了总长度字段,改用有效载荷长度字段。
- IPv6取消了服务类型字段。
3.IPv6的表示形式
4. IPv6向IPv4过度策略
双栈协议
**双协议栈技术就是指在一台设备上同时启用lPv4协议栈和IPv6协议栈。**这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能。
隧道技术
通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。**隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。**意思就是将IPv6作为IPv4的数据部分,继续传输。到时候解封装。
4.13 路由算法与路由协议概述
1. 作用
- 每一个路由里边都有一张路由表。表的结构如下图所示。由路由算法来填写表中内容,找出最佳路径。
2. 分类
3. 分层次的路由选择协议
出现原因
(1)因特网规模很大
(2)许多单位不想让外界知道自己的路由选择协议,但还想连入因特网
解决办法
自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。
4.14 RIP协议(距离向量算法)
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。
RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
RIP的特点:当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,“慢收敛”。
RIP协议只适用于小型互联网。
- 路由表如何更新?
- 通过例题来加深理解
4.15 OSPF协议(链路状态算法)
开放最短路径优先OSPF协议 :“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的 ; “最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。
OSPF最主要的特征就是使用分布式的链路状态协议。
链路状态路由算法
-
每个路由器发现它的邻居结点【HELLO问候分组】,并了解邻居节点的网络地址。
-
设置到它的每个邻居的成本度量metric。
-
构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
-
如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息。
-
收到邻站的LSR分组后,发送【LSu链路状态更新分组】进行更新。
-
更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认。
只要一个路由器的链路状态发生变化:
- 泛洪发送【LSu链路状态更新分组】进行更新。
- 更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。
- 使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。
其他特点
- OSPF直接用IP数据报传送。
- 每隔30min,要刷新一次数据库中的链路状态。
- 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多。
- OSPF不存在坏消息传的慢的问题,它的收敛速度很快。
4.16 BGP协议
自治系统之间的使用的协议就是BGP协议。
- 和谁交换?
交换信息的过程
BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。如图所示。
特点
- BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
- 在 BGP刚刚运行时,BGP的邻站是交换整个的 BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
BGP报文类型
4.17 三种协议比较
- RIP是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。
- OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。
- BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输所以采用TCP。
4.18 IP组播
1. IP数据报的三种传送方式
- 单播: 一对一
- 广播: 一对多(多指的所有)
- 组播: 一对多(多指的特定主机)
2. IP组播地址
3. 硬件组播
4. IGMP协议和组播路由选择协议
- IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组。
IGMP工作阶段
-
组播路由选择协议目的是找出以源主机为根节点的组播转发树。
-
构造树可以避免在路由器之间兜圈子。
-
对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。
组播路由选择的算法
- 感兴趣的小伙伴可以去了解一下,这里不做过多讲解。
4.19 移动IP
1. 移动IP的相关术语
移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
- 移动结点 具有永久IP地址的移动设备。
- 归属代理(本地代理) 一个移动结点拥有的就“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。
- 外部代理(外地代理)在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
- 永久地址(归属地址/主地址)移动站点在归属网络中的原始地址。
- 转交地址(辅地址)移动站点在外部网络使用的临时地址。
2.通信过程
- A进入外部网络
- A进入下一个外部网络或者回到了归属网络
4.20 网络层设备
网络层设备主要是路由器。
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
输入端口对线路上收到的分组的处理
- 输入端口中的查找和转发功能在路由器的交换功能中是最重要的。
输出端口将交换结构传送来的分组发送到线路
- 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
- 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
三层设备的区别
路由表与路由转发
- 路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。结构如下图所示。
转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。
5.传输层
5.1 概述
- 传输层是主机才有的层次。
- 它使用网络层提供的服务为应用层提供服务。
- 功能:
- 提供进程与进程之间的通信。
- 复用和分用(后边会详细解释的)
- 对收到的报文进行差错检测。
传输层最重要的两个协议——TCP和UDP。
寻址和端口
- 复用:应用层所有的应用进程都可以通过传输层再传输到网络层。
- 分用:传输层从网络层收到数据后交付指明的应用进程。
- 逻辑端口/软件端口 : 端口是传输层的SAP,标识主机中的应用进程。
- 端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的。
- 端口号长度为16bit,能表示65536个不同的端口号。
- 几个常用的端口号
5.2 UDP协议
- UDP在IP数据报服务之上添加了复用分用和差错检测的功能。
主要特点
- UDP是无连接的,减少开销和发送数据之前的时延
- UDP使用最大努力交付,即不保证可靠交付。
- UDP是面向报文的,适合一次性传输少量数据的网络应用。
- UDP无拥塞控制,适合很多实时应用。
- UDP首部开销小,8B,TCP 20B。
UDP的首部格式
UDP校验
- 这部分我暂时也咩看懂,所以不做太多解释。
5.3 TCP协议
1.TCP协议的特点
- 字节流发送如图所示
2. TCP报文段首部格式
5.4 TCP连接管理
1.建立连接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4IqjCyTq-1630313939599)(https://gitee.com/infiniteStars/picgoimages/raw/master/image-20210830151713806.png)]
假设运行在一台主机(客户)上的一个进程想与另一台主机(服务器)上的一个进程建立一条连接,客户应用进程首先通知客户TCP,他想建立一个与服务器上某个进程之间的连接,客户中的TCP会用以下步骤与服务器中的TCP建立一条TCP连接:
- SYN 连接请求报文
- seq 序号
- ACK 确认连接
- ack 确认号
2.释放连接
参与一条TCP连接的两个进程中的任何一个都能终止该连接,连接结束后,主机中的“资源”(缓存和变量)将被释放。
5.5 TCP可靠传输
可靠传输: 保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。
TCP协议实现可靠传输的机制
- 校验(与UDP校验一样,增加伪首部)
- 序号
- 确认
- 重传
5.6 TCP流量控制
- 流量控制:让发送方慢点,要让接收方来得及接收。
- TCP利用滑动窗口机制实现流量控制。
在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。
5.7 TCP拥塞控制
- 出现拥塞的条件
对资源需求的总和>可用资源 - 网络中有许多资源同时呈现供应不足→网络性能变坏→网络吞吐量将随输入负荷增大而下降
- 拥塞控制
防止过多的数据注入到网络中。全局性
拥塞控制和流量控制的区别
拥塞控制是全局性的。
流量控制是点对点的。
- 在介绍拥塞控制算法之前,先设定几个前提条件,便于理解。
1.慢开始和拥塞避免
- 刚开始进行指数增长,到达 ssthresh 之后,进行加法增长。
- 遇到网络拥塞之后,降到初始值,重复之前的步骤。新的 ssthresh 设为 拥塞时窗口大小的一半。
2. 快重传和快回复
- 前面的步骤和之前一样。不同的是降低拥塞窗口的时机和大小不同。如图所示,当收到3个重复的确认时,执行快重传算法,拥塞窗口降到原来的一般。
6.应用层
6.1 概述
-
应用层对应用程序的通信提供服务。
-
应用层协议定义:
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述。
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能 | 对应的协议 |
---|---|
文件传输,访问和管理 | FTP |
电子邮件 | SMTP,POP3 |
虚拟终端 | HTTP |
查询服务和远程作业登录 |
6.2 网络应用模型
1. 客户/服务器(C/S)模型
2. P2P模型
6.3 DNS系统
DNS服务的作用 : 将域名解析成IP地址。
1.域名
- com有一个点,就是 根
2.DNS服务器
3.域名解析过程
域名解析主要有两种方法: ①递归(考别人)②迭代(靠自己)
6.4 文件传输协议FTP
- 文件传送协议FTP ( File Transfer Protocol)提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
- FTP是基于客户/服务器(C/S)的协议。
- 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
- 依照 FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
- 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
- FTP传输模式
- 文本模式:ASCIl模式,以文本序列传输数据;
- 二进制模式: Binary模式,以二进制序列传输数据。
工作原理
6.5 电子邮件
1.信息格式
2.组成结构
3.SMAP协议
- SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
- 负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
- SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
SMAP通信的三个阶段
4. MIME
5. 邮局协议 POP3
6. 国际报文存取协议 IMAP
- IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
- IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。
7.基于万维网的电子协议
6.6 万维网和HTTP协议
1.万维网概述
万维网www (World Wide web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
我们需要一个统一标识符(URL)来区分万维网上的各种资源。
用户通过点击超链接(http:/www.baidu.com)获取资源,这些资源通过超文本传输协议HTTP传送给使用者。
万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
2.HTTP
HTTP协议定义了浏览器(万维网客户进程〉怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTTP协议的特点
报文结构