计算机网络 第3章 数据链路层 知识小结

时间:2022-05-12 15:00:38

1. 网络适配器的作用及工作在哪一层?

网络适配器即网络接口卡,简称网卡

  • 作用
    实现联网计算机和网络电缆之间的物理连接
  • 工作层数
    物理层和数据链路层

2. 数据链路层的三个基本问题(封装成帧,透明传输,差错检测)为何必须解决?

  • 封装成帧:封装成帧是分组交换的必然要求
  • 透明传输:避免消息符号与帧定界符号相混淆
  • 差错检测:防止含差错的无效数据帧浪费后续路由上的传输和处理资源

1.封装成帧

  • 定义:
    帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
  • 分类:
    1. 面向字符:IBM的BSC规程
    2. 面向比特 :ISO的HDLC规程

2.透明传输

字节填充(注意和PPP的字节填充不同):
帧发送在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。

3.差错检测

误码率:在一段时间内,传输错误的比特占所传输比特总数的比率
特点:

  • 并不能确定究竟是哪一个或哪几个比特出现了差错。
  • 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小
循环冗余检验 CRC
发送端工作
  1. 把数据划分为组。假定每组 k 个比特。
  2. k位数据M后添加供差错检测用的n 位冗余码一起发送
获取冗余码的方法(关键):加n个0后除以(n+1)位的除数P得到n位的余数R即为冗余码
  1. 事先选定好的长度为(n + 1)位的除数P,用二进制的模 2 运算进行 2 n 乘 M 的运算,这相当于在 M 后面添加 n 个 0
  2. 得到的 (k + n)位的数除以事先选定好的长度为(n + 1)位的除数P,得出商是 Q余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位
用多项式来表示循环冗余检验过程

生成多项式 P ( X ) = X 3 + X 2 + 1 表示除数 P = 1101

接收端工作

接收端把收到的第一帧都除以同样的除数P(模2除法) ,检查余数R
注意:
模2除法与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位,所以实际上就是异或

  • 余数 R = 0,则判定这个帧没有差错,就接受(accept)
  • 余数 R 0,则判定这个帧有差错,就丢弃

3. 点对点协议PPP

特点:点对点,全双工,支持面向字符型协议与面向比特型协议
标志字段(flag):就是PPP帧的定界符. F = 0 x 7 E (符号“0x”—十六进制。7E 的二进制表示是— 01111110)。
PPP解决透明传输问题的两种方法:

字节填充(字符填充)

  • 适用范围:异步传输
  • 规则:
    1. 当信息字段中出现和标志字段一样的数据(0x7E)时,就要将该字节转变为2字节序列(0x7D,0x5E);
    2. 若信息中出现一个0x7D字节,则将其转变为2字节序列 (0x7D,0x5D) ;
    3. 若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
      如:0x03—(0x7D,0x23 )
  • 例子:
    数据帧部分为:7D 5E FE 27 7D 5D 7D 5D 65 7D 5E
    则真正的数据为: 7E FE 27 7D 7D 65 7E

零比特填充

  • 适用范围:同步传输(一连串的比特连续传送)
  • 7E 的二进制表示是— 01111110,即有连续的6个1
  • 规则:
    • 发送端:当一串比特流数据中有 5 个连续 1 时,就立即填入一个 0
    • 接收端:
      1. 先找到 F 字段(即 7E ,也就是01111110)以确定帧的边界。接着再对比特流进行扫描。
      2. 每当发现 5 个连续 1 时,就将其后的一个 0 删除,以还原成原来的比特流
  • 例子:
    1. 原比特串为 0110 1111 1111 1100,则零比特填充后为: 0110 1111 1011 1110 00
    2. 接收端收到的PPP帧的数据部分为 0001 1101 1111 0111 1101 10,则原比特串为: 0001 1101 1111 1111 1110

