【计算机网络学习笔记】第三章 数据链路层

数据链路层

数据链路层研究的是在同一个局域网中,分组怎样从一个主机传送到另一个主机(不经过路由器) 数据链路不等于链路:链路是指从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点。而数据链路则是链路加上必要的通信协议

1. 点对点信道和广播信道

  • 点对点信道 这种信道采用一对一的点对点通信方式
    数据链路层的协议数据单元 数据链路层将网络层下发的数据构成帧发送到链路上,以及把接收到的帧中的数据取出来上交给网络层。 通信时的主要步骤:
    1. 结点A的数据链路层将网络层下发的IP数据报添加首部和尾部封装成帧
    2. 结点A的数据链路层把封装好的帧发送给结点B的数据链路层
    3. 结点B的数据链路层对收到的帧进行校验,若无差错就提取出IP数据报上交给网络层,否则将丢弃这个帧
    • PPP协议(point-to-point protocol)
    PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议 1 . PPP协议的组成 ​ 一个将IP数据报封装到串行链路的方法。 ​ 一个用来建立、配置和测试数据链路连接的链路控制协议LCP。 ​ 一套网络控制协议NCP,其中的每一个协议支持不同的网络层协议。 2 . PPP协议的帧格式 在这里插入图片描述 ​ PPP帧的首部和尾部分别为4个字段和2个字段,信息字段的长度是可变的,但不能超过1500字节。 ​ PPP首部的第一个字段尾部的第二个字段(最后一个)都是标志字段F(Flag),规定都是0x7E,符号0x用来表示它后面的字符都是十六进制表示的,7E则是(01111110),标志着一个字段的开始或结束。(其实就是上文提到的定界符) ​ 首部的第二个字段A规定为0xFF,首部的第三个字段C规定为0x03(00000011).这两个字段的值的意义至今没有被给出。 ​ 首部的第四个字段则是协议字段,占据两个字节。 ​ 如果是0x0021,表示信息字段是IP数据报。 ​ 如果是0xC021,说明是PPP链路控制协议LCP的数据。 ​ 如果是0x9021,说明是网络层的控制信息。 ​ ​ 尾部的第一个字段(2个字节)是使用CRC的帧校验序列FCS
    1. PPP协议的字节填充 当信息字段中出现和标志字段一样的(0x7E)时,会使用字节填充,当PPP使用异步传输(逐个字符地传送)时,它把转义方法定义为(0x7D)
    2. PPP协议的零比特填充 当PPP协议用在SONET/SDH链路时,使用同步运输(一连串地连续发送)
  • 广播信道 这种信道使用一对多的广播通信方式。过程比较复杂,连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送。 局域网:网络为一个单位所拥有且地理范围和站点数目均有限。 以太网几乎成为了局域网的同义词
    • CSMA/CD协议
    • 准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中。但在发送之前必须先检测信道
    • 检测信道:若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲,就发送这个帧
    • 在发送过程中不断检测信道,即网络适配器边发送边监听。
      • 这里会出现两种情况:1. 发送成功,未检测到冲突,则什么都不做,返回1
        1. 发送失败,在争用期检测到碰撞,这时候立刻停止发送数据并按规定发送干扰信号。

2. 三个基本问题

封装成帧

在网络层下发的数据的前后添加首部和尾部,这样就构成了一个帧 首部(SOH,十六进制编码为01)和尾部(EOT,十六进制编码为04)有一个重要的作用就是进行帧定界(确定帧的界限),SOH和EOT在传输出现错误时可以有效进行矫正,每一种数据链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单位(MTU) 在这里插入图片描述

透明传输

透明:某一个实际存在的事物看起来却好像不存在一样。 由于前文提到的SOH和EOT本质上也是一种数据,为了避免来自网络层的数据中出现与SOH与EOT相同的部分从而导致出错。 在这里插入图片描述 我们在数据段出现SOH和EOT的时候,在SOH与EOT的前面加入一个转义字符,而如果存在一个转义字符,那就再加一个。这样就保证了数据再数据链路层中传输的时候是“透明”的。 在这里插入图片描述

差错检测

比特在传输过程中可能会出现差错,比如1变成0或者0变成1,这叫做比特差错。 误码率表示传输错误的比特占所有比特总数的比率为误码率BER 目前在数据链路层广泛使用了循环冗余校验CRC的检错技术

3. 以太网MAC层的物理地址

MAC层地硬件地址:又称为物理地址或者MAC地址(这种地址用在MAC中) MAC地址:局域网中地每一台计算机固化在适配器的ROM中的地址

4. 适配器、转发器、集线器、网桥、以太网交换机的作用及其使用场合

  • 适配器: 计算机与外界局域网通过适配器进行连接,又称为网络接口卡(网卡) 作用:进行数据串行运输和并行运输的转换,实现以太网的协议,接受和发送各种帧
  • 转发器 特点与集线器类似,但是只有两个接口。
  • 集线器 当以太网采用星型拓扑结构,在星型的中心增加了一个可靠性非常高的设备,这个设备就是集线器。 特点:
    1. 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,实用的还是CSMA/CD。各站中的适配器执行CSMA/CD协议,各站必须竞争对传输媒体的控制,并且在同一时刻之多只允许一个站发送数据;
    2. 一个集线器有许多接口,从工作原理上来说,集线器很像一个多接口的转发器;
    3. 集线器工作在物理层,每个接口仅仅进行简单的比特转发,不进行碰撞检测。
    4. 集线器采用了专门的芯片,进行自适应串音回拨抵消。
  • 网桥
    1. 网桥的每个端口与一个网段相连,网桥从端口接收网段上传送的各种帧。
    2. 每当收到一个帧时,就先暂存在其缓冲中。若此帧未出现差错,且欲发往的目的站MAC地址属于另一网段,则通过查找站表,将收到的帧送往对应的端口转发出去。
    3. 若该帧出现差错,则丢弃此帧。网桥过滤了通信量,扩大了物理范围,提高了可靠性,可互连不同物理层、不同MAC子层和不同速率的局域网。但同时也增加了时延,对用户太多和通信量太大的局域网不适合。 网桥与转发器不同: (1)网桥工作在数据链路层,而转发器工作在物理层; (2)网桥不像转发器转发所有的帧,而是只转发未出现差错,且目的站属于另一网络的帧或广播帧; (3)转发器转发一帧时不用检测传输媒体,而网桥在转发一帧前必须执行CSMA/CD算法; (4)网桥和转发器都有扩展局域网的作用,但网桥还能提高局域网的效率并连接不同MAC子层和不同速率局域网的作用。
  • 以太网交换机 实质上是一个多接口的网桥。