计算机网络——数据链路层(三)

     1、基本概念

数据发送模型:分段,加地址,加帧头帧尾。

判断帧的开始结尾,是否有错误,但是不进行纠错。

     2、使用的信道:点对点(一对一通信),广播信道(一对多)。

     3、链路与数据链路:

链路:点到点之间的通路的一个组成部分。

数据链路:符合通信协议的软硬件加到链路上,就成为了数据链路。

现在最常用的方法就是使用适配器(网卡)来实现协议的硬件和软件。

一般适配器包含数据链路层和物理层。

      4、帧。

数据链路层传送的是帧。

网络层(加上目标和源IP)

数据链路层————加上帧头,帧尾和校验值,此时数据包就成了数据帧)

数据链路层就显示一个数据传输的管道

       5、三个基本问题

他怎么知道一个编码就是开始,另一个编码就是结束呢?

  • 封装成帧:不知道数据包的开始和结束,就要进行封装成帧。
  • 透明传输:用字节填充法,加上转义字符,解决。ESC。
  • 差错控制:传输过程中可能会发生比特差错。

具体过程:帧头上有帧的检验序列(检验方式:循环冗余检验(CRC)的过程然后就得到循环检验序列:FCS)

CRC:常用的检错方法,FCS是加在数据后的冗余码。

误码率和信噪比有很大的关系。

数据链路层只负责无差错的接收,可靠传输由传输层实现。

      6、两种情况下的数据链路层:

        (1)、使用点对点新到的数据链路层:

      A:PPP协议(用于广域网):用户用电话线接入因特网用PPP协议。该协议是世界上用的最多的数据链路层协议。

PPP协议功能:简单,封装成帧,透明性,多种网络协议,差错控制,检测连接状态,数据压缩协商。

不具备:纠错,流量控制

PPP协议组成:数据链路层协议用于异步串行或同步串行介质;使用链路控制协议LCP建并维护数据链路连接(身份验证,计费功能);网络控制协议NCP允许在点到点连接上使用多种网络协议。(链路层协议通了,忘了层协议才可能通。)

PPP协议帧格式:7E表示帧的开始与结束。01111110

由于是点到点的线路,所以地址FF 03是固定的。

协议(不同的数字表示信息部分的不同格式),表示用的什么协议。

IP数据段:信息部分,不超过1500字节。

FCS:帧检验序列,检验收到的序列是否出错。

        PPP协议的透明传输问题:

   字节填充:如果信息字段中出现7E,会变成2字节序列(0x7D,0x5E)。

                    如果出现一个0C7D字节,将其转变成2字节序列0x7D,0x5D。

   0Bit填充法:如果PPP协议传输的是二进制流:出现5个连续的1,那么插上一个0,接收端就会去掉0。

 

问题:为什么数据链路层在这里不使用确认和序号机制?而传输层就要使用呢?

答:    数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理

           因特网环境下,PPP信息字段在IP数据报里存放,数据链路层在网络层的下边,他不能保证网络层的传输也是可靠的。

           帧检验序列FCS字段可以保证无差错的接收,就是有错误我就扔掉,我也不管你是否重新发送。

PPP协议工作状态:

路由器的控制:使用CISCO软件

      (2)、使用广播信道的数据链路。

局域网:          同轴电缆,以及集线器连接的网络。

局域网的拓扑:星型网,总线网,树形网,环形网。

共享通信媒体:静态划分信道:频分复用,时分复用,波分复用,码分复用。

动态媒体接入控制:随机接入(用于以太网,目前使用的方式),受控接入,如轮循,多点线路探询,现在已不使用。

 

    7、认识以太网:通过地址实现一对一通讯。

最初的以太网是将许多计算机都连接到一根总线上,当初认为这样连接即简单又可靠,因为总线上没有有源器件。
总线上每一个主机都能检测到B发送的数据。但是只有D的地址和数据帧首部写入的地址一致,所以只有D接收。其余计算机都能检测到这不是发送给他们的数据帧,所以就丢弃这个数据帧。
这是一种具有广播特性的总线上实现了一对一通信。这种方式不安全。

CSMA/CD:载波监听多点接入/碰撞检测  协议。

多点接入:表示许多计算机以多点接入方式连在一个总线上

载波监听指每一个站在发送数据前要检测总线上是否有其他计算机在发送数据,有的话,以免发生碰撞,先不发送。

利用电子技术检测,线路上是否有其他计算机发送的数据信号。

碰撞检测:就是计算机发送数据便检测新信道上的信号电压大小。信号电压值超过一定限值,就认为是发生了碰撞。

检测到碰撞后:在发生碰撞时,总线上传输的信号发生严重失真。每一个正在发生的数据的站,一旦发生碰撞,立即停止发送,等一段时间后再次发送。

 

传播时延对载波监听的影响:

    时延:τ 在2τ时间内都可能发生碰撞。

    2τ时间内,就是争用期

通常取争用期长度为51.2μs=2τ,对于10Mb/s的以太网,争用期可发送512bit,即64字节,那么在以太网发送数据的时,如果前64字节没有发生冲突,则后续的数据就不会发最短的有效帧长。冲突肯定是在64字节之前。小于64字节的帧都是由于冲突而异常终止的无效帧。

所以网线有一个限值,不能超过100M,距离远了的话会影响冲突检测。

该协议连接的以太网,使用半双工通信。

因为存在着相互碰撞的可能性。集线器->半双工

存在碰撞检测,那么应该怎么样发送数据呢?

此时引入二进制指数类型退避算法,来实现对
发送碰撞的站在停止发送数据后,要推迟一个随机事件才能发送数据。
确定基本退避时间,一般是争用期2t;
定义参数k = min(重传次数,10);
从整数集合{0,1,…,2^k-1}中随机取出一个数,记为r,重传所需的时延就是r倍的基本退避时间;
当重传达16次时仍不能成功时就丢弃该帧,并向高层报告。

二进制指数类型退避算法--P82例子 -以太网预防冲突的机制

 

MAC层的硬件地址

48位二进制组成,确保全球唯一。

16代表厂家,后24位代表地址。

 

无效帧:帧的长度不是整数个帧,收到的帧检验序列FCS有差错,数据字段不在46~1500之间,对于检查出的帧序列,就丢弃,以太网不重传。

帧间最小间隔:

抓包分析数据:

      8、 扩展以太网

距离扩展以太网

         在一个局域网中,通过集线器的级联,使得网络中计算机数量增加,但是冲突域也变大(冲突域:A计算机给B计算机传送数据的过程中,除过B外,有多少个站点可以接受到这个信息,这些站点就构成了一个冲突域)

那么如何解决这个问题呢?(引入网桥概念)

答:集线器和集线器之间通过网桥连接就可以。

网桥可以通过MAC地址,看是否允许数据帧通过,从而使得冲突域不变。

基于MAC地址优化了以太网的数据传输。

Hub  ->  就是集线器

随着网桥的口越来越多,网桥就不会接集线器,此时计算机可以直接和交换机相连,这个机器叫做交换机

交换机的口可以存储帧,会形成一个队列。

此时形成了一个全双工通信:并且独享,还安全。

交换机特点:基于MAC地址转发,端口带宽度独享,会自己学习构建MAC地址表。=

      9、高速以太网

速率在100Mb/s以上的以太网。

帧的时间间隔变小,带宽增大

具体能传多远,可以跟纤芯的直径有关。

10Mb/s  ~  10Gb/s  

建网三层模型:

发布了148 篇原创文章 · 获赞 18 · 访问量 4476

猜你喜欢

转载自blog.csdn.net/weixin_42221657/article/details/104222182