米葫芦网

加速 VLAN 间通信的手段

热度:7℃ 发布时间:2023-11-16 19:33:08

根据到此为止的学习,我们已经知道 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 间路由的手法多由各厂商独有的技术所实现,并且该功能的称谓也因厂商而异 。例如,在 Cisco 的 Catalyst 系列交换机上,这种功能被称为“ 多层交换( Multi Layer Switching ) ”。另外,除了三层交换机的内部路由模块,外部路由器中的某些机型也支持类似的高速 VLAN 间路由机制。


网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载