الخلاصة
- يجمع SSRC حزم فضاء توقيت وتسلسل واحد، لكنه رقم عشوائي مطلوب أن يكون فريداً داخل جلسة RTP، وليس هوية عالمية دائمة.
- إذا اكتشف المصدر أن جهة أخرى تستخدم رقمه، يرسل RTCP BYE للقيمة القديمة، ثم يختار مرشحاً عشوائياً جديداً ويتأكد من أنه غير مستخدم.
- وصول الرقم نفسه من عنوان نقل آخر قد يعني تصادماً أو حلقة أو تغيير NAT أو إعادة تشغيل مترجم أو تنقلاً؛ يضيف CNAME سياقاً للاستمرارية ولا يثبت صاحباً.
رقم واحد لا يستطيع حمل تاريخي تشغيل مستقلين
يربط المستقبل تحت SSRC واحد أرقام التسلسل والطوابع الزمنية وتقارير RTCP وحالة التشغيل. فإذا اختار مصدران مستقلان القيمة نفسها، بدت ساعتان لا علاقة بينهما كأنهما قفزة داخل تدفق واحد. وقد تختلط خسارة حزم متحدث بسجل متحدث آخر.
وضع RFC 1889 عام 1996 معرفاً من 32 بت مستقلاً عن عنوان الشبكة. كان ذلك ضرورياً للمؤتمرات متعددة البث وللممزوجات والمترجمات، حيث لا يصلح العنوان اسماً ثابتاً للمصدر. يختار كل مصدر مزامنة رقماً عشوائياً مقصوداً أن يكون فريداً في جلسة RTP المعنية.
ألغى هذا الاختيار الحاجة إلى موزع مركزي للأرقام قبل بدء الكلام، لكنه أبقى احتمال المصادفة. لذلك كانت معالجة التصادم من المتطلبات العادية منذ البداية.
الاحتمال الصغير لم يكن إعفاءً من الإصلاح
يقدم RFC 3550 مثالين حسابيين. إذا بدأت ألف جهة معاً، فاحتمال وقوع تصادم واحد على الأقل يقارب 10^-4. وإذا دخل مصدر جديد إلى ألف قيمة فريدة قائمة، يقارب الاحتمال 2×10^-7. هذه أمثلة للنموذج وليست معدلات مقاسة.
لا يكفي عنوان IP محلي، إذ تتكرر العناوين الخاصة وتوجد مصادر عدة على الجهاز نفسه. كما قد يعيد مولد عشوائي ضعيف التهيئة السلسلة نفسها في عمليات تبدأ في الوقت ذاته. ويمكن للعضو الجديد أن يستمع قبل أول إرسال، ويرفض قيمة ظهرت بالفعل.
جمع البروتوكول بين تقليل الخطر ومسار تعافٍ موحد. لم يعد أحدهما بديلاً عن الآخر.
BYE أنهت الوسم القديم لا مصدر الوسائط
عندما يرى المصدر أن SSRC الخاص به مستخدم لدى مصدر آخر، يجب أن يرسل RTCP BYE للرقم القديم ثم يختار قيمة عشوائية جديدة. يبحث عن المرشح في جدول المصادر؛ فإذا كان مشغولاً، يولد غيره.
لا يعني الوداع هنا أن الكاميرا أو الميكروفون أو التطبيق غادر. الذي انتهى هو فضاء المزامنة القديم. يوضح RFC 7656 أن لتدفق RTP رقم SSRC واحداً في لحظة معينة، لكنه يستطيع تغييره مع الزمن، والتصادم سبب صحيح لذلك.
إذا عامل المسجل الرقم كشخص دائم، فإنه يقسم كلاماً واحداً إلى مشاركين. وإذا حولت واجهة BYE إلى طرد مستخدم، منحت رقماً قابلاً للتبديل سلطة لم يمنحها له RTP.
كان اختيار المستقبل مؤقتاً لا حكماً بالملكية
قد يكتشف المستقبل تصادم مصدرين آخرين. يسمح RFC 3550 له بالاحتفاظ بحزم أحدهما ورفض الآخر إذا ميزتهما عناوين النقل أو CNAME، بينما يتوقع من المصدرين تغيير الأرقام وحل النزاع.
الحفاظ على المسار الذي استقر أولاً يمنع مزج الساعتين، لكنه لا يثبت أن ذلك المسار يملك الرقم. وصول BYE أو انتهاء الحالة يغير ما يعرفه المستقبل.
يحفظ الجدول أول عنوان نقل لـRTP وأول عنوان لـRTCP منفصلين، لأن منفذي UDP قد يختلفان. وإذا أخفى الممزوج عناوين الأصل، فقد يكشف ظهور CNAME مختلفين تحت SSRC واحد التصادم من جهة التحكم.
الحلقة تبدو مثل مصدر ثانٍ
تعيد حلقة التوجيه الحزمة نفسها من عنوان مختلف. لا يستطيع المستقبل من عدم التطابق الأول أن يعرف هل وجد مصدراً آخر أم نسخة عائدة من مصدر معروف.
لهذا يحتفظ RFC 3550 بقائمة مؤقتة لعناوين RTP وRTCP المتعارضة. إذا تعلق التعارض برقم المصدر نفسه، يغيره مرة ويسجل الطريق. وإذا استمرت النسخ من العنوان ذاته، يتجاهلها. التغيير عند كل دورة كان سيجعل الحلقة تنتج فيضاناً من BYE والأرقام الجديدة.
يجب على الممزوجات والمترجمات كسر الحلقات التي قد تنشئها. لكن RFC 7667 يبين أن الكشف يحتاج إلى فضاء SSRC/CSRC محفوظ بصورة صحيحة. الجلسات المستقلة المتصلة وبعض أشكال التحويل تقطع هذا الدليل وتنقل المسؤولية إلى طبقة أخرى.
تغيير العنوان دليل متعدد التفسيرات
خفف RFC 3550 قاعدة النسخة الأولى: تغيير عنوان النقل قد يصاحبه SSRC جديد، لكنه ليس إلزامياً دائماً. قد ينتقل جهاز محمول ويحافظ على التدفق نفسه. ويستطيع المستقبل قبول المسار الجديد مع منع التنقل المتكرر بين جهتين متصادمتين فعلاً.
إعادة تشغيل مترجم مع منفذ UDP جديد قد تجعل كل الحزم التي يمررها تبدو حلقية. ويشرح RFC 5135 أثر NAT: إذا تغير تعيين العنوان أو المنفذ وبقي SSRC، يبدأ أعضاء الجلسة كشف التصادم، وقد تتعقد أدوات التشخيص ومخازن تفاوت التأخير.
إذن، الحدث لا يثبت هجوماً ولا ازدواجاً متعمداً ولا جهازاً مذنباً بعينه.
حافظ CNAME على استمرارية من نوع آخر
يفصل RFC 7022 بين المحورين. يتغير SSRC بعد تصادم أو إعادة تشغيل، بينما يمكن أن يبقى RTCP CNAME لربط endpoint وتدفقات مترابطة. قد يختار التطبيق استمراراً أطول للمراقبة، أو اسماً جديداً لكل جلسة لتقليل الربط بينها.
لكن CNAME ليس شهادة. يختاره المشاركون ويمكن لأحدهم تقليد قيمة غيره. يساعد في الربط والتشخيص، ولا يصادق شخصاً أو مؤسسة أو حقاً في الكلام.
ولا تلغي الإشارة الحديثة التعافي أثناء التشغيل. يفرض RFC 8834 على WebRTC دعم الاختيار العشوائي وحل تصادم RFC 3550. قد يستخدم الطرفان قيمة جديدة قبل إقرار رسالة الإشارة، كما تضيف وظائف مثل إعادة الإرسال أرقاماً لم يسبق إعلانها.
المصادر والحدود
يرجع الأصل إلى RFC 1889، والخوارزمية الناضجة إلى RFC 3550. يحد RFC 5135 أثر NAT، ويشرح RFC 7022 CNAME، وRFC 7656 معنى التدفق، وRFC 7667 أثر الطوبولوجيا، وRFC 8834 WebRTC. لا تقيس هذه النصوص تصادمات اليوم ولا تثبت توافق منتج أو هوية إنسان أو أصالة وسائط أو نجاح التشغيل.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