4. CSMA/CD 协议

  • 含义:载波监听多点接入/碰撞检测 (Carrier Sense Multiple Access with /Collision Detection)
  • 使用场景:以太网
  • 以太网的信号编码:曼切斯特编码
    • 编码方式:通过电压的变化来表示信号(如,”前高后低”表示1,”前低后高”表示0),即发送的每一位都有两个信号周期
    • 例子:数据率为 10Mbit/s 的以太网在物理媒体上的码元传输速率是 20M 码元/秒
  • 要点
    • 多点接入:总线型网络,许多计算机以多点接入的方式连接在一根总线上
    • 载波监听:检测信道,用电子技术检测总线上有没有其他计算机发送的数据信号,每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
    • 碰撞检测: 边发送边监听,一旦发现总线上出现了碰撞,就要立即停止发送
  • CSMA/CD协议以争用方式接入到共享信道 与 传统的时分复用TDM 相比的优缺点:
    • 优点: 网络负载轻时,CSMA/CD 协议较灵活,利用率高
    • 缺点: 控制复杂,网络负载重时,信道冲突多,利用率低
  • CSMA/CD 最短帧长
    • 由来: 在一帧发送完毕之前,发送方必须要检测到是否有冲突发生,如果没有才能发送下一帧,如果有则按照相应算法检测后重新发送该帧。故 一个帧发送完的时间必须大于检测到冲突的最长时间
    • 检测到冲突的最长时间 为 争用期,或碰撞窗口,时间为两倍段到段往返时延,记为 2 τ
    • 例子:假定 1km 长的 CSMA/CD 网络的数据率为 1Gbit/s,设信号在网络上的传播速率为 200 000 km/s.则最短帧长为?
      τ = 1 / 200 000 = 5 10 6 s , 2 τ = 1 10 5 s , 2 τ 时间内能发送的bit数为: 1 10 9 1 10 5 = 10000 ,即 1250字节长.
    • 动态退避时间
    • 由来:CSMA/CD算法中,在检测到冲突,为了降低再冲突的概率,需要等待一个随机时间,然后再用CSMA的算法发送
    • 计算: r 退 ( ) 2 τ
    • 争用期长度:
      • 10 Mb/s 以太网: 51.2 u s
      • 100 Mb/s 以太网: 5.12 u s

5. 集线器和交换机的区别

  1. 工作层次不同
    交换机和集线器在OSI/RM开放体系模型中对应的层次就不一样,集线器是工作在第一层(物理层),而交换机至少是工作在第二层,更高级的交换机可以工作在第三层(网络层)和第四层(传输层)。
  2. 数据传输方式不同
    集线器的数据传输方式是广播(broadcast)方式,而交换机的数据传输是有目的的,数据只对目的节点发送,只是在自己的MAC地址表中找不到的情况下第一次使用广播方式发送,然后因为交换机具有MAC地址学习功能,第二次以后就不再是广播发送了,又是有目的的发送。用集线器组成的网络称为共享式网络,而用交换机组成的网络称为交换式网络。
  3. 带宽占用方式不同
    在带宽占用方面,集线器所有端口是共享集线器的总带宽,而交换机的每个端口都具有自己的带宽
  4. 传输模式不同
    集线器只能采用半双工方式进行传输的,因为集线器是共享传输介质的,这样在上行通道上集线器一次只能传输一个任务,要么是接收数据,要么是发送数据。交换机可以是半双工操作,也可以是全双工操作

最大吞吐量的计算

  • 集线器:如果全部接在一个集线器上,那么该网络的最大总的吞吐量就是这个集线器的最大值
  • 交换机:各个接口全部与交换机相连,那么总的最大吞吐量就是每个链路最大值的总和

6. 多接口网桥(以太网交换机)的自学习和转发帧 步骤

  1. 网桥收到一帧后先进行自学习。
    查找转发表中与收到帧的源地址有无相匹配的项目。
    • 有:把原有的项目进行更新
    • 没有:在转发表中增加一个项目(源地址、进入的接口和时间)
  2. 转发帧
    查找转发表中与收到帧的目的地址有无相匹配的项目
    • 有:按转发表中给出的接口进行转发(若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧,因为这时不需要经过网桥进行转发)
    • 没有:通过所有其他接口(但进入网桥的接口除外)按进行转发