MAC子层协议

MAC子层为三层提供服务,常见的有两种格式:802.3、802.11(无线网卡)。

802命名来源于IEEE组织,IEEE 802致力于研究局域网和城域网的物理层和MAC层中定义的服务和协议,对应OSI网络参考模型的最低两层(即物理层和数据链路层)。

数据帧

数据帧由帧头、上三层数据和帧尾组成

帧头和帧尾只能在二层传输,对上三层来说只是运输的工具而已,而且帧头在不同环境下会变动,目标在接受数据时判断目标MAC是否和自己一致,个人PC和服务器工作在五层,具备交换机的功能。

帧头

帧头由目标MAC(长度6字节)、源MAC(6字节)和类型(2字节)组成,类型字段的作用:识别上层协议、为上层提供服务,有2个值:0x0800(IP协议)、0x0806(ARP协议)。

一个数据帧最大为1518字节,数据内容最大为1500,也称为MTU

帧尾

帧尾就是一个帧检验序列,通过循环冗余算法校验数据帧的完整性,在我的 另一篇笔记 中有详解。


交换机

交换机的接口

名称 速率
Ethernet 10Mb/s
FastEthernet 100Mb/s
GigabitEthernet 1000Mb/s
TenGigabitEthernet 10000Mb/s

以上简称E、F、G、Te口,如F0/1表示第一个模块的第一个100Mb/s接口,在企业级交换机中支持模块化
接口速率自适应:1000/100/10M自适应,速率工作模式可以为10,100,1000任何一种状态。

端口状态:up/down

  • down的三种可能

    • 手动down掉

    • 速率不匹配

    • 双工模式不匹配(双工duplex)

  • 双工模式

    • 单工(在交换机上已经淘汰)

    • 半双工(交换机上的半双工是为了兼容老旧的设备)

    • 全双工

交换机的工作原理

  • 收到一个数据帧后,首先学习帧中的源MAC地址来形成MAC地址表。

  • 检查帧中的目标MAC地址,并匹配MAC地址表

    • 如表中有匹配项,则单播转发

    • 如表中无匹配项,则除接受端口外广播转发

  • 动态学习的MAC地址表在拔掉网线之后300秒(在管理型交换机上可以修改老化时间)没有再接受到数据帧就会删除这条记录。如果在其他接口上收到同一MAC地址的数据帧则会立即更新条目。

  • 在现实环境中交换机动态学习MAC地址表的速度很快,所有主机在发送DHCP广播包的时候就已经被记录了。当所有主机都被记录后,交换机不再发送广播包

MAC地址表

交换机只会从源MAC地址中动态学习MAC地址表

上图中,sw1和sw2的MAC地址表初始为空,10.1.1.1向10.1.1.4发送信息。交换机工作在二层,只能通过MAC地址转发,无法读取上三层数据。

sw1通过源MAC地址学习到10.1.1.1的MAC地址,并发送广播包。sw2收到数据帧后记录10.1.1.1的MAC地址在F0/2接口上,同时sw2也发送广播包。10.1.1.4收到数据帧后将数据依次解封装。

每个交换机都是独立的,无法读取对方的MAC地址表,在此例中,sw2不会记录10.1.1.1的MAC,而是记录自己的F0/2接口,以后所有10.1.1.1的数据帧都往这里转发