vlan 认识


VLAN的目的:将交换机中的各接口在第二层逻辑隔离。
所以可以出现不同VLAN同1个子网的情况,这时,虽然各主机IP可能相同,但他们所属 VLAN不同,所以实际上他们之间并不冲突,但是只能有一个VLAN连出路由器与外网相连,因为路由器要求各接口子网不同,相同子网不同VLAN势必造成路由上的虚拟接口位于同一个子网,这是不允许的。
所以,实际应用中一般将同一网段划在同一VLAN中,路由器中子接口为这些网段设置IP作为网关。

VLAN特点:
ISL:这种CISCO特有的TRUNK协议,相对802.1Q而言最大的不同是它所有VLAN帧都是TAGGED。
802.1Q:作为IEEE的标准,它规定在交换机中传递的帧,需要在其头部添加4bytes的TAG作为标识。(以下接口说明均为802.1Q特性)
ACCESS口:所有从这个口进入交换机的二层帧,都会被交换机逻辑的认为是属于自己接口上允许的那个VLAN的,所以它不会进行任何处理,直接发给对应(同一VLAN)的出口接口。所以进出ACCESS口的帧都是UNTAGGED的,这样PC才能解读。
TRUNK口:所有从这个口进出的数据,除了NATIVE VLAN是没有TAG的,其他所有VLAN都有TAG。正是因为交换机要对TRUNK上的VLAN进行TAG,才会需要在TRUNK口上使用 sw mod tr en 802.1q (isl)
TRUNK中携带的VLAN范围只能是 1-1005 !!!

据此,理论上说,因为所有出ACCESS口和TRUNK口(NATIVE)的帧都是UNTAGGED的,那么当ACCESS与TRUNK直连的时候应该可以实现ACCESS中归属的VLAN和对端NATIVE相通,但实际中交换机会强制端口阻塞,因为DTP判断出两端封装协议不同(没有实体交换机实验,有待验证)。同样的,当使用两个相通的TRUNK连接交换机(NATIVE不同),交换机也会阻塞该端口来拒绝通信。

DTP:用于在交换机之间协商判断接口封装协议的数据,dynamic access接口属性就是基于这个数据的。

同1个VLAN不同子网能否互通?
根据VLAN的原理,同1个VLAN下的主机应该是可以互通的,但是一般情况下我们验证互通的方法都是通过ICMP的PING,需要用到三层功能。所以,即使在同1个VLAN下所有主机的帧都具有相同VLAN TAG,但由于不是在同一个子网下,用PING验证通信的时候会出现路由需求,但此时又没有路由链接,所以PING会失败,但并不代表网络不通,因为其他协议可以通信。
例如:vlan1: A:10.1.1.1 255.255.255.0  B:10.1.2.1 255.255.255.0
当不考虑VLAN存在的时候,AB之间通信是需要路由的.
加上VLAN后也是一样,当A的帧发出后,它会发现10.1.1.0中没有B,但此时它又找不到去往10.1.2.0的路,所以就放弃了。

不同VLAN同1个子网能否互通?
当交换机之间是TRUNK链接的时候,不同VLAN同1子网之间是不能互PING的,因为此时即使各主机位于同一广播域内,但由于经过TRUNK链路时会在帧中添加VLAN TAG,这样会造成相互隔离。
但 当交换机之间是ACCESS链接时(如SW1中的F0/0属于VLAN2 链接了属于VLAN3的SW2上的F0/0),是能PING通的,因为在经过ACCESS链路时并不会添加TAG,所以当来自SW1中VLAN2的主机的 帧穿过时,会被SW2以无TAG的帧接收到,从而顺利传递给VLAN3中的主机。而这些主机又都位于同意子网中,不需要路由,所以直接就PING通了。

不同VLAN不同子网能否互通?
一定需要路由。

在下图的单臂路由中,R1为核心交换机,R2,R3为路由器,R1中的子接口f0/0.1 f0/0.2承接VLAN1和VLAN2。

在 这个网络中,只要10.1.1.1 10.1.2.1设置完成,R2开启IP ROUTING即可实现VLAN间路由,而不需要进行任何路由协议的配置,此时能够实现10.1.1.2 PING 10.1.2.2,并且10.1.1.2和10.1.2.2直接就可以PING F0/1口的192.168.1.1且不需要任何设置,就好像VLAN连到10.1.1.1和10.1.2.1从R2的角度代替R2在PING自己的接口一样。

但C1和C2要想PING 通192.168.1.2和C3的话,就需要在R2和R3间做路由。分别使用 IP ROUTE 0.0.0.0 0.0.0.0 各自出口 后即可。

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s