如何實現不同交換機上的終端在同一VLAN上互聯?
如何實現不同交換機上的終端在同一VLAN上互聯?
如下圖:
PC0,PC1和PC4在同一VLAN ,PC2和PC3在同一VLAN,怎麽實現同一VLAN 上的終端互通呢?
我們知道在交換機不做任何配置的時候,所有端口都在同一個默認
1、首先要知道交換機是如何工作的?
交換機是在OSI七層模型的第二層也就是數據鏈路層下工作的,數據傳輸單元是幀。只能識別物理地址,不能識別IP地址。
對於PC2和PC3而言:
假設PC2的MAC地址是A,PC3的MAC地址是B
PC2要和PC3進行通信
PC2發送
目的地址 | 源地址 | 類型 | 數據 |
4b | 4b | 2b |
相當於從A---->B
然後到了交換機端口3,對於交換機,它需要:
成表(交換機會自己學習)
形成一個A------3端口的表
查表
查找自身端口上對應的MAC地址,如果沒有就以廣播數據幀的形式發出去(現在5個PC終端都在同一個VLAN下)去尋找。
PC3接收到廣播後,就以單播的方式回應,同樣回到交換機的端口上,然在成表,查表回到PC2,這樣就形成了通信。
去:成表A----3,廣播找到PC3
回:單播B----2,查表找到A就從3端口到PC2
2、使用vlan技術
VLAN的本質:
是通過數據層面進行分析;
交換機為每個VLAN的數據,在2層頭部添加一個tag字段,該字段等於vlan號
目的地址 | 源地址 | 類型 | tag | 數據 |
現在將PC2和PC3都放在VLAN10
你會發現你只將
因為你沒有將switch0的4端口和switch1的1端口放到vlan10啊。
3、在交換機之間使用trunk技術
經過以上操作,你會發現如果想讓PC0和PC4在另一VLAN上進行通信,你會想到在兩個交換機之間再端口上再加上一根線就OK了(如下圖),可是如果是10個VLAN,20個VLAN呢?這樣就造成了浪費,也增加了工作量!
所以使用trunk,也就是主幹線,又稱為中繼。使不同VLAN通過共享鏈路與其它交換機中的相同VLAN通信。
附:
vlan的創建
創建vlan
switch(config)#vlan+數字
switch(config-vlan)#name+名字 //為vlan改名字
配置端口模式
switch(config)#interface fa0/1
switch(config-if)switchport mode access //設置為訪問模式
端口劃分進指定vlan
switch(config-if)#switchport access vlan+數字
對配置的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
本文出自 “13442945” 博客,請務必保留此出處http://13452945.blog.51cto.com/13442945/1980240
如何實現不同交換機上的終端在同一VLAN上互聯?