พอร์ต 0 มีความหมายพิเศษในการเขียนโปรแกรมเครือข่าย โดยเฉพาะอย่างยิ่งในระบบปฏิบัติการ Unix เมื่อพูดถึงการเขียนโปรแกรมซ็อกเก็ต โดยที่พอร์ตนี้ใช้เพื่อขอพอร์ตแบบไดนามิกที่ระบบจัดสรรไว้ พอร์ต 0 คือพอร์ตไวด์การ์ด บอกให้ระบบค้นหาหมายเลขพอร์ตที่เหมาะสม
ต่างจากหมายเลขพอร์ตส่วนใหญ่ พอร์ต 0 เป็นพอร์ตที่สงวนไว้ในเครือข่าย TCP/IP ซึ่งหมายความว่าไม่ได้ใช้ในข้อความ TCP หรือ UDP พอร์ตเครือข่ายใน TCP และ UDP มีตั้งแต่ 0 ถึง 65535
หมายเลขพอร์ตในช่วง 0 ถึง 1023 จะถูกระบุว่าเป็นพอร์ตของระบบ Internet Assigned Numbers Authority (IANA) จัดทำรายการอย่างเป็นทางการเกี่ยวกับวัตถุประสงค์การใช้งานหมายเลขพอร์ตเหล่านี้บนอินเทอร์เน็ต และไม่ควรใช้พอร์ตระบบ 0
พอร์ต TCP/UDP 0 ทำงานอย่างไรในการเขียนโปรแกรมเครือข่าย
พอร์ต 0 มีความหมายพิเศษในการเขียนโปรแกรมเครือข่าย
การกำหนดค่าการเชื่อมต่อซ็อกเก็ตเครือข่ายใหม่จำเป็นต้องมีหมายเลขพอร์ตที่ได้รับการจัดสรรทั้งด้านต้นทางและปลายทาง ข้อความ TCP หรือ UDP ที่ส่งโดยผู้สร้าง (ต้นทาง) มีทั้งหมายเลขพอร์ต เพื่อให้ผู้รับข้อความ (ปลายทาง) สามารถส่งข้อความตอบกลับไปยังจุดสิ้นสุดของโปรโตคอลที่ถูกต้องได้
IANA ได้จัดสรรพอร์ตระบบที่กำหนดไว้ล่วงหน้าสำหรับแอปพลิเคชันอินเทอร์เน็ตพื้นฐาน เช่น เว็บเซิร์ฟเวอร์ (พอร์ต 80) แต่แอปพลิเคชันเครือข่าย TCP และ UDP จำนวนมากไม่มีพอร์ตระบบของตัวเองและต้องได้รับพอร์ตหนึ่งจากระบบ อุปกรณ์ปฏิบัติการทุกครั้งที่ทำงาน .
หากต้องการจัดสรรหมายเลขพอร์ตต้นทาง แอปพลิเคชันจะเรียกใช้ฟังก์ชันเครือข่าย TCP/IP เช่นbind()เพื่อขอพอร์ต แอปพลิเคชันสามารถจัดเตรียมหมายเลขคงที่ (ฮาร์ดโค้ด) เพื่อผูก () หากต้องการขอพอร์ตเฉพาะ แต่คำขอดังกล่าวอาจล้มเหลวในกรณีที่แอปพลิเคชันอื่นทำงานบนระบบที่ใช้พอร์ตนั้นอยู่ในปัจจุบัน
นอกจากนี้ แอปพลิเคชันสามารถจัดเตรียมพอร์ต 0 เพื่อผูก () เป็นพารามิเตอร์การเชื่อมต่อ ซึ่งจะกระตุ้นให้ระบบปฏิบัติการค้นหาและส่งคืนพอร์ตที่เหมาะสมที่มีอยู่ภายในช่วงหมายเลขพอร์ตไดนามิก TCP/IP โดยอัตโนมัติ
แอปพลิเคชันไม่ได้รับพอร์ต 0 แต่ให้หมายเลขพอร์ตไดนามิกอื่นแทน ข้อดีของแบบแผนการเขียนโปรแกรมนี้คือประสิทธิภาพ แทนที่จะแต่ละแอปพลิเคชันต้องปรับใช้และรันโค้ดเพื่อลองใช้หลายพอร์ตจนกว่าจะได้รับพอร์ตที่ถูกต้อง แอปพลิเคชันสามารถพึ่งพาระบบปฏิบัติการได้
Unix, Windows และระบบปฏิบัติการอื่นไม่เหมือนกันในการจัดการพอร์ต 0 แต่ใช้แบบแผนทั่วไปเดียวกัน
ปัญหาพอร์ต 0 และความปลอดภัยของเครือข่าย
การรับส่งข้อมูลเครือข่ายที่ส่งผ่านอินเทอร์เน็ตไปยังเซิร์ฟเวอร์ที่รับฟังพอร์ต 0 สามารถสร้างขึ้นโดยผู้โจมตีทางไซเบอร์หรือโดยแอปพลิเคชันที่ตั้งโปรแกรมไม่ถูกต้อง ข้อความที่เซิร์ฟเวอร์สร้างขึ้นเพื่อตอบสนองต่อการรับส่งข้อมูลพอร์ต 0 ช่วยให้ผู้โจมตีเรียนรู้เกี่ยวกับพฤติกรรมของอุปกรณ์นั้นและช่องโหว่ของเครือข่ายที่อาจเกิดขึ้น
ผู้ให้บริการอินเทอร์เน็ต (ISP) หลายรายบล็อกการรับส่งข้อมูลบนพอร์ต 0 ทั้งข้อความขาเข้าและขาออก เพื่อป้องกันการโจมตีเหล่านี้