ทำความรู้จักกับ Open vSwitch

Published on December 7, 2025
ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN) เพราะว่าด้วยความสามารถของ Open vSwitch มันจะทำให้ท่านสามารถที่จะ ควบคุม และ บริหาร การทำงานของสวิตซ์ได้จากระดับซอฟต์แวร์ เช่นการสั่งการผ่าน API และ มันยังเป็นอิสระอย่างสิ้นเชิงกับ hardware หรือพูดง่ายๆ ท่านจะไม่ต้องผูกขาดกับผู้ผลิตฮาร์ดแวร์รายใดๆ เลย

ภาพรวม

Open vSwitch นั้นเป็นซอฟต์แวร์ทำหน้าที่สวิตซ์แบบหลายเลเยอร์ ทำหน้าที่เช่นเดียวกับสวิตซ์แบบฮาร์ดแวร์ทุกอย่าง ซึ่งหลักๆ ก็คือหน้าที่แบบ forwarding รวมถึงหน้าที่ที่เกี่ยวข้อง และ การควบคุม มันทำงานได้ดีและเหมาะมากๆ กับสภาพแวดล้อมแบบ VM มันทำงานข้าม physical host ได้ และ ทำงานได้ดีกับ KVM หรือ Kernel Virtual Machine

มันถูกพัฒนาด้วยภาษา C แบบไม่ยึดติดกับแพลตฟอร์ม และ ปัจจุบัน มีฟีเจอร์ดังต่อไปนี้

  • มาตรฐาน 802.1Q VLAN และ trunk รวมถึง access ports
  • การรวม NIC หรือเรียกว่า NIC bonding ไม่ว่าจะร่วมกับ LACP หรือไม่ก็ทำได้
  • NetFlow, sFlow(R) และการทำ port mirroring
  • Quality of Service (QOS)
  • Geneve, GRE, VXLAN, ERSPAN, GTP-U, SRv6 และ Bareudp
  • 802.1ag
  • OpenFlow 1.0 รวมถึงส่วนขยายอีกหลายตัว

Open vSwitch ทำงานได้ทั้งหมดในส่วนของ userspace โดยไม่ต้องการความช่วยเหลือจาก kernel module และมันสามารถเข้าถึง DPDK devices ได้

องค์ประกอบใน Open vSwitch

  • ovs-vswitchd ทำหน้าที่เป็น daemon
  • ovsdb-server เป็นฐานข้อมูลขนาดเล็กที่เก็บ configuration เพื่อใช้งานใน ovs-vswitchd
  • ovs-dpctl สำหรับการตั้งค่า switch kernel module
  • script สำหรับการกำหนด spec การสร้าง RPM หรือ deb สำหรับ Debian/Ubuntu
  • ovs-vsctl สำหรับการคิวรีและอัพเดท ค่าคอนฟิกใน ovs-vswitchd
  • ovs-appctl สำหรับการส่งคำสั่งไปยัง daemon ของ ovs-vswitchd ที่ทำงานอยู่

นอกจากนั้น ก็ยังมีเครื่องมีเหล่านี้

  • ovs-ofctl สำหรับการคิวรีและควบคุม OpenFlow
  • ovs-pki สำหรับการสร้าง public-key ใน OpenFlow switch
  • ovs-testcontroller สำหรับการทดสอบ

แล้วทำไมเราควรจะต้องใช้ Open vSwitch

Hypervisor นั้นจำเป็นที่ต้องมีความสามารถในการที่จะ Bridge ทรากฟิก ระหว่าง VM และ โลกภายนอก ใน hypervisor ที่ใช้ Linux หรือว่า KVM นั้น แน่นอนว่าสิ่งนี้เป็นไปได้โดยการใช้ L2 switch ที่มีอยู่แล้วใน Linux แต่นั่นหมายถึง ถ้าท่านใช้ hypervisor แบบ standalone และ เมื่อใดก็ตามที่ Hypervisor มีอยู่หลายเครื่อง และ ต้องการทำ bridge ข้าม จะเป็นไปไม่ได้ หรือพูดง่ายๆ ใน scale ที่ใหญ่ขึ้น Open vSwitch จะตอบโจทย์มากกว่า

state ของ virtual machines หรือว่า VMs ควรจะอยู่บ่งชี้และเปลี่ยนสถานนะ ได้ โดยคำว่า state ก็จะหมายถึง สถานะต่างๆ คือ การ learning table ใน Layer 2 รวมถึง L3 forwarding, policy routing state, ACL, QoS

ในสภาพแวดล้อมแบบ virtual นั้นโดยปกติแล้ว จะมีการเปลี่ยนแปลงอย่างรวดเร็ว เช่น การสร้างการลบ ซึ่งรวมถึงการเปลี่ยนแปลงด้านเน็ตเวิร์ก เช่นการเปลี่ยนแปลง IP การย้าย VLAN และด้วยความเปลี่ยนแปลงที่เร็วแบบนี้ และใน Open vSwitch นั้นก็มี network state database (OVSDB) เพื่อเก็บสถานะต่างๆ ไว้

สำหรับ Distributed virtual switch เช่น VMware vDS และ Cisco Nexus 1000V นั้นจะใช้การจัดการบริบทของระบบเชิงตรรกะ ด้วยการเพิ่มและการจัดการ tags ภายใน network packets เพื่อจะบ่งชี้ถึง VM ส่วนใน Open vSwitch นั้นก็จะใช้หลายๆ วิธีการในการใช้งานกับ tags นอกจากนั้นยังสนับสนุน GRE สำหรับการสร้าง GRE tunnels ซึ่งใช้เพื่อสร้าง private VM networks

 

ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN)...

Read more »

Ruijie Virtual Switching Unit VSU

Virtual Switching Unit หรือ VSU เป็นเทคโนโลยีที่ทำให้เราสามารถรวม switch ตั้งแต่ 2 ตัวขึ้นไป...

Read more »

Big Improvements in FreeBSD 15.0

FreeBSD มีต้นกำเนิดมาจาก ระบบปฏิบัติการ UNIX ของมหาวิทยาลัย UC Berkeley โดยเ BSD ก็ย่อมาจาก...

Read more »

ทำความรู้จัก pgModeler และการติดตั้งบน Ubuntu 25.04

เนื่องจากการได้รับนิยมอย่างสูงของ PostgreSQL ทำให้ นักพัฒนาหลายคน ก็จะมองหาเครื่องมือที่จะมาช่วยให้การทำงานกับฐานข้อมูลนั้นง่าย เร็ว และ สะดวกขึ้น วันนี้เราพาไปดูเครื่องมือตัวหนึ่งที่ได้รับความนิยมใช้อย่างกว้างขวาง และ...

Read more »

ทำความรู้จักกับ Open Container Initiative OCI

ใน Proxmox VE 9.1 ที่เพิ่งเปิดตัวมาได้ไม่นานนี้ มีฟีเจอร์หนึ่งที่สร้างความฮือฮามากคือ การสนับสนุน OCI และ ทำให้หลายคนเริ่มต้องการเข้าใจว่ามันคืออะไร...

Read more »

IncusOS และ Incus สู่ยุคใหม่ของการจัดการ VM และ Container

IncusOS คืออะไร IncusOS เป็นดิสโทร Linux แบบ immutable หรือ Linux ที่ระบบไฟล์เปลี่ยนไม่ได้...

Read more »