เซิร์ฟเวอร์ TCP ถูก จำกัด ให้กับไคลเอนต์ 65535 หรือไม่


10

บางคนอาจคิดว่านี่เป็นการ จำกัด จำนวนลูกค้าที่คอมพิวเตอร์ / แอพพลิเคชั่นเดียวสามารถรักษาได้

หนึ่งอาจดูแลเว็บเซิร์ฟเวอร์และเป็นสิ่งจำเป็นเพื่อให้แน่ใจว่ามันสามารถปรับให้ระดับการใช้งานคาดว่าจะเกินการเชื่อมต่อ ~ 65k

สำหรับซอฟต์แวร์มีข้อควรพิจารณาแยกต่างหากบางประการ ( /programming/1575453/how-many-socket-connections-can-a-web-server-handle )


คำตอบใดช่วยคุณได้บ้าง ถ้าเป็นเช่นนั้นคุณควรยอมรับคำตอบเพื่อที่คำถามจะไม่โผล่ขึ้นมาเรื่อย ๆ โดยมองหาคำตอบ หรือคุณสามารถให้และยอมรับคำตอบของคุณเอง
Ron Maupin

คำตอบ:


16

คำตอบสั้น ๆ คือไม่นั่นไม่ใช่ขีด จำกัด

เขตข้อมูล TCP Port เป็น 2x ไบต์และถือปริมาณของ 65536 หมายเลขนี้ จำกัด จำนวนของที่อยู่เซิร์ฟเวอร์สามารถมี แต่นี่ไม่ได้ จำกัด จำนวนลูกค้าที่ ~ 64k แต่ละ TCP Packet มีสองช่องพอร์ตหนึ่งสำหรับปลายทางและอีกหนึ่งสำหรับแหล่งที่มา (เช่นเดียวกับที่อยู่ IP สอง)

การเชื่อมต่อ TCP ที่กำหนดคือ tuple ของต้นทางและปลายทางโดยแต่ละรายการมีที่อยู่ IP และหมายเลขพอร์ต ปลายทาง (ฝั่งเซิร์ฟเวอร์) ยังคงอยู่ แต่ที่อยู่ต้นทาง (ฝั่งไคลเอ็นต์) อาจแตกต่างกันไปตามทั้งพอร์ตและที่อยู่ IP

พิจารณา:

  • เซิร์ฟเวอร์ IP - 100.0.0.1 (แก้ไข)
  • เซิร์ฟเวอร์พอร์ต - 80 (แก้ไข)
  • IP ไคลเอ็นต์ - 0.0.0.0 - 255.255.255.255 (ช่วง 32- บิต)
  • พอร์ตไคลเอ็นต์ - 0 - 65535 (ช่วง 16 บิต)

ใช่ไคลเอนต์ (หรือสำนักงาน) ที่มีที่อยู่ IP เดียวสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของคุณได้พร้อมกัน 65535 ครั้งพร้อมกัน แต่ถ้าลูกค้า (หรือสำนักงาน) มีที่อยู่ IPv4 หลายรายการพวกเขาสามารถเชื่อมต่อทวีคูณจำนวนมากได้

โดยทั่วไปจะมีที่อยู่IPนับล้านที่ใช้งานอยู่ในอุปกรณ์ไคลเอนต์จำนวนมากและหากพวกเขาจะใช้พอร์ตแหล่งเดียวเพื่อเชื่อมต่อกับเซิร์ฟเวอร์พอร์ตเดียวของคุณแล้วคุณจะเห็นศักยภาพที่จะเกินจำนวน 65536

ขีด จำกัด ทางคณิตศาสตร์ตามทฤษฎีของโปรโตคอล IP / TCP คือ 2 ^ 32 * 2 ^ 16 จำนวนที่อยู่ IP มีจำนวนลดลงจริง ๆ แล้วคุณจะต้องลบบล็อก IP ที่สงวนไว้บางส่วน นอกจากนี้ในทางปฏิบัติจำนวนพอร์ตฝั่งไคลเอ็นต์ต่ำกว่าเนื่องจากคอมพิวเตอร์ไคลเอนต์ทั่วไปจะใช้งานหลายแอพพลิเคชั่นที่เชื่อมต่อกับเซิร์ฟเวอร์อื่นลดจำนวนพอร์ต TCP มากเกินไป แต่กลุ่มนี้ไม่ค่อยได้ใช้บ่อยครั้งเมื่อเซสชัน TCP สิ้นสุดหมายเลขพอร์ต สามารถใช้ได้ในสระว่ายน้ำอีกครั้ง

หมายเหตุ: สำหรับ IPv6 จำนวนที่อยู่ IP จะเพิ่มขึ้น แต่ฟิลด์พอร์ตสำหรับ TCP ยังคงมีขนาดเท่าเดิม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.