加速 VLAN 间通信的手段

根据到此为止的学习 , 我们已经知道 VLAN 间路由 , 必须经过外部的路由器或是三层交换机的内置路由模块。但是 , 有时并不是所有的数据都需要经过路由器(或路由模块) 。
例如 , 使用 FTP ( File Transfer Protocol )传输容量为数 MB 以上的较大的文件时 , 由于 MTU 的限制 , IP 协议会将数据分割成小块后传输、并在接收 方重新 组合。这些被分割的数据 , “发送的目标”是完全相同的 。发送目标相同 , 也就意味着同样的目标 IP 地址、目标端口号(注:非凡强调一下 , 这里指的是 TCP/UDP 端口) 。自然 , 源 IP 地址、源端口号也应该相同 。这样一连串的数据流被称为“流( Flow )”。
只要将流最初 的数据正确地路由以后 , 后继的数据理应也会被同样地路由。
据此 , 后继的数据不再需要路由器进行路由处理;通过省略反复进行的路由操作 , 可以进一步提高 VLAN 间路由的速度。
点击查看大图
加速 VLAN 间路由的机制
接下来 , 让我们具体考虑一下该如何使用三层交换机进行高速 VLAN 间路由 。
首先 , 整个流的第一块数据 , 照常由交换机转发 → 路由器路由 → 再次由交换机转发到目标所连端口 。这时 , 将第一块数据路由的结果记录到缓存里保存下来。需要记录的信息有:
l 目标 IP 地址
l 源 IP 地址
l 目标 TCP/UDP 端口号
l 源 TCP/UDP 端口号
l 接收端口号(交换机)
l 转发端口号(交换机)
l 转发目标 MAC 地址
等等 。
同一个流的第二块以后的数据到达交换机后 , 直接通过查询先前保存在缓存中的信息查出“转发端口号”后就可以转发 给目标 所连端口了。
这样一来 , 就不需要再一次次经由内部路由模块中继 , 而仅凭交换机内部的缓存信息就足以判定应该转发的端口 。
这时 , 交换机会对数据帧进行由路由器中继时相似的处理 , 例如改写 MAC 地址、 IP 包头中的 TTL 和 Check Sum 校验 码信息 等 ,
通过在交换机上缓存路由结果 , 实现了以缆线速度( Wired Speed )接收发送方传输来数据的数据、并且能够全速路由、转发给接收方 。
【加速 VLAN 间通信的手段】需要注重的是类似的加速 VLAN 间路由的手法多由各厂商独有的技术所实现 , 并且该功能的称谓也因厂商而异。例如 , 在 Cisco 的 Catalyst 系列交换机上 , 这种功能被称为“ 多层交换( Multi Layer Switching ) ” 。另外 , 除了三层交换机的内部路由模块 , 外部路由器中的某些机型也支持类似的高速 VLAN 间路由机制 。

    推荐阅读