一、存储转发(Store-and-Forward)
存储转发是最常见的交换方式,交换机会复制整个数据帧到缓冲区,然后计算CRC(循环冗余检查,Cyclic Redundancy Check)。
工作原理
- 接收数据帧:交换机接收到整个数据帧。
- 错误检测:交换机计算帧校验序列(FCS),检查数据帧是否有错误。
- 转发决定:如果数据帧没有错误,交换机将其转发到目的端口;如果有错误,数据帧会被丢弃。数据帧太短(小于64B)或者太长(大于1518B)也会被丢弃。
优点
- 错误检测:能够检测数据帧中的错误,确保网络中的数据传输是可靠的。
- 数据完整性:避免了损坏的数据帧被转发到网络中。
缺点
- 延迟较高:因为交换机需要等待整个数据帧接收完毕并进行错误检测,越大的数据帧延迟越高。
二、 直通(Cut-Through)
直通交换模式,这个模式比较直接,一旦读取到数据包目的地址,就会开始向目的端口发送数据包。不需要等待整个数据帧接收完毕。
工作原理
- 接收数据帧的前缀:交换机在接收到数据帧的前面部分(通常是帧头)后,立即开始转发。
- 目的MAC地址解析:交换机在接收到数据帧的目的MAC地址字段后,根据MAC地址表决定转发路径。
- 后续数据处理:在数据帧的剩余部分还在接收过程中时,交换机已经开始将前面的数据转发到目的端口。
优点
- 低延迟:转发速度快,因为交换机不需要等待整个数据帧接收完毕。
- 效率高:适用于对延迟敏感的应用,如实时语音和视频传输。
缺点
- 无法进行完整的错误检查:由于交换机在接收完全部数据帧之前就开始转发,可能会转发损坏的数据帧。
- 数据完整性风险:可能会出现丢失数据帧或数据帧损坏的风险。
三、无碎片(Fragment-Free)
无碎片交换模式是介于存储转发和直通之间的一种方式,它在接收数据帧的前64字节后开始转发。
工作原理
- 接收数据帧的前64字节:交换机在数据帧到达时,首先接收前64字节。
- 错误检测:前64字节通常包含了数据帧中的错误信息(如帧开头),因此交换机通过这些字节判断数据帧的完整性。
- 开始转发:如果前64字节没有错误,交换机开始将数据帧转发到目的端口。
优点
- 平衡延迟和错误检测:比直通模式有更好的错误检测能力,同时保持较低的延迟。
- 适度的错误检测:能够减少因错误数据帧造成的影响,同时保持较高的转发效率。
缺点
- 错误检测有限:虽然比直通模式稍好,但仍可能出现转发损坏的数据帧的情况。
- 性能不如直通:在延迟和错误检测之间进行权衡,可能不适用于所有场景。