بروتوكول إنترنت

من ويكيبيديا، الموسوعة الحرة
(بالتحويل من بروتوكول الإنترنت)
اذهب إلى: تصفح، ‏ ابحث
بروتوكولات نموذج الإنترنت
طبقة التطبيق
طبقة النقل
مزيد ..
طبقة الإنترنت
مزيد ..
طبقة الربط
مزيد ..

بروتوكول الإنترنت (بالإنجليزية: Internet Protocol، اختصارًا: IP) هو بروتوكول الاتصال الأساسي في حزمة بروتوكولات الإنترنت[1] ويُشكّل الأساس الذي تعتمد عليه عمليّة توجيه الرزم (Routing) ضمن الشبكة، ويسمح ذلك بالاتصال بين الشبكات المُختلفة، وهذا هو جوهر شبكة الإنترنت.

يُعرِّف البروتوكول فضاءً من العناوين، يتمّ استعمالُها من قبل الطرفيّات والمُوجّهات، حيث يحتوي كل منها على بطاقة شبكة (Network Interface Card NIC) واحدة على الأقل، تحصل هذه البطاقة على عناوين من فضاء بروتوكول الإنترنت. إنّ عمليّة امتلاك عنوان من فضاء العناوين تُسمّى استضافة العنوان (Hosting)، وتُسمّى بطاقة الشبكة عندها بالمُضيف (Host)، من الشائِع استخدام هذا المُصطلح للإشارة إلى الطرفيّة ككل وليس إلى بطاقة شبكة فقط. يمكن للمُضيف أن يمتلك أكثر من عنوان بروتوكول إنترنت في نفس الوقت، ويُوصف حينها بأنّه مُتعدد الاستضافة (Multi-homed).

يُحدد البروتوكول بنية خاصة للرزم، تتألف من قسمين رئيسيين، هما الترويسة (Header) وقسم المُعطيات (Payload). تكون الترويسة مُقسّمة إلى عدد من الحقول (Field)، وتضمّ المعلومات اللازمة لعمل البروتوكول كرقم الإصدار وعنواني مصدر ووجهة الرزمة بالإضافة لمعلومات أخرى، أما قسم المُعطيات فيضمّ المُعطيات التي يتمّ تغليفها ضمن الرزمة.

تاريخيّاً، كان بروتوكول الإنترنت إحدى الخدمات التي تستخدم قنوات لا تتطلب تهيئة اتصال (Connection-less) المُقدّمة من قبل بروتوكول التحكّم بالنقل (TCP)[2] الذي قام كل من فينت سيرف (Vint Cerf) وبوب خان (Bob Khan) بتطويره في عام 1974. لذلك فإن بروتوكول الإنترنت يعتمد على بروتوكول التحكّم بالنقل (TCP) لضمان وجود اتصال مُسبق بين مختلف الأطراف، ولهذا تُوصف قنوات بروتوكول التحكّم بالنقل (TCP) بأنّها تتطّلب تهيئة اتصال (Connection-oriented) ونتيجة لهذه العلاقة الوظيفية، غالباً ما يُشار إلى نموذج الإنترنت بالشكل (TCP/IP).

إنّ أول إصدار مُستقل من بروتوكول الإنترنت هو الإصدار الرابع، ويُشار له اختصاراً (IPv4)،[3] وهو البروتوكول الأساسي في شبكة الإنترنت، الإصدار اللاحق هو الإصدار السادس، ويُشار له اختصاراً (IPv6).[4]

الوظيفة[عدل]

إنّ بروتوكول الإنترنت مسؤول عن عنونة المُضيفين، ويُؤثّر ذلك بشكلٍ مباشر على عملية توجيه الرزم. تحتوي كل رزمة عنوانين هما عنوان المصدر وعنوان الوجهة. يُعرّف بروتوكول الإنترنت بنية الرزمة ونظاماً خاصاً للعنونة يُمكّنه من تمييز المُضيفين بشكلٍ فريد.

بناء الرزمة[عدل]

تغليف مُعطيات تطبيق أثناء مرورها بطبقات نموذج الإنترنت

