Score:-2

การเชื่อมต่อ localhost loopback tcp ใน Windows: เพิ่มคอขวด 65535 ไบต์ต่อเซกเมนต์

ธง us

สถานการณ์ที่ฉันมีมีดังนี้: ฉันมีเซสชัน TCP ย้อนกลับและฉันต้องการปรับปรุงประสิทธิภาพ ฉันมีวัตถุคล้ายซ็อกเก็ต (System.Net.Sockets ใน .NET Framework เฉพาะเจาะจง) ส่งข้อความได้สูงสุดประมาณ 9MB แต่ละข้อความไหลในทั้งสองทิศทางของการเชื่อมต่อ TCP ฉันสังเกตเห็นความล่าช้าโดยทั่วไปประมาณ 20 มิลลิวินาทีสำหรับข้อความขนาดใหญ่เช่นนี้เพื่อไปยังอีกฝั่งหนึ่ง

ด้วย WireShark ฉันพบว่าโฟลว์ TCP ถูกจำกัดที่ 65535 ไบต์ต่อเซกเมนต์ ฉันสงสัยว่านี่เป็นคอขวดของประสิทธิภาพความเร็วในส่วนหัวของ TCP ตัวเลือกการปรับขนาดหน้าต่างจะเปิดใช้งาน และขนาดหน้าต่างที่คำนวณได้นั้นใหญ่เพียงพอ ฉันสงสัยว่า "ตัวเลือก TCP - ขนาดเซ็กเมนต์สูงสุด" (MSS) ในแพ็กเก็ต SYN คือสิ่งที่จำกัดขนาดของแต่ละเซ็กเมนต์ TCP โปรดดูภาพ WireShark และชี้ว่าฉันผิดหรือไม่

เซ็กเมนต์ TCP ที่จำกัดขนาด และตัวเลือกการปรับขนาดหน้าต่าง แพ็คเก็ต SYN และ MSS

ตอนนี้กลับมาที่คำถามในหัวข้อ ใน Windows 7/8/10/11 มีวิธีใดบ้างที่จะเพิ่มขีดจำกัดขนาดเซ็กเมนต์ TCP นี้ ฉันหวังว่าจะพบวิธีที่เพิ่ม MSS สำหรับการเชื่อมต่อแบบย้อนกลับหรือเฉพาะบางพอร์ตหรือบางอย่างเท่านั้น

Score:1
ธง ru

ส่วน TCP ถูกห่อหุ้มโดยแพ็กเก็ต IP ซึ่งโดยทั่วไปจำกัดไว้ที่ 65,535 ไบต์ (2^16-1) ตั้งแต่ ความยาวรวม ฟิลด์คือ 16 บิต นั่นคือจุดสิ้นสุดของขั้นบันไดสำหรับทั้ง TCP และ IP

หากคุณไม่สามารถบรรลุแบนด์วิธที่คุณต้องการ คุณต้องใช้ฮาร์ดแวร์ที่เร็วกว่าหรือซอฟต์แวร์ที่เร็วกว่า ตามค่าเริ่มต้น กล่องเดสก์ท็อปของฉันทำงาน ~35 Gbit/s เธรดเดียว คุณอาจต้องการสอบถามเพิ่มเติมที่ สแต็คโอเวอร์โฟลว์ เพื่อเพิ่มประสิทธิภาพโค้ดของคุณ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา