หลักฐาน:
ตำแหน่งในชนบทมีตัวเลือกไม่มากนักสำหรับการเชื่อมต่ออินเทอร์เน็ตความเร็วสูง ที่เร็วที่สุดคืออินเทอร์เน็ตผ่านดาวเทียม แต่มันมีราคาแพง (ทั้งอุปกรณ์และค่าใช้จ่ายรายเดือนและมีข้อเสียเวลาแฝง) ดังนั้นหลายครอบครัวต้องการแบ่งปัน
นี่คือตรงไปตรงมาในตัวเอง - ตั้งค่าเราเตอร์ที่มีเครือข่ายย่อยสำหรับแต่ละครัวเรือน (VLANs หรือพอร์ตทางกายภาพ), ปิดกั้นการรับส่งข้อมูลระหว่างพวกเขาและกำหนดค่าโมเด็มเพื่อเส้นทางไปยังเครือข่ายย่อยเหล่านั้นหรือตั้งค่า NAT สองครั้ง
ปัญหา:
วิธีการทำงานของ TCP ตามปกติหมายความว่าการเชื่อมต่อ TCP แต่ละครั้งจะได้รับแบนด์วิธ 1 / n มากขึ้นหรือน้อยลงโดยที่ n คือจำนวนการเชื่อมต่อ ดังนั้นหากหนึ่งครัวเรือน / ผู้ใช้สร้างการเชื่อมต่อจำนวนมากพวกเขาจะได้รับส่วนแบ่งที่ใหญ่กว่าของการเชื่อมต่อโดยรวม สิ่งนี้ไม่ยุติธรรมโดยเฉพาะ - ด้วยการเชื่อมโยงที่อิ่มตัวแต่ละครัวเรือนควรได้รับส่วนแบ่งเท่ากัน ในทางกลับกันเมื่อไม่มีใครใช้การเชื่อมต่อก็ควรใช้แบนด์วิดท์เต็มรูปแบบ
ตัวอย่างเช่นสมมติว่ามี 4 ครัวเรือนที่แชร์การเชื่อมต่อแบบ 12Mbit / s หากหนึ่งในนั้นคือการดาวน์โหลด / การสตรีม / อะไรก็ตามพวกเขาควรจะสามารถใช้ 12Mbit / s เต็ม (หรือใกล้พอ) หาก 2 ครัวเรือนกำลังใช้การเชื่อมต่อพวกเขาควรได้รับ 6Mbit / s โดยไม่คำนึงว่าครอบครัวหนึ่งกำลังดาวน์โหลด 1 ไฟล์และอีก 11 ไฟล์ (โดยไม่มีการจัดการแบนด์วิดท์ใด ๆ ไฟล์แต่ละไฟล์จะดาวน์โหลดที่ประมาณ 1Mbit / s) 3 ครัวเรือน รับ 4Mbit / s ทุก ๆ
สิ่งที่ฉันทำไปแล้ว:
ตำแหน่งที่ดีที่สุดในการใช้นโยบายเช่นนี้ (สำหรับดาวน์สตรีม) จะอยู่ที่ปลายอีกด้านหนึ่งของท่อแคบ ๆ เช่นที่ ISP เห็นได้ชัดว่าเป็นไปไม่ได้ในกรณีนี้ดังนั้นจึงเป็นการดีที่จะสามารถประมาณค่าได้ แต่อย่างไร มีเราเตอร์นอกชั้นวางที่รองรับบางสิ่งเช่นนี้หรือไม่? ฉันสามารถกำหนดค่ากล่อง Linux หรือ BSD เพื่อทำมันได้หรือไม่ ไม่จำเป็นต้องเป็นแบบกระสุน - เซิร์ฟเวอร์ TCP ที่ทำงานผิดปกติหรือบริการ UDP ที่ก้าวร้าวอาจหลีกเลี่ยงสิ่งที่ฉันสามารถทำได้ในตอนท้ายของฉัน - แต่ควรทำงานในกรณีทั่วไปของการรับส่งข้อมูลส่วนใหญ่ประกอบด้วย RFC-compliant จำนวนมาก การเชื่อมต่อ TCP
เพื่อความชัดเจนฉันไม่ได้พูดถึงการจัดลำดับความสำคัญของแอปพลิเคชันเฉพาะ แต่เป็นการรวมทราฟฟิกไปยัง / จากอุปกรณ์อีเธอร์เน็ตหรือช่วงที่อยู่ IP เฉพาะ การให้ทราฟฟิกบางรายการมีลำดับความสำคัญสูงกว่าทราฟฟิกอื่น ๆ ดูเหมือนว่าได้รับการสนับสนุนเป็นอย่างดี แต่สถานการณ์ไม่ชัดเจนเมื่อพยายามจัดสรรแบนด์วิดท์ให้กับคลาสของทราฟฟิกเท่ากัน
มีข้อมูลจำนวนมากที่เขียนไม่ดี / สำรอกซ้ำ ๆ / ข้อมูลที่ไม่ถูกต้องเกี่ยวกับปริมาณข้อมูลบนเว็บ เอกสารเกี่ยวกับฮาร์ดแวร์ของเราเตอร์นั้นไม่เจาะจงอย่างยิ่งดังนั้นฉันจึงดูเหมือนจะวิ่งวนเป็นวงกลม
ดังที่ฉันเข้าใจแล้ววิธีการที่จะให้ TCP ทำงานในลักษณะนี้คือการจำลองไปป์ที่แคบกว่าที่มีอยู่จริงและวางแพ็กเก็ตปลอมเพื่อให้มันกลับไป ดังนั้นฉันคิดว่ามันจะตรงไปตรงมาพอสมควรที่จะให้ทุกคน 3Mbit / s ในตัวอย่างด้านบนโดยการวางแพ็กเก็ตพิเศษใด ๆ นี่ไม่ได้ใช้การเชื่อมต่ออย่างมีประสิทธิภาพเพราะส่วนใหญ่มีความจุสำรอง
มีวิธีทำสิ่งที่ฉันถามหรือไม่ ฉันจะทำผิดหรือเปล่า? ฉัน (หรือมากกว่าครัวเรือนที่มีปัญหา) ยินดีจ่ายเงินให้กับเรา - ไม่ว่าจะเป็นเราเตอร์ / อุปกรณ์แบบ off-the-shelf หรือกล่องทั่วไปเพื่อรัน Linux หรือ BSD distro