เพื่อนร่วมห้องเชื่อมต่ออินเทอร์เน็ตด้วยการดูวิดีโอจากเว็บไซต์จีน QoS สามารถแก้ไขปัญหาได้หรือไม่?
ฉันไม่ได้อ่านเรื่องราวทั้งหมดของคุณ แต่ขึ้นอยู่กับคำถามที่คุณถามคำตอบคือโดยทั่วไปไม่ได้จริงๆ ในบางกรณี QoS อาจแก้ไขปัญหาบางส่วนหากคุณใช้บริการที่มีลำดับความสำคัญสูง (เช่น Voice over IP) และแพ็คเก็ตได้รับการติดแท็กอย่างเหมาะสมและผู้ให้บริการต้นน้ำของคุณเคารพ QoS แต่มันจะไม่ช่วยคุณถ้าลำดับความสำคัญของแพ็กเก็ตและแพ็กเก็ตของเพื่อนร่วมห้องเหมือนกัน
สิ่งที่คุณต้องการคือการจัดการคิวที่ใช้งานอยู่
จะเกิดอะไรขึ้นเมื่อเพื่อนร่วมห้องของคุณดูวิดีโอ เราได้รับข้อมูลจำนวนมากจากเราเตอร์ / โมเด็มที่ใช้ร่วมกันของคุณ เพื่อป้องกันการสูญเสียข้อมูลนี้ซึ่งเข้ามาเร็วที่สุดเท่าที่โมเด็มสามารถรับได้มันจะสร้างบัฟเฟอร์ภายในที่ใหญ่กว่าและใหญ่กว่าภายในโมเด็มที่จัดคิวข้อมูลแพ็คเก็ตทั้งหมด
มันต้องทำเช่นนี้เพราะมันได้รับแพ็กเก็ต IP ที่ไม่สมบูรณ์และจากหลาย ๆ ที่ (การดาวน์โหลดของคุณ, การดาวน์โหลดของเพื่อนร่วมห้อง ฯลฯ ) และมันจะต้องประกอบชิ้นส่วนเข้าด้วยกันเพื่อสร้างแพ็กเก็ต TCP ทั้งหมด ดังนั้นมันจึงสร้างบัฟเฟอร์มหาศาลนี้เพื่อหลีกเลี่ยงการสูญเสียแพ็กเก็ตใด ๆ ไม่เช่นนั้นด้วยบัฟเฟอร์ขนาดเล็กแพ็กเก็ตบางตัวอาจต้องถูกดร็อปซึ่งอาจส่งผลให้ต้องส่งข้อมูลอีกครั้ง
น่าเสียดายที่เมื่อบัฟเฟอร์มีขนาดเกินขนาดที่กำหนดไว้ประโยชน์ของการมีบัฟเฟอร์จะมีมากกว่าเมื่อเทียบกับข้อเสีย ข้อเสียเปรียบที่สำคัญของบัฟเฟอร์ "ป่อง" คือมีความล่าช้าอย่างมากที่เกี่ยวข้องกับการรับแพ็คเก็ต
ความหน่วงแฝงหมายถึงแอปพลิเคชันที่ส่งหรือรับข้อมูลต้องรอเวลานานมากในการยืนยันว่ามีการส่งหรือรับข้อมูลอย่างถูกต้อง เนื่องจากข้อมูลในซ็อกเก็ต TCP คือ "acked" โดยอีกด้านหนึ่งเพื่อยืนยันว่า "ตกลงฉันเข้าใจแล้ว!" ปลายอีกด้านอาจถือว่าหลังจากเวลาแฝงจำนวนหนึ่งที่แพ็กเก็ตหายไปและลองส่งใหม่อีกครั้ง อย่างไรก็ตาม. ดังนั้นเป้าหมายของบัฟเฟอร์ขนาดใหญ่คือเพื่อป้องกันการส่งซ้ำ แต่ในการทำเช่นนั้นมันทำให้เกิดการส่งซ้ำ !!! การส่งซ้ำแต่ละครั้งจะใช้แบนด์วิดท์ / สิ้นเปลืองมากกว่าและเวลาแฝงมากกว่า
Active Queue Management ซึ่งเป็นแนวคิดเป็นวิธีการแก้ปัญหาบางอย่างที่พยายามจำกัด ขอบเขตการเติบโตของบัฟเฟอร์อย่างชาญฉลาด โดยการทำให้บัฟเฟอร์มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ในขณะที่มีขนาดใหญ่พอที่จะป้องกันข้อมูลส่วนใหญ่จากการสูญหายเนื่องจากการรอแพ็คเก็ตที่ไม่เพียงพอคุณสามารถป้องกันการพองตัวของบัฟเฟอร์ได้
สิ่งที่นักวิจัยพยายามทำมานานหลายปี (ซึ่งเราเพิ่งประสบความสำเร็จเพียงบางส่วนเมื่อเร็ว ๆ นี้เมื่อเดือนพฤษภาคม 2555) คือการออกแบบอัลกอริทึมที่ใช้การจัดการคิวแบบแอคทีฟที่เหมาะสม (AQM) โดยไม่มีการกำหนดค่าผู้ใช้ จะเสียเวลาและน่ารำคาญ) เพียงแค่ "bullet เวทมนตร์" ที่ปรับขนาดคิวให้เหมาะสมเพื่อลดการสูญหายของแพ็กเก็ตและลดเวลาแฝงในเวลาเดียวกัน
จนถึงตอนนี้สิ่งเดียวที่เราพบว่าประสบความสำเร็จอย่างมากในเราเตอร์โฮมคือ Controlled Delay (CoDel) Active Queue Management ซึ่งเป็นส่วนเสริมล่าสุดของเคอร์เนล Linux
CoDel มีประโยชน์มากเพราะควบคุมการหน่วงเวลา (เวลาแฝง) ของแพ็กเก็ต วิธีมันไม่นี้เป็นบิตทางเทคนิคเกินไปสำหรับคำถามนี้
ลิงก์บางอย่างใน CoDel เพื่อให้คุณสามารถอ่านได้:
CoDel บน bufferbloat.net
CeroWRT
บทความของ Jim Gettys ใน codel
แก้ไข : QoS เป็นเพียงครึ่งหนึ่งของโซลูชัน พอร์ตที่ใช้ QoS (เช่นให้แพ็คเก็ตของคุณมีลำดับความสำคัญสูงกว่า) จะพาคุณไปไกล มันจะไม่ลดการพองตัวของบัฟเฟอร์เลยและเวลาในการตอบสนองของคุณจะยังคงสูง แต่การสูญเสียแพ็กเก็ตของคุณอาจลดลงเล็กน้อย
CoDel รวมกับ QoS, la CeroWRT บนเราเตอร์ของคุณเป็นวิธีที่ดีที่สุด