计算机网络基础(1)

Posted by BY KiloMeter on April 24, 2019

1、速率:主机在数字信道上传输数据位数的速率

2、带宽:数字信道所能传送的最高速率

3、吞吐量:单位时间内通过某个网络的数据量

4、时延:时延分为四部分,分别是发送时延,传播时延,处理时延和排队时延

发送时延 = $ \frac {数据块长度(比特)}{信道带宽(比特/秒)}​$(数据块从刚出网卡到完整到达信道),传播时延指的是数据块从源主机,到目标主机整个过程所花时间。

我们常说的换光纤,在传播速度上并不比铜线之类的介质快,光纤的主要作用是缩短了发送时延。上面发送时延的公式中,如果想要缩短发送时延,只能够通过增加信道宽度(即带宽),带宽的增大,减少了发送时延。但是并不可以无限制地增加带宽,带宽增加后,代表数据块的信号的长度将会越来越小,最终导致信号混杂,接收端无法区分出高电位和低电位,光纤的作用就是能够支持更高的带宽,而仍然能够识别出信号。

5、时延带宽积 = 传播时延 * 带宽

时延带宽积的实际意义指的是链路上数据量的多少。

如果传播时延比较大了,意味着链路的长度比较长,在带宽不变的情况下链路流通的数据包数量也比较多

如果带宽比较大,根据第四点关于时延的概念,信号的长度短了,也意味着在长度不变的情况下,能够承载更多的信号(即数据)。

6、往返时间(RTT)

物理层

物理层的主要任务是确定传输媒体接口的一些特性:

机械特性(接口的形状,大小,引线数目)

电气特性(规定电压的范围)

功能特性(如-5v代表0,+5v代表1)

过程特性(规定建立连接时各个相关部件的工作步骤)

数据通信

数据通信不是计算机独有的, 电话,电视这些也有数据通信。

基带信号:来自信号源的信号叫做基带信号,平时计算机输出的各种文字或图像信息都属于基带信号,说话的声波也是基带信号。

带通信号:把基带信号进行调制后,把信号的频率范围搬移到较高的频段,以便在信道中传输,调制后的信号就叫做带通信号。

在近距离传输的时候,基带信号的衰减不大,信号内容不会发生变化,比如计算机到打印机等设备用的就是基带信号,在远距离时使用的带通信号。

对基带信号进行调制的方法有以下三种:

调幅、调频、调相

常见的编码形式:

单极性不归零码:0V电压代表比特0,xV电压代表比特1

双极性不归零码:-xV电压代表比特0,xV电压代表比特1

单极性归零码:在每个时钟周期内,如果出现了比特1,那么电压在前半个时钟周期电压0V变化到xV,在后半个时钟周期从xV变化到0V,如果出现比特0,那就一直保持0v

双极性归零码:在每个时钟周期内,如果出现了比特1,那么电压在前半个时钟周期电压0V变化到xV,在后半个时钟周期从xV变化到0V,如果出现比特0,那么电压在前半个时钟周期电压0V变化到-xV,在后半个时钟周期从-xV变化到0V

曼彻斯特编码:电压从低跳到高代表比特0,从高跳到低代表比特1,使用曼彻斯特编码的好处是,信号自带时钟信号,也能够表示没有数据传输,在上面的单极性不归零码和单极性归零码中,如果电压是0,无法判断是没有信号了,还是信号是比特0。此外,上面的四种编码方式没有携带时钟信号,在发送一长串的比特0和比特1时,判断不出比特0或比特1的长度。

差分曼特斯特编码:如果当前比特与下个比特之间有电压的跳转则代表下一个比特为0,否则为比特1

差分曼特斯特编码的抗干扰性强于曼彻斯特编码

信道复用:信道复用就是在同一介质上创建多个信道,充分利用资源。

频分复用:用户分配到一定的频带后,在通信过程中自始至终占用这个频带。

时分复用:将时间划分成一段段等长的时分复用帧(TDM帧),每个时分复用用户在每一个TDM帧中占用固定序号的时隙。时分复用的缺点就是线路资源的浪费,因为计算机的数据是具有突发性的,用户分配到的子信道的利用率不高。

统计时分复用:和频分复用差不多,就是在发送用户的数据时,额外加上信道的标志,在接受端处根据标记将数据发往不同的信道。

波分复用:波分复用就是对光的频分复用

链路层

链路层要解决的三个问题

封装成帧:把网络传下来的IP数据报添加上帧首部SOH和帧尾部EOT,当接收端接收到SOH时,就知道后面的内容是要接收的数据了,如果接收到EOT,则说明该帧已经到达尾部了。

透明传输:如果IP数据报中的内容出现了帧首部或者帧尾部的内容,需要加上ESC进行转义

差错控制:数据在传输的过程中难免会出现差错,链路层采用循环冗余crc进行校验。原理如下:

选择一个n位数(2进制数)的除数,然后在要传递的帧后面加上n-1位0,然后让数据报除以前面选择的那个n位二进制数,除法过程采用加法但不进位,最后得到的n-1位余数(FCS,帧检验序列)替代掉前面加在帧后面的n-1个0,然后把该数据报和选择的n位二进制数一起发送出去,检验时,只需要让数据报除以这个n位2进制数,如果余数不为0,则数据有误。

缺点是不能确定哪些比特出现了错误,但是只要经过严格筛选除数,那么检验不到错误的概率会很小。

使用点到点信道的链路层

使用PPP协议

使用广播信道的链路层

CSMA/CD(载波监听,多路访问协议)连接的以太网不能进行全双工通信,只能进行半双工通信。

由于载波监听的机制,发送数据后的2τ(2倍的端到端往返时延,这个时间也称为争用期)时间内都有遭遇碰撞的可能,因此整个以太网发送的数据远小于以太网的最高数据率。

通常取51.2μs作为争用期的长度,对于10M/s的以太网来说,争用期可以发出512bit即64字节。因此如果发出64字节而无冲突,则说明后续的字节也不会有冲突,如果接收端接收到了小于64字节的帧,就知道了该帧是由于冲突产生的无效帧。

二进制指数类型退避算法

如果发生了冲突,则冲突双方会退避一个时间后才能继续发送数据,退避多长时间呢,一般采用的是二进制指数类型退避算法,算法实现如下:

确定基本退避时间,一般为争用期2τ;定义参数k,k=min(重传次数,10)

从整数(0,1,…($2^k$-1))中随机取一个数,记为r,重传所需要的时延为r*2τ

如果重传次数达到16次仍不能成功则丢弃该帧。

扩展以太网

局域网大多是使用的是以太网的标准,可以认为局域网就是以太网。以太网中主机的距离不能太远,否则CSMA/CD协议中τ时间太长,会影响数据帧的发送

首先可以使用光纤和光纤调制器连接到集线器上,把电信号转化成光信号,可以把距离扩大到几公里。

其次,可以使用主干集线器来连接集线器。使用网桥的优点是能够使更多的主机进行通信,扩大了局域网的物理范围,缺点是碰撞域也增大了,吞吐量未能提高。

为了解决上面的缺点,使用网桥代替了主干集线器,网桥可以记录不同主机的MAC地址,当主机A往主机B发送帧时,根据MAC地址决定是否要发往另一端的局域网,大大减少了冲突。

随着网桥接口的增加(接入的局域网数量增加),后面网桥演变成了现在的交换机。交换机也是能够记录主机的MAC地址,当产生数据帧时,根据目标MAC地址直接发送到目标主机,不会有冲突的发生,还更安全。