一、计算机网络基础
1.1计算机网络的含义
以能够相互共享资源的方式互联起来的自治的计算机系统的集合。
1.2 因特网的组成及特点
- 边缘部分:由所有连接在因特网上的主机组成,用来进行通信和资源共享。
- 核心部分:由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的。
1.3 电路交换、分组交换、报文交换各自的优缺点
- 电路交换:优点是适合传输大量连续实时的数据。缺点是对于突发数据信道利用率低。
- 分组交换:优点是提高了整个系统的平均响应时间,存储转发时延比报文交换要短,灵活的路由选择提高了网络的生存性。缺点是分组在各结点转发时可能排队,端到端时延不确定,网络通信量过大时会导致网络拥塞。分组首部携带的控制信息造成一定的额外开销。
- 报文交换:优点是简单,信道利用率高。其缺点是存储转发时延长,过长的报文误码率高不利于可靠传输,而且过长的报文占用链路时间太长,不利于资源共享。
1.4 网络性能指标
速率
连接到计算机网络上主机在数字信道上传送的速率,也称数据率
或比特率
,单位b/s(比特每秒)
带宽
表示网络的通信线路所能传送的数据的能力,即“最高数据率”单位b/s(比特每秒)
信道利用率
指出某一信道有百分之多少的时间是有数据通过的,即信道利用率=有数据通过时间/(有+无)数据通过时间
吞吐量
单位时间内通过某个网络的数据量。吞吐量受网络带宽或网络额定速率的限制
时延
数据从网络的一端传送到另一端所需要的总时间,它由发送时延,传播时延,处理时延和排队时延组成。
发送时延
结点将分组的所有比特推向链路所需的时间。
传播时延
即一个比特从链路的一端传播到另一端所需的时间。
1.5 网络体系及网络体系结构
网络体系结构采用分层结构是因为“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
1.6 五层协议模型的分层及各层的功能
物理层
在物理媒体上为数据端设备透明的传输原始比特流
数据链路层
在两个相邻结点之间传送以帧为单位的数据,可以概括为成帧、差错控制、流量控制和传输管理等
网络层
负责将分组从源主机通过中间若干路由器的转发传送到目的主机。核心功能是逻辑编址、路由选择和分组转发。
传输层
传输单位是TCP或UDP,负责主机中两个进程之间的逻辑通信(端到端通信)。具体包括:复用与分用、可靠数据传输、流量控制、拥塞控制等。
应用层
通过应用进程间的交互来实现特定网络应用,直接为用户或应用进程提供特定的应用服务,如文件传输、电子邮件等。
例题
练习1:收发两端之间的传输距离为1000 km,信号在媒体上的传播速率为2 x108 m/s。试计算以下两种情况的发送时延和传播时延。
(1)数据长度为 107bit,数据发送速率为100 kbit/s;
(2)数据长度为 103bit,数据发送速率为1 Gbit/s。
从以上计算结果可得出什么结论?
解答:(1) 发送时延为100 s,传播时延为5 ms。发送时延远大于传播时延。
(2) 发送时延为1微秒,传播时延为5 ms。发送时延远小于传播时延。
练习2:一个系统的协议结构有N层,应用程序产生M字节长的报文,网络软件在每层都加上h字节的协议头,网络带宽中至少有多大比率用于协议头信息的传输?
解答:(N × h/(N × h + M)) × 100%。若应用程序产生的报文再分为多个小的分组则比率会更大。
二、🍸物理层
基本概念
数据、信号与码元
数据是指传送信息的实体。信号是指数据的电气或电磁表现,是数据在传输过程中的存在形式。码元是指用一个固定时长的信号波形(数字脉冲)表示一位k进制数字,代表不同离散数值的基本波形是数字通信中数字信号的计量单位。
信源、信道与信宿
信源是产生和发送数据的源头,信宿是接受数据的终点,信道按传输信号形式不同分为模拟信道和数字信道。
速率、波特和带宽
速率和带宽的概念前面已经提过了,这里介绍一下波特
码元传输速率:单位时间内数字通信系统所传输的码元个数(也可称脉冲个数)
波特是码元传输速率的单位,1波特表示数字通信系统每秒传输一个码元。
编码、调制与解调
编码
将数字数据编码为数字信号,有归零编码、非归零编码、反向非归零编码、曼切斯特编码、差分曼切斯特编码
调制
将数字数据调制为模拟信号
解调
将模拟信号转换为数字信号,三个步骤:采样、量化、编码。
奈氏准则及应用
前提条件:在理想低通(没有噪声、带宽有限)的信道中:
极限码元传输率为2W
波特,其中W是理想低通信道的带宽,单位为Hz。
极限数据率为2Wlog2V
,V是指有多少种码元。
例题
假定某信道受奈氏准则限制的最高码元速率为20000码元/秒。如果采用幅移键控,把码元的振幅划分为16个不同等级来传送,那么可以获得多高的数据率(b/s)?
解答:16个等级可以表达4位二进制数,每个码元可以表示4个比特,因此,可以获得80000 b/s的数据率。
香农定理及应用
前提条件:在带宽受限且有高斯白噪声干扰的信道中:
极限数据率为Wlog2(1+S/N)
W为信道的带宽,S/N为信噪比,S为信道所传输信号的平均功率,N为信道内部的高斯噪声功率。
总结
奈氏准则只考虑了带宽与极限码元传输速率的关系,而香农定理不仅考虑到了带宽,也考虑到了信噪比。
信道复用的概念及作用
频分复用(FDM)
一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
时分复用(TDM)
将一条物理信道按时间分成若干时间片,轮流分配给多个信号使用。
波分复用(WDM)
即光的频分复用。由于光波处于频谱的高频段,有很高的带宽,因而可以实现多路的波分复用。
码分复用(CDM)
采用不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它即共享信道的频率,又共享时间。
码分多址(CDMA)
码分复用的一种方式,给每个用户分配一个唯一的正交码,在发送端,不同用户的数据用该正交码编码后复用到同一信道进行传输;在接收端,用同一正交码解码进行分用。CDMA主要用于无线通信,具有很强的抗干扰能力。
例题
共有4个用户进行CDMA通信。这4个用户的码片序列为: A: (–1 –1 –1 +1 +1 –1 +1 +1);B: (–1 –1 +1 –1 +1 +1 +1 –1) C: (–1 +1 –1 +1 +1 +1 –1 –1);D: (–1 +1 –1 –1 –1 –1 +1 –1)
现收到码片序列:(–1 +1 –3 +1 –1 –3 +1 +1)。问是哪些用户发送了数据?发送的是1还是0?(求规格化内积,对应位相乘再相加在除以总的位数)
解答:A的内积为1,B的内积为–1,C的内积为0,D的内积为1。因此,A和D发送的是1,B发送的是0,而C未发送数据。
三、🍹数据链路层
功能
在两个相邻结点之间传送以帧为单位的数据,可以概括为成帧、差错控制、流量控制和传输管理等。
解决透明传输的方法:零比特填充法
停止等待协议
就是每发送完一个帧就停止发送,等待对方确认,在收到确认后再发送下一个帧。
为什么要有停止等待协议?
除了比特出差错,底层信道还会出现丢包问题(物理线路故障、设备故障、病毒攻击、错误等原因,会导致数据包的丢失),为了实现流量控制,就有了停止等待协议。
研究停等协议的前提
仅考虑一方发送数据,一方接受数据。
停等协议——无差错情况
停等协议——有差错情况
1.数据帧丢失或检测到帧出错
注:发送完一个帧后,必须保留它的副本;数据帧和确认帧必须编号。
2.确认帧丢失
3.确认帧迟到
停等协议优缺点
简单但是信道利用率很低。
例题
后退N帧协议GBN(发送窗口大于1,接受窗口等于1)
为什么叫后退N帧协议?
GBN协议中,对N号帧的确认采用累计确认的方式,表明接收方已经收到n号帧和它之前的全部帧。
该协议名称来源于出现丢失和时延过长帧时发送方的行为,如果出现超时,发送方重传所有已发送但未被确认的帧。
滑动窗口长度
若采用n个比特对帧编号,则1<发送窗口长度<2n−12^n-12n−1 。因为发送窗口尺寸过大,无法区别新帧和旧帧。
选择重传协议SR(发送窗口大于1,接受窗口大于1)
设置单个确认,同时加大接受窗口,设置接受缓存,缓存乱序到达的帧。
滑动窗口长度怎么设计?
发送窗口等于接受窗口 窗口长度W maxW~maxWmax=2n−12^{n-1}2n−1
GBN协议重点总结
- 累计确认
- 接收方只按序接受帧,不按序无情丢弃
- 确认序列号最大的、按序到达的帧
- 发送窗口最大为2n−12^n-12n−1,接受窗口为1
性能分析
- 连续发送提高了信道利用率
- 发送正确的帧也会被重传,传送效率降低
例题
SR协议总结
- 对数据帧逐一确认,收一个确认一个
- 只重传出错帧
- 接收方有缓存
- 窗口长度W maxW~maxWmax=2n−12^{n-1}2n−1
习题
CSMA/CD协议
又称载波监听多点接入/碰撞检测协议(carrier sense multiple access with collision detection)
CS:每一站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据.
MA:多点接入,表示多计算机以多点接入的方式连接在一根总线上.总线型网络.
CD:适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据.
为什么先监听后发送还会冲突?
因为电磁波在总线上总是以有限的速率传播的.有传播时延.
传播时延对载波监听的影响
如何确定碰撞后的重传时机
截断二进制指数规避算法
最小帧长问题
A站发了一个很短的帧,但发生了碰撞,不过帧在发送完毕后才检测到发生了碰撞,没法停止发送,因为发完了.故要定义一个最小帧长.帧的传输时延至少要等与两倍信号在总线中的传播时延.帧长/数据传输速率>=2∗传播时延帧长/数据传输速率>=2*传播时延帧长/数据传输速率>=2∗传播时延,故最小帧长=2∗传播时延∗数据传输速率最小帧长=2*传播时延*数据传输速率最小帧长=2∗传播时延∗数据传输速率