03.数据链路层、MAC(二层)

navyum / 2024-11-17 / 原文

数据链路层又叫MAC层

  • MAC:Medium Access Control,即媒体访问控制,存在连接的设备 to 设备
  • MAC地址 是一个局域网内才有效的地址
  • 目标MAC地址 只要过网关,就必定会改变
  • 目标MAC地址 记录的是下一跳的地址

MAC层 主要解决问题:

  1. 解决包的接收对象
  2. 解决包的有序、并发问题(多路访问)、制定发送规则
  3. 解决发送失败等故障

MAC层 协议:

Img * 类型: * 0x0800:IP协议 * 0x0806:ARP协议 * 0x0835:RARP协议 * 0x86DD:IPv6协议

IP 协议:

  • 作用: 支持IP层协议

ARP 协议:

  • 解决问题:在同一个局域网内,已知IP 地址求MAC地址的协议
  • 具体操作:在局域网内发送广播包,谁的IP是这个,谁进行回答。
  • 优化:本地机器会缓存ARP结果,ARP表 Img

RARP 协议:

  • 解决问题:在同一个局域网内,已知MAC地址,求IP地址的协议

二层设备:交换机

  • 作用:数据包经过交换机,交换机记录对应IP -> Mac地址的映射,形成ARP转发表/MAC地址表(有过期时间) ### 二层设备:集线器
  • 作用:数据包经过集线器,集线器没有MAC地址表,所有接收到的数据帧都会广播到所有端口

数据链路层存在的问题:

1. 如何解决多个局域网的环路问题:

  • 有环的我们常称为图。通过 STP 协议将图中的环破了,就生成了树。
  • 在计算机网络中,生成树的算法叫作 STP。
  • 具体做法就是”华山论剑,带领小弟拜山头”

2. 如何解决多个局域网的广播问题和安全问题:

  1. 物理隔离(建多个局域网,之间隔离)
  2. 虚拟局域网 VLAN:
    • VLAN工作原理:
      • 在二层头中添加Tag,里面使用 VLAN ID,这样可以对不同的虚拟局域网做区分。
      • 交换机把二层的头取下来的时候,识别出 VLAN ID。这样只有相同 VLAN 的包,才会互相转发。 Img