ما هو البورت (Port) ؟
بسم الله الرحمن الرحيم
لكي يتمكن حاسبك من التواصل مع الحواسيب الأخرى الموجودة على الشبكة لابد من أن يكون لديه عنوان محدد يمكن الوصول إليه و هذا ما يقدمه برتوكول
"IP" باستخدام عنوان IP المكون من 32 بت والذي يتم كتابته كالتالي:124.123.12.12 , بهذا تتمكن البرامج من إرسال البيانات إلى الحاسب المراد الوصول إليه , ولكن هنا تنشأ مشكلة فكيف يتعرف الحاسب على البرنامج الذي قام بطلب البيانات أو إرسالها ,هنا يأتي دور البرتوكول TCP و UDP , أنظر إلى الرسمين التوضحين للبرتوكولين:
"IP" باستخدام عنوان IP المكون من 32 بت والذي يتم كتابته كالتالي:124.123.12.12 , بهذا تتمكن البرامج من إرسال البيانات إلى الحاسب المراد الوصول إليه , ولكن هنا تنشأ مشكلة فكيف يتعرف الحاسب على البرنامج الذي قام بطلب البيانات أو إرسالها ,هنا يأتي دور البرتوكول TCP و UDP , أنظر إلى الرسمين التوضحين للبرتوكولين:
ستلاحظ في بداية البرتوكولين حقلين باسم Source port و destination port بطول 16 بت أي أن قيمة المنفذ تترواح ما بين 0 و 65535.
Source Port:
ماذا لو قمت بتشغيل أكثر من صفحة أنترنت في نفس الوقت أي أن قيمة destination port ستكون 80 و هي القيمة الخاصة ببرتوكول HTTP, ألم تتساءل كيف يقوم نظام التشغيل بالتعرف على البيانات الخاصة بكل برنامج , هنا يأتي دور Source port حيث يقوم النظام بإعطاء أي برنامج رقم منفذ محلي خاص بحاسبك (Source port) لكي يتعرف على البيانات التي تم طلبها بواسطة البرامج الموجودة.
destination port:
قيمة المنفذ الخاص بالحاسب الذي يتم الأتصال به أو الذي يقوم بالأتصال بحاسبك .
هذه صورة لمعطيات برنامج "netstat" الخاص بنظام لينكس لاحظ المنافذ التي كتبت بعد عنوان الأي بي كالتالي:
IP_Address:Ports_Number
ستلاحظ أن برنامج Firefox يجري اكثر من أتصال بواسطة المنفذ الخارجي 80 , لاحظ المنفذ المحلي (Source port).
هل هنالك طريقة لمعرفة المنافذ المستخدمة ؟
قم بقراءة هذا الموضوع عن الأداة netstat .
كيف أتعرف على نوع البرتوكول الخاص بكل منفذ ؟
هنالك قائمة خاص بكل المنافذ تصدرها منظمة IANA , و لكن من الممكن استخدم منفذ برتوكول HTTP لأي برتوكول من أختيارك(ليس من الأجباري أتباع هذه القائمة).
اترك تعليقك