คำถามทดสอบความเข้าใจเรื่อง เรื่อง TRUNK, VLAN, Native VLAN, DTP บน Cisco Switch (พร้อมเฉลย)

คำถามคือ..."หมายเลข 1-4 แต่ละหมายเลข Host A และ Host B สามารถ ping กันเจอหรือไม่ และเหตุผลที่ ping เจอหรือไม่เจอคืออะไร"

 

หมายเลข 1

คำตอบมี 2 คำตอบ คือเป็นไปได้ทั้ง ping ได้ และ ping ไม่ได้

 

คำตอบที่ 1 คือ ping ไม่ได้


          จากภาพ Diagram ด้านบน หากระหว่าง Port Gig0/1 ของ SWITCH 1 ที่ต่อเข้ากับ Port Gig0/1 ของ SWITCH 2 ตั้งค่า Native VLAN ไม่ตรงกัน เบื้องต้นจะส่งผลให้ที่ SWITCH 1 และ SWITCH 2 แสดง Log ประมาณนี้เกิดขึ้นมา

*Mar  1 00:08:04.282: %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet0/1 (10), with SW2 GigabitEthernet0/1 (20).

          เมื่อเกิด Native VLAN Mismatch เกิดขึ้น ตัว Protocol STP จะทำการ Block Port ทันที ซึ่งสาเหตุนี้เกิดจากอุปกรณ์   Cisco ในส่วนของ STP โหมด PVST+ และ PVRST+ ถ้าหาก Switch ได้รับ BPDU ซึ่งในส่วนท้ายสุดของ BPDU จะมีข้อมูลที่บ่งบอกว่า BPDU นี้เกิดจากVLAN อะไร จากภาพด้านล่างเป็น BPDU ที่ SWITCH 2 ได้รับ ซึ่งส่งมาจากฝั่ง SWITCH 1 และกำเนิดมาจาก VLAN 10

          เมื่อ Port Gig0/1 ของ SWITCH 2 ได้รับข้อมูล BPDU จากภาพด้านบนนี้ แล้วส่งตอให้ Native VLAN ของตัวเอง(VLAN 20) จะพบว่า VLAN ไม่ตรงกัน เพราะฝั่ง SWITCH 2 ตั้งค่า native เป็น VLAN 20  ซึ่งเหตการณ์ดังกล่าวที่ SWITCH 2 จะแสดง Log ดังนี้

*Mar  1 00:26:10.565: %SPANTREE-2-RECV_PVID_ERR: Received BPDU with inconsistent peer vlan id 10 on GigabitEthernet0/1 VLAN20.

จะทำให้ STP ทำการ BLOCK PORT ในส่วนของ VLAN 10 และ 20 ซึ่งจะทำให้เกิดสถานะที่เรียกว่า PVID Inconsistency จุดประสงค์ในการ BLOCK Port เพื่อป้องกันการ Loop ที่จะเกิดขึ้น

*Mar  1 00:26:10.565: %SPANTREE-2-BLOCK_PVID_PEER: Blocking GigabitEthernet0/1 on VLAN0010. Inconsistent peer vlan.
*Mar  1 00:26:10.565: %SPANTREE-2-BLOCK_PVID_LOCAL: Blocking GigabitEthernet0/1 on VLAN0020. Inconsistent local vlan.

ซึ่งเมื่อทำการ show spanning-tree ของ vlan 10 และ 20 ก็จะเห็นสถานะดังนี้


SWITCH_2#show spanning-tree vlan 10
VLAN0010
-----ตัดบางส่วน-------------------------------------------------------------
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/1               Desg BKN*4         128.25   P2p *PVID_Inc


SWITCH_2#show spanning-tree vlan 20
VLAN0020
-----ตัดบางส่วน-------------------------------------------------------------
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/1               Desg FWD 19        128.1    P2p
Gi0/1               Desg BKN*4         128.25   P2p *PVID_Inc


          ทำให้ Port TRUNK ระหว่าง SWITCH 1 และ SWITCH 2 ในส่วนของ VLAN 10 และ 20 ไม่สามารถเรียนรู้ MAC Address และไม่สามารถ Forward Traffic ระหว่าง 2 VLAN ดังกล่าวนี้ได้ ส่วน VLAN  1 จากภาพ จะสามารถเรียนรู้ MAC Address และส่งข้อมูลได้ปกติ

          จึงสรุปได้ว่าระหว่าง Host A ที่อยู่ใน VLAN 10 กับ Host B ที่อยู่ใน VLAN 20 ไม่สามารถ ping หากันได้

 

