حزمة بروتوكولات الإنترنت

السؤال: كم عدد بروتكولات طبقة التطبيق ؟


حزمة بروتوكولات الإنترنت [1]
أو نموذج الإنترنت ، أو نموذج وزارة الدفاع  هو نموذج مُجرّد يربط عمل مجموعة من بروتوكولات الاتصالات المُستعملة في شبكة الإنترنت وفي شبكات حواسِب أُخرى. يُعرَف هذا النموذج باسم نموذج الإنترنت، ويُشار إليّه اختصاراً بالرمز (TCP/IP)، الذي يجّمع بروتوكول الإنترنت (IP)[2]
وبروتوكول التحكّم بالنقل (TCP)[3]
لأنّهما أول بروتوكولين أُضيفا للحزمة. ويُدعى النموذج في بعض الأحيان باسم نموذج وزارة الدفاع، لأنّ تمويل المشروع جاء عن طريق وكالة مشاريع البُحوث المتطوّرة الدفاعيّة (DARPA)، وهي إحدى وكالات وزارة الدفاع في الولايات المتحدة الأميركيّة.
بهدف نقل البيانات، تُؤمّن حزمة بروتوكولات الإنترنت اتصالاً بين طرفيّتين، وتحدد كيف يتمّ تغليف وعنونة ونقل وتوجيه واستقبال البيانات. يجري تنظيم الوظائف في أربع مستويات يُسمّى كل منها طبقة (Layer)، ويتمّ تجميع البروتوكولات في هذه الطبقات بحسب الوظيفة.[4]
إنّ الطبقات من الأدنى إلى الأعلى هي: طبقة الربط، وتتضمّن طرق الاتصال لنقل المُعطيات ضمن مجال بثٍّ عامٍ واحد، وطبقة الإنترنت، وتربط بين  مجالات البثّ العام المُختلفة، وتشمل القضايا المُتعلّقة بالتوجيه، وطبقة النقل وتعالِج الوظائِف المُرتبطة بقنوات الاتصال بين المُضيفين (Host-to-Host)، وطبقة التطبيق والتي تهتمُ بالعلاقة بين العمليات (Process-to-Process) بهدف نقل المُعطيات بين تطبيقات الطرفيّتين.
إنّ مجموعة مُهندسي الإنترنت (IETF) هي الجهة المُخوّلة بإصدار وحفظ وثائِق المعايير الخاصة ببروتوكولات الحزمة، أو التعليق عليها بهدف شرح وتوضيح آليّات عملِها. تمّ تطوير حزمة بروتوكولات الإنترنت قبل تطوير  نموذج الاتصال المعياريّ (OSI)[5]
وهي أكثرُ بساطةً مِنه.
نبذة تاريخيّة
استغرقت عملية تطوير حزمة بروتوكولات الإنترنت (TCP/IP) حوالي عقّدين من الزمن، حيث ابتدأت الدراسات الخاصّة بها منذُ مطلع السبعنيّات من القرن الماضي، وصُولاً إلى مطلع التسعينيّات حيث بات انتشار النموذج عامّاً على نطاقٍ واسعٍ.
الأبحاث الأولى
جاء تطوير حزمة بروتوكولات الإنترنت كنتيجة للأبحاث والدراسات التي أجرتها وكالة مشاريع البُحوث المتطوّرة الدفاعيّة (DARPA) في نهاية الستينيّات،
[6]
فبعد إطلاق  شبكة الأربانت الرائدة في عام 1969م، بدأت الوكالة في العمل على عددٍ من تقنيّات نقل البيانات. في عام 1972م، انضمّ بوب خان إلى مكتب تقتيّات مُعالجة المعلومات (IPTO)، حيث عمل على في شبكات نقل الرزم باستعمال الأقمار الصناعيّة، وباستعمال محطات الراديو الأرضيّة، وأدرك حينها الحاجة لشبكات مُعطيات عالميّة. في ربيع العام 1973م، انضمّ فينت سيرف، مُطوّر برنامج التحكّم بشبكة الأربانت (NCP)، إلى خان وابتدآ العمل على تطوير نموذج لبنيّة شبكات الاتصال وذلك بهدف تصميم الجيل التالي من بروتوكولات شبكة الأربانت.
مع حلول صيف العام 1973م، كان خان وسيرف قد نجحا في إعادة صياغة الشكل العام للنموذج، وبدلاً من أن تكون الوثوقيّة هي مسؤوليّة الشبكة، كما هو الحال في الأربانت، فقد تمّ تفويض المُضيفين بذلك، نتج عن ذلك تطّوير بروتوكول جديد هو بروتوكول التحكّم بالنقل (TCP)، ونشر الاثنان ورقة بحثيّة
[7]
بذلك  في العام 1974م.
في البداية، كان بروتوكول التحكّم بالنقل مسؤولاً عن نقل الرزم  وعن التوجيه. ولكن مع التطوير الحاصل، استحسن بعض الباحثين تنظيم البروتوكولات عن طرق فصلها بحسب وظائفها وتجميعها في مجموعة من المستويات أو الطبقات، من دُعاة هذه الفكرة جوناثان بوستل من معهد تقانة المعلومات في جامعة كاليفورنيا الجنوبيّة، الذي عمل كمُحرر لوثائق طلبات التعليق (RFC)، بوستل علّق على الموضوع: " إنّنا نقوم بإفشال تصميم شبكة الإنترنت من خلال إنتهاك مبدأ الطبقات ".
[8]
كان الهدف الأساسي من طرح فكرة التغليف هو خلق بيئة عمل مُكوّنة من مجموعة من الطبقات المُتتاليّة حيث يُمكن لكل طبقة علّيا منها أن تصل إلى ما تحتاجه فقط من معلومات الطبقات الدنّيا. زادت هذه الفكرة مُرونة التصميم كما أنّها جعلته قابلاً للتوسّع، ونتيجة لذلك فقد تمّ تقسيم برنامج التحكّم بالنقل إلى بروتوكولين مُتمايزين هما بروتوكول الإنترنت (IP) وبروتوكول التحكّم بالنقل. حلّت حزمة البروتوكولات الجديدة محلّ كل البروتوكولات المُستعملة سابقاً،
[9]
مثل شبكة الرزم الراديويّةّ (Packet Radio Network PRnet)
[10]
وشبكة الأقمار الصناعية (Satellite network SATnet).
[11]
[12]
تضمّن تصميم الشبكة إقراراً بأنّها يجب أن تُؤمّن فقط الوظائف المتعلّقة بنقل البيانات وتوجيهها بين العُقد بشكلٍ فعّال، وبأنّ جميع الآليات الأخرى يجب أن تتوضع في الطرفيّات. عُرف هذا بمبدأ العلاقة بين طرفيتين [13] واعتماداً على هذا المبدأ أصبح بالإمكان وصل أيّ شبكة مع شبكة الأربانت، بغضّ النظر عن الخواص المحليّة، وكان هذا حلّاً مثاليّاً لهذه المشكلة التي وصفها خان سابقاً.
تمّ الاعتماد على حاسبٍ خاص، سُمّي المُوجّه، وتمّ تزويده بعدد من بطاقات الشبكة ليتصل مع كل الشبكات، ويقوم بتوجيه الرزم فيما بينها.
[14]
في الأصل سُمّي هذا الحاسب بالبوّابة، ولكنّ لاحقاً جرى تغيير الاسم لتجنّب الإلتباس مع تجهيزات شبكة أخرى ذات استخدامات أمنيّة تُسمّى البوابات أيضاً.
تطوير المُحددات


