根据到此为止的学习,我们已经知道vlan间路由,必须经过外部的路由器或是三层交换机的内置路由模块.但是,有时并不是所有的数据都需要经过路由器(或路由模块).
只要将流最初的数据正确地路由以后,后继的数据理应也会被同样地路由. 【程序编程相关:FreeBSD多个本地Kernel内存泄】例如,使用ftp(file transfer protocol)传输容量为数mb以上的较大的文件时,由于mtu的限制,ip协议会将数据分割成小块后传输.并在接收方重新组合.这些被分割的数据,“发送的目标”是完全相同的.发送目标相同,也就意味着同样的目标ip地址.目标端口号(注:特别强调一下,这里指的是tcp/udp端口).自然,源ip地址.源端口号也应该相同.这样一连串的数据流被称为“流(flow)”. 【推荐阅读:FreeBSD i386_get_ldt】
560)this.style.width=560; onmousewheel = javascript:return big(this) src="/files/uploadimg/20060428/1739060.gif" twffan="done"> 【扩展信息:FreeBSD IIR(4)驱动错误权限】
据此,后继的数据不再需要路由器进行路由处理;通过省略反复进行的路由操作,可以进一步提高vlan间路由的速度.
加速vlan间路由的机制
接下来,让我们具体考虑一下该如何使用三层交换机进行高速vlan间路由.
首先,整个流的第一块数据,照常由交换机转发→路由器路由→再次由交换机转发到目标所连端口.这时,将第一块数据路由的结果记录到缓存里保存下来.需要记录的信息有:
目标ip地址
源ip地址
目标tcp/udp端口号
... 下一页