Score:1

พอร์ตไคลเอนต์หมดแม้จะใช้พอร์ตปลายทางต่างกัน

ธง gb

เมื่ออ่านเกี่ยวกับการหมดพอร์ต ฉันมักจะเห็นว่ามันคำนึงถึงสี่เท่าของการเชื่อมต่อ tcp (src ip, src port, dst ip, dst port) ดังนั้นดูเหมือนว่าด้วยช่วงพอร์ต 20,000 (40,000 ถึง 60,000) และการกำหนดเป้าหมายพอร์ตปลายทาง 8088 และ 8087 โดยมีไคลเอนต์สองเครื่องในเครื่องเดียวกัน โดยใช้ที่อยู่ src และที่อยู่ dst เดียวกัน ฉันควรจะเปิดการเชื่อมต่อได้ 40,000 รายการ อย่างไรก็ตามในการทดสอบของฉันไม่เป็นเช่นนั้น แม้ในการกำหนดค่านี้ ฉันสามารถเปิดการเชื่อมต่อได้เพียง 20,000 ครั้งเท่านั้น ฉันได้ทิ้งเอาต์พุตของ ss -s และจัดเรียงตามพอร์ตต้นทาง นี่คือสารสกัด:

ปิดรอ 26378 0 172.24.131.110 40001 172.24.131.97 9088    
ปิดรอ 25029 0 172.24.131.110 40002 172.24.131.97 9087    
ปิดรอ 23840 0 172.24.131.110 40003 172.24.131.97 9087    
ปิดรอ 25207 0 172.24.131.110 40004 172.24.131.97 9087    
ปิดรอ 25572 0 172.24.131.110 40005 172.24.131.97 9088    
ปิดรอ 26334 0 172.24.131.110 40006 172.24.131.97 9087    
ปิดรอ 27089 0 172.24.131.110 40007 172.24.131.97 9087    
ปิดรอ 23860 0 172.24.131.110 40008 172.24.131.97 9088    
ปิดรอ 25463 0 172.24.131.110 40009 172.24.131.97 9087    
ปิดรอ 26603 0 172.24.131.110 40010 172.24.131.97 9088    
ปิดรอ 25436 0 172.24.131.110 40011 172.24.131.97 9087    
ESTAB 0 0 172.24.131.110 40012 172.24.131.97 9087    
ปิดรอ 25042 0 172.24.131.110 40013 172.24.131.97 9087    
ปิดรอ 25738 0 172.24.131.110 40014 172.24.131.97 9087    
ปิดรอ 27363 0 172.24.131.110 40015 172.24.131.97 9088    
ปิดรอ 25860 0 172.24.131.110 40016 172.24.131.97 9088    

จะดำเนินต่อไปจนกว่าจะถึงมูลค่า 60000 พอร์ตต้นทางไม่เคยถูกใช้ซ้ำ ราวกับว่ากลุ่มของค่ามีอยู่ทั่วไป เป็นกรณีนี้หรือฉันไม่มีการตั้งค่าสถานะที่ไหนสักแห่ง

เวอร์ชันเคอร์เนลคือ 4.15.0-144-generic ช่วงพอร์ตอยู่ในการควบคุมจริง ๆ ที่นี่: ถ้าฉันเปลี่ยนช่วงพอร์ตเป็น 40,000-50,000 ฉันมีเพียง 10,000 การเชื่อมต่อที่เป็นไปได้ ไคลเอนต์และเซิร์ฟเวอร์สำหรับการทดสอบคือเครื่องมือโพลีกราฟเว็บ

Score:1
ธง gb

อันที่จริง ฉันคิดว่าฉันมีคำตอบแล้ว ไคลเอนต์ที่ฉันใช้สร้างการเชื่อมต่อด้วยการผูก + เชื่อมต่อ แทนที่จะเพียงแค่เชื่อมต่อ นี่คือการถ่ายโอนข้อมูล strace :

ผูก (1490, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("172.24.131.110")}, 16) = 0
getsockname(1490, {sa_family=AF_INET, sin_port=htons(50929), sin_addr=inet_addr("172.24.131.110")}, [16]) = 0
connect(1490, {sa_family=AF_INET, sin_port=htons(9088), sin_addr=inet_addr("172.24.131.97")}, 16) = -1 EINPROGRESS (กำลังดำเนินการ)

จากความเข้าใจของฉันในกรณีนี้ คุณกำลังกลับไปที่กลุ่มเฉพาะสำหรับลูกค้าที่แตกต่างกัน เนื่องจากในขณะที่ทำการผูก คุณไม่มีข้อมูลใด ๆ ในด้านระยะไกล

ลิงค์ที่เป็นประโยชน์ในเรื่องนี้: https://idea.popcount.org/2014-04-03-bind-before-connect/

โพสต์คำตอบ

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