في الفترة المُمتدّة بين عامي 1973 و1974م، طوّر سيرف مع مجموعة بحث في معهد ستانفورد للأبحاث (SRI) التفاصيلَ المُتعلّقة بهذه الفكرة، وكانت النتيجة هي أول مُحددات خاصّة ببروتوكول التحكّم بالنقل (TCP).[15]
تأثّر هذا العمل بشكلٍ ملحوظ بالأعمال السابقة التي أنجزت في زيروكس بارك والتي نتج عنها تطوير حزمة بروتوكولات بارك العامة ( PARC Universal Packet Protocol Suite).
بعد ذلك، تعاقدت وكالة مشاريع البُحوث المتطوّرة الدفاعيّة (DARPA) مع شركة بي بي إن للتكنولوجيا (BBN Technologies) وجامعة ستانفورد  و كلّية لندن الجامعيّة (UCL) بهدف تطوير إصدارات تشغيليّة على مِنصّات مُختلفة، وكانت النتيجة هي تطوير أربعة إصدارات مُتتاليّة من بروتوكول الإنترنت
(IP) وبروتوكول التحكّم بالنقل وصُولاً إلى الإصدار الرابع لكلٍ منهُماالذي ما يزال مُستخدماً حتى اليوم.
في عام 1975م، تمّ إجراء تجربة لإقامة اتصال بين شبكتين في جامعة ستانفورد  وكلّية لندن الجامعيّة باعتماد حزمة بروتوكولات الإنترنت. وفي نوفمبر عام 1977م، تمّ توصيل شبكات ثلاث مواقع في الولايات المتحدة الأميركيّة والمملكة المُتحدة والنرويج باعتماد حزمة بروتوكولات الإنترنت. جرى أيضاً تطوير عدّة نماذج من حزمة بروتوكولات الإنترنت في العديد من المراكز البحثيّة في الفترة المُمتدّة بين عامي 1978 و1983م. تمّ الانتقال من استعمال شبكة الأربانت إلى حزمة بروتوكولات الإنترنت رسمياً في 1 يناير 1983 حيث تمّ تفعيل هذه البروتوكولات بشكلٍ دائم.[16]
اعتماد النموذج
في مارس عام 1982م أعلنت وزارة الدفاع الأميركية اعتماد حزمة بروتوكولات الإنترنت كمعيار في كل شبكات الحواسب العسكريّة.
[17]
في عام 1985م، أقام مجلس الإنترنت الاستشاري (Internet Advisory Board) (الذي سُمي لاحقاً مجلس هندسة الإنترنت (Internet Architecture Board IAB)) ورشة عملٍ لمدّة ثلاثة أيّامٍ حوّل حزمة بروتوكولات الإنترنت (TCP/IP) لمُصنّعي الحواسيب، حضرها مُمثلون عن 250  مُصنّع، تمّ فيها تسويق الحزمة للاستخدام التجاري.
في عام 1985، عُقد أوّل مؤتمر حول التشغيل المُشترك للشبكات من خلال اعتماد أوسع لحزمة بروتوكولات الإنترنت. تمّ تمويل المؤتمر من قبل دان لينش (Dan Lynch)، وهو أحد أوائل الناشطين في شبكة الإنترنت، وشهد المُؤتمر مشاركة واسعة من شركات عملاقة مثل أي بي أم (IBM) وديجيتال إكوبمينت (DEC) وهو يُعقد سنوياً بانتظام منذ ذلك الوقت.
كانت أي بي أم وديجيتال إكوبمينت وإيه تي أند تي هي الشركات الأولى التي اعتمدت حزمة بروتوكولات الإنترنت. على الرغم من امتلاك كلٍ منها لحزمة بروتوكولات مُنافِسة خاصّةٍ بها. في أي بي أم، ومُنذ العام 1984م، تمّ البدء بالتطوير اعتماداً على حزمة بروتوكولات الإنترنت.لاحقاً بدأت شركات أصغر تُقدّم إضافة توسيعيّة لدعم حزمة البروتوكولات لنظام التشغيل دوس (DOS) وأنظمة مايكروسوفت ويندوز مثل شركة أف تي بي للبرمجيّات (FTP Software) ومجموعة ولونغونغ (The Wollongong Group). أمّا أوّل إضافة توسيعيّة لدعم حزمة بروتوكولات الإنترنت لنظام تشغيل أي بي أم المُسمّى (VM/CMS) فقد جاءت من جامعة ويسكونسن.
[18]
بعض الإضافات التوسيعيّة تمّت كتابتها من قبل بعض المُبرمجين بدون أيّ مساعدة، مثلاً، قام جاي إلنسكي (Jay Elinsky) وأوليغ فيشنيبولسكي (Oleg Vishnepolsky) من فريق الأبحاث في أي بي أم بكتابة الإضافة التوسيعيّة لدعم حزمة بروتوكولات الإنترنت لنظامي تشغيل (VM/CMS) و(OS/2).
في يونيو 1989م، حصلت عملية انتشار حزمة بروتوكولات الإنترنت على دفعةٍ جديدةٍ، فقد وافقت شركة إيه تي أند تي (AT&T) على وضع  شيفرة مصدريّة لحزمة البروتوكولات طُوّرت لأجل أنظمة يونكس (UNIX) تحت ترخيصٍ مفتوح المصدر. وقد قام عدد من المُصنّعين، من ضمنهم أي بي أم بتضمين هذه الشيفرة في الإضافات التوسيعيّة الخاصّة بهم. قامت العديد من الشركات ببيع الإضافات التوسيعيّة لدعم حزمة بروتوكولات الإنترنت  في أنظمة ويندوز حتى قيام مايكروسوفت بإصدار ويندوز 95 الذي تضمّن دعماً أساسيّاً لحزمة بروتوكولات الإنترنت. على الرغم من أنّ هذه الخطوة جاءت مُتأخّرة قيّاساً بتطوّر شبكة الإنترنت، ولكنّها كانت بمثابة الإعلان عن السيطرة المُطلقة لحزمة بروتوكولات الإنترنت في مقابل تراجُع النماذج الأُخرى وأهمّها: نموذج بُنية شبكة النظم (Systems Network Architecture SNA) الخاصّ بشركة أي بي أم وحزمة بروتوكولات ديسي نت (DECnet) الخاصّة بشركة ديجيتال إكوبمينت ونموذج الاتصال المعياريّ (OSI).
المبادئ البنيويّة الأساسيّة للنموذج
أكّدت الوثيقة () [1] المُعنونّة: " مُتطلبات مُضيفي الإنترنت، طبقات الإتصال " (Requirements for Internet Hosts, Communication Layers) اعتماد كدسة من الطبقات كمبدأ رئيسيّ  في حزمة بروتوكولات الإنترنت (TCP/IP).
تطوّر  مبدأ العلاقة بين طرفيتين مع مُرور الوقت، فقد وَضَع المبدأ الأصليّ كافّة أشكال الذكاء وإدارة الشبكة أو القدرة على اكتشاف حالة الشبكة وحاجتها للصيانة في الطرفيّات، وافترض بأنّ شبكة الإنترنت التي تربط بين هذه الطرفيّات لا تحتفظ بأيّ معلومات عن حالتها ويكون جُلّ عملها مُركّزاً على السُرعة والبساطة. ولكنّ في العالم الواقعيّ هُناك مُتطلبات من جدران الحماية أو خدمات ترجمة عناوين الشبكة (NAT)
[19]
أو من غيرها أدّت إلى إحداث تغييرات في هذا المبدأ.
[20]
ينصّ مبدأ المتانة (Robustness Principle) أو قانون بُوستال (Postal's Law) على ما يلي: "بشكلٍ عام، يجب على التطبيق أن يكون مُتخفّظاً بسلوكه عند الإرسال، ومُتحرراً بسلوكه عند الاستقبال. ولهذّا، يجب توخّي الحذر عند الإرسال وإرسال رزم مُعدّة بشكلٍ جيّد، ولكنّ يجب قُبُول أيّ رزمة يُمكن فهمُها (مثلاً، حالة وجود أخطاء تقنيّة حيث المعنى لا يزال واضِحاً)".[2] وفي موقعٍ آخر: "قد تحتوي البرمجيّات في بقيّة المُضيفين على أوجه قصور، لذلك ليس من الحكمة استخدام ميّزات البروتوكول القانونيّة الغامضة".[1]  قد صاغ بُوستال هذا المبدأ بشكلٍ مُختصر بالشكل: "كُنّ مُحافظاً فيما تقوم به، ومُتحرراً فيما تقبلُه من الآخرين".
طبقات النموذج


يُستعمل التغليف لوصف آليّة العمل المُشتركة للبروتوكولات مع بعضها البعض، وغالباً ما يرتبط هذا المفهوم بفكرة تقسيم حزمة البروتوكولات إلى عددٍ من الطبقات بحسب الوظيفة. بشكلٍ عام، يقوم تطبيق ما، يتواجد في أعلى مستوى من النموذج، باستعمال مجموعة من البروتوكولات لإرسال مُعطياته عبر الشبكة مروراً بالطبقات الأدنى، حيث تقوم كل منها بتغليف المُعطيات بمّا يتناسب مع البروتوكول المُستعمل في تلك الطبقة.
إنّ طبقات النمُوذج المُتموضعة بالقرب من القمة تكون ذات وظائف ترتبط بالتطبيقات، أمّا تلك القريبة من أسفل النمُوذج فتهتم بكيفية إرسال المُعطيات عبر وسط النقل في الشبكة. إنّ استعراض عمل الطبقات عند تقديم خدمة ما هو طريقة مُجرّدة لعزل بروتوكولات الطبقات العُلّيا عن التفاصيل المُتعلقة بكيفية إرسال كل بت عبر الشبكة. وفي نفس الوقت، يجري عزل بروتوكولات الطيقات الدُنّيا عن تفاصيل التطبيقات المُستعمَلة وبروتوكولاتها.
لا تطرح المعايير والوثائق الخاصّة بالحزمة بُنية مُحددة بشكلٍ صارمٍ للنموذج، وهذا ما يجعلُه مُلائماً لشرح آليّة عمل البروتوكولات في العالم الواقعيّ، على عكس نموذج الاتصال المعياريّ (OSI)، الذي يُعرّف الطبقات ضمن قالبٍ جامد. على سبيل المثال، فإنّ الوثيقة ()، المُعنونة: "مبادئ بنيويّة لشبكة الإنترنت" (Architectural Principles of the Internet)،
[21]
لا تحتوي ذكراً مُباشراً لوجود كدسة من الطبقات، بل تشير إلى وجود طبقة الإنترنت، ومجموعة من الطبقات العُليّا. إنّ ضعف التركيز على تعزيز مفهوم كدسة الطبقات هو أحد الاختلافات الأساسية بين نموذج الإنترنت (TCP/IP) وبين نموذج الاتصال المعياريّ.
أمّا الوثيقة ()، المُعنونة: " مُتطلبات مُضيفي الإنترنت، طبقات الاتصال " فهي تذكر وجود نموذج مُكوّن من أربع طبقاتٍ، حيث تُميّز كل طبقة باسم يُعرّفُها لا برقم بالشكل التالي:



طبقة التطبيق، وهي المجال الذي تقوم فيه التطبيقات بتوليد مُعطيات المُستخدم لإرسالها إلى تطبيقات أُخرى، ضمن نفس المُضيف أو عبر الشبكة نحو مُضيفٍ آخر. تقوم التطبيقات، أو العمليات (Process)، الناشطة في هذه الطبقة بالاستفادة من الآليات التي تُؤمنها الطبقات الدُنيّا، وبشكلٍ خاصّ طبقة النقل، التي تعمل على تأمين قنوات اتصال لكل التطبيقات أو العمليات الناشطة في طبقة التطبيق، بحسب الخدمة التي تحتاجُها، حيث تُمنح كلُ خدمةٍ رقمَ منفذٍ مُميّز. تُحدد بُنية التطبيق خواص العلاقة مع الطرف الآخر، بعض التطبيقات تعمل بنموذج طلب الخدمة (Client/Service)، أخرى تعمل بنموذج القرائِن (P2P). تنشط في هذه الطبقة مجموعة من البروتوكولات التي تُسمّى بروتوكولات المُستويّات العُليّا (Higher Level Protocols)، مثل بروتوكول نقل النص التشعبي (HTTP) [22] وبروتوكول النقل الآمن (SSH) [23] وبروتوكول نقل الملفّات (FTP).[24]
طبقة النقل، وتعمل على تأمين الاتصال ضمن نفس المُضيف أو بين مُضيفين (Host-to-Host)، سواءً كانا بنفس الشبكة أو مُتباعدين في شبكاتٍ مُختلفةٍ، وذلك من خلال قناة اتصال تربط العمليات أو التطبيقات بين طرفي الاتصال. إنّ بروتوكول رزم المُستخدم (UDP) [25] هو أبسط بروتوكول في هذه الطبقة، وهو يُؤمّن خدمةً غير مَوثُوقة لنقل الرزم، أمّا بروتوكول التحكّم بالنقل (TCP)، فيُؤمّن نقلاً مَوثُوقاً للرزم، من خلال عدد من الآليّات التي تشمل التحكّم بالتدفّق  وتأسيس الاتصال (Connection Establishment).
طبقة الإنترنت، وتهتمّ بشكلٍ أساسيّ بنقل الرزم بين أطراف الشبكة، وتشمل تعريفاً لفضاءِ عناوين للمُضيفين وآليّات لتوجيه الرزم. إنّ بروتوكول الإنترنت (IP) هو البروتوكول الأساسيّ العامِل في هذه الطبقة. تمتد هذه الطبقة في المجال الذي تنتقل فيه الرزم بين المُوجّهات من مصدرها إلى وجهتها.
طبقة الربط، وتحدد طرق الاتصال مع الشبكة المحلّيّة، حيّث يتواصل المُضيفون مع بعضهم البعض بشكلٍ مُباشر بدون وجود مُوجّهات وسيطيّة. تتضمّن هذه الطبقة البروتوكولات المُستعملة لوصف طوبولوجيا الشبكة المحلّيّة وخواص المنافذ الفيزيائيّة المٌستعملة لربط المُضيف مع الشبكة.
كان نموذج الإنترنت ومفهوم الطبقات  قيّد الاستخدام قبل تطوير نموذج الاتصال المعياريّ (OSI). ومُنذ ذلك الحين، فإنّ المُقارنة بين النموذجين هي موضُوع دائم في الكتب وقاعات المُحاضرات، وغالباً ما تسبب ارتباكاً لأنّ لكلّ نموذجٍ افتراضاتُه الخاصّة وأهدافه التي طُوّر من أجلها، ويشمل ذلك تفاوتاً في أهميّة الالتزام الصارم بمفهوم الطبقات بين النموذجين، ولا يُعدّ نموذج الاتصال المعياريّ إضافة توسيعيّة لاحقة لنموذج الإنترنت.
إنّ نموذج الإنترنت هو طريقة لشرح آليّات عمل البروتوكولات مع بعضها البعض وليس نموذجاً لتطوير البروتوكولات، ولذلك فهو يفتقد للبنية الشكليّة المثاليّة الموجُودة في نموذج الاتصال المعياريّ. لا تعتمد مجموعة مهندسي شبكة الإنترنت (IETF) على نموذجٍ رسميّ ولا ترى في ذلك قيداً يُشترط الالتزام به. ويُعبّر ديفيد كلارك عن ذلك بقوله: "نحن نرفُض: الملوك والرؤساء والتصويت. نحن نُؤمِن: بتوافق الآراء وبالشفيرة المصدريّة السليمة".
فيما يلي، وصفٌ توضيحيّ لكل طبقةٍ من حزمة بروتكوكولات الإنترنت بدءاً من المستوى الأدنى:
طبقة الربط


إنّ إطار عمل طبقة الربط هو الشبكة المحليّة التي يتصل معها المُضيف. وهي الطبقة الدُنيا في نموذج بالإنترنت (TCP/IP)، على اعتبار أن النموذج مُستقل عن عتاد الشبكة (Network Hardware). ونتيجة لذلك، فإن هذا النموذج قابل للتشغيل على أيّ منصّة، بِمعزل عن تكنولوجيا العتاد المُستعملة.
تقوم هذه الطبقة بنقل الرزم بين طبقتي إنترنت في مُضيفين مُختلفين مُتصّلين مع نفس الشبكة المحليّة. يتمّ التحكّم بعملية إرسال واستقبال الرزم عبر وسط ما من خلال برنامج التعريف في بطاقة الشبكة وأيضاً عبر برنامجها الدّائم أو شريحة التعريف فيها، ويشمل ذلك إضافة الترويسة وإرسال الإطار عبر وسط النقل الفيزيائيّ. أيّ تفاصيل أعمق من هذا المُستوى، يُفترض وجُودُها ولكنّها غير مشمُولة في النموذج.
في هذه الطبقة، يُمكن أن يتمّ فرز الرزمة لتُرسل عبر شبكةٍ افتراضيّةٍ خاصّة (VPN)
[26]
أو لتُسلّم إلى أحد بروتوكولات الأنفاق لإعدادها للمرور عبر نفقٍ ما. وفي هذه الحالة ستتمّ عملية التغليف مُجدداً وكأنّ الرزمةَ كاملةٌ هي بيانات في طبقة التطبيق. يشتمل نموذج الإنترنت أيضاً على بروتوكولات مُطابقة العناوين، التي تعمل على المُطابقة بين عناوين طبقة الإنترنت وعناوين طبقة الربط، في حال وجُودها. على الرغم من أنّ وظيفة هذا النوع من البروتوكولات لا تُؤهّلها لتُصنّف أنّها عاملة في هذه الطبقة، لكن جزءاً من عملها على الأقلّ يحصُل فيها.
إنّ طبقة الربط في نموذج الإنترنت تتوافق مع الطبقة المادية وطبقة ربط البيانات، وهما الطبقتين الأولى والثانية في نموذج الاتصال المعياريّ (OSI).
طبقة الإنترنت

هي الطبقة المسؤُولة عن انتقال الرزمةَ عبر عدّة شبكاتٍ من مصدرها إلى وجهتها. وبشكلٍ أساسيّ، فإنّها تهتمُّ بقضيتين أساسيتيّن هُما عنونة المُضيفين وتوجيه الرزم.
إنّ بروتوكول الإنترنت (IP) هو البروتوكول العامِل على هذه الطبقة، وهناك إصداران لهُ قيّد التشغيل اليوم، هما الإصدار الرابع (IPv4) والإصدار السادس (IPv6)، [27] ويملك البروتوكول آليّة خاصّة تتيح له التعرّف على البروتوكول المُستعمل في المستوى التالي، فجميع رزم بروتوكول الإنترنت تحتوي على حقل خاص يضمّ رقماً يميّز بروتوكول المستوى التالي،ويملك كل بروتوكول يعمل فوق بروتوكول الإنترنت مُعرّفاً خاصّاً به يُمنح من قبل الهيئة المانحة لأرقام وعناوين شبكة الإنترنت (IANA).
[28]
يتمّ استخدم بروتوكول الإنترنت من قبل بروتوكولات أخرى تعمل في المستوى التالي، وقد تكون هذه البروتوكولات عاملة في طبقة النقل مثل بروتوكول التحكّم بالنقل (TCP) أو بروتوكول رزم المُستخدم (UDP)، أو بروتوكولات لا تناسب وظيفتها طبقة النقل، ولكنها تعمل بأيّ حال في المستوى التالي لبروتوكول الإنترنت، مثل بروتوكول رسائل التحكّم في شبكة الإنترنت (ICMP)
[29]
أو بروتوكول إدارة المجموعات في شبكة الإنترنت (IGMP).
[30]
تُؤمّن طبقة الإنترنت نقل بيانات غيرَ موثُوقٍ بين عُقدتين مُوجودتين في شبكتين مُختلفيتن تُسمّيان المَصدر والوجّهة، والاختلاف بين الشبكات يكون بشكلٍ أساسيّ اختلافاً في العنونة، وتُسمّى هذه العملية بالتوجيه. يحصُل التوجيه عن طريق إيّجاد أفضل مسارٍ مُتاح يربط مصدر كل رزمة مع وجهتها، ثم يجري نقل الرزمة عبر هذا المسار من خلال عددٍ من النقلات بين عُقد الشبكة، التي تكون مُوجّهاتٍ بشكلٍ رئيسي، وتسمى هذه النقلات عادةً بالقفزات.
إنّ طبقة الإنترنت في نموذج الإنترنت (TCP/IP) تتوافق مع طبقة الشبكة، وهي الطبقة الثالثة في نموذج الاتصال المعياريّ (OSI).
طبقة النقل

تُنشئ طبقة النقل قنوات اتصال لنقل المُعطيات بين المُضيفين، وذلك بمعزل عن البُنية الحقيقيّة للشبكة وتوزُّعها. ويتمّ استخدام هذه القنوات من قبل طبقة التطبيق.  تتضمن مُسؤوليّة هذه الطبقة التحكّم بالأخطاء (Error Control) وتقطيع البيانات (Segmentation) والتحكّم بالتدفّق والتحكّم بالازدحام، بالإضافة إلى عنونّة الخدمات باستعمال أرقام المنافذ. يمكن تصنيف قنوات الاتصال التي يتمّ إنشاؤها في هذه الطبقة إلى نوعين: قنواتٍ تتطلب تهيئة الاتصال، ويقوم بروتوكول التحكم بالنقل (TCP) بإنشاء هذا النوع من القنوات، و  قنواتٍ لا تتطب تهيئة الاتصال، مثل تلك التي يقوم بروتوكول رزم المستخدم (UDP) بإنشائها.
تُعرّف هذه الطبقة مفهُوماً جديداً هو المنفذ، والهدف الأساسيّ من استعمالِه هو إيجادُ طريقةٍ لعنونّة الخدمات التي يتمّ تقديمها في طبقة التطبيق، يجري منح كل قناةٍ تمّ إنشاؤُها رقمي منفذ خاصّين بها، الأول  رقم منفذ المصدر والآخر للوجهة. إنّ هناك معياراً عامّاً  لأرقام منافذ الخدمات الأساسيّة، ويتيح ذلك للمُستخدمين طلب الحصول على هذه الخدمات  بشكل ٍ بسيط بالاعتماد نموذج طلب الخدمة. إنّ جمعَ رقم المنفذ مع عنوان بروتكول الإنترنت (IP) الخاصّ بالمُضيف، ينتج مقبساً وهو المعرّف المُميز للقناة التي تمّ إنشاؤها.
تهتمُ هذه الطبقة بمطلب الوثوقيّة في الشبكة. يُوصف بروتوكول الإنترنتبأنه غيرُ موثوقٍ، وهو يُؤمّن أفضل ما يمكن لتوصيل الرزم، بدون ضمان وصولُها، وهو إمّا أن يعتمد على بروتوكول التحكّم بالنقل العامل في هذه الطبقة، لتأمين مطلب الوثوقيّة، أو أن يعملَ في المستوى التالي لبروتوكولٍ مَوثُوقٍ مثل بروتوكول التحكّم عاليّ المُستوى في ربط البيانات  (HDLC).
[31]
يُؤمّن بروتوكول التحكّم بالنقل قضايّا الوثوقيّة مثل توفيره لآليّة لترتيب المُعطيات الواردة بغير تسلسل إرسالها، كما أنّه يضمن مُعدّلَ خطأ أصغريّ بسبب إمكانيّة تصحيح الأخطاء في حال حصُولِها، ويتخلّص من الرزم المُكررة، ويمنع تشكّل الازدحام في الشبكة.
يعمل بروتوكول التحكّم بتدفق النقل (Streaming Control Transmission Protocol SCTP) [32] على تقديم خدمة نقلٍ مَوّثوقٍ أيضاً في هذه الطبقة، وهو يعتمد على قنواتٍ تتطلب تهيئة الاتصال، كما أنّه يدّعم تدفّقاً للرسائل، على عكس بروتوكول التحكّم بالنقل  الذي يدّعم تدفّقاً للبايتات، بالإضافة إلى إمكانيّة الإرسال المُتعدد أكثر من تدفّقٍ معاً عبر نفسِ القناة. يدّعم بروتوكول التحكّم بتدفق النقل (SCTP) مفهوم الاستضافة المُتعددة (Multihoming)، وبالتالي يُمكن أن يعمل على طرفيّة تملك أكثر من  عنوان بروتوكول الإنترنت (IP) وأكثر من بطاقة شبكة، بحيث لا يتوقّف الاتصال إذا فشلت أحدُ البطاقات.
إنّ بروتوكول رزم المستخدم (UDP) هو أحد البروتوكولات العاملة في هذه الطبقة، وهو بروتوكول غير موّثوق ويُؤمّن خدمة لنقل المُعطيات بأفضلِ مجهُودٍ للتوّصيل (Best Effort Delivery)، على الرغم من احتوائِه على آليّةٍ لفحص التحقق الجمعيّ، لكنّها تعتمد خوارزميّة بسيطة وغير كافيّة. يُعدّ بروتوكول رزم المستخدم (UDP) خيّاراً مثاليّاً للتطبيقات التي تتضمّن تدفّقاً للوسائِط المُتعددة (Multimedia Streaming) كالصوت والصورة أو تطبيقات نقل الصوت باستعمال بوتوكول الإنترنت (VoIP) وغيرُها من التطبيقات العاملة في الزمن الحقيقي، حيث يكون وصول المُعطيات إلى هدفِها ذو أولويّة أعلى من وثوقيّة الشبكة.
يعمل في هذه الطبقة أيضاً، بروتوكول النقل في الزمن الحقيقيّ (RTP)،[33]
وهو مُصمم من أجل نقل المُعطيات في الزمن الحقيقي مثل تدفّقات الصوت أو الفيديو.
إنّ طبقة النقل، أو طبقة الوصل بين المُضيفين، في نموذج الإنترنت (TCP/IP) تتوافق مع الطبقة الرابعة في نموذج الاتصال المعياريّ (OSI)، والتي تسمّى أيضاً طبقة النقل.
طبقة التطبيق

تتضمّن طبقة التطبيق البروتوكولات المُستخدمة من قبل التطبيقات وذلك إمّا لتقديم الخدمات للمُستخدمين أو لتبادل المُعطيات بين التطبيقات عبر قنوات الاتصال التي تمّ إنشاؤها ضمن الشبكة باستخدام بروتوكولات الطبقات الأدنى، وقد يتضمّن عمل البروتوكولات في هذه الطبقة خدمات أساسيّة مثل تراسل الملفات أو تهيئة المُضيفين. من الأمثلة
[34]
عن بروتوكولات طبقة التطبيق بروتوكول نقل النص التشعّبي (HTTP) و بروتوكول نقل البريد البسيط (SMTP) [35] بروتوكول نقل الملفات (FTP) وبروتوكول التهيئة الآليّة للمُضيفين (DHCP).[36] في هذه الطبقة، يتمّ توليد البيانات التي يجبُ أن تُرسل عبر الشبكة، ثم يجري تغليفُها بترويسة أحد بروتوكولات طبقة التطبيق وتمريرُها إلى طبقة النقل.
لا يوجد في نموذج الإنترنت أي مُحددات خاصّة بتنسيق أو عرض البيانات، كما لا يوجد أي طبقات إضافيّة تفصل بين طبقتي التطبيق والنقل، وتترك المهمّات المُقابلة لطبقتي العرض والجلسة في النموذج المعياريّ (OSI) إلى المكاتب البرمجيّة ولواجهة برمجة التطبيقات (API).
تُعامل بروتوكولات طبقة التطبيق بروتوكولات الطبقات الدُنيّا وكأنّها صندوقٌ أسود، أيّ أنّها لا تهتمّ بكيفيّة عملها، بل بنتيجته وهي وجود قنوات اتصالٍ صالحةٌ لتبادل المُعطيات بين المُضيفين، وذلك على الرغم من أنّ التطبيقات عادة تكون مُدركةً لبعض المفاهيم المتعلّقة بالشبكة مثل عنوان بروتوكول الإنترنت (IP) ورقم المنفذ.
غالباً ما ترتبط بروتوكولات طبقة التطبيق بتطبيقاتٍ مُحددة عاملةٍ وفق نموذج طلب الخدمة (Client/Server Model)، أو خدمات معرُوفة تمّ منحُها أرقامَ منافذَ مُميّزة من قبل الهيّئة المانحة لأرقام وعناوين شبكة الإنترنت (IANA)،[37] على سبيل المثال، فإنّ مُخدّم بروتوكول نقل النص التشعّبي يستخدم دائماً رقم المنفذ (80)، أمّا  بروتوكول تل نت (Telnet) فيستخدم رقم المنفذ (23). أمّا العُملاء، فعادةً ما يحصلون على أرقام منافذ مُؤقّتة وعشوائيّة، تُسمّى المنافذ العابرة (Ephemeral Port)، ويتمّ تهيئة التطبيقات لتوليد هذه الأرقام من ضمن مجال مُحدد.
لا تهتمّ طبقة النقل وما يليّها ببروتوكولات طبقة التطبيق، ولا تفحص الموجّهات أو المبدلات المُعطيات المارّة عبّرها. ولكن  بعض جدران الحماية أو البروتوكولات مثل بروتوكول حجز الموارد (RSVP)
[38]
أو الخدمات مثل خدمة ترجمة عناوين الشبكة (NAT) معنيّة بالحمل في هذه الطبقة.
يُميّز نموذج الإنترنت بين بروتوكولات المُستخدم وبروتوكولات دعم الشبكة، [1] فالأولى تُستخدم من من أجل خدمة تطبيقات المُستخدم، مثل بروتوكول نقل الملفات، أما الثانيّة فتؤمّن الخدمات الأساسيّة المُرتبطة بالشبكة، مثل نظام أسماء النطاقات  (DNS).[39]
غالباً ما تُقارن طبقة التطبيق في نموذج الإنترنت مع الطبقة الخامسة والسادسة والسابعة في نموذج الاتصال المعياريّ، وهي على الترتيب طبقات الجلسة والعرض والتطبيق.
أسماء الطبقات وعددها في أدبيات الشبكات
يُظهر الجدول التالي نماذج متعددة لشبكات الاتصال. يتراوح عدد الطبقات فيها بين ثلاثة وسبعة.

مقارنة بين نموذج الإنترنت (TCP/IP) ونموذج الاتصال المعياريّ (OSI)

إنّ الطبقات الثلاثة العُليّا نموذج الاتصال المعياريّ (OSI)، أي طبقات التطبيق والعرض والجلّسة، غير مُتمايّزة في نموذج الإنترنت  (TCP/IP) الذي يحتوي على طبقة وحيدة فقط فوق طبقة النقل. لا يوجد مُتطلّبات تصميميّة في نموذج الإنترنت تفرض وجود بنية مُتجانسة مُحددة فوق طبقة النقل. بعض التطبيقات التي تعتمد النموذج المعياريّ، مثل تطبيق أكس 400 (X.400)، تقوم بدمج الطبقات الثلاثة السابقة.
يبدو تأثير دمج طبقتي العرض والجلّسة في طبقة واحدة هي التطبيق ذو أثرٍ ضئيل في بروتوكولات مثل بروتوكول نقل النص التشعبي (HTTP) وبروتوكول إرسال البريد البسيط (SMTP)، لكن هذا الأثر يُصبح جليّاً عند استعمال بروتوكولات أخرى مثل بروتوكول الاتصال الآمن (SSH) وبروتوكول بدء الجلسة (SIP).
[48]
في نموذج الإنترنت هناك إضافة توسيعيّة لتغطية وظائف طبقة العرض في النموذج المعياريّ، تُسمى هذه الإضافة توسيعيّة بمُلحق البريد الإلكتروني مُتعدد الأغراض (Multipurpose Internet Mail Extensions MIME).
لا تلتزم مجموعة مهندسي شبكة الإنترنت (IETF) بشكلٍ صارم بكدسة مُحددة من الطبقات عند تطوير البروتوكولات، ولذلك فإنّ بعض البروتكولات لا تتوافق من حيث الوظيفة مع طبقة مُعيّنة بحدّ ذاتِها، من الأمثلة على ذلك بعض البروتوكولات التي تسمح بالوصول المُتعدد (Multi-access) مثل الإيثرنت
[49]
وهي تملك نظامَ عنونةٍ خاصاً بها، وإذا استُعمِلَ هذا البروتوكول مع بروتوكول الإنترنت (IP)، الذي يملك نظام عنونته الخاص أيضاً، لابدّ من وجود بروتوكولٍ لمُطابقة العناوين بين النظامين، مثل بروتوكول حل العناوين (ARP)،
[50]
وهذا البروتكول يجب أن يوجد وظيفيّاً تحت طبقة الإنترنت ولكن فوق طبقة الربط. شملت الإضافة التوسيعيّة للنموذج المعياريّ حالات كهذه ضمن التنظيم الداخلي لطبقة الشبكة (Internal Organization of The Network Layer IONL).
[51]
تشمل الوثيقة () المُعنونّة: "بعض المبادئ التوجيهيّة لبُنيّة وفلسفة شبكة الإنترنت " (Some Internet Architectural Guidelines and Philosophy)
[52]
تصنيفاً للحالات التي يكون الاستعمال الصارم لكدسة الطبقات فيها ضارّاً بعملية التطوير.
بشكلٍ مُماثل، فإنّ بروتوكولات مثل بروتوكول رسائل التحكّم في شبكة الإنترنت (ICMP) وبروتوكول إدارة المجموعات في شبكة الإنترنت (IGMP)، تعمل فوق بروتوكول الإنترنت ولكن تحت  طبقة النقل. شملت الإضافة التوسيعيّة للنموذج المعياريّ حالات كهذه ضمن الإطار الإداري لنموذج الاتصال المعياريّ (OSI Reference model Management Framework OSIRM MF)
[53]
من خلال إضافة طبقة فرعيّة هي طبقة الإدارة (Management Layer)، بالمُقابل أشارت الوثيقة ()، المُعنونّة: "بروتوكول رسائل التحكّم في شبكة الإنترنت" (Internet Control Message Protocol)، [29] إلى أنّ بروتوكول رسائل التحكّم في شبكة الإنترنت (ICMP) هو جزء مُدمج من بروتوكول الإنترنت.
في نموذج الإنترنت، لا يوجد إجماع حول ما الذي يقابل الطبقة الفيزيائيّة الموجودة في نموذج الاتصال المعياريّ، والآراء تنقسم بين فريقين أحدهُما يقول أنّ نموذج الإنترنت لا يغطّي هذه القضايّا،[54] والآخر يفترض وجود طبقة أخرى تحت طبقة الربط هي طبقةُ العتاد (Hardware Layer) أو طبقة النفاذ إلى الشبكة (Network Access Layer)[55] وقد اعتُمد هذا النموذج المُكوّن من خمس طبقات من قبل مُنظّماتٍ بارزةٍ مثل معهد مُهندسي الكهرباء والإلكترونيات (IEEE) والاتحاد الدُوليّ للاتصالات (ITU).
تدعم بروتوكولات نموذج الإنترنت مفهوم التغليف المُتكرر (Recursive Encapsulation)،[56]
وأوضح الأمثلة على ذلك هو  بروتوكول التوجيه والتغليف العام (GRE).
[57]
الاستعمالات التطبيقيّة
لا تفرض حزمة بروتوكولات الإنترنت (TCP/IP) أيّ متطلّبات خاصّة للعتاد أو أيّ متطلّبات برمجية من أجل استعمالها، فقط يجب أن يمتلك العتاد و البرمجيّات قدرة على تبادل المُعطيات عبر الشبكة، ونتيجةً لذلك، فإنّ هذه الحزمة مدعومة بشكلٍ أساسيّ في جميع المنصّات اليوم. إنّ استعمال الحزمة بالحدّ الأدنى يتطلب استخدام البروتوكولات التالية: بروتوكول الإنترنت (IP) وبروتوكول حل العناوين (ARP) وبروتوكول رسائل التحكم في شبكة الإنترنت (ICMP) وبروتوكول التحكّم بالنقل (TCP) وبروتوكول رزم المُستخدم (UDP) وبروتوكول إدارة المجموعات في شبكة الإنترنت (IGMP).
إنّ استعمال الإصدار السادس من بروتوكول الإنترنت (IPv6) يتطلّب إصداراً خاصّةً من بروتوكول رسائل التحكّم، هو الإصدار السادس (ICMPv6)،
[58] وغالباً ما يكون هذا الاستعمال مُرفقاً بحزمة بروتوكول الإنترنت الأمنيّة (IPSec).[59]
بشكلٍ عام، يهتمّ مُبرمجو التطبيقات بطبقتي التطبيق والنقل، أمّا الخدمات التي تقدمُّها الطبقات الدُنيّا فهي مدعُومة بشكل افتراضيّ من نظام التشغيل. يُمكن للمبرمجين استعمال حزمة بروتوكولات الإنترنت إمّا عن طريق المقابِس أو عن طريق واجهة برمجة التطبيقات (API). هناك تطبيقاتٌ خاصةٌ للنموذج مثل نموذج الإنترنت البسيط (Lightweight TCP/IP)، وهو كدسة بروتوكولات بشيفرة مصدريّة مفتُوحة مخصصة للأنظمة المُدمجة.
تُعالج البرامج الثابتة في المُتحكّمات الصغريّة في بطاقة الشبكة (NIC) القضايا المُتعلّقة بوسط النقل، وهي بحاجة للبرامج التعريفيّة في نظام التشغيل لتنجح في ذلك. في المستوى التاليّ تسيطر العناصر الإلكترونيّة، وهي غير قابلة للبرمجة، وغالباً ما تُستخدم دارات مُتكاملة مُحددة التطبيقات (Application-Specific integrated circuit ASIC) لهذا الغرض.
انظر أيضاً
طبقات نموذج الإنترنت (TCP/IP): طبقة النقل، طبقة الربط
نموذج الاتصال المعياري (OSI)
المراجع

مصادر

وصلات خارجية

، مجموعة من المقالات عن خان وسيرف ونموذج الإنترنت (TCP/IP).
.
، نظرة شاملة إلى البروتوكولات والعمليات المُتضمّنة.
.
.
.
 مقدمة لإدارة الشبكات المحليّة العاملة وفق نموذج الإنترنت (TCP/IP)



تصنيف:بروتوكولات إنترنت
تصنيف:بنية الشبكة
تصنيف:تاريخ الإنترنت