ทำความรู้จักกับ 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

 

Introduction to Cilium CNI

Cilium CNI คือระบบเครือข่ายสำหรับ Kubernetes ที่ล้ำสมัยมาก โดยใช้เทคโนโลยีระดับเคอร์เนลของ Linux ที่เรียกว่า eBPF แทนการใช้...

Read more »

KubeVirt vs VMware

บทนำ KubeVirt และ VMware ต่างก็ใช้รัน Virtual Machine เหมือนกัน แต่ วิธีการทำงาน...

Read more »

แนะนำให้รู้จักกับ Scale Computing

รู้จักกับ Scale Computing และแพลตฟอร์ม Scale Computing HC3 สำหรับผู้ที่กำลังจะย้ายจาก VMware ไปสู่ระบบ...

Read more »

Thin-LVM vs LVM เปรียบเทียบสถาปัตยกรรมและประสิทธิภาพการเขียนข้อมูล

สำหรับผู้ที่ใช้งาน Proxmox VE และ มีการใช้งาน Local Storage ซึ่งเป็น LVM และ...

Read more »

การอ่านค่าและตีความค่าด้านประสิทธิภาพใน Proxmox VE 9

ทำความเข้าใจเกี่ยวกับการวัดค่าต่างๆ ใน Proxmox VE 9 Proxmox VE 9 เป็นแพลตฟอร์ม virtualization...

Read more »

ทำความเข้าใจเกี่ยวกับ NIC Bonding ใน Linux และ Proxmox VE

สำหรับการเพิ่มความเร็วและ Redundancy ใน Proxmox VE โดยเฉพาะกับระบบเครือข่ายนั้น แน่นอนว่าจะเกี่ยวกับเรื่องของ Network โดยตรง วันนี้เราเลยพาไปพบกับบทความเกี่ยวกับเรื่องการทำ...

Read more »