سنبدأ اليوم بالتركيز على بروتوكول TCP. في فصل الطبقات، ذكرنا نقطة مهمة. في طبقة الشبكة وما دونها، يتعلق الأمر أكثر باتصالات المضيف بمضيف، مما يعني أن جهاز الكمبيوتر الخاص بك يحتاج إلى معرفة موقع جهاز كمبيوتر آخر للاتصال به. مع ذلك، غالبًا ما يكون الاتصال في الشبكة اتصالاً بين العمليات وليس اتصالاً بين الأجهزة. لذلك، يُقدم بروتوكول TCP مفهوم المنفذ. يمكن لعملية واحدة فقط أن تشغل المنفذ، مما يوفر اتصالاً مباشرًا بين عمليات التطبيقات التي تعمل على مضيفين مختلفين.
تتمثل مهمة طبقة النقل في توفير خدمات اتصال مباشرة بين عمليات التطبيقات العاملة على مضيفين مختلفين، ولذلك تُعرف أيضًا باسم بروتوكول الاتصال من طرف إلى طرف. تُخفي طبقة النقل التفاصيل الأساسية للشبكة، مما يسمح لعملية التطبيق برؤية وجود قناة اتصال منطقية من طرف إلى طرف بين كياني طبقة النقل.
يُشير TCP إلى بروتوكول التحكم في الإرسال، ويُعرف بأنه بروتوكول موجه نحو الاتصال. هذا يعني أنه قبل أن يبدأ أحد التطبيقين بإرسال البيانات إلى الآخر، يجب أن تُجري العمليتان عملية مصافحة. المصافحة عملية متصلة منطقيًا تضمن إرسالًا موثوقًا واستقبالًا منظمًا للبيانات. أثناء المصافحة، يُنشأ اتصال بين مضيفَي المصدر والوجهة من خلال تبادل سلسلة من حزم التحكم والاتفاق على بعض المعلمات والقواعد لضمان نقل البيانات بنجاح.
ما هو TCP؟ (رابطيشبكة الصنبورووسيط حزم الشبكةيمكن معالجة حزم TCP أو UDP)
TCP (بروتوكول التحكم في الإرسال) هو بروتوكول اتصالات يعتمد على طبقة النقل ويعتمد على تدفق البايتات، وهو موجه للاتصال.
موجه نحو الاتصال:يعني التوجه نحو الاتصال أن اتصالات TCP هي من واحد إلى واحد، أي اتصال من نقطة إلى نقطة من البداية إلى النهاية، على عكس UDP، الذي يمكنه إرسال رسائل إلى مضيفين متعددين في نفس الوقت، وبالتالي لا يمكن تحقيق الاتصال من واحد إلى كثير.
موثوق:تضمن موثوقية TCP تسليم الحزم بشكل موثوق إلى المتلقي بغض النظر عن التغييرات في رابط الشبكة، مما يجعل تنسيق حزمة بروتوكول TCP أكثر تعقيدًا من تنسيق UDP.
يعتمد على تيار البايت:تسمح طبيعة TCP القائمة على تدفق البايتات بنقل الرسائل بأي حجم وتضمن ترتيب الرسائل: حتى إذا لم يتم استلام الرسالة السابقة بالكامل، وحتى إذا تم استلام البايتات اللاحقة، فلن يقوم TCP بتسليمها إلى طبقة التطبيق للمعالجة وسوف يسقط تلقائيًا الحزم المكررة.
بمجرد إنشاء اتصال بين المضيفين أ و ب، لا يحتاج التطبيق إلا إلى استخدام خط الاتصال الافتراضي لإرسال واستقبال البيانات، مما يضمن نقلها. يتولى بروتوكول TCP مسؤولية التحكم في مهام مثل إنشاء الاتصال وفصله وإيقافه. تجدر الإشارة إلى أن المقصود هنا هو إنشاء اتصال فقط، بينما يشير اتصال بروتوكول TCP فقط إلى إمكانية بدء نقل البيانات بين الطرفين، وضمان موثوقية البيانات. تتولى أجهزة الشبكة إدارة عقد التوجيه والنقل، ولا يتدخل بروتوكول TCP نفسه في هذه التفاصيل.
اتصال TCP هو خدمة ثنائية الاتجاه، أي أن المضيفين A وB قادران على نقل البيانات في كلا الاتجاهين عبر اتصال TCP. أي أنه يمكن نقل البيانات بين المضيفين A وB في تدفق ثنائي الاتجاه.
يخزن بروتوكول TCP البيانات مؤقتًا في مخزن الإرسال الخاص بالاتصال. يُعد مخزن الإرسال هذا أحد ذاكرات التخزين المؤقت المُعدّة أثناء المصافحة الثلاثية. بعد ذلك، يُرسل بروتوكول TCP البيانات من مخزن الإرسال إلى مخزن الاستقبال الخاص بالمضيف الوجهة في الوقت المناسب. عمليًا، يمتلك كل نظير مخزن إرسال مؤقتًا وآخر للاستقبال، كما هو موضح هنا:
مخزن الإرسال هو مساحة ذاكرة يُديرها تطبيق TCP من جهة المُرسِل، ويُستخدم لتخزين البيانات المُراد إرسالها مؤقتًا. عند إجراء المصافحة الثلاثية لإنشاء اتصال، تُجهّز ذاكرة الإرسال المؤقتة وتُستخدم لتخزين البيانات. يُضبط مخزن الإرسال ديناميكيًا وفقًا لازدحام الشبكة وردود الفعل من المُستقبِل.
مخزن الاستقبال هو مساحة ذاكرة يحتفظ بها تطبيق TCP على جانب الاستقبال، ويُستخدم لتخزين البيانات المُستقبَلة مؤقتًا. يخزّن TCP البيانات المُستقبَلة في ذاكرة الاستقبال المؤقتة، وينتظر أن يقرأها التطبيق الأعلى.
لاحظ أن حجم ذاكرة التخزين المؤقت للإرسال وذاكرة التخزين المؤقت للاستقبال محدود، وعندما تكون ذاكرة التخزين المؤقت ممتلئة، قد يعتمد TCP بعض الاستراتيجيات، مثل التحكم في الازدحام والتحكم في التدفق وما إلى ذلك، لضمان نقل البيانات بشكل موثوق واستقرار الشبكة.
في شبكات الحاسوب، يتم نقل البيانات بين الأجهزة المضيفة عبر قطاعات. فما هي قطاعات الحزمة؟
يُنشئ بروتوكول TCP مقطع TCP، أو مقطع حزمة، بتقسيم التدفق الوارد إلى أجزاء وإضافة رؤوس TCP إلى كل جزء. لا يمكن إرسال كل جزء إلا لفترة زمنية محدودة، ولا يمكن أن يتجاوز الحد الأقصى لحجم الجزء (MSS). في طريقه إلى الأسفل، يمر مقطع الحزمة عبر طبقة الارتباط. تحتوي طبقة الارتباط على وحدة إرسال قصوى (MTU)، وهي الحد الأقصى لحجم الحزمة الذي يمكن أن يمر عبر طبقة ارتباط البيانات. عادةً ما تكون وحدة الإرسال القصوى مرتبطة بواجهة الاتصال.
فما هو الفرق بين MSS وMTU؟
في شبكات الحاسوب، تُعد البنية الهرمية بالغة الأهمية لأنها تراعي الاختلافات بين المستويات المختلفة. لكل طبقة اسم مختلف؛ ففي طبقة النقل، تُسمى البيانات مقطعًا، وفي طبقة الشبكة، تُسمى حزمة IP. لذلك، يُمكن اعتبار وحدة الإرسال القصوى (MTU) بمثابة أقصى حجم لحزمة IP التي يُمكن لطبقة الشبكة نقلها، بينما يُمثل أقصى حجم للمقطع (MSS) مفهومًا في طبقة النقل يُشير إلى أقصى كمية بيانات يُمكن لحزمة TCP نقلها في المرة الواحدة.
لاحظ أنه عندما يكون حجم المقطع الأقصى (MSS) أكبر من وحدة الإرسال القصوى (MTU)، فسيتم تجزئة بروتوكول الإنترنت (IP) على طبقة الشبكة، ولن يُقسّم بروتوكول TCP البيانات الأكبر إلى مقاطع مناسبة لحجم وحدة الإرسال القصوى (MTU). سيكون هناك قسم في طبقة الشبكة مخصص لطبقة بروتوكول الإنترنت (IP).
بنية شريحة حزمة TCP
دعونا نستكشف تنسيق ومحتويات رؤوس TCP.
رقم التسلسلرقم عشوائي يُولّده الحاسوب عند إنشاء الاتصال كقيمة أولية، ويُرسل هذا الرقم التسلسلي إلى المُستقبِل عبر حزمة SYN. أثناء نقل البيانات، يزيد المُرسِل الرقم التسلسلي وفقًا لكمية البيانات المُرسَلة. يُقيّم المُستقبِل ترتيب البيانات بناءً على الرقم التسلسلي المُستقبَل. في حال وجود أي خلل في ترتيب البيانات، يُعيد المُستقبِل ترتيبها لضمان تسلسلها.
رقم الإقرارهذا رقم تسلسلي يُستخدم في بروتوكول TCP لتأكيد استلام البيانات. وهو يشير إلى رقم تسلسل البيانات التالية التي يتوقع المُرسِل استلامها. في اتصال TCP، يُحدد المُستقبِل البيانات التي تم استلامها بنجاح بناءً على رقم تسلسل شريحة حزمة البيانات المُستقبَلة. عندما يستقبل المُستقبِل البيانات بنجاح، يُرسل حزمة إقرار إلى المُرسِل، تحتوي على رقم إقرار الاستلام. بعد استلام حزمة الإقرار، يُمكن للمُرسِل تأكيد استلام البيانات بنجاح قبل تأكيد رقم الرد.
تتضمن بتات التحكم في جزء TCP ما يلي:
بت الإقرارعندما يكون هذا البت 1، فهذا يعني أن حقل رد الإقرار صالح. يحدد بروتوكول TCP أنه يجب ضبط هذا البت على 1 باستثناء حزم SYN عند إنشاء الاتصال لأول مرة.
بت RST:عندما يكون هذا البت 1، فهذا يشير إلى وجود استثناء في اتصال TCP ويجب إجبار الاتصال على الانفصال.
بت SYN:عندما يتم تعيين هذا البت على 1، فهذا يعني أنه سيتم إنشاء الاتصال ويتم تعيين القيمة الأولية لرقم التسلسل في حقل رقم التسلسل.
بت الزعنفة:عندما يكون هذا البت 1، فهذا يعني أنه لن يتم إرسال المزيد من البيانات في المستقبل وأن الاتصال مطلوب.
تتجسد الوظائف والخصائص المتنوعة لبروتوكول TCP في بنية أجزاء حزمة TCP.
ما هو UDP؟ (Mylinking'sشبكة الصنبورووسيط حزم الشبكةيمكن معالجة حزم TCP أو UDP)
بروتوكول مخطط بيانات المستخدم (UDP) هو بروتوكول اتصال بدون اتصال. بالمقارنة مع TCP، لا يوفر UDP آليات تحكم معقدة. يسمح بروتوكول UDP للتطبيقات بإرسال حزم IP مُغلّفة مباشرةً دون الحاجة إلى إنشاء اتصال. عندما يختار المطور استخدام UDP بدلاً من TCP، يتواصل التطبيق مباشرةً مع عنوان IP.
الاسم الكامل لبروتوكول UDP هو بروتوكول مخطط بيانات المستخدم، ويبلغ طول رأس الملف ثمانية بايتات فقط (64 بت)، وهو موجز للغاية. ويكون تنسيق رأس UDP كما يلي:
منافذ الوجهة والمصدر:الغرض الرئيسي منها هو الإشارة إلى العملية التي يجب أن يرسل إليها UDP الحزم.
حجم الحزمة:يحتوي حقل حجم الحزمة على حجم رأس UDP بالإضافة إلى حجم البيانات
المجموع الاختباري:تم تصميمه لضمان تسليم موثوق لرؤوس UDP والبيانات. يتمثل دور المجموع الاختباري في اكتشاف ما إذا كان قد حدث خطأ أو تلف أثناء نقل حزمة UDP لضمان سلامة البيانات.
الاختلافات بين TCP وUDP في Mylinkingشبكة الصنبورووسيط حزم الشبكةيمكن معالجة حزم TCP أو UDP
يختلف TCP وUDP في الجوانب التالية:
اتصالTCP هو بروتوكول نقل يعتمد على الاتصال، ويتطلب إنشاء اتصال قبل نقل البيانات. أما UDP، فلا يتطلب اتصالاً، ويمكنه نقل البيانات فورًا.
كائن الخدمةبروتوكول TCP هو خدمة اتصال من طرف إلى طرف، أي أن الاتصال لا يتواصل إلا مع طرفين. أما بروتوكول UDP، فيدعم الاتصال التفاعلي من طرف إلى طرف، ومن طرف إلى عدة أطراف، ومن عدة أطراف إلى عدة أطراف، مما يسمح بالاتصال مع عدة مضيفين في الوقت نفسه.
مصداقيةيوفر بروتوكول TCP خدمة توصيل البيانات بشكل موثوق، مما يضمن خلوها من الأخطاء والفقدان وعدم تكرارها، ووصولها عند الطلب. أما بروتوكول UDP، فيبذل قصارى جهده ولا يضمن توصيلًا موثوقًا. قد يتعرض بروتوكول UDP لفقدان البيانات وحالات أخرى أثناء النقل.
التحكم في الازدحام والتحكم في التدفقيحتوي بروتوكول TCP على آليات للتحكم في الازدحام وتدفق البيانات، والتي يمكنها تعديل معدل نقل البيانات وفقًا لظروف الشبكة لضمان أمان واستقرار نقل البيانات. أما بروتوكول UDP، فلا يحتوي على آليات للتحكم في الازدحام وتدفق البيانات، لذا حتى في حالة ازدحام الشبكة الشديد، لن يُجري أي تعديلات على معدل إرسال UDP.
النفقات العامة للرأس:يتميز بروتوكول TCP بطول رأسية طويل، عادةً ٢٠ بايت، ويزداد هذا الطول عند استخدام حقول الخيارات. أما بروتوكول UDP، فيتميز بطول رأسية ثابت يبلغ ٨ بايتات فقط، مما يعني أن تكلفة رأسية UDP أقل.
سيناريوهات تطبيق TCP وUDP:
TCP وUDP هما بروتوكولان مختلفان لطبقة النقل، ولديهما بعض الاختلافات في سيناريوهات التطبيق.
بما أن TCP بروتوكول موجه نحو الاتصال، فإنه يُستخدم بشكل أساسي في الحالات التي تتطلب توصيل بيانات موثوقًا. من بين حالات الاستخدام الشائعة:
نقل الملفات عبر FTP:يمكن لـ TCP التأكد من عدم فقدان الملفات أو إتلافها أثناء النقل.
HTTP/HTTPS:يضمن TCP سلامة وصحة محتوى الويب.
لأن UDP بروتوكول بدون اتصال، فهو لا يضمن الموثوقية، ولكنه يتميز بالكفاءة والتزامن. UDP مناسب للسيناريوهات التالية:
حركة مرور منخفضة الحزمة، مثل DNS (نظام اسم المجال):استعلامات DNS هي عادةً حزم قصيرة، ويمكن لـ UDP إكمالها بشكل أسرع.
الاتصالات المتعددة الوسائط مثل الفيديو والصوت:بالنسبة لنقل الوسائط المتعددة مع متطلبات عالية في الوقت الفعلي، يمكن لـ UDP توفير زمن انتقال أقل لضمان إمكانية نقل البيانات في الوقت المناسب.
الاتصالات الإذاعيةيدعم بروتوكول UDP الاتصالات من واحد إلى كثير ومن كثير إلى كثير ويمكن استخدامه لنقل الرسائل الإذاعية.
ملخص
تعلمنا اليوم عن بروتوكول التحكم في الإرسال (TCP). وهو بروتوكول اتصال قائم على تدفق البايتات، وموجه نحو الاتصال. يضمن هذا البروتوكول نقلًا موثوقًا واستقبالًا منظمًا للبيانات من خلال إنشاء اتصال ومصافحة وتأكيد الاستلام. يستخدم بروتوكول TCP المنافذ لتحقيق الاتصال بين العمليات، ويوفر خدمات اتصال مباشرة لعمليات التطبيقات التي تعمل على مضيفين مختلفين. تتميز اتصالات TCP بالازدواج الكامل، مما يسمح بنقل البيانات في اتجاهين متزامنين. على النقيض من ذلك، فإن بروتوكول UDP هو بروتوكول اتصال موجه نحو عدم الاتصال، ولا يوفر ضمانات موثوقية، وهو مناسب لبعض السيناريوهات ذات المتطلبات العالية في الوقت الفعلي. يختلف TCP وUDP في وضع الاتصال، وكائن الخدمة، والموثوقية، والتحكم في الازدحام، والتحكم في التدفق، وغيرها من الجوانب، كما تختلف سيناريوهات تطبيقهما.
وقت النشر: 03-12-2024