แม้ว่าคำถามนี้ได้ถูกทำเครื่องหมายว่าตอบแล้ว แต่ฉันต้องการตอบคำถามเพิ่มเติมที่ถามใน OP
วัตถุทางกายภาพพอร์ตเหล่านี้หรือไม่
ไม่มีพอร์ตไม่ใช่วัตถุทางกายภาพ
หมายเลขพอร์ตเป็นจำนวนเต็มแบบไม่มีเครื่องหมาย 16 บิตซึ่งหมายความว่าช่วงของพอร์ตที่มีให้ใช้ตั้งแต่ 1 ถึง 65535 (หมายเลขพอร์ต 0 ถูกสงวนไว้และไม่สามารถใช้งานได้) กระบวนการเชื่อมโยงช่องสัญญาณเข้าหรือส่งออกผ่านซ็อกเก็ตอินเทอร์เน็ตประเภทของตัวอธิบายไฟล์พร้อมโปรโตคอลการขนส่งหมายเลขพอร์ตและที่อยู่ IP กระบวนการนี้เรียกว่าการเชื่อมโยงและเปิดใช้งานการส่งและรับข้อมูลผ่านเครือข่าย
พวกเขามีบางสิ่งในคอมพิวเตอร์ของฉันหรือไม่ พวกเขาเป็นอะไรบางอย่างทางกายภาพ? หรือเขียนเป็นรหัส? รหัสนี้อยู่ที่ไหน ระบบปฏิบัติการ? พอร์ตคืออะไร
ซอฟต์แวร์ระบบเครือข่ายของระบบปฏิบัติการมีหน้าที่ในการส่งข้อมูลขาออกจากพอร์ตแอปพลิเคชันทั้งหมดไปยังเครือข่ายและส่งต่อแพ็กเก็ตเครือข่ายที่มาถึงไปยังกระบวนการโดยจับคู่ที่อยู่ IP และหมายเลขพอร์ตของแพ็คเก็ต
กระบวนการเดียวเท่านั้นที่สามารถผูกกับที่อยู่ IP ที่เฉพาะเจาะจงและการรวมกันของพอร์ตโดยใช้โปรโตคอลการขนส่งเดียวกัน แอปพลิเคชันทั่วไปล้มเหลวบางครั้งเรียกว่าพอร์ตที่ขัดแย้งกันเกิดขึ้นเมื่อมีหลายโปรแกรมที่พยายามผูกกับหมายเลขพอร์ตเดียวกันบนที่อยู่ IP เดียวกันโดยใช้โปรโตคอลเดียวกัน
ย่อหน้าข้างต้นเป็นกุญแจสำคัญในการทำความเข้าใจว่าทำไมพอร์ต / โปรโตคอลใช้ในเครือข่าย หากเราไม่มีวิธีระบุโปรโตคอลซึ่งส่งข้อมูลผ่านหมายเลขพอร์ต apon ที่ตกลงกันไว้คุณจะไม่สามารถทำสิ่งต่าง ๆ ได้มากกว่า 1 ครั้ง (ตรวจสอบอีเมลของคุณและใช้เว็บ) เพราะคอมพิวเตอร์ของคุณจะมี ไม่มีทางแยกความแตกต่างระหว่างข้อมูลสำหรับไคลเอนต์อีเมลของคุณและข้อมูลสำหรับเว็บไซต์ที่คุณกำลังเรียกดู
มีพอร์ตกี่พอร์ต
หมายเลขพอร์ตได้รับการกำหนดในรูปแบบต่าง ๆ ตามช่วงที่สาม:
Well Known / System Ports (0-1023) - ช่วงของพอร์ตนี้ถูกใช้โดยกระบวนการของระบบที่ให้บริการเครือข่ายประเภทที่ใช้กันอย่างแพร่หลาย (HTTP / 80, HTTPS / 443, Telnet / 21, SSH / 22)
พอร์ตการลงทะเบียน / ผู้ใช้ (1024-49151) - ช่วงของหมายเลขพอร์ตจาก 1024 ถึง 49151 คือพอร์ตที่ลงทะเบียน IANA ได้รับมอบหมายจากพวกเขาสำหรับการให้บริการเฉพาะเมื่อสมัครโดยนิติบุคคลที่ร้องขอ (Webmin / 10000, HTTP Proxy / 8080, Remote Desktop Protocol / 3389 ฯลฯ )
ชั่วคราว / ไดนามิก / พอร์ตส่วนตัว (49152-65535) - ช่วง 49152–65535 มีพอร์ตแบบไดนามิกหรือส่วนตัวที่ไม่สามารถลงทะเบียนกับ IANA ช่วงนี้ใช้สำหรับวัตถุประสงค์ที่กำหนดเองหรือชั่วคราวและสำหรับการจัดสรรพอร์ตชั่วคราวโดยอัตโนมัติ
ฉันสามารถเพิ่มหรือลดจำนวนพอร์ตได้หรือไม่
ในแง่ของความสามารถในการเพิ่มจำนวนพอร์ตที่มีอยู่คุณไม่สามารถกำหนดพอร์ตที่สูงกว่า 65535 เนื่องจากคณิตศาสตร์ที่อนุญาตให้เครือข่ายทำงาน (ไบนารี) - ดังนั้นคำตอบสำหรับคำถามนี้คือไม่คุณไม่สามารถเพิ่มจำนวนทั้งหมดที่มี พอร์ตด้านบน 65535
โปรโตคอลคืออะไร
ภายในวิทยาการคอมพิวเตอร์โปรโตคอลการสื่อสารเป็นระบบของกฎดิจิตอลสำหรับการแลกเปลี่ยนข้อความภายในหรือระหว่างคอมพิวเตอร์ เมื่อข้อความถูกแลกเปลี่ยนผ่านเครือข่ายคอมพิวเตอร์ระบบกฎเรียกว่าโปรโตคอลเครือข่าย โปรโตคอลนั้นเป็นชุดที่ตกลงกันตามคำสั่ง / คำสั่ง / การโทรที่อุปกรณ์เครือข่ายทั้งสองสามารถสื่อสารกันได้ คิดว่าถ้าเราไม่ได้ตกลงโปรโตคอลและเว็บเซิร์ฟเวอร์เพียงแค่ส่งข้อมูลแบบสุ่มไปยังเว็บเบราว์เซอร์ที่เบราว์เซอร์ไม่ทราบว่าจะทำอย่างไร? โชคดีที่เรามี HTTP และทุกเว็บเบราว์เซอร์ที่สร้างขึ้นได้สร้างไว้ในซอฟต์แวร์เพื่อให้สามารถสื่อสารกับเว็บเซิร์ฟเวอร์ใดก็ได้ที่พูดภาษาเดียวกัน (HTTP)
ฉันคิดว่ามันเป็นรหัสบางอย่าง .... คุณสามารถสร้างโปรโตคอลของคุณเองได้หรือไม่? คุณใช้ภาษาใดในการสร้างโปรโตคอล
ใช่คุณสามารถสร้างโปรโตคอลของคุณเอง โปรโตคอลเขียนด้วยภาษาที่หลากหลาย ฉันไม่ใช่นักพัฒนาซอฟต์แวร์ แต่ฉันค่อนข้างมั่นใจว่าตราบใดที่ภาษาที่คุณใช้มีไลบรารี่ที่อนุญาตให้คุณเขียนซอฟต์แวร์ที่สามารถสื่อสารผ่าน TCP / IP (มีชุดโปรโตคอลอื่น ๆ แต่ TCP / IP เป็นสิ่งที่สำคัญที่สุด ใช้กันอย่างแพร่หลาย) คุณสามารถใช้ภาษานั้นเพื่อเขียนโปรโตคอล ภาษาการเขียนโปรแกรม 'C' ดูเหมือนจะใช้กันมากที่สุดในการเขียนโปรโตคอล นี่เป็นเพราะความจริงที่ว่าโปรโตคอลเครือข่ายแรกจำนวนมากได้รับการพัฒนาบน UNIX ในปี 1970 และ C เป็นภาษาที่ UNIX เขียนขึ้นเอง
คุณจะได้รับพอร์ตเฉพาะเพื่อรันโปรโตคอลเฉพาะได้อย่างไร
สิ่งนี้แตกต่างกันเล็กน้อยระหว่างระบบปฏิบัติการ ตัวอย่างเช่นในการเปลี่ยนหมายเลขพอร์ต Remote Desktop Protocol ทำงานใน Windows คุณจะต้องแก้ไขรีจิสทรี บน Linux บริการเครือข่ายจำนวนมากสามารถกำหนดค่าได้โดยตรงจากไฟล์. conf สำหรับบริการเครือข่ายเฉพาะ
คุณกำหนดหรือคิดค้นโปรโตคอลใหม่ได้อย่างไร
ดูhttps://journal.paul.querna.org/articles/2012/02/22/designing-network-protocols/สำหรับโพสต์บล็อกโดยคนที่เพิ่งพัฒนาโปรโตคอลเครือข่ายใหม่และสิ่งที่เขาต้องทำ ระหว่างทาง.