Traffic Shaping คืออะไร? การจัดการแบนด์วิดท์เพื่อประสิทธิภาพเครือข่าย
สรุปใจความสำคัญ
- Traffic Shaping คือการหน่วงเวลาแพ็กเก็ตข้อมูลเพื่อควบคุมปริมาณและอัตราการส่งข้อมูลในเครือข่าย
- แตกต่างจาก Traffic Policing ที่เน้นการทิ้งแพ็กเก็ตข้อมูลทันทีเมื่อเกินกำหนด
- ใช้อัลกอริทึม เช่น Token Bucket และ Leaky Bucket เพื่อควบคุมการไหลของข้อมูล
- ช่วยลดความหน่วง (Latency) และลดความแออัดของเครือข่าย (Network Congestion)
Traffic Shaping (การปรับแต่งทราฟฟิก) คือเทคนิคการจัดการแบนด์วิดท์ (Bandwidth Management) ที่ใช้ในเครือข่ายคอมพิวเตอร์ โดยการหน่วงเวลา (Delay) ของดาต้าแกรม (Datagrams) บางส่วนหรือทั้งหมด เพื่อให้การรับส่งข้อมูลเป็นไปตามโปรไฟล์ทราฟฟิกที่กำหนดไว้
ทำไมต้องใช้ Traffic Shaping?
เป้าหมายหลักของ Traffic Shaping คือการเพิ่มประสิทธิภาพการทำงานของเครือข่าย รับประกันประสิทธิภาพการทำงาน (Performance Guarantee) ลดความหน่วง (Latency) หรือเพิ่มแบนด์วิดท์ที่ใช้งานได้สำหรับแพ็กเก็ตข้อมูลบางประเภท โดยการหน่วงเวลาแพ็กเก็ตข้อมูลประเภทอื่นที่สำคัญน้อยกว่า
หลายคนมักสับสนระหว่าง Traffic Shaping กับ Traffic Policing ซึ่งมีความแตกต่างกันคือ Traffic Policing จะเน้นไปที่การทิ้งแพ็กเก็ต (Packet Dropping) และการทำเครื่องหมายแพ็กเก็ต (Packet Marking) ในขณะที่ Traffic Shaping จะเน้นการหน่วงเวลา
ประเภทของ Traffic Shaping
1. การปรับแต่งทราฟฟิกตามแอปพลิเคชัน (Application-based Traffic Shaping)
วิธีนี้จะใช้เครื่องมือในการระบุตัวตน (Fingerprinting) เพื่อระบุว่าข้อมูลที่ส่งเป็นของแอปพลิเคชันใด จากนั้นจึงนำนโยบายการปรับแต่งทราฟฟิกมาใช้ เช่น การจำกัดแบนด์วิดท์ (Bandwidth Throttling) ของการแชร์ไฟล์แบบ Peer-to-Peer (P2P) ซึ่งเป็นกรณีที่ถูกวิพากษ์วิจารณ์บ่อยครั้ง อย่างไรก็ตาม แอปพลิเคชันหลายตัวเริ่มใช้การเข้ารหัส (Encryption) เพื่อหลีกเลี่ยงการตรวจสอบและปรับแต่งทราฟฟิกในลักษณะนี้
2. การปรับแต่งทราฟฟิกตามเส้นทาง (Route-based Traffic Shaping)
การปรับแต่งทราฟฟิกประเภทนี้จะดำเนินการโดยพิจารณาจากข้อมูลของ Hop ก่อนหน้า (Previous-hop) หรือ Hop ถัดไป (Next-hop)
การทำงานของ Traffic Shaping
เมื่อลิงก์เครือข่ายถูกใช้งานจนถึงจุดที่มีความแออัด (Congestion) สูง ความหน่วง (Latency) จะเพิ่มขึ้นอย่างมาก Traffic Shaping จึงถูกนำมาใช้เพื่อป้องกันเหตุการณ์นี้และควบคุมความหน่วงให้อยู่ในระดับที่เหมาะสม
Traffic Shaping ช่วยให้ผู้ดูแลระบบสามารถควบคุมปริมาณทราฟฟิกที่ส่งเข้าสู่เครือข่ายในช่วงเวลาที่กำหนด (Bandwidth Throttling) หรือกำหนดอัตราการส่งข้อมูลสูงสุด (Rate Limiting) รวมถึงการใช้เกณฑ์ที่ซับซ้อน เช่น Generic Cell Rate Algorithm (gcrs)
โดยปกติแล้ว Traffic Shaping จะถูกนำมาใช้ที่ขอบของเครือข่าย (Network Edges) เพื่อควบคุมทราฟฟิกที่เข้าสู่ระบบ แต่ก็สามารถนำมาใช้โดยแหล่งกำเนิดทราฟฟิก (เช่น คอมพิวเตอร์ หรือ การ์ดเครือข่าย) หรืออุปกรณ์ในเครือข่ายได้เช่นกัน
การนำไปใช้งานในสถานการณ์จริง
- ผู้ให้บริการอินเทอร์เน็ต (ISP): ใช้เพื่อจำกัดทรัพยากรที่ถูกใช้โดยเครือข่ายการแชร์ไฟล์ P2P เช่น BitTorrent เพื่อไม่ให้กระทบต่อผู้ใช้รายอื่น
- ศูนย์ข้อมูล (Data Centers): ใช้เพื่อรักษาข้อตกลงระดับการให้บริการ (Service Level Agreements - SLA) สำหรับแอปพลิเคชันและผู้เช่า (Tenants) จำนวนมากที่ใช้เครือข่ายทางกายภาพเดียวกัน
- Audio Video Bridging (AVB): มีการกำหนดมาตรฐาน IEEE 802.1Qav สำหรับการปรับแต่งทราฟฟิกเพื่อรองรับการส่งข้อมูลเสียงและวิดีโอ
- โหนดในเครือข่าย IP: ในบางกรณี โหนดที่ทำการบัฟเฟอร์แพ็กเก็ตก่อนส่งผ่านลิงก์ที่เต็มความจุ จะทำให้เกิดผลลัพธ์ของการปรับแต่งทราฟฟิกโดยไม่ได้ตั้งใจ
การนำไปปฏิบัติ (Implementation)
เครื่องมือปรับแต่งทราฟฟิกจะทำงานโดยการหน่วงเวลาทราฟฟิกที่ถูกวัดผล (Metered Traffic) เพื่อให้แต่ละแพ็กเก็ตเป็นไปตามสัญญาการรับส่งข้อมูล (Traffic Contract) โดยการวัดผลอาจใช้ระบบ Leaky Bucket หรือ Token Bucket (โดย Leaky Bucket มักใช้ใน ATM และ Token Bucket มักใช้ในเครือข่าย IP)
แพ็กเก็ตที่ถูกวัดผลจะถูกเก็บไว้ใน FIFO Buffer (First-In, First-Out) แยกตามคลาสของทราฟฟิก จนกว่าจะถึงเวลาที่สามารถส่งออกไปได้ตามสัญญาที่กำหนดไว้
การจัดการเมื่อบัฟเฟอร์เต็ม (Overflow Condition)
เนื่องจากบัฟเฟอร์มีขนาดจำกัด เมื่อบัฟเฟอร์เต็ม ทราฟฟิกที่เข้ามาใหม่จะถูกทิ้ง (Drop) ซึ่งเป็นกลยุทธ์ที่เรียกกว่า Tail Drop ซึ่งทำให้เกิดผลลัพธ์แบบ Traffic Policing นอกจากนี้ยังมีการใช้ระบบที่ซับซ้อนกว่า เช่น Random Early Detection (RED) เพื่อจัดการการทิ้งแพ็กเก็ต
การจำแนกประเภททราฟฟิก (Traffic Classification)
ระบบปรับแต่งทราฟฟิกแบบง่ายจะจัดการทราฟฟิกทั้งหมดอย่างเท่าเทียมกัน แต่ระบบที่ซับซ้อนจะทำการจำแนกประเภททราฟฟิกก่อน (เช่น ตามหมายเลขพอร์ต หรือ โปรโตคอล) เพื่อให้สามารถปรับแต่งทราฟฟิกแต่ละคลาสแยกจากกันเพื่อให้ได้ผลลัพธ์ที่ต้องการ
คำถามที่พบบ่อย
Traffic Shaping แตกต่างจาก Traffic Policing อย่างไร?
Traffic Shaping จะทำการหน่วงเวลา (Delay) แพ็กเก็ตข้อมูลที่เกินกำหนดไว้ในบัฟเฟอร์เพื่อส่งออกไปในภายหลัง ในขณะที่ Traffic Policing จะทำการทิ้ง (Drop) หรือทำเครื่องหมาย (Mark) แพ็กเก็ตข้อมูลที่เกินกำหนดทันที
Traffic Shaping ช่วยเพิ่มประสิทธิภาพเครือข่ายได้อย่างไร?
ช่วยป้องกันไม่ให้เกิดความแออัดของเครือข่าย (Congestion) ซึ่งจะให้ผลลัพธ์ในการลดความหน่วง (Latency) และให้การรับประกันแบนด์วิดท์สำหรับแอปพลิเคชันที่สำคัญ เช่น VoIP หรือวิดีโอสตรีมมิ่ง
อะไรคือ Token Bucket และ Leaky Bucket?
เป็นอัลกอริทึมที่ใช้ในการวัดผลทราฟฟิก (Metering) เพื่อตัดสินใจว่าทราฟฟิกนั้นเป็นไปตามสัญญาการรับส่งข้อมูลหรือไม่ โดย Leaky Bucket จะส่งข้อมูลออกในอัตราคงที่ และ Token Bucket จะอนุญาตให้ส่งข้อมูลแบบ Burst ของข้อมูลได้ในระดับหนึ่ง