ما هو البروتوكول؟
الاتصال على الإنترنت ليس مجرد إرسال بيانات. إنه يقوم على تبادل البيانات بين جهة الإرسال وجهة الاستقبال وفق القواعد نفسها.
تسمى قواعد الاتصال هذه بروتوكولات.
عند مشاهدة موقع ويب، أو إرسال بريد إلكتروني، أو اتصال تطبيق بخادم، تُستخدم بروتوكولات متعددة في الخلفية. HTTP وDNS وTCP وUDP وTLS وغيرها هي بروتوكولات تختلف أدوارها.
قد تبدو للمبتدئين كمصطلحات تقنية منفصلة. لكنها في الواقع كلها "قواعد لجعل الاتصال ممكنًا".
لا يتعمق هذا المقال في تفاصيل البروتوكولات الدقيقة، بل ينظم الدور الذي يؤديه كل منها داخل الاتصال.
البروتوكول هو قواعد الاتصال
البروتوكول هو مجموعة قواعد للاتصال.
في الاتصال، يجب تحديد أمور مثل الآتية مسبقًا.
- بأي صيغة تُرسل البيانات
- بأي ترتيب يتم التبادل
- كيف يُحدد الطرف الآخر
- كيف يتم التأكد من وصول البيانات
- هل تُشفّر محتويات الاتصال
- كيف تُعالج الأخطاء عند حدوثها
إذا كانت جهة الإرسال وجهة الاستقبال تعملان بقواعد مختلفة، فلن يقوم الاتصال. حتى إذا أُرسلت البيانات، فلن تتمكن جهة الاستقبال من فهم معناها.
بعبارة أخرى، البروتوكولات هي قواعد مشتركة تجعل الحواسيب تتواصل فيما بينها بشكل صحيح.
لماذا يحتاج الاتصال إلى قواعد متفق عليها؟
على الإنترنت، تتواصل أجهزة كثيرة ومتنوعة حول العالم.
تشارك أجهزة وبرمجيات كثيرة، مثل أجهزة PC، والهواتف الذكية، والخوادم، والموجهات، وخوادم DNS، والتطبيقات، والمتصفحات. إذا تواصل كل منها بطريقته الخاصة، فلن يكون إرسال البيانات أو استقبالها بشكل صحيح ممكنًا.
لذلك توضع قواعد مشتركة لكل نوع من أنواع الاتصال. وباتّباع هذه القواعد، تستطيع أجهزة من شركات مختلفة وأنظمة OS مختلفة الوصول إلى موقع الويب نفسه.
بفضل وجود البروتوكولات، تستطيع الأجهزة المتنوعة على الإنترنت أن تتواصل ضمن الآلية نفسها.
بروتوكولات شائعة مستخدمة على الويب
عند الوصول إلى موقع ويب، تشارك بروتوكولات وآليات متعددة.
من الأمثلة الشائعة ما يلي.
| البروتوكول أو الآلية | الدور الرئيسي |
|---|---|
| DNS | يبحث عن عنوان IP المقابل لاسم النطاق |
| HTTP | يتبادل بيانات صفحات الويب |
| HTTPS | يحمي اتصال HTTP باستخدام TLS |
| TCP | يوصّل البيانات بدقة |
| UDP | يرسل البيانات مع التركيز على السرعة والفورية |
| TLS | يشفّر محتوى الاتصال |
ليست لهذه العناصر كلها الوظيفة نفسها. فكل منها مسؤول عن نطاق مختلف داخل الاتصال.
دور DNS
DNS هو آلية للبحث عن عنوان IP المقابل لاسم نطاق.
عند الوصول إلى موقع ويب، لا تدخل عادة عنوان IP مباشرة. على سبيل المثال، تستخدم اسم نطاق مثل example.com.
لكن لكي يرسل الحاسوب البيانات فعليًا إلى وجهة الاتصال، فهو يحتاج إلى عنوان IP. لذلك يُستخدم DNS للبحث عن عنوان IP المقابل لاسم النطاق.
بعبارة أخرى، DNS هو آلية للبحث عن عنوان IP للطرف الذي تريد الاتصال به.
قد تُرسل استعلامات DNS التقليدية من دون تشفير. في هذه الحالة، قد يظهر على الشبكة أي اسم نطاق تم البحث عنه.
دورا HTTP وHTTPS
HTTP هو بروتوكول لتبادل بيانات صفحات الويب.
يُستخدم عندما يطلب المتصفح من خادم الويب "أرني هذه الصفحة"، ويرجع الخادم بيانات مثل HTML والصور وCSS وJavaScript.
HTTPS هو آلية تحمي اتصال HTTP باستخدام TLS. ومن خلال تشفير المحتوى المتبادل عبر HTTP بواسطة TLS، يصبح من الأصعب قراءة المحتوى من مسار الاتصال.
عند استخدام HTTP وحده، لا تكون محتويات الاتصال مشفرة. أما مع HTTPS، فتُشفّر محتويات الاتصال، ولذلك يصعب على شبكة وسيطة قراءة المحتوى كما هو.
لكن حتى عند استخدام HTTPS، لا تختفي كل المعلومات المتعلقة بالاتصال. قد تبقى معلومات مثل عنوان IP للوجهة، وحجم الاتصال، وتوقيت الاتصال مرئية بأشكال أخرى.
دورا TCP وUDP
TCP وUDP بروتوكولان يتعلقان بطريقة توصيل البيانات.
يركز TCP على توصيل البيانات بدقة. لديه آليات لإعادة إرسال البيانات إذا فُقدت في الطريق، وترتيبها بالترتيب الصحيح.
يُستخدم كثيرًا في الاتصالات التي تهم فيها الدقة، مثل تصفح مواقع الويب، والبريد الإلكتروني، ونقل الملفات. ومع ذلك، توجد اليوم أيضًا آليات اتصال ويب تستخدم UDP، مثل HTTP/3.
أما UDP فيركز على السرعة والخفة. ولأنه لا يجري تأكيدات وصول تفصيلية مثل TCP، فلديه خصائص تسهّل تقليل تأخر الاتصال.
قد يُستخدم UDP في اتصالات تهم فيها قلة التأخير، مثل المكالمات الصوتية، ومكالمات الفيديو، والألعاب عبر الإنترنت، وDNS.
TCP وUDP ليس أحدهما أعلى رتبة من الآخر. يُستخدم TCP في الاتصالات التي تركز على الدقة، ويُستخدم UDP في الاتصالات التي تركز على السرعة والفورية.
دور TLS
TLS هو بروتوكول لتشفير محتوى الاتصال.
عند الوصول إلى موقع ويب عبر HTTPS، فإن TLS هو الذي يتولى فعليًا حماية محتوى الاتصال. يشفّر TLS المحتوى المتبادل بين المتصفح والخادم.
مثلًا، تصبح معلومات تسجيل الدخول، ومحتوى البحث، والمحتوى المدخل في النماذج أصعب قراءة على مسار الاتصال بسبب HTTPS.
يرتبط TLS ليس بالتشفير فقط، بل أيضًا بالتحقق من الطرف الآخر في الاتصال واكتشاف التلاعب. لكن في هذا المقال، يكفي أولًا فهمه بوصفه "آلية لحماية محتوى الاتصال".
كذلك، TLS آلية لحماية محتوى الاتصال، وليس آلية تخفي وجود الاتصال نفسه بالكامل. قد تبقى معلومات مثل أي خادم تتصل به، ومتى تم الاتصال، وكمية البيانات المتبادلة مرئية بأشكال أخرى.
الاتصال الواحد يشترك فيه أكثر من بروتوكول
الاتصال المستخدم للوصول إلى موقع ويب لا يستخدم بروتوكولًا واحدًا فقط.
على سبيل المثال، عند فتح موقع ويب في المتصفح، يكون التدفق العام تقريبًا كما يلي.
- استخدام DNS للبحث عن عنوان IP المقابل لاسم النطاق
- استخدام TCP أو UDP وما شابه لمعالجة الخصائص المتعلقة بطريقة توصيل البيانات
- استخدام TLS لحماية محتوى الاتصال
- استخدام HTTP لتبادل بيانات صفحة الويب
في الاتصال الفعلي توجد عمليات أكثر تفصيلًا. لكن النقطة المهمة هي أن عدة بروتوكولات تتقاسم الأدوار.
DNS يؤدي دور البحث عن عنوان IP للوجهة. TCP وUDP يؤديان دور تحديد طريقة توصيل البيانات. TLS يؤدي دور حماية محتوى الاتصال. HTTP يؤدي دور تبادل معلومات صفحة الويب.
بهذه الطريقة، حتى الوصول الواحد إلى الويب يجمع عدة بروتوكولات.
يختلف نطاق الحماية من بروتوكول إلى آخر
عند فهم البروتوكولات، المهم هو التفكير في نطاق مسؤولية كل منها بشكل منفصل.
على سبيل المثال، استخدام HTTPS لا يعني أن كل المعلومات المتعلقة بالاتصال تختفي. يحمي HTTPS أساسًا المحتوى المتبادل بين المتصفح وخادم الويب.
لكن عنوان IP للوجهة، واستعلامات DNS، وحجم الاتصال، وتوقيت الاتصال، وما شابه ذلك قد يبقى مرئيًا من زوايا أخرى.
كذلك، قد تُرسل استعلامات DNS التقليدية من دون تشفير. في هذه الحالة، قد يظهر على الشبكة أي اسم نطاق تم البحث عنه.
بهذه الطريقة، من المهم فهم ما الذي يحميه بروتوكول معين، وما الذي لا يحميه.
منظور مهم عند التفكير في المجهولية
عند التفكير في المجهولية، يكون فهم البروتوكولات مهمًا جدًا.
لأن المعلومات المرئية ونطاق الحماية يتغيران بحسب البروتوكول المستخدم.
على سبيل المثال، إذا استُخدم HTTPS، تُشفّر محتويات صفحة الويب. لكن ذلك لا يخفي بالكامل عنوان IP للوجهة أو توقيت الاتصال.
إذا فهمت آلية DNS، فستعرف أن استعلام اسم النطاق يحدث قبل الوصول إلى موقع الويب. وإذا فهمت الفرق بين TCP وUDP، أصبح من الأسهل تنظيم خصائص الاتصال ومواضع استخدامه. وإذا فهمت دور TLS، أمكنك فصل النطاق المشفّر عن المعلومات التي قد لا تكون مشفرة.
لرفع مستوى المجهولية، لا يكفي النظر فقط إلى "هل الاتصال مشفر". بل يجب التفكير، بروتوكولًا بروتوكولًا، في أي أجزاء الاتصال مرئية وأي أجزاء محمية.
خلاصة
البروتوكول هو اتفاق يجعل الاتصال ممكنًا.
عندما تتبع جهة الإرسال وجهة الاستقبال القواعد نفسها، تستطيع الحواسيب تبادل البيانات فيما بينها بشكل صحيح.
في اتصال الويب، تشارك بروتوكولات وآليات متعددة، مثل DNS وHTTP وHTTPS وTCP وUDP وTLS. ولكل منها دور مختلف داخل الاتصال.
DNS يبحث عن عنوان IP المقابل لاسم النطاق. HTTP يتبادل بيانات صفحات الويب. HTTPS يحمي اتصال HTTP باستخدام TLS. TCP يوصّل البيانات مع التركيز على الدقة. UDP يرسل البيانات مع التركيز على السرعة والفورية. TLS يحمي محتوى الاتصال.
حتى الاتصال الواحد يجمع عدة بروتوكولات.
عند التفكير في المجهولية، من المهم فهم أي بروتوكول يحمي ماذا، وما الذي يتركه مرئيًا. عندما تفهم الفروق بين البروتوكولات، يصبح من الأسهل تنظيم أي أجزاء الاتصال محمية، وأين قد تبقى المعلومات.
أدوات ذات صلة
DNSLeakTest
مورد خارجي مرتبط بهذه المقالة. افتحه فقط إذا كان مناسبًا لوضعك ولنموذج التهديد لديك.
سبب إدراجه هنا: قد يساعد في موضوع المقالة، لكنه خارج Anonymity Sense وينبغي التحقق منه قبل استخدامه.