تتألف كُل رزمة من قسمين: الترويسة وحمل، تحتوي ترويسة بروتوكول الانترنت على عنوان مصدر الرزمة وعنوان وجهتها بالإضافة لمعلومات أخرى تخصّ عمل البروتوكول، أما حمل فهو المُعطيات التي تنقلها الرزمة. تسمى عملية إضافة الترويسات إلى الحمل بعملية تغليفها.

العنونة والتوجيه[عدل]

يستلزم عمل بروتوكول الإنترنت وجود آليّة لتوزيع العناوين على منافذ المُضيفين. إنّ فضاءالعناوين مُقسّم إلى مجموعة من الشبكات القياسيّة التي يُمكن تقسيم كلٍ منها حسب الحاجة إلى شبكات فرعيّة أصغر، وقد تمّ تصميمُه بطريقةٍ هرميّة تتيح استخدام البادئات (Prefix) للإشارة إلى أكثر من شبكة في نفس الوقت، ولذلك أهميّة خاصّة في عملية التوجيه.

تقوم الطرفيّات والمُوجّهات بإنجاز عملية التوجيه اعتماداً على بنية العناوين السابقة، والتوجيه هو إيجاد المسار الذي يجب أن تسلُكه الرزمة ضمن الشبكة من مصدرها إلى وجهتها، وتستخدِم المُوجّهات بروتكولات خاصة تُسمّى بروتوكولات التوجيه لإيجاد أفضل المسارات المُتاحة.

يمكن اعتماداً على بنية الفضاء السابقة تعريف نوعٍ خاص من التوجيه هو التوجيه المجمُوعاتي (IP Multicating)[5]، وفي هذا النوع تكون الوجهة مجموعة من المُضيفين بدلأً من مُضيفٍ واحد، ولكن ما يُميّز عناصر هذه المجموعة أنّها تستضيف عنواناً مُشتركاً يُسمّى عنوان المجموعة (Multicast address)، وينتج عن عملية التوجيه المجمُوعاتي إرسال الرزمة إلى جميع المُضيفين الذين يمتلكون هذا العنوان.

نبذة تاريخيّة[عدل]

إنّ الإصدارت المُوجودة حالياً للبروتوكول هي الإصدار الرابع (IPv4) والإصدار السادس (IPv6).

في شهر ماي من العام 1974م، نشر معهد مُهندسي الكهرباء والإلكترونيات (IEEE) ورقةً بحثيّةً بعنوان: " بروتوكول للاتصال ضمن شبكات الرزم" (A protocol for Packet Network Interconnection).[6] قدّم كاتبا البحث، فينت سيرف وبوب خان وصفاً لبروتوكولٍ يعمل بين الشبكات بهدف تشارك الموارد عن طريق تبديل الرزم (Packet Switching) بين عُقد الشبكة، كان برنامج التحكم بالنقل (Transmission Control Program) هو حجر الأساس في هذه العملية. لاحقاً تمّ تقسيم هذا البرنامج إلى وحدات بنيويّة هي بروتوكول التحكّم بالنقل (TCP) وبروتوكول رزم المُستخدم (User Datagram Protocol UDP)[7] في طبقة النقل، وبروتوكول الإنترنت (IP) في طبقة الإنترنت. عُرف هذا النموذج بنموذج الانترنت الخاص بوزارة الدفاع (Department of Defense DoD)، أما اليوم فيُشار إليه بأنّه نموذج الإنترنت (TCP/IP).

