计算机网络复习笔记3——数据链路层

第三章 数据链路层

重要内容

  • 数据链路层点对点信道和广播信道的特点,以及这两种信道使用的协议的特点。
  • 数据链路层的三个基本问题:封装成帧、差错检测、透明传输
  • 以太网MAC层的硬件地址。
  • 适配器、转发器、集线器、网桥、以太网交换机的作用和使用场合

核心知识点 

1、数据链路层主要使用两种信道:

  • 点对点信道:这种信道使用一对一的点对点通信方式。主要使用PPP协议
  • 广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。主要使用MAC协议。

2、数据链路层在分组交换中的地位:

可以看到,路由器是互联网核心部分的最重要设备,但是不包含运输层和应用层,只负责以IP数据报(分组)的形式转发收到的分组。

3、数据链路层的主要功能:局域网内主机之间的数据帧传输。

4、数据链路层的主要概念:

  • 链路:又称物理链路,是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。
  • 数据链路:又称数据链路,是物理链路加上必要的通信协议控制数据的传输。通常使用网络适配器来实现这些通信协议。
  • 协议数据单元:数据链路层的协议数据单元是数据帧,简称

5、主要任务

  • 将网络层的IP数据报加上数据链路层的控制信息,封装成帧,通过物理层发送到数据链路上。(对下层的服务)
  • 从物理层传输的帧中提取IP数据报内容,交给网络层。(对上层的服务)

