تستخدم طبقة النقل ارقام خاصة تكتبها على البيانات قبل إرسالها لتستطيع تمييز بيانات كل برنامج على حدة , فتستطيع توصيل هذه البيانات لوجهتها و إرجاع الرد عليها للبرنامج الذي أرسلها , هذه الارقام تسمى منافذ Port.
مثال
إذا ارادت طبقة النقل إرسال بيانات باستخدام بروتوكول HTTP الى جهاز خادم HTTP لتطلب عرض صفحة معينة , سيتم تسجيل على هذه البيانات رقم منفذ ثابت يدل على تطبيق خادم HTTP و هو الرقم 80 ليكون رقم المنفذ الهدف (Destination).
و سيتم ايضا تسجيل رقم منفذ يحدد البرنامج الذي ارسل هذه البيانات من جهاز الزبون , يمكن اختيار هذا الرقم من نطاق ارقام معين.
المنافذ المعروفة Well-Known Ports
توجد ارقام منافذ خاصة تستخدمها خوادم بروتوكولات التطبيقات تسمى بـ Well-known ports, و الجدول التالي يوضح بعض اهم هذه المنافذ.
Application Layer Protocol |
Port |
FTP data |
20 |
FTP control |
21 |
HTTP |
80 |
TELNET |
23 |
DNS |
53 |
DHCP Server |
67 |
DHCP Client |
68 |
POP3 |
110 |
Multiplexing
في احيان كثيرة يصل لجهاز خادم HTTP اكثر من طلب لعرض صفحات الويب من اجهزة زبائن مختلفة و ليس من نفس الجهاز كما حدث في المثال السابق .
في هذه الحالة لكي يستطيع تطبيق خادم (HTTP Server) الرد على كل طلب و تمرير البيانات المطلوبة للجهاز الذي إرساله , لن يعتمد على رقم المنفذ فقط و انما سيستخدم ايضاً عنوان IP الجهاز الذي ارسل هذا الطلب.
في الواقع لكي تستطيع الاجهزة على الشبكة الإتصال ببعضها البعض و نقل البيانات فيما بينها تستخدم ثلاث معلومات عن كل جلسة اتصال و هي :-
-
عنوان IP.
-
اسم بروتوكول النقل المستخدم(TCP or UDP).
-
رقم المنفذPort Number.
و بهذه الطريقة ,في مثالنا هذا, سيستطيع جهاز الخادم (HTTP Server)التعامل مع أي طلبات تصله من أي جهاز زبون او عميل Client , و سيستطيع الرد عليها , فيتم ارسال الرد للجهاز المطلوب , و يتم توصيل البيانات لجلسة التطبيق الذي طلبها .
ان هذه المعلومات الثلاثة , عنوان IP و بروتوكول النقل و رقم المنفذ مجتمعة يطلق عليها اسم Socket.
و بهذا يمكننا القول انه لكي يستطيع التطبيق ارسال بيانات لتطبيق اخر عبر الشبكة سيستخدم socketمعينة, هذه الـ (Socket) تحتوي على ثلاث معلومات هامة تستخدم لتوصيل البيانات لجهاز محدد و لتطبيق محدد , و تكتب بشكل مشابه للتالي:-
(عنوان IP , بروتوكول النقل , رقم المنفذ)
(IP address, transport protocol , port number)
ان عملية استخدام (Socket) تمكننا من استخدام اكثر من برنامج اتصال و إنشاء اكثر من جلسة اتصال في نفس الوقت دون حدوث تداخل بين البيانات و الجلسات المفتوحة ,و تسمى هذه العملية بـ Multiplexing.