Trunk port เป็น Port ที่สามารถมี Traffic ของหลายๆ VLAN วิ่งผ่านได้ (Traffic จะมีการ Tag vlan หรือ อาจจะไม่ tag vlan ก็ได้) ตัวอย่างในการตั้งค่า Port ของ Switch ให้เป็น Trunk Port เช่น - Port ที่ทําหน้าที่เชื่อมต่อไปยัง Switch ตัวอื่น ๆ เช่น Uplink Port - Port ที่ทําหน้าที่เชื่อม ไปยัง Routerตัวที่ทําหน้าที่ Route Traffic ระหว่าง VLAN
หากอ่านแค่ข้อความด้านบน อาจจะไม่เข้าใจมากนัก และ คงไม่เห็นภาพของคำว่า Trunk Port ที่ชัดเจนได้ ลองมาดูรายละเอียดเพิ่มเติมกันนะครับ
Trunk Port และ Access Port สำหรับบทความนี้ จะใช้ภาพ Network Diagram ด้านล่างนี้ในการอธิบายเรื่อง Trunk Port
หากเรามีความต้องการขยาย VLAN ให้ยืดยาวออกไป เช่น ใน SW1 มีการสร้าง VLAN ขึ้นมา 3 VLAN และเราต้องการยืดหรือขยาย VLAN ทั้ง 3 VLAN นี้ให้ไปอยู่ที่ SW2 อีกอาคารหนึ่ง (SW2 ก็ต้องมีการตั้งค่าให้มี 3 VLAN เช่นกัน) แน่นอนว่าเราก็ต้องหา Port มาเชื่อมต่อเพื่อเป็น Uplink ระหว่าง Switch ทั้ง 2 เข้าด้วยกัน
กรณีที่ 1 ใช้ Uplink เป็น Access Port หากเราตั้งค่า Uplink ให้เป็น Access Port แล้วเราจะขยาย VLAN ทั้ง 3 VLAN ออกไป เราก็จำเป็นต้องใช้ Uplink ถึง 3 Port ด้วยกัน เพราะว่า Access Port จะมี traffic ของ VLAN เพียง VLAN เดียวเท่านั้นที่วิ่งผ่านได้
จากภาพตัวอย่างข้างต้น ที่ SW1 และ SW2 มีการสร้าง VLAN ไว้ 3 VLAN คือ VLAN RED, VLAN Yellow และ VLAN Black แล้วมีการยืด VLAN ทั้ง3นี้ จาก SW1 ไปยัง SW2 ผ่าน Uplink ที่เป็น Access Port เมื่อมี 3 VLAN ก็ต้องใช้ Uplink ถึง 3 Port (1 Uplink : 1 VLAN)
ผลจากการยืดขยาย VLAN ออกไป ทำให้ PC1 กับ PC2 เปรียบเสมือนต่ออยู่บน Switch ตัวเดียวกัน สามารถตั้งค่า IP Address ให้อยู่ในวงSubnet เดียวกันได้เลย ในส่วนของ Laptop และ IP Phone ก็เป็นไปตามกรณีเดียวกับ PC แต่อยากให้ลองนึกภาพตามนะครับ ถ้าหากเรามี VLAN จำนวนประมาณ 10 VLAN ที่ต้องยืดขยายออกไปยัง Switch ตัวอื่นๆ แล้วใช้ Access Port เป็น Uplink เราต้องเสีย Uplink ไปถึง 10 Port มันคงดูไม่เหมาะสมเท่าไหร่ที่เราจะใช้ Uplink มากมายขนาดนั้น กรณีที่ 2 ใช้ Uplink เป็น Trunk Port จากปัญหาข้างต้นของการใช้ Access Port เป็น Uplink เพื่อยืดขยาย VLAN ออกไป เราสามารถแก้ปัญหาดังกล่าวโดยการใช้ Trunk Port มาทดแทนได้ (การทำ Trunk Port เรียกได้อีกอย่างว่าการทำ Tagged )
หากเราใช้ Trunk Port มาเป็น Uplink เราจะทำการยืดขยายกี่ VLAN ก็ได้ไปยัง Switch ตัวอื่นๆ โดยใช้ Port แค่เพียง Port เดียว(จากภาพตัวอย่างด้านบนใช้ Port Gig0/1) เพราะว่า Trunk Port สามารถมี Traffic ของหลายๆ VLAN วิ่งผ่านได้ พอมีการตั้งค่า Uplink ให้เป็น Trunk Port ให้ทุกคนลองจินตนาการว่า Port Gig0/1 เสมือนไปเชื่อมต่อกับกล่อง VLANทุกๆกล่องนั่นเอง เมื่อมี Traffic ของหลายๆ VLAN วิ่งผ่านอยู่ใน Port เดียวกัน แล้วฝั่งต้นทาง(SW1)กับปลายทาง(SW2)จะแยกแยะและรู้ได้อย่างไร ว่า Traffic ไหนเป็นของ VLAN อะไร คำตอบคือ จำเป็นต้องมีเทคนิคอะไรบางอย่างเพิ่มเติมสำหรับการแยกแยะ Traffic ของ VLAN ซึ่งเทคนิคที่ว่านี่เป็นการเพิ่มหรือระบุ VLAN เข้าไปใน Traffic นั้นๆ
ให้ลองมองดูภาพด้านล่าง เพื่อจะได้เข้าใจเทคนิคการเพิ่มฟิลด์ของ VLAN เข้าไป
กล่องสี่เหลี่ยมที่แสดง เปรียบเสมือนว่าเป็นข้อมูลที่สร้างขึ้นจาก Laptop, IP Phone และ PC เมื่อข้อมูลวิ่งอยู่ใน Access Port ก็จะเป็น Frame ข้อมูลปกติ ซึ่งTraffic แต่ละ VLAN ก็จะไม่ปะปนกัน เพราะ Access Port มี Traffic ของ VLAN เดียววิ่งผ่านอยู่แล้ว จึงไม่มีการเพิ่มฟิลด์ VLAN ในข้อมูลหรือ Frame บน Access Port แต่เวลา Frame ข้อมูลวิ่งเข้าสู่ Trunk Port จะต้องมีการเพิ่มฟิลด์ของ VLAN เข้าไป ยกตัวอย่าง ข้อมูลที่ส่งจาก Laptop 1 เมื่อวิ่งเข้าสู่ Trunk Port ตัว Frame ข้อมูลจะถูกเพิ่มฟิลด์ VLAN เข้าไป เพื่อสื่อว่าเป็น VLAN RED และเมื่อ Frame เดินทางออกจาก Trunk Port ก็จะถูกเอาฟิลด์ VLAN ออก แล้วส่ง Traffic ไปยังปลายทางที่เป็น Access Port ของ VLAN RED ต่อไป ข้อมูลที่ส่งจาก IP Phone 1 เมื่อวิ่งเข้าสู่ Trunk Port ข้อมูลจะถูกเพิ่มฟิลด์ VLAN เข้าไป เพื่อสื่อว่าเป็น VLAN YELLOW และเมื่อ Frame เดินทางออกจาก Trunk Port ก็จะถูกเอาฟิลด์ VLAN ออก แล้วส่งไปยังปลายทางที่เป็น Access Port ของ VLAN YELLOW ต่อไป ข้อมูลที่ส่งจาก PC 1 เมื่อวิ่งเข้าสู่ Trunk Port ตัว Frame ข้อมูลจะ”ไม่”ถูกเพิ่มฟิลด์ VLAN เข้าไป “ถ้าหาก VLAN นี้เป็น Native VLAN” และเมื่อ Frame เดินทางออกจาก Trunk Port ก็จะถูกเอาส่งไปยังปลายทางที่เป็น Access Port ของ Native VLAN นั้นๆต่อไป หมายเหตุ : สำหรับ IEEE 802.1Q (จะอธิบายในหัวข้อถัดไป) ใน 1 Trunk Port จะมี Native ได้แค่ 1 VLAN เท่านั้น ซึ่ง Frame ที่อยู่ใน VLAN ที่เป็น Native VLAN จะไม่ถูกเพิ่มฟิลด์ของ VLAN เมื่อถูกส่งอยู่ภายใน Trunk Port เรื่อง Native จะขออธิบายเพิ่มเติมในบทความต่อๆไปนะครับ เทคนิคการเพิ่มฟิลด์ VLAN ใน Trunk Port มีอยู่ 2 วิธี คือ 1 แบบ Inter Switch Link (ISL) โดยปกติ Frame ข้อมูลที่อยู่ใน Access Port จะเป็น Frame ข้อมูลที่เรียกว่า “Untagged Ethernet Frame” ตามภาพด้านล่างนี้
วิธีการเพิ่มฟิลด์ VLAN แบบ ISLนี้ใช้ได้กับอุปกรณ์ของยี่ห้อ Cisco เท่านั้น (Cisco Proprietary) ซึ่งจะทำการเพิ่ม ISL Header (26 bytes) และ CRC (4 bytes) รวม 30 bytes เข้าไปตามภาพด้านล่าง โดยภายใน ISL Header ก็จะมีในส่วนของ VLAN อยู่ภายในอีกที ดังนั้นวิธีการนี้ถือได้ว่าเป็นการ Encapsulation Frame เดิมทั้งหมด และก็มีการสร้าง Headerใหม่ขึ้นมา
2 แบบ IEEE 802.1Q
วิธีนี้จะเพิ่มฟิลด์ Tag ขนาด 4 bytes เข้าไประหว่าง Frameเดิมตามรูปด้านล่าง และภายในฟิลด์ Tag ที่เพิ่มเข้าไปจะมีในส่วนของ VLAN ขนาด 12 bits ประกอบอยู่ด้วย ซึ่งวิธีนี้เป็นมาตรฐานกลางของ IEEE และเป็นวิธีที่นิยมนำมาใช้งานมากที่สุดในปัจจุบัน (วิธีนี้รองรับการใช้งาน Native VLAN)
ตัวอย่างการส่งข้อมูลผ่าน Access Port และ Trunk Port (802.1Q) VLAN BLACK = VLAN 1 VLAN RED = VLAN 2 VLAN YELLOW = VLAN 3
จากภาพขอยักตัวอย่างการส่งข้อมูลจาก Laptop 1 ไปยัง Laptop 2 ซึ่งทั้ง 2 เครื่องอยู่ใน VLAN RED (การยกตังอย่างนี้ไม่ได้ลงรายละเอียดถึงการเรียนรู้ MAC Address และการทำงาน Switching ของ Switch นะครับ แต่ต้องการให้เข้าใจเรื่องการ Tagging VLAN) จุดที่ 1 ข้อมูลถูกสร้างจาก Laptop 1 และต้องการส่งไปยังผู้รับคือ Laptop 2
จุดที่ 2 ข้อมูลวิ่งเข้าสู่ Access Port (Interface Fa0/2) ของ SW1 ซึ่ง Portนี้ เป็นสมาชิกของ VLAN RED ซึ่งมี VLAN ID = 2 ข้อมูลก็จะยังคงเหมือนเดิมไม่มีการ Tag อะไรเข้าไป
จุดที่ 3 เมื่อ Frame ข้อมูลถูกส่งต่อไปยัง Uplink Port ของ SW1 ที่เป็น Trunk Port (Interface Gig0/1) ตัว Frame ข้อมูลจะต้องถูก Tag VLAN เข้าไป เพื่อให้ SW2 ที่เป็นปลายทางแยกแยะได้ว่า Traffic ที่ได้รับมานั้นเป็น Traffic ของ VLAN ใด ฉะนั้นเมื่อข้อมูลที่รับมาเป็นของ VLAN RED ซึ่งมี VLAN ID = 2 ผลที่ได้จึงแสดงตามภาพด้านล่างนี้
จุดที่ 4 เมื่อข้อมูลไปถึง Trunk Port ปลายทางอีกฝั่ง(Interface Gig0/1)ของตัว SW2 ตัว SW2 ก็จะรู้ได้ทันทีว่า Traffic นี้เป็นของ VLAN 2 (เพราะมีการ Tag VLAN 2 มา) และ SW2 ก็จะส่งต่อข้อมูลนี้ให้ Laptop 2 (Laptop 2 ต่ออยู่กับ Interface Fa0/7 ซึ่งเป็น Access Port) SW2 จึงทำการถอด Tag ออก แล้วส่งออกไปยัง Port Fa0/7ดังกล่าว
จุดที่ 5 ข้อมูลที่ Laptop 2 ได้รับ จึงเป็นข้อมูลที่ไม่ได้ถูก Tag อะไรเข้าไป
น่าจะเห็นภาพของ Trunk port มากขึ้นนะครับ
ขออนุญาตจบบทความไว้เพียงเท่านี้ครับ รายละเอียดเพิ่มเติมไว้เจอกันบทความตอบไป ขอบคุณครับ
ได้รับความรู้เพิ่มขึ้นมากเลยครับขอบคุณครับ😀