6、数据链路层的3个基本问题:

  • 封装成帧:将IP数据报作为帧的数据部分,再加上首部和尾部,即可封装成帧。
  1. 作用:

    封装成帧
    1. 帧定界:采用SOH、EOT帧定界符,放在帧的前后,标志帧的边界。可能存在歧义的问题,因为数据中也可能出现SOH、EOT,所以需要转义(字符填充)
    2. MTU最大传送单元,表示帧的数据部分(IP数据报)的最大长度,为1500字节。(PPP协议:加上8个字节的首部和尾部,帧的最大长度为1508字节。MAC协议:加上18个字节的首部和尾部,帧的最大长度为1518字节。)
  • 透明传输:在数据链路层传输时,所传输的数据在数据链路层没有任何的阻挡,接收方所收到的数据和发送方发送的数据没有任何差别,也就是说,数据链路层对其传输的数据帧是完全透明的。
  1. 存在的问题:如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”。

    透明传输

                                                                                            透明传输

  2. 解决方案——字节填充(也称字符填充):传输的过程中,为防止数据部分出现帧定界符,使得接收方误以为收到的数据提前结束,所以采用转义字符的方法,将在数据部分出现的控制字符前插入转义字符“ESC”,在接收方的数据链路层将插入的转义字符删除。(如果原字节流中已经存在转义字符,则需要再加上一个转义字符。)(字节填充用于并行传输,即异步传输,一个字节一个字节传输,如果使用的是同步传输,即连续的比特流传输,需要使用零比特填充

    字节填充

                                                                                                  字节填充

  • 差错检测:数据链路层的差错检测只能保证帧内部无差错,即无比特差错。帧之间的差错,如帧丢失、帧冗余、帧失序,通常交给TCP协议(运输层)来保证(可靠的,面向连接)。
  1. 比特差错:物理层传输时,比特可能出现错误,比如比特丢失,比特冗余,比特失序。

  2. 误码率BER:在单位时间内,传输错误的比特占所有比特的比率就是误码率。

  3. 循环冗余检验 CRC :

    1. 在发送端,先把比特数据划分为组。假定每组数据M长度为 k 个比特。

    2. 根据生成多项式(如x5 + x3 + 1)获取除数P(101001)。

    3. 在数据M的尾部加上n个0作为被除数n的位数比p小1)。

    4. 将被除数除以除数P(模二运算),得到余数R,R即为帧检测序列FCS,将其添加到M的尾部发送出去。

    5. 检验方法:在接收端将收到的数据除以除数P看余数是否等于0,等于0则认为帧没有差错,进行接收;否则出错,进行丢弃。(只能保证无差错接收,如果要保证无差错传输,还需要加上确认和重传机制

    6. CRC与FCS的区别

      CRC

                                                                                              CRC

      1. CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码
      2. FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法
  • 差错纠正:还要知道差错的位置并进行修改,在数据链路层确保可靠传输,一般用于无线传输链路。有线传输链路一般只进行差错检测,只是简单地丢弃出错的帧,差错纠正一般由上层协议(如运输层的TCP协议)完成(网络层一般不提供可靠服务)。

7、PPP点对点协议:最常用的点对点(一对一)链路的数据链路层协议。是端计算机和ISP进行通信时所使用的数据链路层协议(拨号上网)。

(1)特点

  • 简单 —— 这是首要的要求。
  • 封装成帧 —— 必须规定特殊的字符作为帧定界符。
  • 透明性 —— 必须保证数据传输的透明性。
  • 多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
  • 多种类型链路 —— 能够在多种类型的链路上运行。
  • 差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
  • 检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。
  • 最大传送单元 —— 必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值,促进各种实现之间的互操作性。
  • 网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
  • 数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法。

(2)组成

  • 一个将IP数据报封装到串行链路的方法(封装成帧)。
  • 一个用来建立、配置和测试数据链路连接的链路控制协议LCP。
  • 一套网络控制协议NCP。

(3)PPP帧的格式: 

  • 控制字段总长度:8个字节。
  • PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
  • 字段含义:
    1. F(1字节):标志字段,代表定界符
    2. A、C(1字节):A为地址字段,C为控制字段,但暂时没有含义。
    3. 协议字段(2字节):表示当前信息部分是IP数据报还是LCP的控制数据还是NCP的控制数据
    4. FCS(2字节):帧检测序列,用于差错检测中的循环冗余检测CRC方法。

(4)透明传输问题

  • 字节填充

    1. 使用场景:PPP使用异步传输,即一个字节一个字节传输。
    2. 实现方式:软件。
    3. 做法:当信息字段中出现和标志字段相同的比特组合时,则进行字节填充的办法使得数据部分能够完整的传送到接收端。(添加转义字符)
  • 零比特填充:

    1. 使用场景:PPP使用同步传输,即连续的比特流传输
    2. 实现方式:硬件
    3. 做法:当信息字段出现了5个连续的1,那么就插入一个0,在接收时再将5个连续的1后的0删除

零比特填充

  • PPP协议的工作状态:用户拨号接入ISP→端机向ISP发送一系列链路控制协议LCP分组→进行网络层配置→网络层协议NCP向端机分配IP地址。(可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。)

8、使用广播信道的数据链路层(一对多):

  • 使用场景:局域网(点对点是端主机同ISP进行通信,拨号上网时使用的),也称以太网(Ethernet)
  • 局域网的优点:

    1. 广播功能。从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
    2. 便于系统的扩展和演变
    3. 提高了系统的可用性、可靠性和生存性
  • 局域网的拓扑结构:
    1. 星形网:目前最常用。

星形网

                    2. 环形网

                       3. 总线网:传统局域网常用。

                     4. 树形网

                     5. 网状结构

  • 共享信道:由于局域网使用的是广播信道,所以需要媒体共享技术,防止因为共享信道产生的错误。

    • 静态划分信道:用户一旦分到信道,就不会和其他用户发生冲突,如频分复用、时分复用、码分复用、波分复用等。缺点是:代价高、效率低、不适用于局域网。特点:固定分配

    • 动态媒体接入控制:信道并非在通信时固定分配给用户。特点:动态分配

      1. 随机接入:所有用户可以在信道中随机地发送信息,占用此信道,而不用遵守静态划分的某种规则。但如果多个用户在同一时间发送信息,那么共享媒体就会产生碰撞,所有的用户发送都失败。(需要控制协议:CSMA/CD协议)
      2. 受控接入。多点线路探询 polling,或轮询。

9、CSMA/CD协议:即载波监听多点接入碰撞检测协议。在广播信道中实现动态媒体共享技术的随机接入必须使用的控制协议,确保不会有多个站点发送的信息同时出现在总线上

  1. 要点:
    1. 载波监听(Carrier Sense):利用电子技术检测总线上有没有其他计算机也在发送。不管在发送前还是发送中,每个站都必须不停地检测信道,以防止出现碰撞(发送前),检测碰撞发生并及时丢弃信息(发送中,由于发送的不确定性,发送前检测不能百分百防止碰撞,因为存在传播时延)
    2. 多点接入(Multiple Access):说明这是总线型网络(传统以太网),计算机以多点接入的方式连接。实际上,星形网也可以采用类似的方式进行随机接入,本质类似。
    3. 碰撞检测(Collision Detection)边发送边监听。 若在信道上有至少两个站点同时发送信息便发生碰撞,这时很容易信号失真,要使两边发送的信息都作废
  2. 使用CSMA/CD协议的局域网的站不能同时进行发送和接收,所以只能进行半双工通信(双向交替通信)。
  3. 发送的不确定性:由于电磁波的传播时延,每个站发送数据后的一小段时间内,可能会有其他站无法及时检测到信道上已有数据在发送,从而发送数据,产生碰撞。
    1. 解决方案:争用期,又叫碰撞窗口。以太网的端到端往返时间。如果一个站发送数据后,在碰撞窗口内没有检测到碰撞,才能确定这次发送不会产生碰撞。通常规定为512比特时间,即64字节时间。
    2. 重传机制:截断二进制指数退避算法。使发生碰撞的站再次发生冲突的概率减小。
      1. 发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
      2. K=MIN[10,重传次数],每次重传时每个站从[0,1,…,2的K次方-1]中随机选一个数字r,重传推后的时间为r倍争用期
      3. 重传达到16次时,则站丢弃该帧,并向高层报告。
    3. 帧的最小长度:以太网规定有效帧的最小长度为64字节(512bit),即争用期内发送的字节数。如果接收到的某个帧长度小于64字节,说明它在争用期内出现问题,需要丢弃,大于等于64字节说明该帧通过了争用期,不会再出现问题
    4. 帧间最小间隔96bit时间,使刚刚收到数据帧的站的缓存来得及清理,做好接受下一帧的准备。
    5. 强化碰撞:在发生碰撞之后除了立即停止发送数据之外,还要发送32bit或48bit 的人为干扰信号,目的是为了能够让所有站点都知道发生了碰撞
  4. 要点:

CSMA/CD

10、网络适配器(网卡)的作用:

  • 适配器用来连接计算机与局域网;同时要能够实现以太网协议
  • 计算机的硬件地址(MAC地址)就在适配器的ROM中;(计算机的软件地址IP地址,在计算机的存储器中)

网卡

11、局域网数据链路层的子层——媒体接入控制层MAC层:

  1. 硬件地址(物理地址或MAC地址):IEEE802为局域网规定了一种48位的全球地址,是指局域网上每台计算机中固化在适配器(网卡)的ROM中的地址。(软件地址是IP地址,计算机的硬件地址只要适配器不更换,就不会改变,而软件地址可以随时变更)。总共48位(6字节)前三字节由管理全球硬件地址的机构——注册管理机构RA向适配器制造公司出售称为组织唯一标识符OUI,后三字节由制造公司自行分配,称为扩展标识符,(其中前三字节中有两位是用来标识是否位单播地址和是否属于全球管理的)。
  2. MAC帧的格式:
    1. 前两个字段为6字节的目的地址和6字节的源地址。第三个字段为2字节的类型字段,表示上一层的协议。第四个字段是数据字段,长度为46到1500字节,一般是网络层交付的IP数据报。第五个字段是长度为4个字节的帧检测序列FCS
    2. MAC帧的长度范围是:64字节到1518字节。首尾部分的控制信息占18字节。其中,64字节的最小长度是CSMA/CD协议的规定(确保通过争用期
    3. 当MAC帧向下交付给物理层时,需要加上7个字节的前同步码(实现发送端和接收端之间的位同步)和1个字节的帧开始定界符(无结束定界符,直接观察曼彻斯特编码即可)
    4. MAC帧中并没有数据长度的标识,但由于传输时使用的是曼彻斯特编码的方式,所以通过对曼彻斯特编码的信号特点的观察便可确定是否传送完毕;(曼彻斯特编码信号的码元正中间有一次电压转换)
  3. 对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

12、以太网的扩展:

  1. 物理层扩展以太网
  2. 数据链路层扩展以太网
    1. 通过网桥扩展以太网
    2. 通过以太网交换机扩展
    3. 虚拟局域网

(集线器是物理层设备,网桥是数据链路层设备)

第三章习题

1、以太网和局域网的区别和联系。

答:以太网是一种局域网,但是因为现在大部分的局域网均为以太网,因此一般提及局域网都会默认为以太网。以太网是一种总线型局域网,而局域网的拓扑结构存在多种实现方式,包括星形、树形、环形、网络结构、总线型等。

2、数据链路(即逻辑链路) 与链路(即物理链路) 有何区别?

答:链路和数据链路并不是一回事

所谓链路就是从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有其他任何交换结点。链路只是一条路径的组成部分。

数据链路则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。

3、数据链路层中的链路控制包括哪些功能?

答:封装成帧、透明传输、差错检测。

4、网络适配器的作用是什么?网络适配器工作在哪一层?

答:作用:(1)数据的封装与解封:发送时将上一层交下来的数据加上首部和尾部,成为以太网的帧。接收时将以太网的帧剥去首部和尾部,然后送交上一层。(2)链路管理:主要是CSMA/CD协议的实现  (3)编码与译码:即曼彻斯特编码与译码。

网络适配器工作在数据链路层

5、PPP 协议不能使数据链路层实现可靠传输。

6、以太网使用的 CSMA/CD 协议是以争用方式接入到共享信道的。这与传统的时分复用 TDM 相比优缺点如何?

答:传统的时分复用TDM是静态时隙分配,均匀高负荷时信道利用率高,低负荷或负荷不均匀时资源浪费较大,CSMA/CD可以动态使用空闲信道资源,低负荷时信道利用率高,但控制复杂,高负荷时信道冲突大。

参考资料:

1、https://hillzhang1999.gitee.io/2020/05/22/ji-suan-ji-wang-luo-quan-bu-fu-xi-bi-ji/#toc-heading-8

2、https://www.nowcoder.com/schoolbooks/detail/27/3?type=&page=1

猜你喜欢

转载自blog.csdn.net/ProQianXiao/article/details/108166349