إنّ الإصدارات ذوات الأرقام (0) حتى (3)، كانت إصدارات تجريبية استُخدمت العامين (1977) و(1979). فيما يلي وثائق المُلاحظات الخاصة بتجارب الإنترنت (Internet Experimental Note IEN) التي تصفّ إصدارات بروتوكول الإنترنت السابقة للإصدار الرابع (IPv4):

  • وثيقة المُلاحظات الخاصة بتجارب الإنترنت، رقم 2 (IEN 2): جاءت الوثيقة بعنوان: "تعليقات على بروتوكول الانترنت وبروتوكول التحكّم بالنقل (Comments on Internet Protocol and TCP) وهي مُؤرّخة في شهر أغسطس للعام 1977م، وتشدد على الحاجة للفصل بين وظائف بروتكول الانترنت (IP) ووظائف بروتوكول التحكّم بالنقل (TCP)، واقترحت الوثيقة الشكل البدائي للبروتوكول، واستخدم الرقم (0) للإشارة إلى رقم الإصدار في الترويسة المُقترحة الخاصة بالبروتوكول.
  • وثيقة المُلاحظات الخاصة بتجارب الانترنت، رقم 26 (IEN 26): جاءت الوثيقة بعنوان: "اقتراح لبنية جديدة لترويسة بروتوكول الإنترنت" (A proposed New Internet Header Format) وهي مُؤرّخة في شهر فبراير للعام 1978م، وتصف الإصدار الأول من البروتوكول (IPv1).
  • وثيقة المُلاحظات الخاصة بتجارب الانترنت، رقم 28 (IEN 28):جاءت الوثيقة بعنوان: "مسودّة توصيف الإصدار الثاني لبروتوكول الإنترنت" (Draft Internetwork Protocol Description Version 2) وهي مُؤرّخة في شهر فبراير للعام 1978م، وتصف الإصدار الثاني من البروتوكول (IPv2).
  • وثيقة المُلاحظات الخاصة بتجارب الإنترنت، رقم 41 (IEN 41): وجاءت بعنوان: "محددات الإصدار الرابع من بروتوكول الانترنت" (Internet Protocol Specification Version 4) وهي مُؤرّخة في شهر يونيو للعام 1978م، وهي أول وثيقة وصفت الإصدار الرابع من البروتوكول، ولكنّ بنية الترويسة كانت مختلفة عن الشكل النهائي الذي تمّ اعتمادُه لاحقاً.
  • وثيقة المُلاحظات الخاصة بتجارب الإنترنت، رقم 44 (IEN 44): جاءت الوثيقة بعنوان: "أحدث بُنى الترويسات" (Latest Header Format) وهي مُؤرّخة في شهر يونيو للعام 1978م، هي تصفّ شكلاً مختلفاً للإصدار الرابع من بروتوكول الإنترنت، حيث ترويسة البروتوكول المستعملة مختلفة عن الشكل المُعتمد في الإصدار الرابع من بروتوكول الإنترنت المُستخدم حالياً.
  • وثيقة المُلاحظات الخاصة بتجارب الإنترنت، رقم 54 (IEN 54): وجاءت بعنوان: "مُحددات الإصدار الرابع من بروتوكول الإنترنت" (Internet Protocol Specification Version 4) وهي مُؤرّخة في شهر سبتمبر للعام 1978م، وهي أول توصيف للإصدار الرابع من البروتوكول يتمّ فيه استخدام الترويسة المُعتمدة في الشكل النهائي للإصدار الرابع.

إنّ بروتوكول الإنترنت المُهيّمن على طبقة الإنترنت اليوم هو الإصدار الرابع من بروتوكول الإنترنت (IPv4)، والرقم 4 هو رقم الإصدار الذي يُوجد داخل حقل رقم الإصدار في ترويسة الرزمة في كل رزم الإصدار الرابع من بروتوكول الإنترنت. إنّ الإصدار الرابع من بروتوكول الإنترنت موصُوف بالوثيقة (RFC 791).

طُوّر الإصدار الخامس (IPv5) تحت مُسمى بروتوكول التدفق في شبكة الإنترنت (Internet Streaming Protocol)، ولكنّه لم يتجاوز المرحلة التجريبيّة. [8]

إنّ الإصدار السادس من بروتوكول الإنترنت (IPv6) هو وريث الإصدار الرابع (IPv4). و يختلفان عن بعضهما البعض بشكلٍ أساسي بحجم فضاء العناوين، ففي حين يستخدم الإصدار الرابع عناوين بطول من 32 بت، وهو ما يخلق 4.3 مليار (4.3x109) عنوان متاح في فضاء العناوين، فإنّ الإصدار السادس يستخدم عناوين بطول 128 بِت، ما يسمح بوجود (3.4x1038) عنوان متاح في فضاء عناوينه. لكن الانتقال إلى العمل بالإصدار السادس يسير بوتيرة أبطأ من المتوقع.

في 1 أبريل 1994م، نشرت مجموعة مُهندسي الإنترنت (IETF) تقريراً يُفيد بتطوير الإصدار التاسع من بروتكول الإنترنت (IPv9) ولكن الخبر برمّته كان كذبة أبريل. [9]

الوثوقيّة[عدل]

إنّ بروتوكول الإنترنت مُصمم ليدعم مفهوم العلاقة بين طرفيتين (End-to-End)،[10] وبناءً على ذلك فإنّ بُنية الشبكة تعتبر غير موثُوقة (Unreliable) ويشمل ذلك العُقد وأوساط النقل، كما تُوصف توافُريّة (Availability) العناصر السابقة بأنّها مُتغيّرة (Dynamic). لأغراض تتعلّق بتقليل تعقيد الشبكة، فإنّ البروتوكول لا يدعم أيّ آليّة المُراقبة وتعقّب حالة الشبكة.

نتيجةً للتصميم السابق، فإنّ بروتوكول الإنترنت غير موثُوقٍ، ويقدّم أفضل ما يمكن لتوصيل الرزم (Best-effort delivery)، دون ضمانٍ أكيد لذلك، لذا فهو بروتوكول لا يتّطلب عمله تهيئة الاتّصال (Connection-less Protocol)، ويعني ذلك أنّ وصُول رزم تالفة أو مُكررة أو فقداناً للرزم أو وصُولها بترتيبٍ مُغايرٍ لترتيب إرسالِها (Out-of-order Delivery) هي حالات مُمكنة. تنتج حالة الوصول بترتيبٍ مُغايرٍ لترتيب الإرسال بسبب عدم وجُود آليّة تُمكّن الشبكة من التعرّف على حالة المسار الذي سلكته الرزمة السابقة. ولهذا فقد يتمّ توجيه رزمتين مُتتاليتين أو أكثر بمسارين مُختلفين أو أكثر، ما ينتج عنه وصُولها إلى الهدف بأزمنة تأخير مُختلفة، بسبب اختلاف المسارات وبالتالي فإنّ ترتيب وصول الرزم سيكون مُختلفاً عن ترتيب إرسالها.

يُؤمّن بروتوكول الإنترنت آليّة لضمان خلوّ الترويسة من الأخطاء. يجب على كل عقدة تدعم التوجيه أن تقوم بحساب قيمة حقل التحقق الجمعيّ (Checksum) من أجل كل الرزمة تردُها، ومُطابقته مع القيمة المَوجودة في الرزمة، إذا لم تتطابق القيمتان، فيجب أن يتمّ التخلص من الرزمة. على الرغم من أنّ بروتوكول رسائل التحكّم في شبكة الانترنت (ICMP)[11] يدعم إخطار المصدر بحصول هذا النوع من الأخطاء، فإنّ ذلك ليس لزاماً على العقدة التي تخلّصت من الرزمة. وعلى العكس من هذا تماماً، فإنّ ترويسة الإصدار السادس (IPv6) لا تحتوي على حقل التحقق الجمعيّ السابق، بهدف رفع أداء الشبكة، وذلك على افتراض أنّ طبقة الربط تُؤمّن آليّة فعّالة لكشف وُجود الأخطاء.[12]

يجب أن تقوم عقد الشبكة بمُعالجة هذه الأخطاء، وفي حزمة بروتوكولات الإنترنت (TCP/IP) فإنّ مُعالجة مشاكل الوثوقيّة هي من وظائف طبقة النقل.

سعة وسط النقل والإمكانيات المتاحة[عدل]

إنّ طبيعة شبكة الإنترنت والتنوع الكبير في مُكوّناتها يعني أنّه لا يوجد ضمانة بأنّ مساراً مُحدداً قد يكون قادراً على نقل المُعطيات أو مُناسِباً لعمليّة النقل، حتّى ولو كان المسار مُتاحاً للاستخدام وموثُوقاً. إنّ حجم النقل الأعظميّ (Maximum Transmission Unit MTU) المُسموح في وسطٍ ما هو أحدُ القيود التقنيّة لعملية النقل عبرَ هذا الوسط، ولا يُمكن أن يتمّ نقل رزم ذاتُ حجمٍ أكبر من حجم النقل الأعظميّ (MTU) للوسط، ويجب على التطبيقات التي تستخدم هذا الوسط مُراعاة هذا القيد.