คำตอบที่ 2 คือ ping ได้

          ถ้าหากเราไม่สนใจ STP หรือไม่นำในส่วนของ STP มาเกี่ยวข้อง คำตอบ คือ ping เจอ ซึ่งจะทำให้ไม่เกิดการ BLOCK PORT เกิดขึ้น ตัวอย่าง ลองทดสอบปิด STP ของ VLAN 10 ที่ SWITCH_1


SWITCH_1(config)#no  spanning-tree vlan 10

          ซึ่งจะทำให้ VLAN 10 และ 20 ที่เคยโดน BLOCK จะถูกปลดออก และแสดง Log ที่ SWITCH 2 ดังนี้
*Mar  1 00:40:45.178: %SPANTREE-2-UNBLOCK_CONSIST_PORT: Unblocking GigabitEthernet0/1 on VLAN0010. Port consistency restored.
*Mar  1 00:40:45.178: %SPANTREE-2-UNBLOCK_CONSIST_PORT: Unblocking GigabitEthernet0/1 on VLAN0020. Port consistency restored.en

          ซึ่งเมื่อทำการ show spanning-tree ของ vlan 10 และ 20 ก็จะเห็นสถานะกลายเป็น Forward (FWD)


SWITCH_2#show spanning-tree vlan 10
VLAN0010
-----ตัดบางส่วน-------------------------------------------------------------
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- ----
Gi0/1               Desg FWD 4         128.25   P2p


SWITCH_2#show spanning-tree vlan 20
VLAN0020
-----ตัดบางส่วน-------------------------------------------------------------
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- -----
Fa0/1               Desg FWD 19        128.1    P2p
Gi0/1               Root FWD 4         128.25   P2p


          เมื่อ STP ไม่มีการ BLOCK PORT เกิดขึ้น จะสามารถอธิบายการทำงานได้ดังนี้

1.เมื่อ HOST A ต้องการส่งข้อมูลไปยัง HOST B ตัว Ethernet Frame ข้อมูลที่เกิดขึ้นจากตัวอย่างคือ BBB

2. SWITCH 1 จะยังไม่เรียนรู้ MAC Address ปลายทางของ Host B ตัว Ethernet Frame "BBB"จะถูกส่งโดยการ Flood ออกไปในทุกๆ Port ที่เป็น VLAN 10 (Port Access ไม่มีการ TAG VLAN) แล้วก็ Flood ออกไปยัง TRUNK PORT(Gig0/1) ด้วย

3.ซึ่ง Ethernet Frame "BBB" เมื่ออยู่ใน TRUNK Port ก็ยังไม่มีการ TAG VLAN เข้าไป เพราะว่า Port Gig0/1 ของ SWITCH 1 ได้มีการตั้งค่า Native VLAN 10 เอาไว้ ดังนั้นจึงไม่มีการ TAG Ethernet Frame ของ VLAN 10 ที่ Flood เข้ามายัง Port นี้

4.เมื่อ Ethernet Frame "BBB" ที่ไม่มีการ TAG VLAN ใดๆ (Untagged) ถูก Flood เข้าสู่ Gig0/1 ของ SWITCH 2 ซึ่งมีการตั้งค่า NATIVE VLAN 20 เอาไว้ จะทำให้ SWITCH 2 เอา Ethernet Frame "BBB " ที่ไม่มี TAG ใดๆ Flood ต่อไปยังทุกๆ Port ที่เป็น VLAN 20

5. ซึ่ง Port Fa0/1 ของ SWITCH2 ที่ต่ออยู่กับ Host B ก็อยู่ใน VLAN 20 เช่นกัน จึงได้รับ Frame ที่ Flood ดังกล่าวด้วย ทำให้ Ethernet Frame "BBB" ถูกส่งไปถึง HOST B จึงทำให้ HOST A และ HOST B สามารถสื่อสารหากันได้

 

หมายเหตุ : การปิด STP ในทางปฏิบัติจะทำให้เกิดความเสี่ยงในการเกิด Loop แล้วเกิดความเสียหายขึ้นในระบบ Network ดังนั้นการปิด STPในตัวอย่างนี้ จึงเหมาะกับการใช้เพื่อทดสอบความเข้าใจในการทำงานของ STP และ Native VLAN เท่านั้น

 

