ฉันใช้ 3G เป็นการเชื่อมต่ออินเทอร์เน็ตหลักของฉันและ TCP กับสิ่งนี้ทำให้เกิดความสับสนมากขึ้นทุกวัน ตัวอย่างเช่น:
การดาวน์โหลดจาก kernel.org นั้นเร็วมาก:
$wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.8.tar.bz2
เพิ่มขึ้นเป็น ~ 500kB / s หลังจากนั้นสองสามวินาที!
เซิร์ฟเวอร์บางตัวทำงานช้าอย่างไม่น่าเชื่อตัวอย่างเช่น www.graphic-pc.com:
สิ่งเดียวกันการดาวน์โหลดไฟล์ขนาดใหญ่ที่มี wget เริ่มต้นที่ ~ 30kB / s ในเสี้ยววินาทีแล้วยุบลงเหลือ 5-10k หรือแย่กว่านั้นการท่องเว็บค่อนข้างดี แต่ไม่น่าเชื่อถือ การสุ่มหน้าจะใช้เวลาในการโหลดนานมากหรืออาจโหลดไม่สำเร็จ แต่การโหลดซ้ำอาจสำเร็จเกือบจะในทันที
ตอนนี้โดยบังเอิญฉันเริ่มเล่นกับ OpenVPN ผ่าน UDP ที่ด้านบนของการเชื่อมต่อ 3G และ OMG ก็ทุกอย่างเร็วมาก!
www.graphic-pc.com เดียวกันตอนนี้ถ่ายได้ที่ 100-200kB / s!
- เกิดอะไรขึ้นที่นี่ ???
- ทำไม VPN ถึงดีกว่าไม่ได้?
- และทำไมกราฟิก-pc.comจึงรวบรวมข้อมูลเมื่อ kernel.org บิน
สิ่งที่ต้องทำกับ tcp stack ของฉัน (หรือเซิร์ฟเวอร์) หรือเราเตอร์ buggy ในระหว่าง?
หมายเหตุ:
การตั้งค่าคือแล็ปท็อปที่ใช้ Ubuntu Lucid และดองเกิล 3G ของ Huawei (ดังนั้นการเชื่อมต่อ pppd โดยตรง)
ฉันสามารถทำซ้ำนี้ได้ตลอดเวลาในระหว่างวันและฉันไม่เคลื่อนไหวดังนั้นจึงเห็นได้ชัดว่าไม่ใช่สภาพแวดล้อมของเซลล์หรือความแออัดของอินเทอร์เน็ต (แม้ว่า kernel.org ที่ไม่มี VPN ในบางครั้งจะแย่กว่านั้นในช่วงเย็น 60kB หรือมากกว่านั้น แต่ก็ยังมี 500kB ด้วย VPN!)
สำหรับ 2) wireshark แสดงแพ็กเก็ตที่ส่งซ้ำ, dup ack's, ซึ่งบางครั้งอาจไม่ได้รับคำสั่ง
ฉันได้ลองเล่นกับพารามิเตอร์ / proc / sys / net / ipv4 ที่แตกต่างกัน (tcp_rmem, window_scaling, tcp_congestion ... ) ดูเหมือนจะไม่ได้สร้างความแตกต่าง
อัปเดต:
พยายามใช้ windows 7 (ไม่มี VPN) พร้อมผลลัพธ์ที่น่าสนใจ:
tcp settings : default tcp_optimizer
kernel.org : 10 kB/s 20 kB/s
graphic-pc.com: 8 kB/s 70 kB/s !
tcp_optimizer เปิด ctcp เหนือสิ่งอื่นใด ต้องตรวจสอบสิ่งที่ os graphics-pc.com กำลังทำงานการเดิมพันของฉันคือ linux's tcp_westwood และ ms ctcp ไม่เข้ากันที่นี่ ...