عندما يرسل حاسوبك بيانات إلى خادم أو هاتف آخر، لا يستطيع كل جهاز استخدام طريقة عشوائية خاصة به. يجب أن توجد قواعد مشتركة تحدد شكل البيانات وكيف تُرسل وكيف يفهم الطرف الآخر ما استلمه. هذه القواعد تسمى البروتوكولات الشبكية Network Protocols.
| ما هو البروتوكول الشبكي؟ شرح Network Protocols وأشهر الأنواع |
فالبروتوكول هو أحد أهم الأسس التي تجعل أجهزة وأنظمة من شركات وأنواع مختلفة قادرة على التواصل عبر الشبكات والإنترنت.
مهم: إذا كنت تبدأ دراسة Networking للمرة الأولى، اقرأ دليل أساسيات الشبكات من الصفر خطوة بخطوة قبل الدخول في تفاصيل البروتوكولات.
ما هو البروتوكول الشبكي؟
البروتوكول الشبكي هو مجموعة من القواعد والتنسيقات والإجراءات التي تحدد كيفية تبادل البيانات بين الأجهزة والبرامج عبر الشبكة.
يمكن للبروتوكول أن يحدد أمورًا مثل:
- شكل البيانات التي يتم إرسالها.
- كيفية تحديد المصدر والوجهة.
- كيفية بدء الاتصال وإنهائه.
- كيفية التعامل مع الأخطاء.
- كيفية التأكد من وصول البيانات عند الحاجة.
- طريقة تفسير الطرف المستقبل للمعلومات.
لماذا نحتاج إلى بروتوكولات الشبكة؟
تخيل شخصين يتحدث كل منهما بلغة مختلفة دون وجود قواعد مشتركة أو مترجم. حتى لو كان الصوت يصل بينهما، فلن يكون الاتصال مفيدًا.
المشكلة نفسها ستحدث بين أجهزة الشبكة إذا لم تتفق على طريقة إرسال البيانات وتفسيرها.
البروتوكولات توفر هذه القواعد المشتركة، وهذا ما يسمح مثلًا لهاتف يعمل بنظام Android بالتواصل مع خادم Linux أو Windows عبر بنية شبكية تحتوي أجهزة من شركات مختلفة.
هل تستخدم الشبكة بروتوكولًا واحدًا فقط؟
لا. الاتصال الحقيقي يعتمد عادة على عدة بروتوكولات تعمل معًا.
عندما تفتح موقعًا في المتصفح، قد تشارك في العملية بروتوكولات مثل:
- DNS لمعرفة عنوان الخدمة.
- IP للعنونة ونقل الحزم عبر الشبكات.
- TCP أو UDP في طبقة النقل حسب التطبيق.
- TLS لحماية الاتصال في الحالات التي تستخدمه.
- HTTP أو HTTPS للتواصل مع خدمة الويب.
- تقنيات طبقة الربط مثل Ethernet أو Wi-Fi للوصول عبر الشبكة المحلية.
هذه البروتوكولات لا تؤدي الوظيفة نفسها، بل يتولى كل واحد جزءًا محددًا من عملية الاتصال.
ما هي Protocol Suite؟
Protocol Suite هي مجموعة بروتوكولات صُممت لتعمل معًا ضمن بنية اتصال.
أشهر مثال هو مجموعة بروتوكولات الإنترنت المعروفة باسم TCP/IP.
بدل بناء بروتوكول واحد مسؤول عن كل شيء، تُقسّم الوظائف إلى طبقات، وتعمل عدة بروتوكولات معًا لتنفيذ الاتصال من التطبيق حتى الوسط الذي يحمل البيانات.
أشهر بروتوكولات الشبكات
| البروتوكول | الوظيفة الأساسية |
|---|---|
| IP | العنونة ونقل الحزم بين الشبكات. |
| TCP | نقل موثوق ومرتب للبيانات بين التطبيقات. |
| UDP | إرسال Datagrams دون آليات الموثوقية الموجودة في TCP. |
| DNS | ربط أسماء النطاقات بالمعلومات اللازمة للوصول إليها. |
| DHCP | توفير إعدادات الشبكة للأجهزة تلقائيًا. |
| HTTP | تبادل طلبات واستجابات الويب. |
| HTTPS | HTTP عبر اتصال محمي باستخدام TLS. |
| ICMP | رسائل التحكم والأخطاء والتشخيص في IP. |
| ARP | اكتشاف عنوان طبقة الربط المرتبط بعنوان IPv4 داخل الشبكة المحلية. |
ما هو IP؟
Internet Protocol أو IP من البروتوكولات الأساسية في شبكات الإنترنت.
يسمح باستخدام عناوين منطقية لتحديد مصدر الحزمة ووجهتها ونقلها عبر شبكات مترابطة.
من أمثلة عناوين IPv4:
192.168.1.20
كما يوجد IPv6 الذي يستخدم مساحة عناوين أكبر بكثير.
IP في حد ذاته لا يوفر للتطبيق ضمانًا بأن جميع البيانات ستصل بالترتيب الصحيح، ولذلك يمكن أن تعتمد التطبيقات على بروتوكولات أخرى مثل TCP عندما تحتاج إلى هذه الخصائص.
ما هو TCP؟
TCP اختصار لـ Transmission Control Protocol.
يوفر للتطبيقات اتصالًا موثوقًا ومرتبًا، ويحتوي على آليات تساعد في التعامل مع البيانات المفقودة والتحكم في التدفق وترتيب البيانات.
تستخدمه تطبيقات تحتاج إلى نقل موثوق للبيانات.
مثال مبسط
إذا كان التطبيق يرسل ملفًا مهمًا، فإن فقد جزء من البيانات دون اكتشافه قد يؤدي إلى ملف غير مكتمل. هنا تكون خصائص الموثوقية التي يقدمها TCP مفيدة.
ما هو UDP؟
UDP اختصار لـ User Datagram Protocol.
هو بروتوكول نقل يعتمد على Datagrams ولا ينشئ اتصالًا موثوقًا بالطريقة التي يفعلها TCP.
UDP أبسط، ولا يتضمن داخله آليات مثل إعادة إرسال البيانات المفقودة أو ضمان ترتيبها كما يفعل TCP.
هذا لا يعني أن التطبيقات التي تستخدم UDP لا يمكنها إضافة آلياتها الخاصة عند الحاجة.
الفرق بين TCP وUDP
| TCP | UDP |
|---|---|
| Connection-oriented | Connectionless |
| يوفر نقلًا موثوقًا. | لا يضمن التسليم بنفسه. |
| يحافظ على ترتيب البيانات. | لا يقدم ضمان ترتيب Datagrams. |
| لديه آليات تحكم وإعادة إرسال. | Header وآليات أبسط. |
ملاحظة: عبارة «UDP أسرع دائمًا» تبسيط غير دقيق. الأداء الفعلي يعتمد على التطبيق والشبكة والتصميم، لكن UDP يحتوي على آليات أقل من TCP في طبقة النقل.
ما هو DNS؟
DNS اختصار لـ Domain Name System.
يساعد الأنظمة على استخدام أسماء سهلة مثل:
www.example.com
بدل أن يضطر المستخدم إلى حفظ عنوان IP الخاص بكل خدمة.
عندما يطلب التطبيق اسم نطاق، يمكن استخدام DNS للحصول على معلومات مرتبطة بهذا الاسم، مثل عنوان IP المطلوب للاتصال بالخادم.
ما هو DHCP؟
DHCP اختصار لـ Dynamic Host Configuration Protocol.
يسمح بمنح الأجهزة إعدادات الشبكة تلقائيًا بدل إدخالها يدويًا على كل جهاز.
قد تتضمن المعلومات التي يحصل عليها الجهاز:
- عنوان IP.
- Subnet Mask.
- Default Gateway.
- خوادم DNS.
وهذا مفيد جدًا في الشبكات التي تحتوي عددًا كبيرًا من الأجهزة.
ما هو HTTP وHTTPS؟
HTTP هو بروتوكول يستخدم لتبادل الرسائل بين عملاء وخدمات الويب.
المتصفح مثلًا يرسل Request إلى الخادم، ثم يعيد الخادم Response.
أما HTTPS فهو استخدام HTTP عبر اتصال مؤمّن باستخدام TLS، مما يساعد على حماية البيانات أثناء انتقالها بين الطرفين.
ما هو ICMP؟
ICMP هو بروتوكول مرتبط بعمل IP ويستخدم لرسائل التحكم والإبلاغ عن بعض مشكلات الاتصال.
تستفيد أدوات تشخيص معروفة من رسائل ICMP، ومن أشهر الأمثلة أداة:
ping
التي تستخدم عادة ICMP Echo Request وEcho Reply لاختبار إمكانية الوصول إلى وجهة.
ما هو ARP؟
ARP اختصار لـ Address Resolution Protocol.
في شبكات IPv4 المحلية يساعد الجهاز على معرفة عنوان طبقة الربط المرتبط بعنوان IPv4 موجود على الشبكة المحلية.
فإذا عرف الجهاز عنوان IP للوجهة المحلية لكنه يحتاج إلى إرسال Ethernet Frame إليها، يمكن أن يستخدم ARP للحصول على عنوان MAC المناسب.
ما هي Ports في الشبكات؟
عندما يصل الاتصال إلى جهاز، قد توجد عليه تطبيقات وخدمات عديدة في الوقت نفسه.
تستخدم TCP وUDP أرقام Ports للمساعدة على توجيه البيانات إلى التطبيق أو الخدمة المناسبة.
من الأمثلة المعروفة:
| الخدمة | المنفذ الشائع |
|---|---|
| HTTP | 80 |
| HTTPS | 443 |
| DNS | 53 |
| SSH | 22 |
مهم: رقم المنفذ الشائع لا يعني أن الخدمة لا يمكن تشغيلها على Port آخر.
كيف تعمل عدة بروتوكولات معًا؟
افترض أنك تريد زيارة موقع ويب.
- يكتب المستخدم اسم الموقع في المتصفح.
- يستخدم النظام DNS للحصول على عنوان الخدمة.
- يُستخدم IP لتحديد المصدر والوجهة ونقل Packets عبر الشبكات.
- يستخدم التطبيق بروتوكول نقل مناسبًا مثل TCP أو UDP بحسب التقنية المستخدمة.
- تستخدم خدمة الويب HTTP أو HTTPS لتبادل الطلب والاستجابة.
- داخل الشبكة المحلية تنتقل البيانات عبر تقنية مثل Ethernet أو Wi-Fi.
وهكذا لا يوجد بروتوكول واحد مسؤول عن الاتصال بالكامل؛ بل تتعاون عدة بروتوكولات وكل منها يحل مشكلة مختلفة.
ما علاقة البروتوكولات بطبقات الشبكة؟
تنظيم البروتوكولات على شكل طبقات يجعل تصميم الشبكات وفهمها أكثر سهولة.
بصورة مبسطة:
| الطبقة | أمثلة |
|---|---|
| Application | HTTP، DNS، DHCP |
| Transport | TCP، UDP |
| Internet | IP، ICMP |
| Link | تقنيات مثل Ethernet |
وهذا يقود إلى موضوع مهم جدًا في تعلم الشبكات: لماذا تم تقسيم الاتصال إلى طبقات، وكيف تحدث عمليتا Encapsulation وDecapsulation أثناء انتقال البيانات.
| علاقة البروتوكولات بطبقات الشبكة |
Protocol ليس هو نفسه Service
من الأخطاء الشائعة استخدام كلمتي Protocol وService وكأنهما الشيء نفسه.
البروتوكول يحدد قواعد الاتصال، بينما الخدمة هي الوظيفة التي يحصل عليها المستخدم أو التطبيق.
على سبيل المثال، خدمة الويب تعتمد على مجموعة من البروتوكولات حتى تستطيع العمل عبر الشبكة.
هل البروتوكولات مرتبطة بنظام تشغيل معين؟
لا. إحدى أهم فوائد المعايير والبروتوكولات المفتوحة هي إمكانية تشغيل الاتصال بين أنظمة ومنتجات مختلفة عندما تطبق القواعد نفسها بصورة صحيحة.
ولهذا يستطيع Windows وLinux وAndroid وiOS وأجهزة الشبكات المختلفة التواصل باستخدام بروتوكولات الإنترنت المشتركة.
كيف أتعلم بروتوكولات الشبكات بالترتيب؟
للمبتدئ، لا تبدأ بحفظ عشرات البروتوكولات.
- افهم أولًا معنى Protocol.
- تعلم IP وMAC.
- افهم الفرق بين TCP وUDP.
- تعلم DNS وDHCP.
- تعرف على HTTP وHTTPS.
- افهم ICMP وARP.
- بعد ذلك اربط كل بروتوكول بالطبقة التي يعمل ضمنها.
إذا كنت تريد فهم شكل اتصال الأجهزة نفسها داخل الشبكة، يمكنك أيضًا مراجعة شرح توبولوجيا الشبكات.
أسئلة شائعة
ما تعريف البروتوكول الشبكي باختصار؟
هو مجموعة قواعد وإجراءات تسمح للأجهزة والبرامج بتبادل البيانات وفهمها بطريقة متفق عليها.
هل TCP/IP بروتوكول واحد؟
لا. يستخدم الاسم للإشارة إلى مجموعة بروتوكولات الإنترنت، وليس إلى بروتوكول واحد فقط.
ما الفرق بين IP وTCP؟
IP مسؤول أساسًا عن العنونة ونقل الحزم بين الشبكات، بينما يوفر TCP خدمة نقل موثوقة ومرتبة للتطبيقات.
ما الفرق بين DNS وDHCP؟
DNS يتعامل مع أسماء النطاقات والمعلومات المرتبطة بها، بينما DHCP يستخدم لتزويد الأجهزة بإعدادات الشبكة تلقائيًا.
لماذا توجد بروتوكولات كثيرة؟
لأن الاتصال الشبكي يحتوي على مشكلات ووظائف مختلفة، ومن الأفضل فصلها إلى بروتوكولات وطبقات متخصصة بدل جعل بروتوكول واحد مسؤولًا عن كل شيء.
الخلاصة
البروتوكولات هي القواعد التي تجعل الاتصال بين أجهزة الشبكة ممكنًا ومنظمًا. IP يهتم بالعنونة ونقل الحزم، وTCP وUDP بالنقل بين التطبيقات، وDNS بالأسماء، وDHCP بإعدادات الشبكة، بينما تستخدم تطبيقات الويب بروتوكولات مثل HTTP وHTTPS.
فهم وظيفة كل بروتوكول أهم من حفظ اسمه. عندما تعرف المشكلة التي يحلها كل واحد، يصبح فهم TCP/IP وOSI وEncapsulation وتحليل الشبكات أسهل بكثير.
للمرجع التقني يمكنك مراجعة RFC 1122 من RFC Editor الذي يشرح طبقات وبروتوكولات Internet Protocol Suite.