في الإصدار الرابع من بروتوكول الإنترنت (IPv4)، يدعم البروتوكول ميّزة التقطيع (Fragmentation)، وفيها يتمّ تقطيع رزم التي يتجاوز حجمُها حجم النقل الأعظميّ (MTU) للوسط إلى رزمتين أو أكثر، تُسمى القِطع (Fragments)، جميعها بحجم أقل من الحد الأعظميّ المسمُوح، ويُؤمّن بروتوكول الإنترنت آليّة لإعادة تجميع (Reassembly) القطع وترتيبها في الوجهة، خاصةً أنّ وصُولها بالترتيب الصحيح غيرُ مضمُونٍ.[13]

أمّا في الإصدار السادس من بروتوكول الإنترنت (IPv6)، فجرى تطوير آليّات أخرى تسمح باكتشاف حجم النقل الأعظميّ (MTU) قبل بدء الإرسال، وبالتالي يتمّ تجنّب تجاوزه عند تغليف الرزم.[14]

الأمن والحماية[عدل]

في المراحل التصميميّة لشبكة الأربانت (APRANET) وعند بناء الشكل البدائيّ لشبكة الإنترنت، لم يتمّ أخذ المنظور الأمني ولا الاستخدام العام أو الدوليّ للشبكة بالحسبان. نتيجة لذلك، فإنّ العديد من بروتوكولات الإنترنت تضمّنت ثغرات تمّ اكتشافُها بعد تعرّض الشبكة لهجمات أو بعد تقييم أمنيّ لاحق. في عام 2011 م، تمّ نُشر تقريرٍ أمنيّ شامل تضمّن تقييماً أمنيّاً واقتراحاتٍ للتخفيف من أثر الثغرات الموجُودة.[15]

انظر أيضاً[عدل]

المراجع[عدل]

  1. ^ Socolofsky، T.؛ Kale، C. (يناير1991). "RFC 1180, A TCP/IP Tutorial.". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  2. ^ Postal، J. (سبتمبر 1981). "RFC 793, Transmission control protocol, DARPA internet program,protocol specification.". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 13 يوليو 2017. 
  3. ^ Postel، J. (سبتمبر 1981). "RFC 791, Internet Protocol, DARPA Internet Program Protocol Specification". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 13 يوليو2017. 
  4. ^ Deering، S.؛ Hinden، R. (ديسمبر 1998). "RFC 2460, Network Working Group: version 6 of the Internet Protocol (IPv6)". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 13 يوليو 2017. 
  5. ^ Deering، S. (أغسطس 1989). "RFC 1112, Host Extensions for IP Multicasting". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 13 يوليو 2017. 
  6. ^ Vinton، G. Cerf؛ Robert، E. Khan (ماي 1974). "A Protocol for Packet Network Intercommunication". Institute of Electrical and Electronic Engineers (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  7. ^ Postal، J. (أغسطس 1980). "RFC 768, User Datagram Protocol". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  8. ^ Delgrossi، L.؛ Berger، L. (أغسطس 1995). "RFC 1819, Internet Stream Protocol Version 2 (ST2), Protocol Specification - Version ST2+". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  9. ^ Onions، J. (أبريل 1994). "RFC 1606, A Historical Perspective On The Usage Of IP Version 9.". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  10. ^ Saltzer، J. H.؛ Reed، D. P.؛ Clark، D. D. (1984). "End-to-end arguments in system design". ACM Transactions on Computer Systems (TOCS). ACM. 2 (4): 277-288. 
  11. ^ Postal، J. (أغسطس 1981). "RFC 792, Internet Control Message protocol, DARPA internet program,protocol specification.". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  12. ^ Partridge، C.؛ Kastenholz، F. (ديسمبر 1994). "RFC 1726, Technical Criteria for Choosing, IP The Next Generation (IPng) - Section 6.2". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  13. ^ Siuyn, Karanjit (1997). Inside TCP/IP [في عمق حزمة بروتوكولات الإنترنت (TCP/IP)] (باللغة الإنجليزية). New Riders Publishing. ISBN 1-56205-714-6. 
  14. ^ Gont، F. (أبريل 2011). "Security Assessment of the Internet Protocol version 4, draft-ietf-opsec-ip-security-07". Internet Socity (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 

وصلات خارجية[عدل]