以太网交换基础知识
以太网协议
以太网是当今局域网采用的最通用的通信协议标准,该标准定义了局域网中采用的电缆类型和信号处理方法。
以太网是建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期以太网设备如HUB是物理层设备,无法隔离冲突扩散;如今的以太网基本是交换机组网,交换机作为二层设备,较好地隔离冲突,但交换机对网络中的广播数据不做限制,仍会影响网络性能。(为了解决广播风暴的问题,引入了
VLAN技术
)
CSMA/CD协议具体工作机制原理可以参考各大《计算机网络》书籍,里面都有讲的很清楚,或者可以看看这位大佬的 总结
交换机交换表工作原理
交换机的交换表作为转发数据的依据,里面存储了MAC地址和对应接口以及有效事件
交换表的自学习过程
如图所示,交换表一开始是空的,学习过程如下:
- A向B发生数据帧,从接口1进入交换机
- 交换机收到帧后,查找交换表,没有查找到从哪个接口转发这个帧
- 交换机把这个帧的源MAC地址和接口1写入交换表中,并向其他接口广播这个帧
- 只有B会收下这个帧,因为其他主机判断目的MAC不是它们
- 以后不管从哪个接口收到目的MAC为A的帧,都将从接口1转发出去
- 例如B通过接口3向A发送一帧,交换机查找交换表,找到A的表项,便直接从接口1转发数据帧,不再进行广播
- 同理,交换机将B的MAC地址和接口3写入交换表
- 每个交换表项都设有一定的有效时间,因为考虑到有时交换机接口会更换主机,或主机更换其他的网络适配器,这就需要更改交换表项。
注意:在这个过程中,是先学习再转发,即收到帧后,先查看有没有对应源MAC地址的项,若有,则进行更新,包括接口和有效时间,若没有,则添加对应的源MAC和接口表项;接着再查找有没有对应目的MAC地址的项,若有,从项对应的接口转发,没有则在其他接口进行广播。
实际应用例子
两台主机和交换机都处于初始化状态,现要实现主机1访问主机2
实现通信过程:
1.数据封装:
主机1在发送报文前,要先进行报文封装包括源目IP、源目MAC等。
2.ARP查询:
为了进行报文封装,主机1需要查找本地ARP缓存表,由于处于初始化状态,ARP缓存表为空,因此发送ARP请求报文,请求目的MAC地址,交换机收到数据帧查找MAC地址表,同样的,处于初始化状态的交换机MAC表为空,因此向所有非接收端口泛洪数据帧 。同时,交换机将收到的数据帧的源MAC地址和对应端口记录到MAC表中。
3.ARP响应:
主机2收到ARP请求报文后,在自己的ARP缓存表中记录或者更新主机1的ARP信息,并发送ARP响应报文给主机1。交换机收到主机2发送的数据帧后查找MAC表,发现有对应表项,向对应端口转发数据帧,并且将收到的数据帧的源MAC地址和对应端口记录到MAC地址表中。
4.完成访问: 主机1收到主机2的ARP响应报文后,就会将对应的IP地址和MAC地址记录到自己的ARP缓存中,并封装自己的报文,访问主机2。