Header Ads

Network Port Number คืออะไร

Network Port Number คืออะไร

สำหรับโปรแกรมประยุกต์(Application) ที่ใช้ TCP (Transmission Control Protocol) หรือ UDP (User Datagram Protocol) จะใช้หมายเลข port

หมายเลข port คืออะไร ?
หมายเลข port คือเลขฐาน 16 บิต ตั้งแต่ 0 ถึง 65535 หมายเลข port แต่ละหมายเลขจะถูกกำหนดโดยเฉพาะจาก OS (Operating Systems)ทาง Internet Assigned Numbers Authority (IANA) เป็นหน่วยงานกลางในการประสานการเลือกใช้ Port ว่า Port หมายเลขใดควรเหมาะสำหรับ Service ใด
เช่น เลือกใช้ TCP Port หมายเลข 23 กับ Service Telnet และเลือกใช้ UDP Port หมายเลข 69 สำหรับ Service Trivial File transfer Protocol (TFTP)

หมายเลข Port ถูกจัดแบ่งเป็น 2 ประเภทคือ well known Ports และ Registered Ports

well known Ports คืออะไร ?
Well Known Ports คือจะเป็น Port ที่ระบบส่วนใหญ่ กำหนดให้ใช้โดย Privileged User (ผู้ใช้ที่มีสิทธิพิเศษ) โดย port เหล่านี้ ใช้สำหรับการติดต่อระหว่างเครื่องที่มีระบบเวลาที่ยาวนาน วัตถุประสงค์เพื่อให้ service แก่ผู้ใช้ (ที่ไม่รู้จักหรือคุ้นเคย) แปลกหน้า จึงจำเป็นต้องกำหนด Port ติดต่อสำหรับ Service นั้นๆ

Registered Ports ล่ะคืออะไร ?
Registered Ports จะเป็น Port หมายเลข 1024 ขึ้นไป

ตัวอย่างการใช้ Port
Transport layer segment ที่ประกอบไปด้วยหมายเลข Port ของเครื่องปลายทาง โดยที่เครื่องปลายทาง (Destination host) จะใช้ Port นี้ในการส่งข้อมูลให้กับ Application ได้ถูกต้อง หมายเลข Port จะอยู่ใน 32 bit แรกของ TCP และ UDP header โดยที่ 16 bit แรกเป็นหมายเลข Port ของเครื่องต้นทาง ขณะที่ 16 bit ต่อมาเป็นหมายเลข Port ของ เครื่องปลายทาง Well know Ports เป็น Port ที่ค่อนข้างมาตรฐาน ทำให้เครื่อง Remote Computer สามารถรู้ได้ว่าจะติดต่อกับทาง Port หมายเลขอะไรสำหรับ Service นั้นๆ
กลุ่มของหมายเลข Port และ หมายเลข IP เราเรียกว่า Socket ที่ประกอบด้วย Socket หนึ่งตัว สำหรับต้นทาง และอีกตัว สำหรับปลายทาง ดังรูป(ข้างล่างครับ)


ความแตกต่างระหว่าง Active และ Passive Port
ในการใช้การติดต่อด้วย TCP สามารถกระทำได้ 2 วิธีคือ Passive และ Active Connection Passive connection คือ การติดต่อที่ Application process สั่งให้ TCP รอหมายเลข Port สำหรับการร้องขอการติดต่อจาก Source Host เมื่อ TCP ได้รับการร้องขอแล้วจึงทำการเลือกหมายเลข Port ให้ แต่ถ้าเป็นแบบ Active TCP ก็จะให้ Application process เป็นฝ่ายเลือกหมายเลข Port ให้เลย

ตัวอย่าง Well Known Ports (0-1023) จะเป็นพอร์ตสำหรับ applications ที่คุ้นเคยกัน เช่น

TCP 20 and 21 (File Transfer Protocol, FTP)
TCP 22 (Secure Shell, SSH)
TCP 23 (Telnet)
TCP 25 (Simple Mail Transfer Protocol, SMTP)
TCP and UDP 53 (Domain Name System, DNS)
UDP 69 (Trivial File Transfer Protocol, tftp)
TCP 79 (finger)
TCP 80 (Hypertext Transfer Protocol, HTTP)
TCP 110 (Post Office Protocol v3, POP3)
TCP 119 (Network News Protocol, NNTP)
UDP 161 and 162 (Simple Network Management Protocol, SNMP)
UDP 443 (Secure Sockets Layer over HTTP, https)

ไม่มีความคิดเห็น

ขับเคลื่อนโดย Blogger.