การคอนฟิก Voice Vlan บน Cisco Switch

สวัสดีครับ ในบทความนี้ ผมจะมาอธิบายวิธีการทำงานของ Voice vlan และวิธีการคอนฟิก ก่อนอื่นเลย เรามาทำความเข้าใจกันก่อน ว่าทำไมถึงต้องมี Voice Vlan มาดูเหตุการณ์จำลองนี้กันครับ

ในยุคปัจจุบัน องค์กรต่างๆ ก็เริ่มหันมาใช้ระบบ IP Phone เพิ่มมากขึ้น ซึ่งจะทำให้แอดมินสามารถจัดการกับระบบโทรศัพท์ภายในองค์กรได้ง่าย โดยเข้าไปคลิก ๆ ผ่านทาง Web Application หรือป้อนคำสั่งผ่าน CLI ก็สามาถแก้ไขค่าต่างๆ ได้ตามต้องการได้

ปํญหาคือ หากองค์กรต้องการหันมาใช้ระบบ IP Phone สิ่งที่เกิดขึ้นนั่นคือ โต๊ะของพนักงาน จะมีคอมพิวเตอร์ และโทรศัพท์ วางอยู่บนโต๊ะเดียวกัน เพื่อใช้ในการโทร และทำงานบนคอม และ สิ่งที่ตามมา คือ บนโต๊ะของพนักงาน 1 คน ต้องมีสาย UTP ถึงสองเส้น เพื่อเชื่อมต่อกับ Computer 1 เส้น และ IP Phone 1 เส้น แสดงตัวอย่าง ตามรูป

การเชื่อมต่อรูปแบบนี้สามาถใช้งานได้ปกติ แต่มีข้อเสีย นั่นคือ

  1. ต้องเดินสาย UTP ใหม่จาก Switch มาที่ โต๊ะของพนักงาน
  2. สิ้นเปลือง Port ที่ Switch 1 Port สำหรับการใช้งาน IP Phone

ด้วยข้อเสียข้างต้น หากองค์กร ต้องการเปลี่ยนระบบมาใช้ระบบ IP Phone คงตัดสินใจได้ยาก เนื่องจากต้องเดินระบบสายเพิ่มเติม และยังสิ้นเปลือง Port ที่ Switch อีกด้วย เพื่อแก้ปัญหาดังกล่าว IP Phone ของ Cisco จึงมี Port มาให้สอง Port นั่นคือ สำหรับเชื่อมต่อ IP Phone กับ Switch และอีก Port ใช้สำหรับเชื่อมต่อจาก IP Phone ไปยัง Computer แสดงตัวอย่างการเชื่อมต่อดังรูป

จะเห็นได้ว่า Cisco IP Phone สามารถแก้ปัญหาดังกล่าวได้ และช่วยลดความยุ่งยากในการติดตั้งอีกด้วย แต่ปัญหาที่ตามมาคือ มีสาย UTP เส้นเดียว เชื่อมต่อมายัง IP Phone และ คอมพิวเตอร์ ซึ่งหากต้องการแยกทราฟฟิกของทั้งสองอุปกรณ์ออกจากกัน ต้องมี 2 VLAN นั่นคือ VLAN สำหรับ Voice และ VLAN สำหรับ Data และนี่ คือที่มาของ Voice Vlan

การทำงานเบื้องหลังของ Voice Vlan นั่นคือ Port ระหว่าง Switch กับ IP-Phone จะเป็น Trunk Port และ Port ระหว่าง IP-Phone กับ Computer จะเป็น Access Port โดยที่ IP Phone จะส่งข้อมูลของ Computer ไปยัง Switch เป็นแบบ Untagged  vlan และส่งข้อมูลของตัวมันเองกับ Switch จะเป็นแบบ Tagged vlan

ขั้นตอนการคอนฟิก มีดังนี้

1. สร้าง Vlan สำหรับ Data และสำหรับ Voice

ABN_SW01(config)#vlan 30
ABN_SW01(config-vlan)#name COMPUTER
ABN_SW01(config-vlan)#exit

ABN_SW01(config)#vlan 10
ABN_SW01(config-vlan)#name VOICE
ABN_SW01(config-vlan)#exit

2. คอนฟิกบน Interface

ABN_SW01(config)#interface GigabitEthernet 0/1
ABN_SW01(config-if)#switchport mode access
ABN_SW01(config-if)#switchport access vlan 30
ABN_SW01(config-if)#switchport voice vlan 10
ABN_SW01(config-if)#exit

จากการคอนฟิกข้างต้น จะเห็นว่า เราได้คอนฟิก Interface เป็น Access Mode และใช้ Vlan 30 สำหรับการส่งข้อมูลของ Computer และคำสั่ง Switchport Voice vlan เป็นคำสั่งที่ใช้บอก Switch ว่าให้แจก Vlan 10 ให้กับ IP Phone ซึ่งก็มีคำถามว่า IP Phone จะรู้ได้ไง ว่า Vlan ไหนคือ Voice และ Vlan ไหนคือ Data คำตอบนั่นคือ รู้ได้เนื่องจาก Cisco IP Phone ใช้โปรโตคอล CDP ในการแลกเปลี่ยนข้อมูลกับ Switch จึงทำให้มันสามารถแจกจ่าย Vlan ได้อย่างถูกต้อง

การตรวจสอบการทำงานของ Voice Vlan

ABN_SW01#show interfaces gigabitEthernet 1/0/2 switchport 
Name: Gig0/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiated
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 30 (COMPUTER)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: 10
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk private VLANs: none
Operational private-vlan: none
Trunking VLANs Enabled: All
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Appliance trust: none

จากการแสดงผลด้านบนจะเห็นว่า Vlan 30 ถูกใช้งานสำหรับ COMPUTER และ Vlan ถูกใช้งานสำหรับ Voice

เราสามารถตรวจสอบสถานะของ Trunk port แม้มันจะแสดงผลว่าไม่ใช่ Trunk (not-trunking) แต่เบื้องหลังการทำงานจริงๆ มันคือ Trunk คือ มีสอง vlan ที่ถูกใช้งานบน Interface เดียวกัน (Gi0/1)

ABN_SW1#show interfaces GigabitEthernet 0/1 trunk

Port        Mode             Encapsulation  Status        Native vlan
Gi0/1      off              negotiate      not-trunking  1

Port        Vlans allowed on trunk
Gi0/1      10,30


Port        Vlans allowed and active in management domain
Gi0/1      10,30

Port        Vlans in spanning tree forwarding state and not pruned
Gi0/1      10,30