تقني · إجابة موثَّقة المصادر
هل SMTP يعمل عبر TCP أم UDP؟ تحليل تقني للبروتوكول
SMTP بروتوكول يعمل عبر TCP. فهو يعتمد على بروتوكول التحكم في الإرسال (Transmission Control Protocol) لضمان تسليم رسائل البريد الإلكتروني بموثوقية وبالترتيب الصحيح ودون فقدان بيانات، وهو أمر حاسم في بروتوكولات الاتصال التي يجب أن يصل فيها كل بايت من الرسالة سليمًا.
لماذا يتطلب SMTP بروتوكول TCP
يتطلب SMTP بروتوكولًا موجّهًا نحو الاتصال لأن تسليم البريد لا يتحمل فقدان الحزم. يوفّر TCP مصافحة ثلاثية لإنشاء الجلسة، وأرقام تسلسل لترتيب الحزم، وإشعارات استلام لتأكيد الوصول. وإذا فُقدت حزمة أثناء الإرسال، يطلب TCP إعادة إرسالها تلقائيًا. أما UDP فهو بروتوكول بلا اتصال ولا يضمن التسليم، مما يجعله غير مناسب لطبيعة جلسات SMTP القائمة على أوامر واستجابات منظّمة.
عملية مصافحة SMTP
يتيح اتصال TCP لـ SMTP إجراء تبادل حواري. فبعد فتح مقبس TCP، يرسل الخادم تحية 220. ثم يرسل العميل EHLO أو HELO لبدء الجلسة. ويستمر هذا التفاعل ذو الحالة عبر الأمرين MAIL FROM وRCPT TO. ومن دون التدفق الموثوق الذي يوفره TCP، لن يتمكن الخادم والعميل من مزامنة هذه الانتقالات بين الحالات أو التعامل مع رموز الأخطاء بفعالية.
منافذ TCP القياسية لـ SMTP
يعمل SMTP على عدة منافذ TCP مسجّلة بحسب حالة الاستخدام. يُستخدم المنفذ 25 لترحيل البريد بين الخوادم. والمنفذ 587 هو المعيار لإرسال العميل باستخدام STARTTLS. ويُستخدم المنفذ 465 لـ TLS الضمني. وتُدار جميع هذه التخصيصات بواسطة IANA وتستخدم تحديدًا طبقة النقل TCP للحفاظ على سلامة الجلسة أثناء إرسال ترويسات الرسائل ونصوصها.
الأمان وطبقة النقل
تغلّف تطبيقات SMTP الحديثة تدفق TCP بـ TLS لتوفير التشفير. ويتحقق ذلك إما بالأمر STARTTLS على المنفذ 587 أو بـ TLS الضمني على المنفذ 465. ولأن TLS نفسه يتطلب طبقة نقل موثوقة لإجراء مصافحته وتبادل مفاتيحه، فإن اتصال TCP الأساسي إلزامي. ويمكن للمطورين استخدام أدوات SendHQ المجانية للتحقق من إعدادات DNS لهذه الاتصالات الآمنة.
المقارنة بالبروتوكولات القائمة على UDP
بينما يستخدم SMTP بروتوكول TCP، تستخدم خدمات أخرى مرتبطة بالبريد مثل DNS بروتوكول UDP لاستعلامات سريعة منخفضة الكلفة. لكن بعد أن يحلّ استعلام DNS عنوان IP لخادم البريد عبر UDP، ينتقل نقل البريد الفعلي إلى TCP. ويتيح هذا النهج الهجين استعلامًا سريعًا وتسليمًا موثوقًا. فيُستخدم UDP للسرعة والكفاءة، ويُستخدم TCP للدقة وإدارة الجلسات.
أسئلة تطرحها الفرق
هل يمكن أن يعمل SMTP عبر UDP؟
لا، فمواصفة SMTP تتطلب تدفق بيانات موثوقًا ومرتبًا، وهو ما يوفره TCP وحده. ولا يدعم UDP إدارة الجلسات اللازمة.
أي منفذ TCP هو الأفضل لإرسال البريد؟
المنفذ 587 هو المنفذ الموصى به لإرسال البريد لأنه يدعم STARTTLS لنقل آمن.
هل يغيّر TLS بروتوكول النقل؟
لا، فـ TLS طبقة تشفير تقع فوق TCP. وهو يشفّر البيانات لكنه يظل معتمدًا على TCP في النقل الفعلي للحزم.
لماذا يستخدم DNS بروتوكول UDP بينما يستخدم SMTP بروتوكول TCP؟
يستخدم DNS بروتوكول UDP للاستعلامات الصغيرة السريعة لتقليل زمن الاستجابة. ويستخدم SMTP بروتوكول TCP لأن فقدان حزمة واحدة قد يُتلف رسالة بريد كاملة.