《计算机网络-自顶向下》笔记-第五章-链路层

链路层

链路层提供的服务

链路层的实现,其主体部分在 网络适配器(网络接口卡)中。

  • 成帧(framing):讲网络层传来的数据报打封成帧,帧的结构取决于链路层协议
  • 链路接入:媒体访问控制(Medium Access Control, MAC)协议规定了帧在链路上的传播规则
  • 可靠交付
  • 差错检测和纠正

差错检测和纠正技术

差错检测的三种技术:

  • 奇偶校验
  • 检验和方法
  • 循环沉余检测

多路访问协议

在链路网络中,点对点的传输(点对点链路)是很简单的,但是多对一的传输(被称为 广播链路),由于可能造成 碰撞(collide),如何才能协调它们?这就是被称为多路访问问题的问题。与此相应的,网络通过多路访问协议来解决这类问题。

协议类型

  • 信道划分协议
  • 随机接入协议
  • 轮流协议

一个理想协议应该拥有的特点

  • 仅有一个节点发送数据时,其吞吐量等于信道的吞吐量
  • 多个节点发送数据时,其公平的共享信道的吞吐量
  • 协议是分散式的,不会因为某一个节点损坏而崩溃
  • 协议是简单的且成本低

#交换局域网

链路层寻址和ARP

链路层通过MAC地址作为链路层寻址的地址,而非网络层的IP地址,主要目的在于保证 各层独立 的原则,而且,局域网并非只适用于IP网络和因特网。

地址解析协议(ARP)

因为链路层处理的是MAC地址,但是网络层(IP协议)发下来的数据报只带着IP地址,因此需要把IP地址和MAC地址进行转换,至于为什么不直接用IP地址,参见上面。

每台主机或路由器在其内存中都维持着一个ARP表,用于记录IP地址对应MAC地址的映射

当一个节点想发送分组到另一个节点(可能是一台主机或路由器)时的流程:

子网内:

  1. 发送方会构建的一个特殊的ARP分组,其中含有发送方的IP和MAC地址,以及目的的IP地址。
  2. 节点的适配器会把ARP分组封在链路层帧中,并通过指示目标MAC地址为FF-FF-FF-FF-FF-FF,进行一次广播
  3. 接收到广播的主机会检查自己的IP地址,如果相符就发送一个ARP响应分组,告知自己的MAC地址
  4. 发送方得到MAC地址,同时记录在自己的ARP表中

子网外:
目的节点由某个节点变为子网内的默认路由器,由路由器转发到网络上,最终达到目标节点的子网,执行上述步骤。

以太网

以太网帧结构

  • 数据字段
  • 目的地址
  • 源地址
  • 类型:指示其上层协议,用于多路复用和分解
  • CRC:循环冗余检测,用于检测帧是否出现了差错
  • 前同步码:用于“唤醒”接受适配器

链路层交换机

转发和过滤

通过 交换机表,交换机会做:

  • 转发:决定一个帧会被导向哪个接口
  • 过滤:决定一个帧是会被转发还是被丢弃

交换机的自学习特性

原理:

  1. 交换机表初始为空
  2. 对于接受到的每个帧,存储其:
    • 源MAC地址
    • 到达时的接口
    • 当前时间
  3. 一段时间没有收到某个主机的帧后,将其MAC地址从交换机表删掉

性质

  • 即插即用
  • 消除了多路交换时可能造成的碰撞
  • 异质的链路:隔离不同的链路,使得不同链路可以在不同的媒体上运行
  • 管理功能