1.默认时.交换机分割冲突域,路由器分割广播域.
默认时,路由器过滤广播.交换机转发广播到所有网段.
默认时.交换机上所有端口都是VLAN1的成员,VLAN1是管理VLAN.不能删除和修改.
每个VLAN就是一个广播域,如果想要实现VLAN之间的通信,那么就要使用路由器.
每个VLAN被认为是一个广播域,所以它们必须有它自己的网络号.
VLAN和VTP的结合不局限于(或者说打破了)物理位置上的限制.使得不在一个区域的相同VLAN的成员能相互通信.
2.动态VLAN:
使用VLAN管理策略服务器(VMPS)来建立mac地址的数据库.这个数据库可以用于VLAN的动态寻址.VMPS数据库能够自动将mac地址映射到VLAN
VLAN可以大致分为3类:
l 基于MAC地址的VLAN(MAC Based VLAN)
l 基于子网的VLAN(Subnet Based VLAN)
l 基于用户的VLAN(User Based VLAN)
其间的差异,主要在于根据OSI参照模型哪一层的信息决定端口所属的VLAN。
基于MAC地址的VLAN,就是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个MAC地址“A”被交换机设定为属于VLAN“10”,那么不论MAC地址为“A”的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN10中去。计算机连在端口1时,端口1属于VLAN10;而计算机连在端口2时,则是端口2属于VLAN10。
由于是基于MAC地址决定所属VLAN的,因此可以理解为这是一种在OSI的第二层设定访问链接的办法。
但是,基于MAC地址的VLAN,在设定时必须调查所连接的所有计算机的MAC地址并加以登录。而且如果计算机交换了网卡,还是需要更改设定。
基于子网的VLAN,则是通过所连计算机的IP地址,来决定端口所属VLAN的。不像基于MAC地址的VLAN,即使计算机因为交换了网卡或是其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN。
因此,与基于MAC地址的VLAN相比,能够更为简便地改变网络结构。IP地址是OSI参照模型中第三层的信息,所以我们可以理解为基于子网的VLAN是一种在OSI的第三层设定访问链接的方法。
基于用户的VLAN,则是根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN。这里的用户识别信息,一般是计算机操作系统登录的用户,比如可以是Windows域中使用的用户名。这些用户名信息,属于OSI第四层以上的信息。
总的来说,决定端口所属VLAN时利用的信息在OSI中的层面越高,就越适于构建灵活多变的网络。
种类 解说
静态VLAN(基于端口的VLAN) 将交换机的各端口固定指派给VLAN
动态VLAN 基于MAC地址的VLAN 根据各端口所连计算机的MAC地址设定
基于子网的VLAN 根据各端口所连计算机的IP地址设定
基于用户的VLAN 根据端口所连计算机上登录用户设定
3.当划分VLAN之后,交换机必须能够跟踪所有不同VLAN的帧.
访问端口:
用于连接用户设备,只能属于某一个VLAN.如果访问端口收到带有标记的数据包,比如带有IEEE 802.1Q标记的数据包时,会丢弃它.
特殊情况下,访问端口还可以属于语音VLAN,该VLAN通常被称为辅助VLAN,它被允许覆盖在数据VLAN之上.但是只有访问端口才能够被配置成用于数据和语音VLAN,这样就能把一台电话机和一台PC连接到同一个交换机端口上.
中继端口:
中继链路是两台交换机之间的100MB/S或者1000MB/S的点对点链路,也可以是交换机和路由器或者交换机和服务器之间的链路.
中继链路能承载多个VLAN的通信.理论上同时可以有1-4094个VLAN(除非使用扩展的VLAN,否则实际上只能是1005个VLAN)
DTP的几种状态:
dynamic auto 只收不发 交换机所有端口的默认配置
dynamic desrible 会收会发
trunk 强制起trunk 会收会发(on) 强制后 一般配置 swi no来取消协商
access 不收不发(off)
4.VLAN标记.
当帧在中继链路上被交换的时候,必须含有该VLAN的标记.一旦帧到达了由转发/过滤表决定的,与帧的VLAN-ID像匹配的访问链路的出口,交换机就删除
VLAN标记方法:
(1).ISL.cisco私有,在第二层起作用,用新的报头和循环冗余校验(CRC)对数据帧进行封装.
(2)IEEE 802.1Q 公有, 这种方法是在帧中插入一个字段,以标识VLAN. 如果交换网络中有其它厂家设备,那么必须使用该方法.
帧标记只能在中继链路上使用.
5.VTP(VLAN中继协议) cisco私有 用VLAN信息来更新交换机数据库.
VTP的基本目标是:跨交换式网络管理所有已经配置好的VLAN,并在那个网络上维护其一致性.
在VTP服务器模式和透明模式下,VLAN配置文件保存在NVRAM中,客户机模式保存在RUN中. 透明模式下,VLAN数据库只是本地有效.不会被同步
小技巧:如果想让交换机成为一台服务器,可以先让它成为一台客户机,以便它接收所有VLAN的正确信息,然后,再将它改变为服务器,这样要容易得多.
当在主VTP服务器上创建VLAN时,所有的交换机都将接收VLAN数据库.
在所有的交换机上,VLAN1是管理VLAN, VLAN 1002-1005也是保留的,不能被删除.
6.VTP配置:
交换机有两个配置文件:1.config.txt 交换机配置文件
2.vlan.dat VLAN数据库文件(根据版本号同步)
VTP域名是大小写敏感的. 现网中都用透明模式.
VTP同步条件:
(1).同一个域名
(2).在中继上传播
(3).同步高的版本
(4).密码要一样
注意:当向交换网络中增加一台交换机的时候要特别注意可能会引入更高版本的数据库导致严重的错误同步.
解决办法:
修改域名,然后再改回来
这种会使数据库版本号变成0
VTP会同步域名的
修改VTP的模式 版本号不变 修改VTP的域名 会变为0 透明模式的版本号永远为0
现网中的VTP:先一个ser 多个cli vlan收敛后 再全部变成tran
如果vlan中有端口存在.这时候删除了vlan后.端口也会不见了……
所以首先把端口划分到vlan 1里去 再删除vlan
即no 一个vlan要看vlan里面有没有接口存在
二层交换机也可以有arp表 用svi口的ip映射基mac
二层交换机只能有一个svi口 三层可以多个
中继链路详解
何谓汇聚链接?
汇聚链接(Trunk Link)指的是能够转发多个不同VLAN的通信的端口。
汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。
现在再让我们回过头来考虑一下刚才那个网络如果采用汇聚链路又会如何呢?用户只需要简单地将交换机间互联的端口设定为汇聚链接就可以了。这时使用的网线还是普通的UTP线,而不是什么其他的特殊布线。图例中是交换机间互联,因此需要用交叉线来连接。
接下来,让我们具体看看汇聚链接是如何实现跨越交换机间的VLAN的。
A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加了表示属于红色VLAN的标记。
交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于红色VLAN的,因此去除标记后根据需要将复原的数据帧只转发给其他属于红色VLAN的端口。这时的转送,是指经过确认目标MAC地址并与MAC地址列表比对后只转发给目标MAC地址所连的端口。只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于红色VLAN的端口。
蓝色VLAN发送数据帧时的情形也与此相同。
通过汇聚链路时,自动附加VLAN识别信息
通过识别VLAN标识,转发给相应的端口,同时去除VLAN标识,恢复成原始数据帧。
通过汇聚链路时附加的VLAN识别信息,有可能支持标准的“IEEE 802.1Q”协议,也可能是Cisco产品独有的“ISL(Inter Switch Link)”。如果交换机支持这些规格,那么用户就能够高效率地构筑横跨多台交换机的VLAN。
另外,汇聚链路上流通着多个VLAN的数据,自然负载较重。因此,在设定汇聚链接时,有一个前提就是必须支持100Mbps以上的传输速度。
另外,默认条件下,汇聚链接会转发交换机上存在的所有VLAN的数据。换一个角度看,可以认为汇聚链接(端口)同时属于交换机上所有的VLAN。由于实际应用中很可能并不需要转发所有VLAN的数据,因此为了减轻交换机的负载、也为了减少对带宽的浪费,我们可以通过用户设定限制能够经由汇聚链路互联的VLAN。
IEEE802.1Q与ISL
汇聚方式
在交换机的汇聚链接上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN。
附加VLAN信息的方法,最具有代表性的有:
l IEEE802.1Q
l ISL
现在就让我们看看这两种协议分别如何对数据帧附加VLAN信息。
IEEE802.1Q
IEEE802.1Q,俗称“Dot One Q”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。
在此,请大家先回忆一下以太网数据帧的标准格式。
IEEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间。具体内容为2字节的TPID和2字节的TCI,共计4字节。
在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。
而当数据帧离开汇聚链路时,TPID和TCI会被去除,这时还会进行一次CRC的重新计算。
TPID的值,固定为0x8100。交换机通过TPID,来确定数据帧内附加了基于IEEE802.1Q的VLAN信息。而实质上的VLAN ID,是TCI中的12位元。由于总共有12位,因此最多可供识别4096个VLAN。
基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签。因此,它也被称作“标签型VLAN(Tagging VLAN)”。
ISL(Inter Switch Link)
ISL,是Cisco产品支持的一种与IEEE802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议。
使用ISL后,每个数据帧头部都会被附加26字节的“ISL包头(ISL Header)”,并且在帧尾带上通过对包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值。换而言之,就是总共增加了30字节的信息。
在使用ISL的环境下,当数据帧离开汇聚链路时,只要简单地去除ISL包头和新CRC就可以了。由于原先的数据帧及其CRC都被完整保留,因此无需重新计算CRC。
ISL有如用ISL包头和新CRC将原数据帧整个包裹起来,因此也被称为“封装型VLAN(Encapsulated VLAN)”。
需要注意的是,不论是IEEE802.1Q的“Tagging VLAN”,还是ISL的“Encapsulated VLAN”,都不是很严密的称谓。不同的书籍与参考资料中,上述词语有可能被混合使用,因此需要大家在学习时格外注意。
并且由于ISL是Cisco独有的协议,因此只能用于Cisco网络设备之间的互联。
不同VLAN间通信时数据的流程
接下来是这一讲的核心内容,不同VLAN间的通信。让我们来考虑一下计算机A与计算机C之间通信时的情况。
计算机A从通信目标的IP地址(192.168.2.1)得出C与本机不属于同一个网段。因此会向设定的默认网关(Default Gateway,GW)转发数据帧。在发送数据帧之前,需要先用ARP获取路由器的MAC地址。
得到路由器的MAC地址R后,接下来就是按图中所示的步骤发送往C去的数据帧。①的数据帧中,目标MAC地址是路由器的地址R、但内含的目标IP地址仍是最终要通信的对象C的地址。这一部分的内容,涉及到局域网内经过路由器转发时的通信步骤,有机会再详细解说吧。
交换机在端口1上收到①的数据帧后,检索MAC地址列表中与端口1同属一个VLAN的表项。由于汇聚链路会被看作属于所有的VLAN,因此这时交换机的端口6也属于被参照对象。这样交换机就知道往MAC地址R发送数据帧,需要经过端口6转发。
从端口6发送数据帧时,由于它是汇聚链接,因此会被附加上VLAN识别信息。由于原先是来自红色VLAN的数据帧,因此如图中②所示,会被加上红色VLAN的识别信息后进入汇聚链路。路由器收到②的数据帧后,确认其VLAN识别信息,由于它是属于红色VLAN的数据帧,因此交由负责红色VLAN的子接口接收。
接着,根据路由器内部的路由表,判断该向哪里中继。
由于目标网络192.168.2.0/24是蓝色VLAN,,且该网络通过子接口与路由器直连,因此只要从负责蓝色VLAN的子接口转发就可以了。这时,数据帧的目标MAC地址被改写成计算机C的目标地址;并且由于需要经过汇聚链路转发,因此被附加了属于蓝色VLAN的识别信息。这就是图中③的数据帧。
交换机收到③的数据帧后,根据VLAN标识信息从MAC地址列表中检索属于蓝色VLAN的表项。由于通信目标——计算机C连接在端口3上、且端口3为普通的访问链接,因此交换机会将数据帧除去VLAN识别信息后(数据帧④)转发给端口3,最终计算机C才能成功地收到这个数据帧。
进行VLAN间通信时,即使通信双方都连接在同一台交换机上,也必须经过:
发送方——交换机——路由器——交换机——接收方
这样一个流程。
三层交换机
使用路由器进行VLAN间路由时的问题
现在,我们知道只要能提供VLAN间路由,就能够使分属不同VLAN的计算机互相通信。但是,如果使用路由器进行VLAN间路由的话,随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈。
交换机使用被称为ASIC(Application Specified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。而路由器,则基本上是基于软件处理的。即使以缆线速度接收到数据包,也无法在不限速的条件下转发出去,因此会成为速度瓶颈。就VLAN间路由而言,流量会集中到路由器和交换机互联的汇聚链路部分,这一部分尤其特别容易成为速度瓶颈。并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里可能连设置的场所都成问题。
三层交换机(Layer 3 Switch)
为了解决上述问题,三层交换机应运而生。三层交换机,本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为“三层交换机”。
关于三层交换机的内部结构,可以参照下面的简图。
在一台本体内,分别设置了交换机模块和路由器模块;而内置的路由模块与交换模块相同,使用ASIC硬件处理路由。因此,与传统的路由器相比,可以实现高速路由。并且,路由与交换模块是汇聚链接的,由于是内部连接,可以确保相当大的带宽。
在三层交换机内部数据究竟是怎样传播的呢?基本上,它和使用汇聚链路连接路由器与交换机时的情形相同。
假设有如下图所示的4台计算机与三层交换机互联。当使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成“VLAN接口(VLAN Interface)”。VLAN接口,是用于各VLAN收发数据的接口。(注:在Cisco的Catalyst系列交换机上,VLAN Interface被称为SVI——Switched Virtual Interface)
为了与使用路由器进行VLAN间路由对比,让我们同样来考虑一下计算机A与计算机B之间通信时的情况。首先是目标地址为B的数据帧被发到交换机;通过检索同一VLAN的MAC地址列表发现计算机B连在交换机的端口2上;因此将数据帧转发给端口2。
使用三层交换机进行VLAN间路由(VLAN间通信)
接下来设想一下计算机A与计算机C间通信时的情形。针对目标IP地址,计算机A可以判断出通信对象不属于同一个网络,因此向默认网关发送数据(Frame 1)。
交换机通过检索MAC地址列表后,经由内部汇聚链接,将数据帧转发给路由模块。在通过内部汇聚链路时,数据帧被附加了属于红色VLAN的VLAN识别信息(Frame 2)。
路由模块在收到数据帧时,先由数据帧附加的VLAN识别信息分辨出它属于红色VLAN,据此判断由红色VLAN接口负责接收并进行路由处理。因为目标网络192.168.2.0/24是直连路由器的网络、且对应蓝色VLAN;因此,接下来就会从蓝色VLAN接口经由内部汇聚链路转发回交换模块。在通过汇聚链路时,这次数据帧被附加上属于蓝色VLAN的识别信息(Frame 3)。
交换机收到这个帧后,检索蓝色VLAN的MAC地址列表,确认需要将它转发给端口3。由于端口3是通常的访问链接,因此转发前会先将VLAN识别信息除去(Frame 4)。最终,计算机C成功地收到交换机转发来的数据帧。
整体的流程,与使用外部路由器时的情况十分相似——都需要经过发送方→交换模块→路由模块→交换模块→接收方。
加速VLAN间通信的手段(多层交换)
流(Flow)
根据到此为止的学习,我们已经知道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间路由机制
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)