查看原文
其他

加速VLAN间通信的手段

小白学智能 小白学智能 2023-04-05
01流(Flow)

VLAN间路由必须经过外部的路由器或是三层交换机的内置路由模块。但有时并不是所有的数据都需要经过路由器(或路由模块)。

例如,使用FTP(File Transfer Protocol)传输容量为数MB以上的较大的文件时,由于MTU的限制,IP协议会将数据分割成小块后传输,并在接收后进行重新组合。这些被分割的数据“发送的目标”是完全相同的。发送目标相同,也就意味着同样的目标IP地址、目标端口号(注:这里指的是TCP/UDP端口)。基于此,源IP地址以及源端口号也应该相同。这样一连串的数据流被称为“流(Flow)”。

只要将流最初的数据正确地路由以后,后继的数据理应也会被同样地路由。

据此,后续的数据不再需要路由器进行路由处理,通过省略反复进行的路由操作,便可以进一步提高VLAN间路由的速度。


02加速VLAN间路由的机制

接下来,让我们具体考虑一下该如何使用三层交换机进行高速VLAN间路由。

首先,整个流的第一块数据,照常由交换机转发→路由器路由→再次由交换机转发到目标所连端口。这时,将第一块数据路由的结果记录到缓存里保存下来。需要记录的信息有:

● 目标IP地址

● 源IP地址

● 目标TCP/UDP端口号

● 源TCP/UDP端口号

● 接收端口号(交换机)

● 转发端口号(交换机)

● 转发目标MAC地址

...

同一个流的第二块以后的数据到达交换机后,直接通过查询先前保存在缓存中的信息查出“转发端口号”后就可以转发给目标所连端口了。

这样一来,就不需要再一次次经由内部路由模块中继,而仅凭交换机内部的缓存信息就足以判断应该转发的端口。

这时,交换机会对数据帧进行由路由器中继时相似的处理,例如改写MAC地址、IP包头中的TTL和Check Sum校验码信息等。

通过在交换机上缓存路由结果,实现了以缆线速度(Wired Speed)接收发送方传输来数据的数据、并且能够全速路由、转发给接收方。

另外,除了三层交换机的内部路由模块,外部路由器中的某些机型也支持类似的高速VLAN间路由机制。




//

未完待续

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存