第3章 以太网
3.1 以太网交换
3.1.1 以太网数据帧
MAC地址:以太网卡物理地址
- 16进制格式
- 固定6个字节长度,4bit(如,0000)
- 全球唯一
- 用在广播域区分不同的以太网接口
以太网的特点;
-
(多路访问,MA)
- 允许链路上存在多个接口
- 如何在在这条链路上或者广播域中区分不同的接口呢?所以定义MAC地址
- 允许链路上存在多个接口
-
PPP/HDLC(点到点,P2P)
- 允许链路上仅存2个接口,所以这类接口不需要地址做区分
3.1.2 MAC地址
分组网络的通信模式:
- 单播通信,一对一的通信
- 广播通信,一对所有的通信
- 组播通信,一对多的通信
二进制与十六进制之间的转化:
4个bit的二进制代表一个16进制数值
0000(2) = 0(16)
0001(2) = 1(16)
0010(2) = 2(16)
0011(2) = 3(16)
…
ffff(2) = 1(16)
问题:如何区分数据帧是单播帧、还是组播帧、还是广播帧?
根据目的MAC地址的特点判断:
类型 说明 单播MAC地址 MAC地址的第8bit为0 组播MAC地址 MAC地址的第8比特为1 广播MAC地址 MAC地址全是1,即ffff-ffff-ffff-ffff
3.1.3 MAC地址表
每台交换机中都有一个MAC地址表,存放了(MAC地址与交换机端口编号之间的映射关系,作为交换机进行数据帧转发的凭据。
MAC地址表项类型 | 说明 |
---|---|
动态表项 | 由接口通过报文中的源MAC地址学习获得,表项可老化,默认老化时间300秒。 在系统复位、接口板热插拔或接口板复位后,动态表项会丢失。 |
静态表项 | 由用户手工配置,并下发到各接口板,表项不可老化。 在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。 [Huawei]mac-address static 0011-2233-4455 GigabitEthernet 0/0/2 vlan 1 |
黑洞表项 | 由用户手工配置,并下发到各接口板,表项不可老化。 配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。 [Huawei]mac-address blackhole 00aa-bbcc-ddee |
3.1.4 组网方式
HUB组建的以太网:半双工需要CSMA/CD
SW组建的以太网: 全双工不需要CSMA/CD
3.2 交换机工作原理
-
交换机的3种转发行为
泛洪: 交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
转发: 交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
丢弃: 交换机把从某一端口进来的帧直接丢弃。 -
当交换机在某个接口上收到一个单播数据帧时,它将首先读取数据帧的目的MAC地址,并且在自己的MAC地址表中查询该地址,如果查询不到匹配的表项,则将该数据帧进行泛洪(Flooding)。如果能够在MAC地址表中找到匹配的表项,并且收到该帧的接口与该表项中对应的接口不同时,则将数据帧从该表项中对应的接口转发出去;如果收到该帧的接口与该表项中对应的接口相同时,则丢弃该数据帧。
-
当交换机收到一个广播数据帧(目的 MAC 地址为ffff-ffff-fff)时,交换机不会进行目的MAC地址查询,而是直接将其进行泛洪。
-
当交换机收到一个组播数据帧时(组播数据帧指的是目的MAC地址为组播MAC地址的数据帧),缺省情况下,交换机会对其进行泛洪处理,但是如果交换机部署了诸如IGMP Snooping这样的二层组播技术,那么组播数据帧将只会被交换机从特定的一些接口转发出去。
3.3 ARP
ARP (Address Resolution Protocol)地址解析协议:根据已知的IP地址解析获得其对应的MAC地址。
ARP协议只能在一个广播域内进行MAC地址地址解析
解析流程:
PC1检查自身ARP缓存,查找目的IP对应的MAC地址。
存在:直接使用,将数据包封装成数据帧,就可以实现在链路上的发送。
不存在:自动运行ARP协议进行MAC地址解析
当目的主机IP的MAC地址在ARP缓存中不存在式,则发送ARP请求报文
广播域中所有主机收到ARP请求后,检测target IP是否是自身网卡IP
不是:忽略该ARP请求,不做任何回复。
是:该主机记录sender MAC和sender IP保存在自身的ARP缓存中。
向源主机回复ARP单播应答报文
PC1收到ARP应答报文后,提取sender MAC和Sender IP,得知PC的MAC地址,并记录到自身的ARP缓存中
向源主机回复ARP单播应答报文PC1收到ARP应答报文后,提取sender MAC和Sender IP,得知PC的MAC地址,并记录到自身的ARP缓存中