loader image
ยินดีต้อนรับสู่
ชมรมไอที อันดามัน
info@itandaman.com
Network ZoneNewIT

Trunk Port คืออะไร และตัวอย่างการตั้งค่า Trunk Port บน Switch ยี่ห้อ Cisco, Juniper และ HP

15.9kviews


Trunk Port
เป็น Port ที่สามารถมี Traffic ของหลายๆ VLAN วิ่งผ่านได้
ตัวอย่างในการตั้งค่า Port ของ Switch ให้เป็น Trunk Port เช่น
– Port ที่ทําหน้าที่เชื่อมต่อไปยัง Switch ตัวอื่น ๆ เช่น Uplink Port
– Port ที่ทําหน้าที่เชื่อม ไปยัง Routerตัวที่ทําหน้าที่ Route Traffic ระหว่าง VLAN

Access Port
Port ที่ถูกตั้งค่าเป็น Access Port จะมี traffic ของ VLAN เพียง VLAN เดียววิ่งผ่านได้ ตัวอย่างในการตั้งค่า Port ให้เป็น Access Port เช่น
– Port ที่เชื่อมต่อระหว่าง Switch และ Client
– Port ที่เชื่อมต่อระหว่าง Switch และ Server
– Port ที่เชื่อมต่อระหว่าง Switch และ Router (มีข้อแม้ว่า Router ที่เชื่อมต่อนั้น จะต้องไม่ใช่ Router ที่ทําหน้าที่ในการ Route Traffic ระหว่าง VLAN)หากอ่านแค่ข้อความด้านบน อาจจะไม่เข้าใจมากนัก และ คงไม่เห็นภาพของคำว่า Trunk Port ที่ชัดเจนได้ ลองมาดูรายละเอียดเพิ่มเติมกันนะครับTrunk Port และ Access Port

(หากท่านไหนยังไม่เข้าใจเรื่อง VLAN แนะนำให้อ่านทำความเข้าใจเรื่อง VLAN ก่อนนะครับ คลิกที่นี่)

สำหรับบทความนี้ จะใช้ภาพ 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 นั้นๆต่อไป

หมายเหตุ : ใน 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 บน Switch ยี่ห้อ Cisco, Juniper และ HP

ตัวอย่าง Switch ยี่ห้อ Cisco ตัวอย่าง Switch ยี่ห้อ Juniper ตัวอย่าง Switch ยี่ห้อ HP

ทั้ง 3 ยี่ห้อนี้สร้าง VLAN 1-3 ไว้เรียบร้อยแล้ว และขออนุญาตยกตัวอย่างเฉพาะการตั้งค่าในส่วน TRUNK PORT นะครับ

 

ตัวอย่างการตั้งค่า Trunk Port บน Switch ยี่ห้อ Cisco



SW1 และ SW2 ทดสอบบน Cisco Catalyst 2960-X

ทำการ Configure Port Gig0/1 ของ SW1 และ SW2 ให้เป็น Trunk Port

SW1(config)#interface GigabitEthernet 0/1
SW1(config-if)#SwitchPort mode trunk

SW2(config)#interface gigabitEthernet 0/1
SW2(config-if)#SwitchPort mode trunk

ตรวจสอบ Trunk Port ที่ SW1
SW1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gig0/1 on 802.1q trunking 1

Port Vlans allowed on trunk
Gig0/1 1-1005

Port Vlans allowed and active in management domain
Gig0/1 1,2,3

Port Vlans in spanning tree forwarding state and not pruned
Gig0/1 1,2,3

ตรวจสอบ Trunk Port ที่ SW2
SW2#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gig0/1 on 802.1q trunking 1

Port Vlans allowed on trunk
Gig0/1 1-1005

Port Vlans allowed and active in management domain
Gig0/1 1,2,3

Port Vlans in spanning tree forwarding state and not pruned
Gig0/1 1,2,3

ตัวอย่างการตั้งค่า Trunk Port บน Switch ยี่ห้อ Juniper


SW1 และ SW2 ทดสอบบน Juniper EX2200

ทำการ Configure Port Ge-0/0/1 ของ SW1 ให้เป็น Trunk Port

root@SW1#set interface ge-0/0/1 unit 0 family ethernet-Switching Port-mode trunk
root@SW1#set interface ge-0/0/1 unit 0 family ethernet-Switching vlan member red
root@SW1#set interface ge-0/0/1 unit 0 family ethernet-Switching vlan member yellow
root@SW1#set interface ge-0/0/1 unit 0 family ethernet-Switching vlan member black

ทำการ Configure Port Ge-0/0/1 ของ SW2 ให้เป็น Trunk Port
root@SW2#set interface ge-0/0/1 unit 0 family ethernet-Switching Port-mode trunk
root@SW2#set interface ge-0/0/1 unit 0 family ethernet-Switching vlan member red
root@SW2#set interface ge-0/0/1 unit 0 family ethernet-Switching vlan member yellow
root@SW2#set interface ge-0/0/1 unit 0 family ethernet-Switching vlan member black

ตรวจสอบ Trunk Port ที่ SW1 และ SW2
root@SW1#run show vlans
Name Tag Interfaces
black 1 ge-0/0/1.0
red 2 ge-0/0/1.0
yellow 3 ge-0/0/1.0

root@SW2#run show vlans
Name Tag Interfaces
black 1 ge-0/0/1.0
red 2 ge-0/0/1.0
yellow 3 ge-0/0/1.0

ตัวอย่างการตั้งค่า Trunk Port บน Switch ยี่ห้อ HP


SW1 และ SW2 ทดสอบบน HP 5800

ทำการ Configure Port Gig1/0/1 ของ SW1 และ SW2 ให้เป็น Trunk Port
[SW1]interface GigabitEthernet1/0/1
[SW1-GigabitEthernet1/0/1]Port link-type trunk

[SW2]interface GigabitEthernet1/0/1
[SW2-GigabitEthernet1/0/1]Port link-type trunk

ตรวจสอบ Trunk Port ที่ SW1 และ SW2
<SW1>display Port trunk
Interface PVID VLAN passing
GE1/0/1 1 1-3

<SW2>display Port trunk
Interface PVID VLAN passing
GE1/0/1 1 1-3

ขออนุญาตจบบทความไว้เพียงเท่านี้ครับ รายละเอียดเพิ่มเติมไว้เจอกันบทความตอบไป ขอบคุณครับ

 

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

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