ขณะนี้ฉันกำลังทำงานเกี่ยวกับโซลูชันสร้างรูปแบบการจราจรสำหรับ บริษัท ระดับ ISP และมาถึงปัญหาที่น่าสนใจ
เมื่อมองหาจำนวนปลายทางที่ระบบควรจัดการ (ซึ่งประมาณ ~ 20k) ฉันมีความกังวลเล็กน้อยว่าจะเกิดอะไรขึ้นเมื่อฉันต้องการนโยบาย / การรับส่งข้อมูลรูปร่างของผู้ใช้มากขึ้น ในขณะที่ฉันกำลังใช้ HFSC shaping tree (ดู tc-hfsc ซึ่งส่วนใหญ่เป็นสิ่งเดียวกัน แต่เย็นกว่าที่รู้จักกันดีกว่า HTB) สำหรับเครือข่ายทั้งหมดฉันต้องใช้ ClassID เพิ่มเติม (อย่างน้อยหนึ่งรายการสำหรับผู้ใช้แต่ละคนบน ระบบเครือข่าย) ปัญหาที่ฉันพบคือ TC ClassID นั้นมีจำนวน จำกัด - พวกเขาเป็นตัวเลข 16 บิตซึ่งทำให้ฉันมีผู้ใช้มากที่สุด 64k ที่กำหนดโดยโซลูชันนี้
ในทำนองเดียวกันถ้าฉันต้องการจัดการตัวกรอง TC อย่างมีประสิทธิภาพ (เช่นไม่ได้ใช้ 'ล้างเทคนิคทั้งหมด') ฉันต้องสามารถลบหรือแก้ไขรายการตัวกรองแต่ละรายการได้ (ฉันใช้สิ่งที่คล้ายกับตารางแฮชจาก LARTC [1]) อีกวิธีเดียวที่ดูเหมือนว่าจะทำงานกับเรื่องนี้คือการเรียงลำดับตัวกรองทั้งหมดโดยใช้ลำดับความสำคัญของแต่ละบุคคล (tc filter เพิ่ม dev ... prio 1) ไม่มีพารามิเตอร์อื่น ๆ ที่สามารถนำมาใช้เพื่อจุดประสงค์นี้ได้และน่าเสียดายที่ Prio นั้นเป็นแบบ 16 บิตเท่านั้นเช่นกัน
คำถามของฉันมีดังต่อไปนี้: มีวิธีการที่ดีบ้างไหมในการขยาย "ตัวระบุพื้นที่" ที่มีอยู่เช่น clsid 32- บิตสำหรับคำสั่ง 'tc class' และลำดับความสำคัญ 32 บิต (หรือตัวจัดการการปรับเปลี่ยนอื่น ๆ ) สำหรับ 'tc filter' คำสั่ง?
ขอบคุณมาก ๆ,
-mk
(btw ฉันหวังว่านี่จะไม่ไปสู่สถานการณ์ "ผู้ใช้ 64k น่าจะเพียงพอสำหรับทุกคน")