ผู้ดูแลระบบจำนวนมากยังคงใช้งานต่อไป - บน ServerFault และที่อื่น - ความคิดที่เลวร้ายของ TCP-over-TCP เช่นใน VPNs แม้แต่การสูญเสียแพ็กเก็ตเพียงเล็กน้อยก็จะทำให้ใครคนหนึ่งต้องทนทุกข์ทรมานจากการสลายตัวของปริมาณงานที่น้อยมากหากไม่ใช่การล่มสลายของ TCP และ TCP-over-TCP จึงเป็นสิ่งที่ต้องหลีกเลี่ยงอย่างเคร่งครัด และนั่นอาจเป็นความจริงครั้งเดียวทั้งหมดเช่นในปี 2001 เมื่อบทความนี้ถูกเขียนซึ่งยังคงถูกอ้างถึง
แต่หลังจากนั้นเราได้เห็นความก้าวหน้าที่สำคัญในด้านเทคโนโลยีและโปรโตคอล ทุกวันนี้เราได้ใช้งาน 'Selective ACK' เกือบทุกที่และกฎของมัวร์ทำให้เรามีหน่วยความจำมากขึ้นและด้วยบัฟเฟอร์ TCP ขนาดใหญ่ที่เหมาะสำหรับ Gbit อัปลิงค์ นอกจากนี้การสูญเสียแพ็กเก็ตยังมีปัญหาน้อยกว่ามากในทุกวันนี้ในลิงก์ที่ไม่ใช่วิทยุ ทั้งหมดนี้น่าจะช่วยบรรเทาปัญหา TCP-over-TCP ได้อย่างมากใช่ไหม?
โปรดทราบว่ามีสถานการณ์ในโลกแห่งความเป็นจริงที่เช่น VPN ที่ใช้ TCP ง่ายต่อการติดตั้งและใช้งานมากกว่าที่ใช้ UDP / ESP (ดูด้านล่าง) ดังนั้นคำถามของฉัน:
ภายใต้สถานการณ์ใด (การสูญเสียแพ็กเก็ตลิงก์และเวลาแฝง) TCP-over-TCP มีประสิทธิภาพแย่กว่า TCP เพียงอย่างเดียวอย่างมากสมมติว่ารองรับ SACK และบัฟเฟอร์ TCP ที่มีขนาดเหมาะสมทั้งสองด้าน
มันจะดีมากดังนั้นโปรดดูการวัดบางอย่างที่แสดงความสัมพันธ์ระหว่าง (การเชื่อมต่อภายนอก) การสูญเสีย / ความหน่วงของแพ็คเก็ตและการเชื่อมต่อภายใน (การเชื่อมต่อภายใน) / jitter - สำหรับ TCP-over-TCP และ TCP เพียงอย่างเดียว ฉันพบบทความที่น่าสนใจนี้แต่ดูเหมือนว่าจะมีความกังวลเกี่ยวกับความล่าช้าเท่านั้นและไม่ใช่การสูญเสียแพ็กเก็ต (ภายนอก)
นอกจากนี้: มีการตั้งค่าที่แนะนำ (เช่นตัวเลือก TCP การตั้งค่าบัฟเฟอร์การลด MTU / MSS ฯลฯ ) เพื่อ จำกัด ช่องว่างประสิทธิภาพระหว่าง TCP และ TCP-over-TCP หรือไม่
อัพเดท: เหตุผลของเรา
คำถามนี้ยังมีความเกี่ยวข้องมากในบางสถานการณ์จริง เช่นเราปรับใช้อุปกรณ์ฝังตัวในอาคารขนาดใหญ่ที่รวบรวมข้อมูลเซ็นเซอร์และป้อนเข้าสู่แพลตฟอร์มของเราผ่าน VPN ปัญหาที่เราเผชิญคือไฟร์วอลล์และอัพลิงค์ที่ไม่เหมาะสมซึ่งไม่ได้อยู่ภายใต้การควบคุมของเรารวมกับแผนกไอทีที่ไม่เต็มใจ ดูตัวอย่างที่มีรายละเอียดที่กล่าวถึงที่นี่
ในหลาย ๆ กรณีการเปลี่ยนจากที่ไม่ใช่ TCP ไปเป็น VPN ที่ใช้ TCP (ง่ายมากถ้าคุณใช้ OpenVPN เช่นเรา) เป็นการแก้ไขด่วนที่ช่วยให้เราหลีกเลี่ยงการต่อสู้ที่ใช้นิ้วชี้ขึ้นเนิน เช่นบ่อยครั้งที่อนุญาตให้ใช้พอร์ต TCP 443 (อย่างน้อยผ่านพร็อกซี) หรือเราสามารถเอาชนะปัญหา Path-MTU ได้โดยเพียงแค่ลดตัวเลือก MSS ของ TCP
มันจะเป็นการดีที่จะรู้ว่าภายใต้สถานการณ์ใดที่ VPN บน TCP ถือเป็นทางเลือกที่ทำงานได้ดังนั้นเราสามารถทำการตัดสินใจอย่างมีข้อมูลมากกว่าข้อดีและข้อเสียของตัวเลือกใดตัวเลือกหนึ่ง ตัวอย่างเช่นเรารู้ว่า TCP-VPN นั้นใช้ได้สำหรับเราในการเชื่อมโยงที่ไม่ใช่วิทยุ แต่เรามีส่วนแบ่งที่ยุติธรรมของไคลเอนต์ระยะไกลบนอัปลิงค์ 3G ที่มีการสูญเสียแพ็กเก็ตและเวลาแฝงสูง - TCP-VPN จะทำงานอย่างไร
ฉันพยายามปรับปรุงชื่อเรื่องและคำถามกลางตามนั้น ฉันหวังว่ามันสมเหตุสมผล