ในเหตุการณ์หมายเลข 1 นี้เป็นอะไรที่หลายๆคนค่อนข้างเข้าใจได้ยากกว่าข้ออื่นๆ ซึ่งบทความต่อไปที่ทีมงานจะเขียนเป็นเรื่อง spanning tree mode mstp แล้วจะเพิ่มเติมการทดสอบให้ดูว่าถ้าเกิดเหตุการณ์หมายเลข 1 แล้วจะ ping ได้หรือ ไม่ได้ หรือ ก็เป็นลักษณะเดียวกับ PVST+ และ PVRST+ หรือเปล่า คอยติดตามกันนะครับ

หมายเลข 2

คำตอบ คือ ping ได้


          เมื่อ Ethernet Frame "BBB" เข้าสู่ Port Fa0/1 ซึ่ง Port นี้อยู่ใน VLAN 10 ตัว SWITCH 1 จะทำการเรียนรู้และเก็บ MAC Address ของ Host A ลงใน MAC Address Table แล้วทำการส่ง Ethernet Frame "BBB" ออกไปยังทุกๆ Port ที่เป็นสมาชิกของ VLAN 10 ซึ่งก็รวมทั้ง Port Gig0/1 ของ SWITCH 1 ด้วย (ส่งออกไปแบบไม่มีการ TAG VLAN ใดๆ เนื่องจากเป็น ACCESS Port)

          เมื่อ SWITCH 2 ได้รับ Ethernet Frame "BBB" เข้ามายัง Port Gig0/1 ซึ่งเป็นสมาชิกของ VLAN 20 เมื่อได้รับ Ethernet Frame เข้ามาใน VLAN 20 ก็จะทำการส่งต่อไปยังทุกๆ Port ที่เป็น VLAN 20 ซึ่ง Port Fa0/1 ก็เป็นสมาชิดของ VLAN 20 ด้วย จึงทำให้ Host B ได้รับ Ethernet Frame ดังกล่าว ทำให้ Host A และ Host B ขึงสามารถติดต่อสื่อสารกันได้

 

หมายเลข 3

คำตอบ คือ ping ได้

          ในหัวข้อนี้จะต้องใช้ความเข้าใจเรื่อง DTP หรือ Dynamic Trunking Protocol เข้ามาช่วย ซึง Protocol นี้ใช้ในการคอยคุยหรือเจรจากันระหว่าง SWITCH ทั้ง 2 ฝั่ง ว่าจะเป็น TRUNK Port หรือไม่

          จากตัวอย่างตัว SWITCH 1 ทำการตั้งค่าเป็น TRUNK เราจะเรียกการตั้งแบบนี้ว่าแบบ Static Mode on แต่ถ้าหากฝั่ง SWITCH 2 ไม่ได้ตั้งค่าอะไรเลย Default คือ "Dynamic Auto" สถานะนี้ถือว่าเป็นสถานะของ DTP ที่พร้อมจะเป็น TRUNK เมื่อฝั่งตรงข้ามเป็น TRUNK และจะเป็น ACCESS เมื่อฝั่งตรงข้ามเป็น Access หรือ  Dynamic Auto เหมือนกัน

          แต่จากตัวอย่างตาม Diagram นี้ ถ้าดูตารางตามภาพ เมื่อ TRUNK (SWITCH 1) เจอกับ Dynamic Auto (SWITCH 2) ผลลัพธ์คือ TRUNK

ดังนั้นจากเหตุการณ์นี้จึงทำให้ Host A และ Host B สามารถสื่อสารกันได้
(ให้ลองศึกษาการทำงานของ TRUNK Port เพื่มเติมจากบทความนี้)

 

หมายเลข 4

คำตอบ คือ ping ไม่ได้

          จากภาพนี้ เมื่อ Ethernet Frame "BBB" เข้าสู่ Port Fa0/1 ซึ่ง Port นี้อยู่ใน VLAN 10 ตัว SWITCH 1 จะทำการเรียนรู้และเก็บ MAC Address ของ Host A ลงใน MAC Address Table แล้วทำการส่ง Ethernet Frame "BBB" ออกไปยังทุกๆ Port ที่เป็นสมาชิกของ VLAN 10 แต่ Port ที่ Link จาก SWITCH 1 ไปยัง SWITCH 2 นั้นกลับเป็นสมาชิกของ VLAN 20 (SWITCH 1 Port Gig0/1) ทำให้ Ethernet Frame "BBB" ไม่สามารถส่งข้าม VLAN กันได้ ดังนั้นจึงทำให้ Host A และ Host B ไม่มีทางที่จะสื่อสารกันได้

 

 กลับสู่ด้านบน

แล้วอย่าลืมไปกด  Like page Ninehua IT Solutions เพื่อจะได้ติดตามข่าวสารและแชร์คู่มือต่างๆ ของ นายหัว.คอม นะครับ