如何实现不同交换机上的终端在同一VLAN上互联?

如下图:

同一交换机为不同VLAN做根桥 同一交换机不同vlan互通_数据

和PC4在同一VLAN ,PC2和PC3在同一VLAN,怎么实现同一VLAN 上的终端互通呢?

 

    我们知道在交换机不做任何配置的时候,所有端口都在同一个默认vlan下,所以将终端配置好IP地址之后5台PC就可以互通,但是现在为了让它们分离出来,如何实现呢?

1、首先要知道交换机是如何工作的?

     交换机是在OSI七层模型的第二层也就是数据链路层下工作的,数据传输单元是帧。只能识别物理地址,不能识别IP地址。

     对于PC2和PC3而言:

     假设PC2的MAC地址是A,PC3的MAC地址是B

要和PC3进行通信


PC2发送 



目的地址

源地址

类型

数据

4b

4b

2b


      

相当于从A---->B

然后到了交换机端口3,对于交换机,它需要:

    成表(交换机会自己学习)

形成一个A------3端口的表

    查表

查找自身端口上对应的MAC地址,如果没有就以广播数据帧的形式发出去(现在5个PC终端都在同一个VLAN下)去寻找。

接收到广播后,就以单播的方式回应,同样回到交换机的端口上,然在成表,查表回到PC2,这样就形成了通信。

     去:成表A----3,广播找到PC3

     回:单播B----2,查表找到A就从3端口到PC2

2、使用vlan技术

VLAN的本质:

是通过数据层面进行分析;

    交换机为每个VLAN的数据,在2层头部添加一个tag字段,该字段等于vlan号


目的地址

源地址

类型

tag

数据


    现在将PC2和PC3都放在VLAN10

    你会发现你只将switch0的3端口放进vlan10,将switch1的2端口放进10,PC2和PC3竟然没有通信!!

    因为你没有将switch0的4端口和switch1的1端口放到vlan10啊。

 

3、在交换机之间使用trunk技术

    经过以上操作,你会发现如果想让PC0和PC4在另一VLAN上进行通信,你会想到在两个交换机之间再端口上再加上一根线就OK了(如下图),可是如果是10个VLAN,20个VLAN呢?这样就造成了浪费,也增加了工作量!


同一交换机为不同VLAN做根桥 同一交换机不同vlan互通_同一交换机为不同VLAN做根桥_02


 

所以使用trunk,也就是主干线,又称为中继。使不同VLAN通过共享链路与其它交换机中的相同VLAN通信。


附:

vlan的创建
1. 创建vlan
switch(config)#vlan+数字
switch(config-vlan)#name+名字  //为vlan改名字2. 配置端口模式
switch(config)#interface fa0/1
switch(config-if)switchport mode access  //设置为访问模式3. 端口划分进指定vlan
switch(config-if)#switchport access vlan+数字4. 对配置的ip进行测试
switch#show vlan brief
思科交换机默认有5个系统vlan,这些vlan不可以修改与删除。Trunk:
Trunk 模式的链路,可以同时传输所有VLAN的数据;
配置命令:
switch(config)#int  fa 0/1 //某个端口
switch(config-if)#switchport mode trunk
验证命令:
show interface trunk
某些交换机需要:
switchport trunk encapsulation dot1q   //指定一个封装协议才能配置trunk

 



转载于:https://blog.51cto.com/13452945/1980240