Tuesday, October 10, 2006

Port

ที่มา : thaiadmin.org

สำหรับโปรแกรมประยุกต์(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 ให้เลย

No comments:

Post a Comment

Popular Posts