Network Ports: The Communication Gateways (নেটওয়ার্ক পোর্টস)
একটি আইপি অ্যাড্রেস যেমন একটি বাড়িকে নির্দেশ করে, তেমনি Port নির্দেশ করে ওই বাড়ির নির্দিষ্ট কোনো দরজা বা জানালা দিয়ে কোন সার্ভিসটি ভেতরে ঢুকবে বা বের হবে। আইপি আপনার ডিভাইসে পৌঁছাতে সাহায্য করে, আর পোর্ট আপনার ডিভাইসের নির্দিষ্ট অ্যাপ্লিকেশনে পৌঁছাতে সাহায্য করে।
১. পোর্ট নম্বর কী?
পোর্ট নম্বর হলো ১৬-বিটের একটি সংখ্যা (০ থেকে ৬৫৫৩৫)। ট্রান্সপোর্ট লেয়ার (L4) প্রোটোকল যেমন TCP এবং UDP এই পোর্ট নম্বর ব্যবহার করে ডাটা প্যাকেটকে সঠিক অ্যাপ্লিকেশনে ডেলিভারি দেয়।
২. পোর্টের শ্রেণিবিন্যাস (Port Ranges)
পোর্টের বিশাল রেঞ্জকে তিনটি প্রধান ভাগে ভাগ করা হয়েছে:
১. Well-known Ports (০ - ১০২৩):
এগুলো বিশেষ এবং স্ট্যান্ডার্ড প্রোটোকলের জন্য সংরক্ষিত থাকে। সিস্টেম লেভেলে এগুলো ব্যবহার করতে সাধারণত অ্যাডমিনিস্ট্রেটর বা রুট পারমিশন লাগে।
- উদাহরণ: HTTP (80), HTTPS (443), SSH (22)।
২. Registered Ports (১০২৪ - ৪৯১৫১):
এগুলো বিভিন্ন কোম্পানি বা অ্যাপ্লিকেশন তাদের সার্ভিসের জন্য ভেন্ডরদের কাছ থেকে রেজিস্ট্রেশন করে নেয়।
- উদাহরণ: MySQL (3306), Redis (6379), PostgreSQL (5432)।
৩. Dynamic/Private Ports (৪৯১৫২ - ৬৫৫৩৫):
এগুলো কোনো সার্ভিসের জন্য ফিক্সড থাকে না। যখন আপনার পিসি থেকে কোনো রিকোয়েস্ট (যেমন ব্রাউজ করা) বাইরে পাঠানো হয়, তখন ওএস অস্থায়ীভাবে এখান থেকে একটি পোর্ট বরাদ্দ করে। একে Ephemeral Port-ও বলা হয়।
৩. কমন পোর্ট নম্বরের তালিকা
| পোর্ট (Port) | প্রোটোকল (Protocol) | বর্ণনা (Description) |
|---|---|---|
| ২০ / ২১ | FTP | ফাইল ট্রান্সফারের জন্য ব্যবহৃত হয়। |
| ২২ | SSH | সার্ভারে সিকিউর লগইন করার জন্য। |
| ২৫ | SMTP | ইমেইল পাঠানোর জন্য। |
| ৫৩ | DNS | ডোমেইন নাম থেকে আইপি বের করার জন্য। |
| ৮০ | HTTP | সাধারণ ওয়েবসাইট ব্রাউজ করার জন্য। |
| ৪৪৩ | HTTPS | সিকিউর ওয়েবসাইট (SSL/TLS) ব্রাউজ করার জন্য। |
| ৩৩০৬ | MySQL | ডাটাবেস সার্ভিস কানেক্ট করার জন্য। |
৪. পোর্ট ফরওয়ার্ডিং (Port Forwarding) এর ধারণা
যদি আপনার বাসার কোনো পিসিতে একটি ওয়েব সার্ভার চলে এবং আপনি চান আপনার অফিসের বন্ধু সেটি দেখুক, তখন পোর্ট ফরওয়ার্ডিং প্রয়োজন হয়।
- কী ঘটে? আপনার রাউটারের কাছে আসা কোনো নির্দিষ্ট রিকোয়েস্টকে (যেমন পোর্ট ৮০) রাউটার আপনার লোকাল নেটওয়ার্কের নির্দিষ্ট একটি পিসির নির্দিষ্ট পোর্টে পাঠিয়ে দেয়।
৫. ডেভঅপস পারসপেক্টিভ: সিকিউরিটি ও ম্যানেজমেন্ট
- Close Unused Ports: নিরাপত্তা নিশ্চিত করতে সার্ভারের অব্যবহৃত সব পোর্ট বন্ধ রাখুন (Firewall whitelist policy)।
- Scanning: আপনার সার্ভারের কোন কোন পোর্ট খোলা আছে তা দেখতে
nmapকমান্ড ব্যবহার করুন। - Port Conflict: একই পোর্টে দুটি অ্যাপ্লিকেশন একসাথে চলতে পারে না। কোনো এরর পেলে
netstat -tulnদিয়ে চেক করুন কোন অ্যাপ কোন পোর্ট দখল করে আছে।
প্রফেশনাল টিপস
ডেভেলপমেন্টের সময় আমরা প্রায়ই 8080 বা 3000 পোর্ট ব্যবহার করি। এগুলো মূলত রেজিস্টার্ড পোর্ট রেঞ্জের অন্তর্ভুক্ত এবং অল্টারনেটিভ HTTP সার্ভিস হিসেবে বহুল ব্যবহৃত।