交换机根据地址表进行转发
- 交换机:将网络包原样转发到目的地
- 端口:网线接口和后面的电路部分
交换机的一个端口就相当于计算机上的一块网卡
但交换机的工作方式和网卡有一点不同。网卡本身具有MAC地址,并通过核对收到的包的接收方MAC地址判断是不是发给自己的,如果不是发给自己的则丢弃;相对地,交换机的端口不核对接收方MAC地址,而是直接接收所有的包并存放到缓冲区中
将包存入缓冲区后,接下来需要查询一下这个包的接收方MAC地址是否已经在MAC地址表中有记录了
当网络包到达发送端口时的操作
- 端口中的MAC模块和PHY (MAU)模块会执行发送操作
- 首先应该确认没有其他设备在发送信号,也就是确认信号收发模块中的接收线路没有信号进来。如果检测到其他设备在发送信号,则需要等待信号发送完毕;如果没有其他信号,或者其他信号已经发送完毕,这时就可以将包的数字信息转换为电信号发送出去
- 在发送信号的过程中,还需要对接收信号进行监控,如果在发送过程中检测到其他设备发送信号,就意味着出现了信号碰撞,这时需要发送阻塞信号以停止网络中所有的发送操作,等待一段时间后再尝试重新发送,这一步和网卡也是一样的
MAC地址表的维护
- 第一种:将发送方
MAC
地址以及其输入端口的号码写入MAC
地址表中 - 第二种:为了防止终端设备移动产生问题,只需要将一段时间不使用的过时记录从地址表中删除就可以了
过时记录从地址表中删除的时间一般为几分钟,因此在过时记录被删除之前,依然可能有发给该设备的包到达交换机。这时,交换机会将包转发到老的端口,通信就会发生错误。遇到这样的情况,只要重启一下交换机,地址表就会被清空并更新正确的信息,然后网络就又可以正常工作了。
特殊操作
全双工模式可以同时进行发送和接收
- 全双工模式是交换机特有的工作模式,可以同时进行发送和接收操作
- 全双工模式比半双工模式速度要快。传送的数据量也更大,性能也就越高
原因:
- 使用集线器,如果多台计算机同时发送信号,信号就会在集线器内部混杂在一起,进而无法使用,这种现象称为碰撞,是以太网的一个重要特征。
- 使用双绞线,发送和接收的信号线是各自独立的[插图],因此在双绞线中信号不会发生碰撞,发送和接收可以同时进行。
- 修改以太网规则(全双工模式):以太网规范中规定了在网络中有信号时要等该信号结束后再发送信号,因此发送和接收还是无法同时进行。于是,人们对以太网规范进行了修订,增加了一个无论网络中有没有信号都可以发送信号的工作模式,同时规定在这一工作模式下停用碰撞检测
自动协商:确定最优的传输速率
- 自动切换工作模式:这一功能可以由相互连接的双方探测对方是否支持全双工模式,并自动切换成相应的工作模式。此外,除了能自动切换工作模式之外,还能探测对方的传输速率并进行自动切换。这种自动切换的功能称为自动协商
交换机可同时执行多个转发操作
- 交换机只将包转发到具有特定MAC地址的设备连接的端口,其他端口都是空闲的
- 当包从最上面的端口发送到最下面的端口时,其他端口都处于空闲状态,这些端口可以传输其他的包,因此交换机可以同时转发多个包
- 相对地,集线器会将输入的信号广播到所有的端口,如果同时输入多个信号就会发生碰撞,无法同时传输多路信号,因此从设备整体的转发能力来看,交换机要高于集线器。