跳转至

数据链路层

链路(link):从一个结点到相邻结点的一段物理路线(有线或无线)

数据链路(data link):链路 + 网络适配器,也叫逻辑链路

网络适配器,原本是插在主板上的网络接口卡(NIC, Network Interface Card),简称网卡,现在基本嵌入集成到主板中了,所以叫做适配器更合适

  • 适配器和计算机之间通信,通过主板上的I/O总线以并行方式传输
  • 适配器和局域网之间通信,通过传输介质以串行方式传输

适配器装有 RAM 和 ROM,操作系统中需要安装适配器驱动,计算机和局域网的传输方式不同,所以需要对传输方式进行转换,传输速率也不同,所以需要实现缓存功能,还需要实现以太网协议

适配器出厂时会在 ROM 中固化一个全球唯一的硬件地址,又称物理地址,或 MAC 地址,类似于身份证号,仅用于同网段局域网内定位,出了网关还得靠IP地址路由

20230518162437

20230518082748

MAC 地址共 6Bytes,48bits,其中 3Bytes 由 IEEE 统一分配,叫做 OUI(Organisationally Unique Identifier, 组织唯一标识符),另 3Bytes 由生产厂商自己决定,虚拟网卡的 MAC 地址也一样,IEEE 也会给虚拟化软件厂商分配 OUI

20230519105655

数据链路层需要处理的问题

  • 信息打包,需要将物理层传来的比特流转为帧
  • 差错控制,受噪声干扰物理层传输可能会出现误码率(BER, Bit Error Rate),即在一段时间内,BER = 传输错误的比特 / 所传输的比特总数,传输错误的比特指1变为了0,或0变为了1,数据链路层通常使用循环冗余检验(CRC, Cyclic Redundancy Check)等检错技术,无线信道中通常可能需要纠错算法来检错的同时还能纠错
  • 流量控制,信道两端处理信息的速度可能不同,需要某种机制来协调
  • 信道多路复用,需要MAC协议控制

使用的信道主要有:点对点信道、广播信道

点对点信道

点对点协议(PPP, Point to Point Protocol)是计算机接入ISP所使用的数据链路层协议

20230518082819

广播信道

局域网在数据链路层使用广播信道一对多通信,为了使数据链路层适应更多种局域网标准,制定了以太网标准的 IEEE 802 委员会将局域网的数据链路层拆成了两个子层

  • 逻辑链路控制(LLC, Logical Link Control)子层,为网络提供统一的接口,以便数据在设备之间传输,因为现在广泛使用的局域网只有以太网,LLC已经失去意义
  • 媒介接入控制(MAC, Medium Access Control)子层,主要解决多路访问时谁先发谁后发,以及发给谁等问题

一般讨论局域网时,通常就是指以太网,早期传统以太网主要使用总线型拓扑

总线型不能同时发送和接收,属于半双工通信,类似会议中大家随时可发言,无需举手示意,但同时只允许一个人发言,若恰巧两人同时发言,则全都立即停止发言,然后等没有人发言后再发言,使用 CSMA/CD(载波监听多点接入/碰撞检测)来控制

20210725170757

20230518112135

现在快速以太网(100Mbps以上)一般使用星型拓扑,使用双绞线和集线器连接,逻辑上仍是总线网,各主机中的适配器依然使用 CSMA/CD 协议来竞争对传输媒介的控制,如果使用以太网交换机替换集线器,则变为全双工通信,不需要 CSMA/CD

20210725191255

虚拟局域网

VLAN(虚拟局域网)是局域网给用户提供的一种服务,由一些局域网网段构成的与物理位置无关的逻辑组,相同 VLAN 上的主机可以收到彼此的广播信息

20230518190950

无线局域网

使用 CSMA/CA(载波监听多点接入/碰撞避免)协议,可选择与RTS/CTS协议搭配使用