قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  تعليم/ منافذ بروتوكول Rtp. استخدام بروتوكولات الإنترنت في المهاتفة عبر بروتوكول الإنترنت

منافذ بروتوكول RTP. استخدام بروتوكولات الإنترنت في المهاتفة عبر بروتوكول الإنترنت

يناقش هذا القسم بعض جوانب نقل حزم RTP حسب بروتوكولات الشبكة والنقل. ما لم تنص مواصفات البروتوكولات الأخرى على خلاف ذلك ، تنطبق القواعد العامة التالية عند إرسال الحزم.

يعتمد RTP على البروتوكولات الأساسية لتوفير الفصل بين تدفقات بيانات RTP ومعلومات التحكم في RTCP. بالنسبة لبروتوكولات UDP والبروتوكولات المماثلة ، يستخدم RTP رقم منفذ زوجي ، ويستخدم دفق RTCP المقابل منفذ رقم واحد أعلى.

لا تحتوي حزم معلومات RTP على أي حقل طول ، لذلك تعتمد RTP على بروتوكول أساسي لتوفير إشارة إلى الطول. الحد الأقصى لطول حزم RTP محدود فقط بالبروتوكولات الأساسية.

يمكن حمل حزم RTP المتعددة في وحدة بيانات بروتوكول طبقة سفلية واحدة ، مثل حزمة UDP. هذا يقلل من التكرار في الرؤوس ويمكن أن يبسط المزامنة بين التدفقات المختلفة.

9. قائمة ثوابت البروتوكول

يحتوي هذا القسم على قائمة بالثوابت المحددة في مواصفات بروتوكول RTP.

يتم تحديد ثوابت نوع حركة مرور RTP (PT - نوع الحمولة) في ملفات التعريف. ومع ذلك ، يجب ألا تحتوي ثماني بتات رأسية RTP ، التي تحتوي على بت (بتات) العلامة وحقل نمط الحركة ، على القيم المحجوزة 200 و 201 (عشري) لتمييز رزم RTP عن رزم RTCP SR و RR. بالنسبة إلى التنسيق القياسي الذي يحتوي على بتة علامة واحدة وحقل نوع حركة مرور مكون من سبع بتات ، فإن هذا القيد يعني أنه لا ينبغي استخدام نوعي حركة المرور 72 و 73.

يتم اختيار قيم أنواع رزم RTCP (انظر الجدول 1) في النطاق من 200 إلى 204 تحكم أفضلصحة ترويسة رزم RTCP عند مقارنتها بحزم RTP. عند مقارنة حقل نوع حزمة RTCP بالثمانية بتات المقابلة لرأس RTP ، فإن هذا النطاق يتوافق مع بت علامة واحد (وهو ليس هو الحال عادةً في حزم البيانات) وأهم بت في حقل نوع الحركة القياسي يساوي واحد (بينما عادةً ما تحتوي أنواع حركة المرور المحددة بشكل ثابت على قيم PT مع صفر في الرقم الأكثر أهمية). تم اختيار هذا النطاق أيضًا ليكون بعيدًا عن القيمتين 0 و 255 ، نظرًا لأن الحقول التي تتكون بالكامل من الأصفار أو الآحاد تكون في الغالب خاصة بالبيانات.

يتم تحديد أنواع حزم RTCP الأخرى بواسطة مجتمع IANA. للمطورين القدرة على تسجيل القيم التي يحتاجون إليها لإجراء بحث تجريبي ثم إلغاء التسجيل حيث تختفي الحاجة إلى تلك القيم.

يتم عرض أنواع العناصر المسموح بها في حزمة SDES في الجدول. 2. تم تعيين أنواع أخرى من بنود SDES بواسطة مجتمع IANA. يتمتع المطورون بالقدرة على تسجيل القيم التي يحتاجون إليها عند إجراء بحث تجريبي ، ثم إلغاء التسجيل عندما لا تكون هناك حاجة إلى هذه القيم.

10. وصف ملف تعريف حركة المرور وشكلها

كما هو مذكور أعلاه (انظر القسم 2) ، من أجل وصف كامليتطلب بروتوكول RTP لتطبيق معين مستندات إضافية من نوعين: وصف ملف التعريف وتنسيق حركة المرور.

يمكن استخدام RTP للعديد من فئات التطبيقات ذات المتطلبات المختلفة إلى حد كبير. يتم توفير المرونة للتكيف مع هذه المتطلبات من خلال استخدام ملفات تعريف مختلفة (انظر). عادةً ما يستخدم التطبيق ملفًا شخصيًا واحدًا فقط ، ولا يوجد إشارة صريحة إلى ملف التعريف الموجود فيه هذه اللحظةقيد الاستخدام - لا.

تحدد وثيقة إضافية من النوع الثاني ، مواصفات تنسيق حركة المرور ، كيفية إرسال نوع معين من حركة المرور (على سبيل المثال ، إشارة الفيديو المشفرة وفقًا لـ H.261) وفقًا لـ RTP. يمكن استخدام نفس تنسيق حركة المرور لملفات تعريف متعددة ويمكن بالتالي تحديده بشكل مستقل عن ملف التعريف. وثائق الملف الشخصي مسؤولة فقط عن التوافق مع هذا التنسيق وقيمة PT .

يمكن تحديد العناصر التالية في وصف الملف الشخصي ، لكن هذه القائمة ليست شاملة.

رأس حزمة بيانات RTP. يمكن إعادة تعريف الثماني بتات في رأس حزمة بيانات RTP ، والتي تحتوي على بت رمز وحقل نوع حركة المرور ، وفقًا للملف الشخصي لتلبية المتطلبات المختلفة ، على سبيل المثال ، لتوفير عدد أكبر أو أقل من بتات الرمز المميز (القسم 3.3).

أنواع حركة المرور. يحدد ملف التعريف عادةً مجموعة متنوعة من تنسيقات حركة المرور (على سبيل المثال ، خوارزميات ترميز الوسائط) والتخطيط الثابت الافتراضي لهذه التنسيقات وقيم PT. يمكن تعريف بعض تنسيقات حركة المرور بالرجوع إلى أوصاف تنسيق حركة المرور الفردية. لكل نوع معين من حركة المرور ، يجب أن يحدد ملف التعريف معدل ساعة الطابع الزمني RTP المطلوب لاستخدامه (القسم 3.1).

إضافات رأس حزمة بيانات RTP. يمكن إلحاق الحقول الإضافية بالرأس الثابت لحزمة بيانات RTP إذا كانت هناك حاجة إلى بعض الوظائف الإضافية ضمن فئة تطبيق ملف التعريف ، بغض النظر عن نوع حركة المرور. .

امتدادات رأس حزمة بيانات RTP. يجب تحديد محتويات أول 16 بتًا من بنية تمديد رأس حزمة بيانات RTP إذا كان ملف التعريف يسمح باستخدام هذه الآلية. .

أنواع حزم RTCP. يمكن تحديد أنواع حزم RTCP الخاصة بفئة التطبيقات الجديدة (وتسجيلها بواسطة IANA).

الفاصل الزمني للإبلاغ RTCP. يجب أن يحدد الملف الشخصي القيم التي يجب استخدامها في حساب الفاصل الزمني للإبلاغ RTCP: جزء عرض النطاق الترددي لجلسة RTCP ، والحد الأدنى لفترة الإبلاغ ، وتقسيم النطاق الترددي بين المرسلين والمستقبلات.

تمديد حزمة SR / RR. إذا كانت هناك معلومات إضافية عن المصدر أو الوجهة يلزم إرسالها بانتظام ، فيمكن عندئذ تحديد قسم ملحق لحزم RTCP SR و RR.

باستخدام SDES. يمكن أن يحدد الملف الشخصي الأولويات النسبية لعناصر RTCP SDES التي سيتم تمريرها أو إسقاطها (انظر القسم 4.2.2) ؛ بناء جملة أو دلالات بديلة لجملة CNAME (القسم 4.4.1) ؛ تنسيق عنصر LOC (القسم 4.4.5) ؛ يجب تسجيل الدلالات واستخدام فقرة الملاحظة (القسم 4.4.7) وعبارات SDES الجديدة في IANA.

حماية. يمكن للملف الشخصي تحديد خدمات الأمن وتطبيقات الخوارزميات التي تحتاج إلى استخدامها ، ويمكن التحكم في استخدامها (البند 7).

مطابقة كلمة المرور للمفتاح. يمكن أن يحدد ملف التعريف كيفية تحويل كلمة المرور التي أدخلها المستخدم إلى مفتاح تشفير.

بروتوكول الطبقة السفلى. قد تتطلب حزم RTP استخدام شبكة أساسية محددة أو بروتوكول طبقة النقل.

امتثال النقل. يمكن تعريفها بخلاف مراسلات RTP و RTCP القياسية المحددة في الفقرة 8 لنقل عناوين الطبقة ، مثل منافذ UDP.

التغليف. يمكن تعريف تشكيل حزم RTP للسماح بنقل عدة حزم حزم المعلومات RTP في وحدة بيانات بروتوكول طبقة سفلية واحدة (القسم 8).

يجب ألا يتطلب كل تطبيق تقوم بتطويره ملف تعريف جديد. من الأنسب توسيع ملف تعريف موجود داخل فئة واحدة من التطبيقات ، بدلاً من إنشاء ملف تعريف جديد. سيسهل هذا تفاعل التطبيقات ، نظرًا لأن كل منها يعمل عادةً ضمن ملف تعريف واحد فقط. يمكن إنجاز الامتدادات البسيطة ، مثل تحديد قيم PT الإضافية أو أنواع حزم RTCP ، من خلال تسجيلها في IANA ونشر أوصافها في مواصفات ملف التعريف أو في مواصفات تنسيق حركة المرور.

11. ملف تعريف RTP لعقد المؤتمرات الصوتية والمرئية مع الحد الأدنى من التحكم

يصف RFC 1890 ملف تعريف لاستخدام بروتوكول النقل في الوقت الحقيقي RTP الإصدار 2 وبروتوكول التحكم المرتبط به RTCP في مؤتمر صوتي أو فيديو جماعي ، ما يسمى بملف تعريف RTP لمؤتمرات الصوت والفيديو مع الحد الأدنى من التحكم (ملف تعريف RTP للصوت و مؤتمرات الفيديو مع الحد الأدنى من التحكم). يحدد ملف التعريف هذا جوانب RTP غير المحددة في مواصفات بروتوكول الإصدار 2 من RTP (RFC 1889). يعني الحد الأدنى من التحكم أنه لا يلزم دعم تفاوض المعلمات أو التحكم في الملكية (على سبيل المثال ، عند استخدام التعيينات الثابتة لأنواع حركة المرور وإشارات الملكية التي يوفرها RTCP). دعونا ننظر في الأحكام الرئيسية لهذا الملف الشخصي.

11.1. تنسيقات حزم RTP و RTCP ومعلمات البروتوكول

يحتوي هذا القسم على وصف لعدد من العناصر التي يمكن تعريفها أو تغييرها في ملف التعريف.

رأس حزمة معلومات RTP. يتم استخدام التنسيق القياسي للرأس الثابت لحزم معلومات RTP (بت رمز واحد).

أنواع حركة المرور. يتم تحديد القيم الثابتة لأنواع حركة المرور في القسمين 11.3 و 11.4.

إضافات رأس حزمة معلومات RTP. لم يتم إلحاق أي حقول ثابتة إضافية برؤوس حزم معلومات RTP.

ملحقات رأس حزمة معلومات RTP. لم يتم تحديد ملحقات رأس حزمة معلومات RTP ، لكن التطبيقات التي تستخدم ملف التعريف هذا قد تستخدم مثل هذه الامتدادات. أي أنه لا ينبغي الافتراض في التطبيقات أن البتة X لرأس RTP هي دائمًا صفر. يجب أن تكون التطبيقات جاهزة لتجاهل امتداد الرأس. إذا تم تحديد امتداد رأس في المستقبل ، فيجب تحديد محتويات أول 16 بتًا بحيث يمكن تحديد العديد من الامتدادات المختلفة.

أنواع حزم RTCP. لم يتم تحديد أنواع حزم RTCP إضافية في مواصفات ملف التعريف هذا.

الفاصل الزمني للإبلاغ RTCP. يجب استخدام الثوابت المقترحة في RFC 1889 عند حساب فترة تقارير RTCP.

امتدادات حزمة SR / RR. لا توجد امتدادات لحزم RTCP SR و RR.

باستخدام SDES. يمكن للتطبيقات استخدام أي من بنود SDES الموضحة. بينما يتم إرسال معلومات الاسم المتعارف عليه (CNAME) في كل فاصل زمني للتقارير ، يجب إرسال العناصر الأخرى فقط في كل فاصل خامس للتقارير.

حماية. يتم تعريف خدمات أمان RTP الافتراضية أيضًا بشكل افتراضي بواسطة ملف التعريف هذا.

مطابقة كلمة المرور للمفتاح. يتم تحويل كلمة المرور التي أدخلها المستخدم باستخدام خوارزمية MD5 إلى ملخص 16 ثماني بتات. يتم الحصول على مفتاح N-bit من ملخص باستخدام بتات N الأولى. من المفترض أن تتضمن كلمة المرور أحرف وأرقام وواصلات ومسافات ASCII فقط لتقليل احتمالية التشويه عند إرسال كلمات المرور عبر الهاتف أو الفاكس أو التلكس أو البريد الإلكتروني. قد تكون كلمة المرور مسبوقة بمواصفات خوارزمية التشفير. يتم تفسير أي أحرف حتى العلامة المائلة للأمام الأول (رمز ASCII 0x2f) على أنها اسم خوارزمية التشفير. إذا لم يكن هناك شرطة مائلة للأمام ، فإن الافتراضي هو تشفير DES-CBC.

قبل تطبيق خوارزمية الإغلاق ، يتم تحويل كلمة المرور التي أدخلها المستخدم إلى شكل أساسي. للقيام بذلك ، يتم تحويل كلمة المرور إلى مجموعة أحرف ISO 10646 باستخدام ترميز UTF-8 كما هو محدد في الملحق P إلى ISO / IEC 10646-1: 1993 (لا تتطلب أحرف ASCII أي تحويل) ؛ تتم إزالة المسافات في بداية ونهاية كلمة المرور ؛ يتم استبدال مسافتين أو أكثر بمسافة واحدة (ASCII أو UTF-8 0x20) ؛ يتم تحويل جميع الأحرف إلى أحرف صغيرة

البروتوكول الأساسي. يحدد ملف التعريف استخدام RTP عبر UDP في الوضع ثنائي الاتجاه والبث المتعدد.

امتثال النقل. يتم استخدام المراسلات القياسية بين عناوين طبقة النقل RTP و RTCP.

التغليف. تغليف حزم RTP غير محدد.

11.2. تسجيل أنواع المرور

يحدد ملف التعريف هذا أنواع الترميز القياسية المستخدمة مع RTP. يجب تسجيل أنواع التشفير الأخرى لدى IANA قبل الاستخدام. عند تسجيل نوع جديد من الترميز ، يجب توفير المعلومات التالية:

  • الاسم الرمزي لنوع التشفير ومعدل الساعة للطابع الزمني RTP (يجب أن يكون الاسم الرمزي بطول ثلاثة أو أربعة أحرف لتوفير تمثيل مضغوط ، إذا لزم الأمر) ؛
  • إشارة إلى من له الحق في تغيير نوع التشفير (على سبيل المثال ، ISO ، CCITT / ITU ، منظمات المعايير الدولية الأخرى ، الاتحاد ، شركة محددة أو مجموعة شركات) ؛
  • أي معلمات تشغيل ؛
  • روابط للأوصاف المتاحة لخوارزمية التشفير ، مثل (بترتيب التفضيل) RFC ، أو مقالة منشورة ، أو إيداع براءة اختراع ، أو تقرير تقني ، أو مصدر ترميز ، أو مرجع ؛
  • لأنواع التشفير الخاصة ، ومعلومات الاتصال (العنوان البريدي وعنوان البريد الإلكتروني) ؛
  • قيمة للإشارة إلى نوع حركة المرور لهذا الملف الشخصي ، إذا لزم الأمر (انظر أدناه).
  • لاحظ أنه لا يلزم تعيين جميع أنواع الترميز التي سيتم استخدامها مع RTP بشكل ثابت. يمكن استخدام الوسائل غير RTP ، والتي لم يتم تناولها في هذه المقالة ، لمطابقة قيمة نوع حركة المرور (PT) ديناميكيًا بين 96 و 127 ونوع تشفير.
  • مساحة القيمة المتاحة لأنواع حركة المرور صغيرة جدًا. يتم تعيين أنواع حركة المرور الجديدة بشكل ثابت (دائم) فقط في حالة استيفاء الشروط التالية:
  • الترميز له أهمية كبيرة للمجتمع شبكات الإنترنت;
  • يقدم مزايا مماثلة للتشفير الحالي و / أو مطلوب للتشغيل البيني مع أنظمة المؤتمرات أو الوسائط المتعددة الحالية والمستخدمة على نطاق واسع ؛
  • الوصف كافٍ لإنشاء وحدة فك ترميز.

11.3. ترميز الصوت

بالنسبة للتطبيقات التي لا ترسل حزمًا أثناء الإيقاف المؤقت ، يتم تمييز حزمة الكلام النشطة الأولى (الحزمة الأولى بعد الإيقاف المؤقت) بواسطة بت رمز تم ضبطه على واحد في رأس حزمة بيانات RTP. التطبيقات التي لا تحتوي على خاصية منع الصمت تضبط هذا البت على الصفر.

ساعة RTP المستخدمة لإنشاء الطابع الزمني RTP مستقلة عن عدد القنوات ونوع التشفير ؛ يساوي عدد فترات أخذ العينات في الثانية. بالنسبة لتشفير القناة N (ستيريو ، رباعي ، إلخ) ، تولد كل فترة أخذ العينات (على سبيل المثال 1/8000 من الثانية) عينات N. إجمالي عدد العينات التي تم إنشاؤها في الثانية يساوي معدل العينة مضروبًا في عدد القنوات.

عند استخدام قنوات صوتية متعددة ، يتم ترقيمها من اليسار إلى اليمين ، بدءًا من الأولى. في حزم الصوت RTP ، تسبق البيانات من القنوات ذات الأرقام الأقل البيانات من القنوات ذات الأرقام الأعلى. لأكثر من قناتين ، استخدم الأنظمة التاليةالتعيينات:

  • ل - اليسار ؛
  • ص - حق
  • ج - مركزي
  • S - طرفي
  • F - أمامي
  • R - العودة.
عدد القنوات اسم النظام أرقام القنوات
1 2 3 4 5 6
2 ستيريو ل ص
3 ل ص ج
4 رباعية فلوريدا الاب رل ص
4 ل ج ص س
5 فلوريدا الاب إف سي Sl ريال سعودى
6 ل ل ج ص RC س

يجب أن تكون عينات جميع القنوات التي تنتمي إلى نفس وقت أخذ العينات داخل نفس الحزمة. يعتمد تشذير العينات من قنوات مختلفة على نوع التشفير.

يجب تحديد معدل أخذ العينات من مجموعة متنوعة: 8000 ، 11025 ، 16000 ، 22050 ، 24000 ، 32000 ، 44100 و 48000 هرتز (أجهزة كمبيوتر Apple Macintosh لها معدلات أخذ العينات الخاصة بها من 22254.54 و 11127.27 ، والتي يمكن تحويلها إلى 22050 و 11025 ثانية جودة مقبولة بتخطي أربع أو عينتين في إطار 20 مللي ثانية). ومع ذلك ، يتم تعريف معظم خوارزميات التشفير الصوتي لمجموعة محدودة من معدلات العينة. يجب أن يكون المستلمون مستعدين لاستقبال صوت متعدد القنوات ، ولكن يمكنهم أيضًا تحديد صوت أحادي.

بالنسبة إلى رزم الصوت ، يجب أن تكون فترة الرزم الافتراضية 20 مللي ثانية ، ما لم يُنص على خلاف ذلك في وصف التشفير. يحدد الفاصل الزمني للحزم الحد الأدنى من زمن الانتقال من طرف إلى طرف. تحتوي الحزم الأطول على وحدات بايت أقل نسبيًا للرأس ، ولكنها تسبب مزيدًا من التأخير وتجعل فقدان الحزمة أكثر أهمية. بالنسبة للتطبيقات غير التفاعلية مثل المحاضرات أو القنوات ذات قيود النطاق الترددي الكبيرة ، قد يكون زمن انتقال الحزم الأعلى مقبولاً. يجب أن يستقبل جهاز الاستقبال حزمًا بها إشارة صوتية مع تأخير من 0 إلى 200 مللي ثانية. يوفر هذا القيد حجم مخزن مؤقت مقبول لجهاز الاستقبال.

في التشفير القائم على العينة ، يتم تمثيل كل عينة إشارة بعدد ثابت من البتات. ضمن البيانات الصوتية المضغوطة ، قد تعبر رموز العينة الفردية حدود ثماني بتات. يتم تحديد مدة الإشارة المرسلة في الحزمة الصوتية بعدد العينات في الحزمة.

بالنسبة لأنواع الترميز القائمة على العينة والتي تنتج ثماني بتات واحد أو أكثر لكل عينة ، فإن العينات المأخوذة من قنوات مختلفة تم أخذ عينات منها في وقت واحد يتم تعبئتها في ثماني بتات متجاورة. على سبيل المثال ، لتشفير صوت ستريو ، تسلسل الثماني بتات هو: القناة اليسرى ، العينة الأولى ؛ القناة الصحيحة ، العد الأول ؛ القناة اليسرى ، العد الثاني ؛ القناة الصحيحة ، العد الثاني ، إلخ. في الترميز متعدد الثماني ، يتم إرسال أهم ثماني بتات أولاً. يتم تحديد تعبئة الترميزات القائمة على العينة والتي تنتج أقل من ثماني بتات واحدة لكل عينة بواسطة خوارزمية التشفير.

تقوم خوارزمية التشفير على أساس الرتل بتحويل فدرة سمعية ذات طول ثابت إلى فدرة بيانات مضغوطة أخرى ، وعادة ما تكون ذات طول ثابت أيضًا. بالنسبة إلى الترميزات القائمة على الإطارات ، يمكن للمرسل دمج العديد من هذه الإطارات في رسالة واحدة.

بالنسبة إلى برامج الترميز القائمة على الرتل ، يكون ترتيب القنوات خاصًا بالكتلة بأكملها. أي بالنسبة للصوت المجسم ، يتم ترميز عينات القناتين اليمنى واليسرى بشكل مستقل ؛ حيث يسبق إطار التشفير للقناة اليسرى إطار القناة اليمنى.

يجب أن تكون جميع برامج ترميز الصوت الموجهة للإطار قادرة على تشفير وفك تشفير إطارات متتالية متعددة يتم إرسالها ضمن حزمة واحدة. نظرًا لأنه تم تحديد حجم الإطار لبرامج الترميز الموجهة نحو الإطار ، فلا داعي لاستخدام ترميز منفصل لنفس التشفير ، ولكن مع عدد مختلف من الإطارات في الحزمة.

طاولة يوضح الشكل 3 قيم أنواع حركة المرور (PT) المحددة بواسطة ملف التعريف هذا للإشارات الصوتية الخاصة بهم أسطورةوالرئيسي تحديدخوارزميات الترميز.

11.4. ترميز الفيديو

طاولة يوضح الشكل 4 قيم أنواع التشفير (PT) ورموز خوارزميات التشفير والخصائص التقنية لخوارزميات تشفير الفيديو المحددة بواسطة هذا المظهر الجانبي ، بالإضافة إلى قيم PT غير المعينة والمحجوزة والمحددة ديناميكيًا.

يمكن تحديد قيم نوع حركة المرور في النطاق من 96 إلى 127 ديناميكيًا من خلال بروتوكول التحكم في المؤتمر ، والذي لم يتم تناوله في هذه المقالة. على سبيل المثال ، قد يحدد دليل الجلسة أنه لجلسة معينة ، يشير نوع حركة المرور 96 إلى تشفير PCMU ثنائي القناة بمعدل أخذ عينات يبلغ 8000 هرتز. لا يتم استخدام نطاق قيم نوع حركة المرور المحددة على أنها "محجوزة" حتى يمكن تمييز حزم RTCP و RTP بشكل موثوق .

مصدر RTP في أي نقطة زمنية معينة ينتج نوعًا واحدًا فقط من حركة المرور ؛ تشذير حركة المرور أنواع مختلفةفي جلسة واحدة غير مسموح بـ RTP. يمكن استخدام عدة جلسات RTP بالتوازي لنقل أنواع مختلفة من حركة المرور. تشير أنواع حركة المرور المحددة في ملف التعريف هذا إلى الصوت أو الفيديو ، وليس كليهما. ومع ذلك ، يُسمح بتعريف أنواع حركة المرور المدمجة التي تجمع ، على سبيل المثال ، الصوت والفيديو ، مع الفصل المناسب في تنسيق حركة المرور.

يجب أن تكون التطبيقات الصوتية التي تستخدم ملف التعريف هذا ، على الأقل ، قادرة على إرسال واستقبال أنواع حركة المرور من النوع 0 (PCMU) و 5 (DVI4). هذا يسمح بإمكانية التشغيل المتداخل بدون التفاوض على التنسيق.

11.5. إحالة الميناء

كما هو محدد في وصف بروتوكول RTP ، يجب إرسال بيانات RTP عبر منفذ UDP ذي الأرقام الزوجية ، ويجب إرسال حزم RTCP المقابلة عبر رقم منفذ ذي رقم فردي.

يمكن للتطبيقات التي تستخدم ملف التعريف هذا استخدام أي زوج من منافذ UDP. على سبيل المثال ، قد يتم تعيين زوج من المنافذ بشكل عشوائي بواسطة برنامج إدارة الجلسة. لا يمكن تحديد زوج ثابت واحد من أرقام المنافذ ، لأنه في بعض الحالات يجب أن تعمل العديد من التطبيقات التي تستخدم هذا الملف الشخصي بشكل صحيح على نفس المضيف ، ولا تسمح بعض أنظمة التشغيل لعمليات متعددة باستخدام نفس منفذ UDP مع عناوين متعددة البث المختلفة.

ومع ذلك ، يمكن أن تكون أرقام المنافذ الافتراضية 5004 و 5005. يمكن للتطبيقات التي تستخدم ملفات تعريف متعددة تحديد زوج المنافذ هذا كمؤشر لهذا الملف الشخصي. ولكن يمكن أن تتطلب التطبيقات أيضًا تحديد زوج المنافذ بشكل صريح.

12. قائمة المصطلحات والمختصرات المستخدمة

  • ASCII (الكود القياسي الأمريكي لتبادل المعلومات) هو الكود القياسي الأمريكي لتبادل المعلومات. كود عرض 7 بت معلومات نصيةتستخدم مع بعض التعديلات في معظم أنظمة الحوسبة
  • CBC (تسلسل كتلة التشفير) - سلسلة الكتل المشفرة ، الوضع القياسي لتشفير البيانات DES
  • CELP (توقع خطي متحمس بالشفرة) - نوع من ترميز الصوت يستخدم التنبؤ الخطي المشفر بالشفرة
  • CNAME (الاسم المتعارف عليه) - الاسم المتعارف عليه
  • CSRC (مصدر مساهم) - مصدر مضمن. مصدر تدفق حزم RTP الذي ساهم في التدفق المشترك الناتج عن خالط RTP. يُدرج الخلاط في رأس حزمة RTP قائمة بمعرفات SSRC لتلك المصادر التي شاركت في تشكيل هذه الحزمة. هذه القائمة تسمى قائمة CSRC. مثال: ينقل جهاز المزج معرفات المشاركين في الاجتماع عن بُعد الذين يتحدثون حاليًا والذين تم خلط أصواتهم واستخدامها لإنشاء حزمة صادرة ، وتوجيه المستلم إلى مصدر الرسالة الحالي ، حتى إذا كانت جميع حزم الصوت تحتوي على نفس معرف SSRC (مثل جهاز مزج الأصوات)
  • معيار تشفير البيانات DES - معيار تشفير البيانات
  • IANA (هيئة الأرقام المخصصة للإنترنت) - مجتمع الأرقام المخصصة للإنترنت
  • IMA (جمعية الوسائط المتعددة التفاعلية) - جمعية الوسائط المتعددة التفاعلية
  • IP (بروتوكول الإنترنت) - بين بروتوكول الشبكةبروتوكول طبقة الشبكة بروتوكول مخطط البيانات. يسمح للحزم بعبور شبكات متعددة في طريقها إلى وجهتها
  • IPM (IP Multicast) - البث المتعدد باستخدام بروتوكول IP
  • LD-CELP (تنبؤ خطي متحمس بتأخير منخفض) - خوارزمية ترميز الكلام باستخدام التنبؤ الخطي المتحمس بالشفرة مع تأخير منخفض
  • LPC (الترميز التنبئي الخطي) - الترميز التنبئي الخطي
  • NTP (بروتوكول وقت الشبكة) هو عد تنازلي للوقت بالثواني بالنسبة إلى صفر ساعة في 1 يناير 1900. تنسيق الطابع الزمني NTP الكامل هو رقم ذو نقطة ثابتة 64 بت بدون إشارة مع جزء عدد صحيح في أول 32 بت وجزء كسري في آخر 32 بت. في بعض الحالات ، يتم استخدام تمثيل أكثر إحكاما ، حيث يتم أخذ 32 بت الأوسط فقط من التنسيق الكامل: أقل 16 بت من الجزء الصحيح والجزء العلوي 16 بت من الجزء الكسري.
  • RPE / LTP (إثارة النبضة المتبقية / التنبؤ طويل المدى) - خوارزمية ترميز الكلام مع إثارة النبضات التفاضلية والتنبؤ طويل المدى
  • RTCP (بروتوكول التحكم في الوقت الحقيقي) - بروتوكول التحكم في نقل البيانات في الوقت الفعلي
  • RTP (بروتوكول النقل في الوقت الفعلي) - بروتوكول النقل في الوقت الفعلي
  • SSRC (مصدر التزامن) - مصدر التزامن. مصدر تدفق حزم RTP ، المحدد بواسطة معرف SSRC الرقمي المكون من 32 بت والمحمول في رأس RTP ، بغض النظر عن عنوان الشبكة. تستخدم جميع الحزم التي لها نفس مصدر المزامنة نفس التوقيت ومساحة رقم التسلسل ، لذلك يقوم جهاز الاستقبال بتجميع الحزم للتشغيل مع مصدر المزامنة. مثال على مصدر التزامن: مرسل دفق الحزم المتلقاة من مصدر إشارة نوع الميكروفونأو كاميرا الفيديو أو خلاط RTP. قد يغير مصدر المزامنة تنسيق البيانات بمرور الوقت ، على سبيل المثال ، ترميز الصوت... معرف SSRC هو قيمة محددة عشوائيًا تعتبر فريدة عالميًا في جلسة RTP معينة. لا يحتاج المشترك عن بعد إلى استخدام نفس SSRC لجميع جلسات RTP في جلسة اتصالات الوسائط المتعددة ؛ يتم توفير تجميع هوية SSRC من خلال RTCP. إذا قام أحد المشاركين بإنشاء تدفقات متعددة في جلسة RTP واحدة ، على سبيل المثال ، من كاميرات فيديو متعددة ، فيجب تحديد كل دفق بواسطة SSRC منفصل
  • TCP (بروتوكول التحكم في الإرسال) هو بروتوكول طبقة نقل يستخدم بالاقتران مع IP
  • UDP (بروتوكول مخطط بيانات المستخدم) هو بروتوكول طبقة نقل بدون اتصال. يسمح UDP فقط بإرسال الحزمة إلى محطة واحدة أو أكثر على الشبكة. يتم التحقق من صحة نقل البيانات وضمان سلامتها (التسليم المضمون) على مستوى أعلى
  • ADPCM - تعديل كود النبض التفاضلي التكيفي
  • الارتعاش - الارتعاش ، أو انحرافات الطور أو التردد للإشارة ؛ فيما يتعلق بالمهاتفة عبر بروتوكول الإنترنت - مخالفات في تأخير مخططات البيانات في الشبكة
  • ZPD - وصلة نقل البيانات (المستوى الثاني من النموذج المرجعي للتفاعل أنظمة مفتوحة)
  • IVS - شبكات المعلومات والحاسوب
  • mixer - نظام وسيط يتلقى حزم RTP من مصدر واحد أو أكثر ، وربما يغير تنسيق البيانات ، ويجمع الحزم في حزمة جديدة RTP ثم ينقلها. نظرًا لأن العديد من مصادر الإشارات غير متزامنة بشكل عام ، يقوم الخلاط بضبط توقيت تدفقات المكون ويولد توقيته الخاص للتيار المدمج. وبالتالي ، يتم تحديد جميع حزم المعلومات التي تم إنشاؤها بواسطة الخلاط على أنها تحتوي على الخلاط كمصدر للمزامنة.
  • مراقب (مراقب) - تطبيق يتلقى حزم RTCP التي يرسلها المشاركون في جلسة RTP ، ولا سيما تقارير الاستقبال ، ويقيم الجودة الحالية للخدمة لمراقبة التوزيع واكتشاف الأخطاء والإحصاءات طويلة المدى. عادةً ما تكمن وظائف الشاشة في التطبيقات المستخدمة في الجلسة ، ولكن يمكن أن تكون الشاشة أيضًا تطبيقًا منفصلاً لا يتم استخدامه بطريقة أخرى ، ولا يرسل أو يستقبل حزم بيانات RTP. تسمى هذه التطبيقات شاشات الطرف الثالث.
  • قطاع تقييس الاتصالات - قطاع تقييس الاتصالات بالاتحاد الدولي للاتصالات
  • نظام النهاية - تطبيق يقوم بإنشاء محتوى يتم إرساله في حزم RTP و / أو يستهلك محتوى حزم RTP المستلمة. يمكن أن يعمل النظام النهائي كمصدر ساعة واحد أو أكثر (ولكن عادةً واحد فقط) في كل جلسة RTP
  • حزمة RTCP - حزمة تحكم تتكون من جزء ثابت من الرأس ، على غرار حزم معلومات RTP ، متبوعة بعناصر هيكلية تختلف اعتمادًا على نوع حزمة RTCP. عادةً ، يتم إرسال حزم RTCP متعددة معًا كحزمة RTCP مركبة في حزمة بروتوكول أساسية واحدة ؛ يتم توفير ذلك من خلال حقل الطول في الرأسية الثابتة لكل رزمة RTCP
  • حزمة RTP هي وحدة بيانات بروتوكول تتكون من رأس RTP ثابت ، وربما قائمة فارغة من المصادر المضمنة والإضافات وحركة المرور. عادةً ما تحتوي حزمة بروتوكول الطبقة السفلى على حزمة RTP واحدة ، ولكن يمكن أن يكون هناك العديد منها
  • المنفذ هو تجريد تستخدمه بروتوكولات مستوى النقل للتمييز بين وجهات متعددة داخل كمبيوتر مضيف واحد. يتم تحديد الميناء برقمه. وبالتالي ، فإن رقم المنفذ هو رقم يحدد التطبيق المحدد الذي من أجله يتم إرسال البيانات المرسلة. يتم تضمين هذا الرقم ، بالإضافة إلى معلومات حول البروتوكول (على سبيل المثال ، TCP أو UDP) المستخدم في الطبقة العليا ، ضمن معلومات الخدمة الأخرى في مخططات البيانات المرسلة عبر الإنترنت. محددات النقل (TSEL) التي يستخدمها النقل طبقة OSI، تعادل المنافذ
  • الملف الشخصي (الملف الشخصي) - مجموعة من المعلمات لبروتوكولات RTP و RTCP لفئة من التطبيقات ، والتي تحدد ميزات عملها. يحدد ملف التعريف استخدام بت الرمز المميز وحقول نوع حركة المرور في رأس حزمة بيانات RTP ، وأنواع حركة المرور ، وإضافات رأس حزمة بيانات RTP ، وأول 16 بتًا من تمديد رأس حزمة بيانات RTP ، وأنواع حزم RTCP ، وفاصل تقارير RTCP ، وحزمة SR / RR التمديد وحزم SDES للاستخدام والخدمات والخوارزميات لضمان أمان الاتصال وميزات استخدام بروتوكول الطبقة السفلية
  • جلسة RTP (جلسة RTP) - التواصل مع العديد من المشاركين الذين يتفاعلون عبر بروتوكول RTP. لكل مشارك ، يتم تحديد الجلسة بواسطة زوج معين من عناوين النقل الوجهة (واحد عنوان الشبكةبالإضافة إلى اثنين من المنافذ لـ RTP و RTCP). يمكن أن يكون زوج من عناوين وجهة النقل شائعًا لجميع المشاركين (كما في حالة IPM) أو يمكن أن يكون مختلفًا لكل منهما (عنوان شبكة فردي وزوج مشترك من المنافذ ، كما هو الحال في الاتصال ثنائي الاتجاه). في جلسة الوسائط المتعددة ، يتم إرسال كل نوع من حركة المرور في جلسة RTP منفصلة مع حزم RTCP الخاصة بها. تتميز جلسات الإرسال المتعدد RTP بأرقام أزواج منافذ مختلفة و / أو عناوين إرسال متعدد مختلفة
  • الوسائل غير RTP - البروتوكولات والآليات التي قد تكون مطلوبة بالإضافة إلى RTP لتقديم خدمة مقبولة. خاصة بالنسبة للمؤتمرات متعددة الوسائط ، يمكن لتطبيق إدارة المؤتمرات تخصيص عناوين البث المتعدد ومفاتيح التشفير ، والتفاوض بشأن خوارزمية التشفير المراد استخدامها ، وتحديد التعيينات الديناميكية بين قيم نوع حركة مرور RTP وتنسيقات حركة المرور التي تمثلها (التنسيقات التي لا تحتوي على قيمة محددة مسبقًا. نوع حركة المرور). ل تطبيقات بسيطةيمكن أن تستخدم أيضا بريد الالكترونيأو قاعدة بيانات المؤتمر
  • مترجم - نظام وسيط يعيد توجيه حزم RTP دون تغيير معرّف مصدر المزامنة. أمثلة على المترجمين: الأجهزة التي تقوم بتحويل الشفرة بدون خلط ، أو أجهزة النسخ المتماثل متعددة الاتجاهات أو ثنائية الاتجاه ، وتطبيقات طبقة التطبيقات في جدران الحماية
  • عنوان النقل - مجموعة من عنوان الشبكة ورقم المنفذ الذي يحدد نقطة نهاية طبقة النقل ، مثل عنوان IP ورقم منفذ UDP. يتم إعادة توجيه الحزم من عنوان النقل المصدر إلى عنوان النقل الوجهة
  • حركة مرور RTP - بيانات الوسائط المتعددة المرسلة في حزمة RTP ، مثل عينات الصوت أو بيانات الفيديو المضغوطة
  • PSTN - شبكات الهاتف العامة

المشكلة الأكثر إلحاحًا هي نقص مساحة العنوان بشكل متزايد ، الأمر الذي يتطلب تغيير تنسيق العنوان.

هناك مشكلة أخرى تتمثل في الافتقار إلى قابلية التوسع في التوجيه ، وهو أساس شبكات IP. يتسبب النمو السريع للشبكة في حدوث ازدحام على أجهزة التوجيه ، والتي يتعين عليها اليوم الحفاظ على جداول التوجيه مع عشرات أو مئات الآلاف من الإدخالات ، بالإضافة إلى حل مشكلة تجزئة الحزمة. من الممكن تسهيل عمل أجهزة التوجيه ، على وجه الخصوص ، عن طريق ترقية بروتوكول IP.

إلى جانب إدخال وظائف جديدة مباشرة في بروتوكول IP ، فمن المستحسن ضمان تفاعله الوثيق مع البروتوكولات الجديدة من خلال إدخال حقول جديدة في رأس الحزمة.

نتيجة لذلك ، تقرر ترقية بروتوكول IP ، لتحقيق الأهداف الرئيسية التالية:

  • إنشاء نظام جديد موسع عنونة ؛
  • تحسين قابلية توسيع الشبكة عن طريق تقليل وظائف أجهزة التوجيه الأساسية ؛
  • ضمان حماية البيانات.

توسيع مساحة العنوان... يحل بروتوكول IP المشكلة المحتملة المتمثلة في النقص في العناوين من خلال توسيع عرض العنوان إلى 128. ومع ذلك ، تم إجراء مثل هذه الزيادة الكبيرة في طول العنوان إلى حد كبير ليس لإزالة مشكلة النقص في العناوين ، ولكن لتحسين كفاءة الشبكات القائمة على هذا البروتوكول. كان الهدف الرئيسي هو تغيير نظام العنونة هيكليًا وتوسيع وظائفه.

بدلاً من المستويين الحاليين للتسلسل الهرمي للعناوين (رقم الشبكة ورقم العقدة) ، يقترح IPv6 استخدام أربعة مستويات ، مما يعني تحديد شبكة من ثلاثة مستويات ومستوى واحد لتعريف العقدة.

الآن العنوان مكتوب بصيغة سداسية عشرية ، مع فصل كل أربعة أرقام عن بعضها بنقطتين ، على سبيل المثال:

FEDC: 0A96: 0: 0: 0: 0: 7733: 567A.

بالنسبة للشبكات التي تدعم كلا الإصدارين من بروتوكول IPv4 و IPv6 ، من الممكن استخدام التدوين العشري التقليدي للبايتات السفلية ، والسداسي العشري للأجزاء العلوية:

0: 0: 0: 0: FFFF 194.135.75.104.

داخل نظام العنونة IPv6 ، توجد أيضًا مساحة عنوان مخصصة للاستخدام المحلي ، أي للشبكات خارج الإنترنت. هناك نوعان العناوين المحلية: للشبكات "المسطحة" التي لا تحتوي على شبكات فرعية (ارتباط محلي) وللشبكات المقسمة إلى شبكات فرعية (موقع محلي) ، والتي تختلف في قيمة البادئة.

تغيير تنسيق رؤوس الحزمة. يمكن تحقيق ذلك من خلال مخطط التنظيم الجديد "للعناوين المتداخلة" ، والذي يوفر تقسيم العنوان إلى العنوان الرئيسي ، والذي يحتوي على الحد الأدنى الضروري من المعلومات ، والمعلومات الإضافية التي قد تكون غائبة. يفتح هذا النهج فرصًا غنية لتوسيع البروتوكول من خلال تحديد رؤوس اختيارية جديدة ، مما يجعل البروتوكول مفتوحًا.

يحتوي رأس مخطط بيانات IPv6 الأساسي المكون من 40 بايتًا على التنسيق التالي (الشكل 2.4).

حقل فئة المروريعادل الغرض من هذا المجال نوع الخدمةوالميدان حد القفزة- حقل وقت العيشبروتوكول IPv4.

حقل تسمية التدفقيسمح لك بعزل ومعالجة تدفقات البيانات الفردية على وجه التحديد دون الحاجة إلى تحليل محتويات الحزم. هذا مهم جدًا من حيث تقليل الحمل على أجهزة التوجيه.

حقل العنوان التالييماثل حقل بروتوكول IPv4 ويحدد نوع الرأس الذي يلي الرأس الرئيسي. يحتوي كل رأس إضافي لاحق أيضًا على حقل "العنوان التالي".

2.3.3. بروتوكول TCP

بروتوكول التحكمتم تطوير نقل المعلومات (بروتوكول التحكم في الإرسال - TCP) لدعم الاتصال التفاعلي بين أجهزة الكمبيوتر. يضمن بروتوكول TCP موثوقية وموثوقية تبادل البيانات بين العمليات على أجهزة الكمبيوتر التي تعد جزءًا من شبكة مشتركة.

لسوء الحظ ، TCP غير قادر على الإرسال معلومات الوسائط المتعددة... السبب الرئيسي هو وجود سيطرة على التسليم. تستغرق المراقبة وقتًا طويلاً لنقل معلومات أكثر حساسية للتأخير. بالإضافة إلى ذلك ، يوفر بروتوكول TCP آليات للتحكم في معدل الإرسال لتجنب ازدحام الشبكة. ومع ذلك ، تتطلب بيانات الصوت والفيديو معدلات بت محددة بدقة لا يمكن تغييرها بشكل تعسفي.

من ناحية ، يتفاعل TCP مع بروتوكول التطبيق الخاص بتطبيق المستخدم ، ومن ناحية أخرى ، مع البروتوكول الذي يوفر وظائف التوجيه والعنونة للحزم "منخفضة المستوى" ، والتي يتم تنفيذها عادةً بواسطة IP.

يظهر الشكل المنطقي لبرنامج الشبكة الذي ينفذ بروتوكولات عائلة TCP / IP في كل عقدة من الإنترنت. 2.5

تمثل المستطيلات الوحدات النمطية التي تعالج البيانات ، وتمثل الخطوط التي تربط المستطيلات مسارات نقل البيانات. يمثل الخط الأفقي في أسفل الشكل شبكة Ethernet ، والتي تُستخدم كمثال على وسيط مادي.


أرز. 2.5

لتأسيس اتصال بين عمليتين على أجهزة كمبيوتر مختلفةالشبكة ، فأنت بحاجة إلى معرفة ليس فقط عناوين الإنترنت لأجهزة الكمبيوتر ، ولكن أيضًا عدد منافذ (مآخذ) TCP التي تستخدمها العمليات على أجهزة الكمبيوتر هذه. يتم تعريف أي اتصال TCP على الإنترنت بشكل فريد من خلال عنواني IP ورقمين لمنافذ TCP.

يمكن أن يتعامل TCP مع الحزم التالفة أو المفقودة أو المكررة أو الخارجة عن الطلب. ويتحقق ذلك من خلال آلية لتخصيص رقم تسلسلي لكل حزمة مرسلة وآلية للتحقق من استلام الحزم.

عندما ينقل TCP جزء من البيانات ، يتم وضع نسخة من تلك البيانات في قائمة انتظار إعادة الإرسال ويبدأ جهاز ضبط الوقت في انتظار إقرار بالاستلام.

2.3.4. بروتوكول UDP

بروتوكول مخطط بيانات المستخدم (UDP) هو بروتوكول لتبادل مخططات البيانات بين عمليات أجهزة الكمبيوتر الموجودة في نظام مترابط لشبكات الكمبيوتر.

يعتمد UDP على IP ويوفر عمليات التطبيق مع خدمات النقل التي لا تختلف كثيرًا عن خدمات IP. يوفر بروتوكول UDP تسليم بيانات غير مضمون ، أي أنه لا يتطلب تأكيد استلامه ؛ بالإضافة إلى ذلك ، لا يتطلب هذا البروتوكول إنشاء اتصال بين المصدر والمستقبل للمعلومات ، أي بين وحدات UDP.

2.3.5. بروتوكولات RTP و RTCP

مفاهيم أساسية

يوفر بروتوكول النقل في الوقت الحقيقي RTP نقلًا فوريًا من طرف إلى طرف لبيانات الوسائط المتعددة مثل الصوت والفيديو التفاعليين. ينفذ هذا البروتوكول التعرف على نوع حركة المرور وترقيم تسلسل الحزمة وختم الوقت والتحكم في الإرسال.

يتم تقليل عمل بروتوكول RTP لتعيين طوابع زمنية لكل حزمة صادرة. على جانب الاستقبال ، تشير الطوابع الزمنية للحزم إلى التسلسل وبأي تأخير يجب تشغيلها. يسمح دعم RTP و RTCP للعقدة المستقبلة بترتيب الحزم المستلمة بالترتيب الصحيح ، وتقليل تأثير تذبذب تأخير الحزمة على جودة الإشارة ، واستعادة المزامنة بين الصوت والفيديو بحيث يمكن الاستماع إلى المعلومات الواردة وعرضها بشكل صحيح من قبل المستخدمين.

لاحظ أن RTP نفسها ليس لديها أي آلية لضمان نقل البيانات في الوقت المناسب و جودة الخدمةولكنه يستخدم الخدمات الأساسية لتوفير ذلك. فهو لا يمنع الحزم خارج الترتيب ، ولا يعني أن العمود الفقري موثوق به تمامًا ويقوم بإعادة توجيه الحزم بالترتيب الصحيح. تسمح أرقام التسلسل المضمنة في RTP للمستقبل بإعادة بناء تسلسل حزم المرسل.

يدعم RTP كلاً من الاتصال ثنائي الاتجاه ونقل البيانات إلى مجموعة من الوجهات إذا كانت الشبكة الأساسية تدعم البث المتعدد. تم تصميم RTP لتوفير المعلومات التي تتطلبها التطبيقات الفردية ، وفي معظم الحالات يتم دمجها في تشغيل التطبيق.

على الرغم من اعتبار RTP بروتوكول طبقة نقل ، إلا أنه يعمل عادةً فوق بروتوكول طبقة نقل آخر ، UDP (بروتوكول مخطط بيانات المستخدم). يساهم كلا البروتوكولين في وظيفة طبقة النقل. وتجدر الإشارة إلى أن RTP و RTCP مستقلتان عن طبقات النقل والشبكة الأساسية ، لذلك يمكن استخدام RTP / RTCP مع بروتوكولات النقل المناسبة الأخرى.

كتل بيانات البروتوكولتسمى RTP / RTCP الحزم. تسمى الحزم التي تم إنشاؤها وفقًا لبروتوكول RTP والمستخدمة لنقل بيانات الوسائط المتعددة بحزم البيانات ، والحزم التي تم إنشاؤها وفقًا لبروتوكول RTCP وتستخدم لنقل معلومات الخدمة المطلوبة للتشغيل الموثوق المؤتمرات عن بعدتسمى حزم التحكم أو حزم التحكم. تتضمن حزمة RTP رأسًا ثابتًا وملحق رأس متغير اختياريًا وحقل بيانات. تبدأ حزمة RTCP بجزء ثابت (مشابه للجزء الثابت من حزم معلومات RTP) متبوعًا بكتل بناء متغيرة الطول.

من أجل جعل بروتوكول RTP أكثر مرونة ويمكن استخدامه في تطبيقات مختلفة ، فإن بعض معلماته غير محددة بشكل متعمد ، ولكنها توفر مفهوم الملف الشخصي. ملف التعريف هو مجموعة من المعلمات لبروتوكولات RTP و RTCP لفئة معينة من التطبيقات ، والتي تحدد ميزات عملها. يحدد ملف التعريف: استخدام حقول رأس الحزمة الفردية وأنواع حركة المرور وإضافات الرأس وامتدادات الرأس وأنواع الحزم والخدمات وخوارزميات أمان الاتصالات وتفاصيل استخدام بروتوكول الطبقة الدنيا وما إلى ذلك. يعمل كل تطبيق عادةً مع ملف تعريف واحد فقط ، و يتم تعيين نوع الملف الشخصي عن طريق تحديد التطبيق المناسب. لا توجد إشارة صريحة لنوع ملف التعريف من خلال رقم المنفذ ومعرف البروتوكول وما إلى ذلك.

وبالتالي ، يجب أن تتضمن مواصفات RTP الكاملة لتطبيق معين مستندات إضافية تتضمن وصفًا للملف الشخصي بالإضافة إلى وصف تنسيق حركة المرور الذي يحدد كيفية التعامل مع نوع معين من حركة المرور ، مثل الصوت أو الفيديو ، في RTP.

مؤتمرات صوتية جماعية

تتطلب المؤتمرات الصوتية متعددة البث عنوان متعدد المستخدمين ومنفذين. في هذه الحالة ، يلزم وجود منفذ واحد لتبادل البيانات الصوتية ، ويستخدم الآخر لحزم التحكم RTCP. يتم تمرير عنوان الإرسال المتعدد ومعلومات المنفذ إلى المشاركين المحتملين المؤتمرات عن بعد... إذا كانت السرية مطلوبة ، فيمكن تشفير المعلومات وحزم التحكم ، وفي هذه الحالة يجب أيضًا إنشاؤها و المفتاح الموزعالتشفير.

يرسل تطبيق المؤتمرات الصوتية الذي يستخدمه كل مشارك في المؤتمر بيانات صوتية في أجزاء صغيرة ، مثل 20 مللي ثانية. ويسبق كل جزء من البيانات الصوتية رأس RTP ؛ يتم تشكيل (تغليف) رأس RTP والبيانات بالتناوب في حزمة UDP. يشير رأس RTP إلى نوع تشفير الصوت (على سبيل المثال ، PCM أو ADPCM أو LPC) الذي تم استخدامه لتكوين البيانات في الحزمة. هذا يجعل من الممكن تغيير نوع الترميز أثناء المؤتمر ، على سبيل المثال ، عندما يظهر مشارك جديد يستخدم خط اتصال بنطاق ترددي منخفض ، أو عندما تكون الشبكة مزدحمة.

على الإنترنت ، كما هو الحال في شبكات البيانات المحولة بالحزم الأخرى ، تُفقد الحزم أحيانًا ويُعاد ترتيبها ، وتتأخر أيضًا لأوقات مختلفة. لمواجهة هذه الأحداث ، يحتوي رأس RTP على طابع زمني ورقم تسلسل يسمحان للمستلمين بإعادة المزامنة مع حالتهم الأصلية بحيث ، على سبيل المثال ، يتم تشغيل أجزاء من الإشارة الصوتية بواسطة مكبر الصوت بشكل مستمر كل 20 مللي ثانية. يتم إجراء إعادة بناء المزامنة بشكل منفصل ومستقل لكل مصدر لحزم RTP في المؤتمرات عن بعد... يمكن أيضًا أن يستخدم المستقبِل الرقم التسلسلي لتقدير عدد الحزم المفقودة.

منذ المشاركين المؤتمرات عن بعديمكن الدخول إليه والخروج منه أثناء المؤتمر ، من المفيد معرفة من يشارك فيه في الوقت الحالي ومدى جودة تلقي المشاركين في المؤتمر للبيانات الصوتية. لهذا الغرض ، يصدر كل مثيل للتطبيق الصوتي أثناء المؤتمر رسائل بشكل دوري على منفذ التحكم (منفذ RTCP) لتطبيقات جميع المشاركين الآخرين حول تلقي الحزم مع الإشارة إلى اسم المستخدم الخاص بهم. تشير رسالة الاستلام إلى مدى جودة سماع السماعة الحالية ويمكن استخدامها للتحكم في أجهزة التشفير التكيفية. بالإضافة إلى اسم المستخدم ، قد يتم أيضًا تضمين معلومات تعريف أخرى للتحكم في النطاق الترددي. عند مغادرة المؤتمر ، يرسل الموقع حزمة RTCP BYE.

مؤتمرات الفيديو

إذا كان في المؤتمرات عن بعديتم استخدام كل من إشارات الصوت والفيديو ، ويتم إرسالها بشكل منفصل. لنقل كل نوع من أنواع الحركة ، بشكل مستقل عن الآخر ، تقدم مواصفات البروتوكول مفهوم جلسة RTP. يتم تحديد الجلسة بواسطة زوج معين من عناوين النقل الوجهة (عنوان شبكة واحد بالإضافة إلى زوج من المنافذ لـ RTP و RTCP). يتم إرسال حزم لكل نوع من أنواع حركة المرور باستخدام زوجين مختلفين من منافذ UDP و / أو عناوين الإرسال المتعدد. لا يوجد اتصال RTP مباشر بين جلسات الصوت والفيديو ، باستثناء أن المستخدم المشارك في كلتا الجلستين يجب أن يستخدم نفس الاسم المتعارف عليه في حزم RTCP لكلا الجلستين حتى يمكن ربط الجلسات.

أحد أسباب هذا الفصل هو أنه ينبغي السماح لبعض المشاركين في المؤتمر باستقبال نوع واحد فقط من حركة المرور إذا رغبوا في ذلك. على الرغم من الفصل ، يمكن تحقيق التشغيل المتزامن لوسائط المصدر (الصوت والفيديو) باستخدام معلومات التوقيت التي يتم حملها في حزم RTCP لكلتا الجلستين.

فهم الخلاطات والمترجمين

ليست كل المواقع قادرة دائمًا على تلقي بيانات الوسائط المتعددة بنفس التنسيق. ضع في اعتبارك الحالة التي يكون فيها المشاركون من نفس الموقع متصلين عبر خط منخفض السرعة بمعظم المشاركين الآخرين في المؤتمر الذين لديهم وصول واسع النطاق إلى الشبكة. بدلاً من إجبار الجميع على استخدام نطاق ترددي أضيق وترميز صوتي منخفض الجودة ، يمكن وضع وسيلة اتصالات طبقة RTP تسمى خلاط في منطقة نطاق ترددي ضيقة. يقوم هذا الخلاط بإعادة مزامنة حزم الصوت الواردة لاستعادة فترات 20 مللي ثانية الأصلية ، ويمزج تدفقات الصوت المعاد بناؤها في دفق واحد ، ويشفر الإشارة الصوتية لعرض نطاق ترددي ضيق ، وينقل دفق الحزمة عبر ارتباط منخفض السرعة. في هذه الحالة ، يمكن توجيه الحزم إلى مستلم واحد أو مجموعة من المستلمين بعناوين مختلفة. بحيث يمكن تقديم المؤشر الصحيح عند نقاط النهاية المستقبلة مصدر الرسائليتضمن رأس RTP وسيلة لتحديد المصادر المتضمنة في الحزمة المختلطة للخلاطات.

قد يتم توصيل بعض المشاركين في المؤتمر الصوتي عن طريق روابط النطاق العريض ، ولكن قد لا يمكن الوصول إليهم من خلال مؤتمرات البث المتعدد عبر بروتوكول الإنترنت (IPM). على سبيل المثال ، قد يكونون خلف جدار حماية طبقة تطبيق لن يسمح بأي إرسال لحزم IP. في مثل هذه الحالات ، ليست هناك حاجة إلى خلاطات ، ولكن هناك حاجة إلى أنواع أخرى من الاتصالات على مستوى RTP ، تسمى المترجمين. من بين المترجمين ، تم تثبيت أحدهما خارج جدار الحماية ومن الخارج يتم إرسال جميع حزم الإرسال المتعدد المتلقاة عبر الاتصال الآمن بالمترجم الآخر خلف جدار الحماية. يقوم المترجم الموجود خلف جدار الحماية بإرسالها مرة أخرى كحزم متعددة البث إلى مجموعة المستخدمين المتعددين التي تقتصر على الشبكة الداخلية للموقع.

يمكن تصميم الخلاطات والمترجمين لعدد من الأغراض. مثال: أداة مزج الفيديو التي تقيس صور الفيديو للأفراد في تدفقات فيديو مستقلة وتجميعها في دفق فيديو واحد ، لمحاكاة مشهد جماعي.

بروتوكول التحكم RTCP

يتم إرسال جميع حقول حزم RTP / RTCP عبر الشبكة بالبايت (ثماني بتات) ؛ يتم إرسال البايت الأكثر أهمية أولاً. تتم محاذاة جميع بيانات حقل الرأس وفقًا لطولها. الثمانيات المعينة اختيارية لها قيمة صفرية.

بروتوكول التحكميعتمد RTCP (RTCP - Real-Time Control Protocol) على الإرسال الدوري للحزم إدارةلجميع المشاركين في جلسة التواصل باستخدام نفس آلية التوزيع مثل RTP. يجب أن يوفر بروتوكول الطبقة الدنيا تعدد إرسال المعلومات وحزم التحكم ، على سبيل المثال ، باستخدام أرقام مختلفةمنافذ UDP. RTCP له أربع وظائف رئيسية.

  1. وتتمثل الوظيفة الرئيسية في تقديم التغذية الراجعة لتقييم جودة توزيع البيانات. إنها وظيفة متأصلة في RTCP كبروتوكول نقل ، وهي مرتبطة بوظائف التحكم في التدفق والازدحام لبروتوكولات النقل الأخرى. استجابةقد تكون مفيدة بشكل مباشر لإدارة التشفير التكيفي ، ولكن التجارب مع الإرسال المتعدد IP أظهرت أن ملاحظات المستلم مهمة أيضًا لتشخيص عيوب الانتشار. يتيح إرسال تقارير التعليقات حول استيعاب البيانات إلى جميع المشاركين مراقبة المشكلات لتقييم ما إذا كانت محلية أو عالمية. من خلال آلية توزيع IPM للكيانات مثل موفري خدمة الشبكة ، من الممكن أيضًا تلقي معلومات التغذية الراجعة والعمل كمراقب تابع لجهة خارجية في تشخيص مشاكل الشبكة. يتم توفير ميزة الملاحظات هذه بواسطة تقارير مرسل ومستقبل RTCP.
  2. يحتفظ RTCP بمعرف مصدر بيانات RTP ثابت في طبقة النقل تسمى "الاسم المتعارف عليه" (CNAME). نظرًا لأنه يمكن تغيير معرف SSRC في حالة اكتشاف تعارض أو إعادة تشغيل البرنامج ، يحتاج المستلمون إلى CNAME الأساسي لتتبع كل مساهم. يتطلب المستلمون أيضًا CNAME لـ تعيين المجموعةتتدفق المعلومات من مشارك معين إلى جلسات RTP متعددة مرتبطة ، على سبيل المثال ، عند مزامنة إشارات الصوت والفيديو.
  3. تتطلب السمتان الأوليان من جميع الأقران إرسال حزم RTCP ، لذلك ، للسماح بقابلية التوسع لأرقام النظراء ، يجب التحكم في معدل RTP. عندما يرسلها كل مشارك المؤتمرات عن بعدحزم التحكم لجميع المشاركين الآخرين ، يمكن لكل منهم تقدير العدد الإجمالي للمشاركين بشكل مستقل.
  4. يجب أن توفر وظيفة RTCP الرابعة والاختيارية معلومات التحكم في الجلسة (على سبيل المثال ، تعريف المشارك) التي ستنعكس في واجهة المستخدم. من المرجح أن يكون هذا مفيدًا في الجلسات "غير الخاضعة للرقابة" حيث ينضم الأعضاء إلى المجموعة ويغادرونها دون سيطرة على الملكية أو التفاوض.

الوظائف من واحد إلى ثلاثة مطلوبة عند استخدام RTP في البث المتعدد IP ويوصى به في جميع الحالات الأخرى. يتم تشجيع مطوري تطبيقات RTP على تجنب الآليات ثنائية الاتجاه فقط التي لا تتسع لاستيعاب المزيد من المستخدمين.

معدل حزم RTCP

يسمح RTP للتطبيق بتوسيع نطاق تمثيل جلسة الاتصال تلقائيًا من عدد قليل من المشاركين إلى عدة آلاف. على سبيل المثال ، في المؤتمرات الصوتية ، تكون حركة مرور البيانات محدودة بشكل أساسي لأن شخصًا واحدًا أو شخصين فقط يمكنه التحدث في كل مرة ، وفي التوزيع الجماعي ، يظل معدل البيانات على أي رابط ثابتًا نسبيًا ، بغض النظر عن عدد المشاركين. ومع ذلك ، فإن حركة مرور الإدارة ليست ذاتية التحديد. إذا تم إرسال تقارير الاستقبال من كل مشارك بمعدل ثابت ، فإن حركة مرور الإدارة ستنمو بشكل خطي مع زيادة عدد المشاركين. لذلك ، يجب توفير آلية خاصة لتقليل تردد إرسال حزم التحكم.

لكل جلسة ، يُفترض أن حركة البيانات تلبي حدًا مجمعًا ، يسمى النطاق الترددي للجلسة ، والذي يتقاسمه جميع المشاركين. يمكن حجز هذا النطاق الترددي وتحديده بواسطة الشبكة. عرض النطاق الترددي للجلسة مستقل عن نوع ترميز الوسائط ، ولكن اختيار نوع الترميز قد يكون مقيدًا بعرض النطاق الترددي لجلسة الاتصال. من المتوقع أن يتم توفير معلمة عرض النطاق الترددي للجلسة بواسطة تطبيق إدارة الجلسة عندما يستدعي تطبيق الوسائط ، ولكن قد تقوم تطبيقات الوسائط أيضًا بتعيين افتراضي استنادًا إلى عرض النطاق الترددي لبيانات المرسل الفردي لنوع الترميز المحدد للجلسة.

تعتمد حسابات النطاق الترددي للتحكم وحركة البيانات على بروتوكولات طبقة النقل والشبكة الأساسية (مثل UDP و IP). لا تؤخذ رؤوس طبقة ارتباط البيانات (DLC) في الحسبان في الحسابات ، حيث يمكن تغليف الحزمة برؤوس مختلفة على مستوى RPC أثناء إرسالها.

يجب أن تقتصر حركة التحكم على جزء صغير ومعروف من عرض نطاق الجلسة: صغير بما يكفي بحيث لا تتأثر الوظيفة الرئيسية لبروتوكول النقل - نقل البيانات ؛ معروف بحيث يمكن إدراج حركة الإدارة في مواصفات عرض النطاق المعطى للبروتوكول حجز الموارد، حتى يتمكن كل مشارك من حساب حصته بشكل مستقل. يُفترض أن يتم ضبط جزء عرض نطاق الجلسة المخصص لـ RTCP على٪ 5. يجب على جميع المشاركين في الجلسة استخدام نفس المقدار من عرض النطاق الترددي لـ RTCP بحيث يكون الفاصل الزمني لحزمة التحكم المحسوبة هو نفسه. لذلك ، يجب تعيين هذه الثوابت لكل ملف تعريف.

تتميز خوارزمية حساب الفاصل الزمني بين رسائل حزم RTCP المركبة لتقسيم عرض النطاق الترددي المخصص لحركة التحكم بين المشاركين بالخصائص الرئيسية التالية:

  • يشترك المرسلون على الأقل 1/4 من عرض النطاق الترددي لحركة مرور التحكم كما هو الحال في الجلسات مع كمية كبيرةالمستلمون ، ولكن مع عدد قليل من المرسلين ؛ بمجرد إنشاء الاتصال ، يتلقى المشاركون CNAME لمواقع الإرسال في غضون فترة زمنية قصيرة ؛
  • يُشترط أن يكون الفاصل الزمني المقدر بين حزم RTCP 5 ثوانٍ على الأقل من أجل تجنب رشقات حزم RTCP التي تتجاوز عرض النطاق الترددي المسموح به عندما يكون عدد المشاركين صغيرًا ولا يتم تسوية الحركة وفقًا لقانون الأعداد الكبيرة ؛
  • يختلف الفاصل الزمني بين حزم RTCP بشكل عشوائي من نصف إلى واحد ونصف الفواصل المحسوبة لتجنب المزامنة غير المقصودة لجميع المشاركين. يتم أيضًا تأخير حزمة RTCP الأولى التي تم إرسالها بعد الانضمام إلى جلسة بشكل عشوائي (حتى نصف الحد الأدنى لفترة RTCP) إذا تم بدء تشغيل تطبيق في مواقع متعددة في نفس الوقت ، على سبيل المثال ، عند الإعلان عن بدء الجلسة ؛
  • للتكيف تلقائيًا مع التغييرات في كمية معلومات التحكم المرسلة ، يتم حساب تقدير ديناميكي لمتوسط ​​حجم حزمة RTCP المركبة باستخدام جميع الحزم المستلمة والمرسلة ؛
  • يمكن استخدام هذه الخوارزمية للجلسات التي يكون فيها إرسال الحزم صالحًا لجميع المشاركين. في هذه الحالة ، تكون معلمة النطاق الترددي للجلسة هي نتاج النطاق الترددي للمرسل الفردي من خلال عدد المشاركين ، ويعتمد عرض النطاق الترددي RTP على البروتوكول الأساسي لتوفير إشارة إلى الطول. الحد الأقصى لطول حزم RTP محدود فقط بالبروتوكولات الأساسية.

    يمكن حمل حزم RTP المتعددة في وحدة بيانات بروتوكول طبقة سفلية واحدة ، مثل حزمة UDP. هذا يقلل من تكرار الرؤوس ويبسط المزامنة بين التدفقات المختلفة.

يفرض النمو السريع للإنترنت متطلبات جديدة على سرعة وحجم نقل البيانات. إن زيادة سعة الشبكة وحدها لا تكفي لتلبية كل هذه المطالب ؛ فهناك حاجة إلى طرق ذكية وفعالة لإدارة حركة المرور وازدحام الخطوط.

في تطبيقات الوقت الفعلي ، يقوم المرسل بإنشاء دفق من البيانات بمعدل ثابت ، ويجب على المستلم (أو المستقبِلين) توفير هذه البيانات للتطبيق بنفس المعدل. تشمل هذه التطبيقات ، على سبيل المثال ، المؤتمرات الصوتية والمرئية ، والفيديو المباشر ، والتشخيص عن بعد في الطب ، والاتصال الهاتفي بالكمبيوتر ، والمحاكاة التفاعلية الموزعة ، والألعاب ، والمراقبة في الوقت الفعلي ، وما إلى ذلك.

بروتوكول طبقة النقل الأكثر استخدامًا هو TCP. بينما يمكن أن يدعم TCP مجموعة متنوعة من التطبيقات الموزعة ، إلا أنه غير مناسب لتطبيقات الوقت الفعلي.

تم تصميم بروتوكول النقل في الوقت الفعلي الجديد لحل هذه المشكلة - RTP(بروتوكول النقل في الوقت الفعلي) ، الذي يضمن تسليم البيانات إلى وجهة واحدة أو أكثر مع تأخير ضمن حدود معينة ، أي أنه يمكن تشغيل البيانات في الوقت الفعلي.

مبادئ بناء بروتوكول RTP

لا يدعم RTP أي آلية لتسليم الحزم أو دقة الإرسال أو موثوقية الاتصال. يتم تعيين كل هذه الوظائف لبروتوكول النقل. يعمل RTP أعلى UDP ويمكنه دعم نقل البيانات في الوقت الفعلي بين عدة مشاركين في جلسة RTP.

ملحوظة

لكل مشارك في RTP ، يتم تحديد الجلسة بواسطة زوج من عناوين نقل الحزمة (عنوان شبكة واحد - IP وزوج من المنافذ: RTP و RTCP).

تحتوي حزم RTP على الحقول التالية: معرّف المرسل الذي يشير إلى أي من المشاركين يقوم بإنشاء البيانات ، والطوابع الزمنية عندما تم إنشاء الحزمة بحيث يمكن تشغيل البيانات من قبل الجانب المستلم في الفترات الزمنية الصحيحة ، ومعلومات حول ترتيب الإرسال ، والمعلومات حول طبيعة محتوى الحزمة ، على سبيل المثال ، حول نوع تشفير الفيديو (MPEG ، Indeo ، إلخ). إن وجود مثل هذه المعلومات يجعل من الممكن تقدير قيمة التأخير الأولي وحجم المخزن المؤقت للإرسال.

ملحوظة

في بيئة الوقت الحقيقي النموذجية ، يقوم المرسل بإنشاء الحزم بمعدل ثابت. يتم إرسالها على فترات منتظمة ، وتمر عبر الشبكة ، ويتم استلامها من قبل المستلم ، والذي يقوم بتشغيل البيانات في الوقت الفعلي عند الاستلام. ومع ذلك ، نظرًا للتغيرات في زمن انتقال الحزم عبر الشبكة ، فقد تصل إلى فترات زمنية غير منتظمة. للتعويض عن هذا التأثير ، يتم تخزين الحزم الواردة مؤقتًا ، والالتزام بها لفترة من الوقت ، ثم توفيرها بمعدل ثابت. البرمجياتتوليد الإخراج. لذلك ، لكي يعمل بروتوكول الوقت الحقيقي ، يجب أن تحتوي كل حزمة على طابع زمني حتى يتمكن المستلم من إعادة إنتاج البيانات الواردة بنفس معدل المرسل.

نظرًا لأن RTP تحدد (وتنظم) تنسيق الحمولة النافعة للبيانات المرسلة ، فإن مفهوم المزامنة يرتبط ارتباطًا مباشرًا بهذا الأمر ، حيث تكون آلية ترجمة RTP مسؤولة جزئيًا - الخلاط. عند تلقي تدفقات حزم RTP من مصدر واحد أو أكثر ، يقوم الخلاط بدمجها ويرسل دفقًا جديدًا من حزم RTP إلى واحد أو أكثر من المستلمين. يمكن للخلاط ببساطة دمج البيانات وكذلك تغيير تنسيقها ، على سبيل المثال ، عند الجمع بين مصادر الصوت المتعددة. لنفترض أن النظام الجديد يريد المشاركة في الجلسة ، لكن قناته إلى الشبكة لا تملك السعة الكافية لدعم جميع تدفقات RTP ، ثم يستقبل الخلاط كل هذه التدفقات ويجمعها في واحد وينقل الأخير إلى العضو الجديد في الدورة. عند تلقي تدفقات متعددة ، يضيف الخلاط ببساطة قيم PCM. يتضمن رأس RTP الذي تم إنشاؤه بواسطة الخالط معرف المرسل الذي توجد بياناته في الحزمة.

جهاز أبسط ، مترجم ، يقوم بإنشاء حزمة RTP صادرة لكل حزمة RTP واردة. يمكن لهذه الآلية تغيير تنسيق البيانات في الحزمة أو استخدام مجموعة مختلفة من البروتوكولات منخفضة المستوى لنقل البيانات من مجال إلى آخر. على سبيل المثال ، قد لا يتمكن المستلم المحتمل من معالجة الفيديو عالي السرعة الذي يستخدمه المشاركون الآخرون في الجلسة. يقوم المترجم بتحويل الفيديو إلى تنسيق جودة أقل يتطلب معدل بت أقل.

طرق التحكم في العمل

يتم استخدام RTP فقط لنقل بيانات المستخدم - عادةً البث المتعدد - إلى جميع المشاركين في الجلسة. جنبا إلى جنب مع RTP ، يعمل RTCP (بروتوكول التحكم في النقل في الوقت الحقيقي) ، وتتمثل مهمته الرئيسية في توفير التحكم في إرسال RTP. يستخدم RTCP نفس بروتوكول النقل الأساسي مثل RTP (عادةً UDP) ، ولكن رقم منفذ مختلف.

يقوم RTCP بعدة وظائف:

  1. تقديم ومراقبة جودة الخدمات وردود الفعل في حالة التحميل الزائد. نظرًا لأن حزم RTCP متعددة البث ، يمكن لجميع المشاركين في الجلسة تقدير مدى جودة عمل المشاركين الآخرين واستلامهم. تسمح رسائل المرسل للمستلمين بقياس سرعة البيانات وجودة الإرسال. تحتوي رسائل المستلمين على معلومات حول المشكلات التي يواجهونها ، بما في ذلك فقد الحزم والتوتر المفرط. ملاحظات المستلم مهمة أيضًا لتشخيص أخطاء التوزيع. من خلال تحليل رسائل جميع المشاركين في الجلسة ، يمكن لمسؤول الشبكة تحديد ما إذا كانت مشكلة معينة تتعلق بمشارك واحد أو ذات طبيعة عامة. إذا خلص تطبيق الإرسال إلى أن المشكلة من سمات النظام ككل ، على سبيل المثال ، بسبب فشل إحدى قنوات الاتصال ، فيمكنه زيادة نسبة ضغط البيانات عن طريق تقليل الجودة أو حتى رفض نقل الفيديو - هذا يسمح بنقل البيانات عبر سعة الاتصال المنخفضة.
  2. تحديد المرسل. تحتوي حزم RTCP على وصف نصي قياسي للمرسل. أنها توفر المزيد من المعلومات حول منشئ حزم البيانات أكثر من معرف مصدر المزامنة المختار عشوائياً. بالإضافة إلى ذلك ، فهي تساعد المستخدم على تحديد التدفقات من الجلسات المختلفة.
  3. تقدير حجم الجلسة والتحجيم. لضمان جودة الخدمة وردود الفعل لإدارة الازدحام ، وكذلك لتحديد المرسل ، يرسل جميع المشاركين بشكل دوري حزم RTCP. يتناقص تردد إرسال هذه الحزم مع زيادة عدد المشاركين. مع وجود عدد قليل من المشاركين ، يتم إرسال حزمة RTCP واحدة على الأكثر كل 5 ثوانٍ. يصف RFC-1889 خوارزمية حيث يقوم المشاركون بتحديد وتيرة حزم RTCP بناءً على العدد الإجمالي للمشاركين. الهدف هو الحفاظ على حركة مرور RTCP أقل من 5٪ من إجمالي حركة الجلسة.

تنسيق رأس RTP

RTP هو بروتوكول موجه نحو التدفق. تم إنشاء رأس حزمة RTP مع مراعاة احتياجات الإرسال في الوقت الفعلي. يحتوي على معلومات حول ترتيب الحزم بحيث يتم تجميع دفق البيانات بشكل صحيح عند الطرف المستلم ، وطابع زمني لتشذير الإطار الصحيح أثناء التشغيل ولمزامنة تدفقات البيانات المتعددة ، مثل الفيديو والصوت.

تحتوي كل حزمة RTP على رأس رئيسي بالإضافة إلى حقول إضافية خاصة بالتطبيق.

لا يمكن استخدام TCP كبروتوكول نقل لهذه التطبيقات لعدة أسباب:

  1. يسمح هذا البروتوكول فقط بالاتصال بين نقطتي نهاية ، وبالتالي فهو غير مناسب للإرسال المتعدد.
  2. يسمح بروتوكول TCP بإعادة إرسال الأجزاء المفقودة التي تصل عندما لم يعد تطبيق الوقت الحقيقي ينتظرها.
  3. لا يحتوي بروتوكول TCP على آلية ملائمة لربط معلومات التوقيت بالقطاعات - وهو مطلب إضافي لتطبيقات الوقت الفعلي.

بروتوكول طبقة النقل الآخر على نطاق واسع ، لا يحتوي LJDP على بعض قيود TCP ، ولكنه لا يوفر أيضًا معلومات توقيت حرجة.

على الرغم من أن كل تطبيق في الوقت الفعلي قد يكون له آلياته الخاصة لدعم الإرسال في الوقت الفعلي ، إلا أنه يحتوي على العديد من أوجه التشابه ، مما يجعل تحديد بروتوكول واحد أمرًا مرغوبًا للغاية.

تهدف هذه المهمة إلى حل بروتوكول النقل الجديد في الوقت الفعلي - RTP (بروتوكول النقل في الوقت الفعلي) ، والذي يضمن تسليم البيانات إلى واحد أو أكثر من المستلمين مع تأخير ضمن الحدود المحددة ، أي يمكن تشغيل البيانات في في الوقت الحالى.

في التين. يوضح الشكل 1 رأس RTP ثابتًا يحتوي على عدد من الحقول التي تحدد عناصر مثل تنسيق الحزمة ورقم التسلسل والمصادر والحدود ونوع الحمولة. قد يتبع العنوان الثابت حقول أخرى تحتوي على معلومات إضافية حول البيانات.

0 2 3 4 8 16 31

معرّف مصدر التزامن (SSRC)

معرّفات المصدر المساهم (CSRC)

أرز. 1. رأس RTP ثابت.

الخامس(2 بت). مجال الإصدار. الإصدار الحالي هو الثاني.
ر(1 بت). ملء الحقل. يشير هذا الحقل إلى وجود ثماني بتات حشو في نهاية الحمولة. يتم تطبيق الحشوة عندما يتطلب التطبيق أن يكون حجم الحمولة مضاعفًا ، على سبيل المثال ، 32 بت. في هذه الحالة ، تشير الثمانية الأخيرة إلى عدد ثماني بتات الحشو.
NS(1 بت). حقل تمديد الرأس. عند تحديد هذا الحقل ، يتبع رأس اختياري آخر الرأس الرئيسي المستخدم في امتدادات RTP التجريبية.
SS(4 بتات). حقل عد المرسل. يحتوي هذا الحقل على عدد معرفات المرسلين الذين توجد بياناتهم في الحزمة ، مع اتباع المعرفات نفسها الرأس الرئيسي.
م(1 بت). مجال العلامة. يعتمد معنى بت العلامة على نوع الحمولة. عادةً ما يتم استخدام بت العلامة للإشارة إلى حدود تدفق البيانات. في حالة الفيديو ، تحدد نهاية الإطار. في حالة الصوت ، يحدد بداية الكلام بعد فترة من الصمت.
RT(7 بتات). حقل نوع الحمولة. يحدد هذا الحقل نوع الحمولة وتنسيق البيانات ، بما في ذلك الضغط والتشفير. في حالة الثبات ، يستخدم المرسل نوع حمولة واحدًا فقط لكل جلسة ، ولكن يمكنه تغييره استجابة للظروف المتغيرة إذا تمت الإشارة إليه بواسطة بروتوكول التحكم في النقل في الوقت الفعلي.
رقم التسلسل(16 بت). حقل رقم التسلسل. يبدأ كل مصدر في ترقيم الحزم برقم عشوائي ، ثم يزداد بواحد مع كل حزمة بيانات RTP مرسلة. يسمح لك هذا باكتشاف فقدان الحزم وتحديد ترتيب الحزم ذات الطابع الزمني نفسه. يمكن أن يكون للعديد من الحزم المتتالية نفس الطابع الزمني إذا تم إنشاؤها منطقيًا في نفس اللحظة ، مثل الحزم التي تنتمي إلى إطار الفيديو نفسه.
الطابع الزمني(32 بت). حقل الطابع الزمني. يحتوي هذا الحقل على النقطة الزمنية التي تم فيها إنشاء أول ثماني بتات من بيانات الحمولة. تعتمد الوحدات التي يتم فيها تحديد الوقت في هذا الحقل على نوع الحمولة. يتم تحديد القيمة بواسطة الساعة المحلية للمرسل.
مصدر التزامن (SSRC) المعرف(32 بت). حقل معرف مصدر المزامنة: رقم يتم إنشاؤه عشوائيًا يحدد المصدر بشكل فريد أثناء الجلسة ويكون مستقلاً عن عنوان الشبكة. يلعب هذا الرقم دورًا مهمًا في معالجة الجزء الوارد من البيانات من مصدر واحد.
معرّف المصدر المساهم (CSRC)(32 بت). قائمة حقول معرف المصدر "مختلطة" في التدفق الرئيسي ، على سبيل المثال ، باستخدام أداة خلط. يُدرج الخلاط قائمة كاملة بمعرفات مصدر SSRC التي شاركت في إنشاء حزمة RTP هذه. هذه القائمة تسمى CSRC. عدد العناصر في القائمة: من 0 إلى 15. إذا كان عدد المشاركين أكثر من 15 ، فسيتم اختيار أول 15. مثال على ذلك مؤتمر صوتي ، حيث يتم جمع حزم RTP الخطابات لجميع المشاركين ، كل منها به SSRC الخاصة بهم - هم يشكلون قائمة CSRC. علاوة على ذلك ، فإن المؤتمر بأكمله لديه SSRC مشترك.

بروتوكول RTCP ، مثل أي بروتوكول تحكم ، أكثر تعقيدًا من حيث الهيكل والوظائف التي يؤديها (قارن ، على سبيل المثال ، IP و TCP). على الرغم من أن RTCP يعتمد على RTP ، إلا أنه يحتوي على العديد من الحقول الإضافية التي يستخدمها لتنفيذ وظائفه.

بروتوكول حجز الموارد - RSVP

يعالج بروتوكول حجز الموارد (RSVP) ، الذي يخضع حاليًا للدراسة من قبل فريق عمل هندسة الإنترنت (IETF) ، المشكلة ذات الأولوية للبيانات الحساسة لوقت الاستجابة ، على عكس البيانات التقليدية حيث يكون زمن الانتقال أقل أهمية. يسمح RSVP للأنظمة النهائية بحجز موارد الشبكة للحصول على جودة الخدمة المطلوبة ، وخاصة الموارد لحركة المرور في الوقت الفعلي عبر RTP. يهتم RSVP بشكل أساسي بأجهزة التوجيه ، على الرغم من أن التطبيقات الموجودة في نقاط النهاية تحتاج أيضًا إلى معرفة كيفية استخدام RSVP لحجز النطاق الترددي اللازم لفئة معينة من الخدمة أو مستوى الأولوية.

تتيح لك RTP ، جنبًا إلى جنب مع المعايير الموصوفة الأخرى ، نقل الفيديو والصوت بنجاح عبر شبكات IP التقليدية. RTP / RTCP / RSVP هو حل قياسي لشبكات البيانات في الوقت الفعلي. عيبه الوحيد هو أنه مخصص لشبكات IP فقط. ومع ذلك ، فإن هذا القيد مؤقت: ستتطور الشبكات بطريقة ما في هذا الاتجاه. يعد هذا الحل بحل مشكلة نقل البيانات الحساسة للتأخير عبر الإنترنت.

المؤلفات

يمكن العثور على وصف لبروتوكول RTP في RFC-1889.


RTP و RTCP في VoIP

بروتوكول RTP هو بروتوكول النقل الرئيسي في شبكات المهاتفة عبر بروتوكول الإنترنت. RTP (بروتوكول الوقت الحقيقي) هو بروتوكول في الوقت الفعلي تم إنشاؤه لنقل الوسائط المتعددة (الصوت والفيديو) ، المشفرة والمعبأة في حزم ، والمعلومات عبر شبكات IP في أطر زمنية صارمة. يتم إرسال مقاطع RTP عبر UDP و IP ، على التوالي ، على مستويات مختلفة من نموذج OSI. يرتبط استخدام UDP ، الذي لا يضمن التسليم ، بالتوقيت الصارم لنقل الوسائط المتعددة في الوقت الفعلي ، فضلاً عن عدم قدرة TCP على العمل في الوقت الفعلي. لذلك ، على الرغم من فقدان جزء من البيانات ، فإن توقيت التسليم أكثر أهمية في هذه الحالة.
الخامس نظرة عامةيكون التوزيع بواسطة البروتوكول على طبقات نموذج OSI كما يلي:
طبقة النقل: RTP عبر UDP
الشبكة: IP
القناة: إيثرنت
المادي: إيثرنت
عند إرسال معلومات الوسائط المتعددة باستخدام بروتوكول RTP ، يتم استخدام التغليف التالي:

الحد الأدنى لحجم مقطع RTP هو 12 بايت. تحدد البتتان الأوليتان إصدار البروتوكول. يتم استخدام RTPv.2 اليوم. يبلغ طول الحقل P التالي أيضًا 2 بت ويشير إلى وجود أحرف حشو في حقل البيانات عند استخدام مقاطع من نفس الطول. يحدد الحقل X ما إذا كان الرأس الممتد مستخدمًا أم لا. ثم يحدد حقل CC المكون من 4 بتات عدد حقول CSRC في نهاية رأس RTP ، أي عدد المصادر التي تشكل التدفق. ثم يأتي الحقل M - بت علامة تستخدم لإبراز البيانات المهمة. يبلغ طول حقل PT التالي 7 بتات. مصممة لتحديد نوع الحمولة - البيانات المطلوبة للتطبيق. باستخدام الكود المحدد ، يحدد التطبيق نوع معلومات الوسائط المتعددة وطريقة فك التشفير.
يتكون باقي الرأس من حقل SequenceNumber - رقم تسلسل المقطع الذي يتتبع ترتيب الحزم وفقدانها ؛ حقول الطابع الزمني - رمز المزامنة الذي يشير إلى وقت أول عينة مشفرة في الحمولة ، يتم استخدام هذه العلامة من قبل المخازن المؤقتة لاستعادة المزامنة للتخلص من خسائر الجودة الناتجة عن اختلاف التأخير ؛ تعد حقول مصدر مزامنة SSRC رقمًا عشوائيًا يميز جلسة RTP عن الأخرى لإنشاء إمكانات مضاعفة الإرسال. بعد الجزء الثابت الدائم من رأسية RTP ، يمكن إضافة ما يصل إلى 15 حقلاً من حقول CSRC يبلغ 32 بتة لتحديد مصادر البيانات.
دعنا نصف الإجراء الخاص بإنشاء جلسة RTP. أنشأ البروتوكول تلك الحركة أنواع مختلفةيتم نقلها في جلسات اتصال منفصلة. لإنشاء جلسة ، من الضروري تحديد زوج من عناوين النقل الوجهة ، أي عنوان شبكة واحد ومنفذين لـ RTP و RTCP. لذلك ، بالنسبة لعقد مؤتمرات الفيديو ، من الضروري نقل الصوت والفيديو في جلسات مختلفة مع منافذ وجهة مختلفة في المقابل. قد يتسبب إرسال أنواع مختلفة من حركة المرور باستخدام التشذير في نفس الجلسة في حدوث المشكلات التالية:
- عند تغيير أحد أنواع حركة المرور ، من المستحيل تحديد المعلمة في الجلسة التي يجب استبدالها بقيمة جديدة ؛
- يتم استخدام فاصل زمني واحد فقط لإنشاء جلسة ، وعند إرسال حركة غير متجانسة ، سيكون لكل نوع فاصل زمني خاص به ، وسيكون مختلفًا ؛
- لا يستطيع خالط RTP الجمع بين التدفقات المشذرة لأنواع مختلفة من حركة المرور في دفق واحد ؛
- يستحيل إرسال عدة أنواع من الحركة في جلسة RTP واحدة للأسباب التالية: استخدام مسارات شبكة مختلفة أو توزيع موارد الشبكة ؛ استقبال مجموعة فرعية من بيانات الوسائط المتعددة عند الحاجة ، على سبيل المثال ، الصوت فقط إذا تجاوزت إشارة الفيديو عرض النطاق الترددي المتاح ؛ تطبيقات جهاز الاستقبال التي تستخدم عمليات منفصلة لأنواع مختلفة من حركة المرور ، بينما يسمح استخدام جلسات RTP المنفصلة بتنفيذ عمليات فردية أو متعددة.

ومع ذلك ، لا يضمن RTP (بروتوكول النقل في الوقت الفعلي) و UDP (بروتوكول مخطط بيانات المستخدم) الجودة ، أي أنهما لا يعملان مع QoS (جودة الخدمة). لذلك ، يتم دعم RTP بواسطة بروتوكول التحكم في النقل في الوقت الفعلي (RTCP) ، والذي يوفر معلومات إضافية حول حالة جلسة RTP.
يحتوي RTCP على أربع وظائف رئيسية:
1. الغرض الرئيسي من بروتوكول RTCP هو توفير التغذية الراجعة لضمان جودة نقل البيانات. يمكن أن تكون التعليقات مفيدة بشكل مباشر في تطبيقات إرسال التشفير التكيفي. أيضًا ، عند استخدام IP المتعدد ، من المهم للغاية أن يقوم المستلمون بتشخيص الأخطاء في إرسال الرسائل (الحزم). يتيح إرسال الرسائل مع تقارير الاستقبال للجانب المرسل تحديد سبب عدم نجاح إرسال الرسالة ، إن وجد.
II. يحتوي RTCP على معرف طبقة نقل غير قابل للتغيير لمصدر RTP ، والذي يسمى الاسم المتعارف عليه أو الاسم المتعارف عليه. نظرًا لأنه يمكن تغيير معرف SSRC في حالة حدوث تصادمات (تصادمات) ، يحتاج جهاز الاستقبال إلى قيمة Cname من أجل تتبع كل من المشاركين. يستخدم المستلم أيضًا Cname لمطابقة العديد من تدفقات البيانات من مشارك واحد عند إنشاء جلسات متعددة في نفس الوقت ، على سبيل المثال ، لمزامنة قنوات الصوت والفيديو عند نقل الفيديو مع الصوت.
ثالثا. تفترض الوظيفتان المذكورتان أعلاه أن جميع المشاركين في الجلسة قد أرسلوا حزم RTCP ، لذلك يجب التحكم في معدل الإرسال حتى يتمكن RTP من إنشاء جلسات مع عدد كبير من المستخدمين. عندما يرسل كل مشارك حزم التحكم الخاصة به إلى أي شخص آخر ، يمكن لأي شريك تحديد العدد الإجمالي للمشاركين في الجلسة بشكل مستقل. هذا ضروري لحساب معدل إرسال رسائل RTCP.
رابعا. هذه الوظيفةيعمل على نقل الحد الأدنى من معلومات التحكم الضرورية ، مثل معرف المشارك ، الذي تستخدمه واجهة المستخدم الرسومية. تُستخدم هذه الميزة للجلسات التي يتم التحكم فيها بشكل غير محكم حيث يدخل المستخدمون ويخرجون دون التفاوض المناسب للمعلمات والخصائص. يعمل RTCP كقناة ملائمة للاتصال بجميع المشاركين ، ولكنه لا يدعم بالضرورة جميع متطلبات الاتصال للتطبيق.
في شبكات IP التي تستخدم البث المتعدد ، تكون الوظائف الأولى والثانية والثالثة إلزامية عند استخدام جلسات RTP. يوصى أيضًا باستخدامها عند النقل في شبكات وبيئات أخرى. يوصى اليوم بأن يستخدم مطورو تطبيقات RTP الأدوات التي تسمح بالعمل في وضع البث المتعدد ، وليس فقط في وضع فريد.
دعنا نلقي نظرة على تنسيق حزمة RTCP.
يحدد معيار البروتوكول عدة أنواع من حزم RTCP. تم تصميم RTCP لنقل معلومات الخدمة:
sr: تقرير المرسل. ضروري لإحصاءات استقبال وإرسال المشاركين في الجلسة الذين هم مرسلون نشطون بشكل مباشر ؛
rr: تقرير المستلم. مطلوب للإحصاءات من المشاركين الذين ليسوا متلقين ؛
sdes: يصف المصدر ، ويتضمن Cname ؛
وداعا: يشير إلى نهاية (خروج) الدورة ؛
app: وظائف خاصة بالتطبيق ؛
تتكون كل حزمة RTCP من جزء ثابت ، كما هو الحال بالنسبة لبروتوكول RTP ، الذي تستخدمه حزم RTP ، تليها الحقول التي يمكن أن تختلف في الطول حسب نوع الحزمة ، ولكن مضاعفات 32 بت. يتم تقديم متطلبات المحاذاة وحقل الطول في الجزء الثابت من الرأس لجعل حزم RTCP متسلسلة. يمكن ربط حزم RTCP المتعددة مع بعضها البعض دون إدخال أي فواصل من أجل الحصول على حزمة RTCP مركبة يتم إرسالها عبر بروتوكول نقل منخفض الطبقة مثل UDP. لا يوجد عداد محدد لحزم RTCP الفردية ، لأن بروتوكول الطبقة المنخفضة سيحدد الطول الإجمالي ويحدد نهاية الحزمة المركبة.


يكون تنسيق RTCP الخاص بحزمة رسالة المرسل كما يلي ، كما هو موضح في الشكل أعلاه.

تخضع حزم RTCP لعمليات التحقق من الصحة التالية.
- يجب أن يكون حقل إصدار RTP مساويًا لـ 2.
- يجب أن يكون حقل نمط البيانات لأول رزمة RTCP في رزمة مركبة SR أو RR.
- يجب أن تكون بتة الحشو (P) صفراً للحزمة الأولى من رزمة RTCP المركبة ، لأن الحشو يمكن أن يكون موجوداً فقط في الحزمة الأخيرة.
- يجب أن تضيف أطوال مجال رزم RTCP الفردية ما يصل إلى الطول الإجمالي للحزمة المركبة.

إذا كان عليك يومًا ما أن تعرف بسرعة ما هو VoIP (الصوت عبر IP) وما تعنيه كل هذه الاختصارات البرية ، آمل أن يساعدك هذا البرنامج التعليمي. ألاحظ على الفور أن مشكلات تكوين أنواع إضافية من خدمات الاتصال الهاتفي (مثل تحويل المكالمات والبريد الصوتي والمكالمات الجماعية وما إلى ذلك) لم يتم النظر فيها هنا.

إذن ، ما سنتعامل معه في ظل الخفض:

  1. مفاهيم أساسيةالمهاتفة: أنواع الأجهزة ، مخططات التوصيل
  2. حزمة بروتوكول SIP / SDP / RTP: كيف يعمل
  3. كيف يتم نقل المعلومات حول الأزرار المضغوطة
  4. كيف يتم نقل الصوت والفاكسات
  5. معالجة الإشارات الرقمية وضمان جودة الصوت في المهاتفة عبر بروتوكول الإنترنت

1. المفاهيم الأساسية للاتصالات الهاتفية

بشكل عام ، مخطط توصيل المشترك المحلي بمزود الهاتف عبر خط هاتف عادي هو كما يلي:



تم تثبيت وحدة هاتف مع منفذ FXS (مشترك الصرف الأجنبي) على جانب المزود (PBX). في المنزل أو في المكتب ، يتم تثبيت هاتف أو فاكس مع منفذ FXO (مكتب الصرف الأجنبي) ووحدة اتصال.

بواسطة مظهر خارجيلا تختلف منافذ FXS و FXO بأي شكل من الأشكال ، فهذه موصلات عادية ذات 6 سنون RJ11. ولكن بمساعدة مقياس الفولتميتر ، من السهل جدًا التمييز بينهما - سيكون هناك دائمًا بعض الجهد على منفذ FXS: 48/60 فولت عند التوصيل ، أو 6-15 فولت أثناء المكالمة. في FXO ، إذا لم يكن متصلاً بالخط ، يكون الجهد دائمًا 0.

لنقل البيانات عبر خط هاتف من جانب المزود ، هناك حاجة إلى منطق إضافي ، والذي يمكن تنفيذه على وحدة SLIC (دائرة واجهة خط المشترك) ، وعلى جانب المشترك - باستخدام وحدة DAA (ترتيب الوصول المباشر).

في الوقت الحاضر ، تحظى هواتف DECT اللاسلكية (الاتصالات اللاسلكية الأوروبية الرقمية) بشعبية كبيرة. حسب التصميم ، فهي تشبه الهواتف العادية: فهي تحتوي أيضًا على منفذ FXO ووحدة اتصال ، ولكن تمت إضافة وحدة نمطية أيضًا لاسلكيالمحطات والهواتف بسرعة 1.9 جيجاهرتز.

المشتركون متصلون بشبكة PSTN (شبكة الهاتف العامة المحولة) - شبكة هاتف عامة ، تُعرف أيضًا باسم PSTN ، PSTN. يمكن تنظيم شبكة PSTN باستخدام تقنيات مختلفة: ISDN ، البصريات ، الأواني ، إيثرنت. حالة خاصة من PSTN ، عند استخدام خط تناظري / نحاسي عادي - POTS (خدمة الهاتف القديم البسيط) - نظام هاتف قديم بسيط.

مع تطور الإنترنت الاتصالات الهاتفيةتحولت إلى مستوى جديد... يتم استخدام الهواتف الثابتة بشكل أقل وأقل ، بشكل أساسي لتلبية احتياجات العمل. تعد هواتف DECT أكثر ملاءمة ، ولكنها محدودة بمحيط المنزل. تعد هواتف GSM أكثر ملاءمة ، لكنها محدودة خارج الدولة (التجوال مكلف). لكن بالنسبة إلى هواتف IP ، فهي هواتف رقمية (SoftPhone) ، ولا توجد قيود ، باستثناء الوصول إلى الإنترنت.

سكايب هو أشهر مثال على الهواتف الذكية. يمكن أن تفعل الكثير من الأشياء ، ولكن لها عيبان مهمان: الهندسة المعمارية المغلقة والتنصت على المكالمات الهاتفية معروفة من قبل أي السلطات. بسبب الأول ، لا توجد طريقة لإنشاء شبكة الهاتف الصغيرة الخاصة بك. وبسبب الثاني ، ليس من اللطيف التجسس عليه ، خاصة أثناء المحادثات الشخصية والتجارية.

لحسن الحظ ، هناك بروتوكولات مفتوحة لإنشاء شبكات الاتصال الخاصة بك مع مزايا SIP و H.323. يوجد عدد أكبر قليلاً من الهواتف الذكية القائمة على SIP مقارنة بـ H.323 ، والذي يمكن تفسيره من خلال بساطته النسبية ومرونته. لكن في بعض الأحيان يمكن لهذه المرونة أن تضع عصي كبيرة في العجلات. يستخدم كل من SIP و H.323 بروتوكول RTP لنقل الوسائط.

دعونا ننظر في المبادئ الأساسية لبروتوكول SIP لفهم كيفية اتصال مشتركين.

2. وصف حزمة بروتوكولات SIP / SDP / RTP

SIP (بروتوكول بدء الجلسة) هو بروتوكول لتأسيس جلسة (وليس هاتف واحد فقط) ، وهو بروتوكول نصي عبر UDP. من الممكن أيضًا استخدام SIP عبر TCP ، لكن هذه حالات نادرة.

SDP (بروتوكول وصف الجلسة) هو بروتوكول للتفاوض على نوع البيانات المرسلة (بالنسبة للصوت والفيديو ، هذه هي برامج الترميز وتنسيقاتها ، للفاكسات - سرعة الإرسال وتصحيح الأخطاء) وعناوين وجهتها (IP والمنفذ). وهو أيضًا بروتوكول نصي. يتم إرسال معلمات SDP في جسم حزم SIP.

RTP (بروتوكول النقل في الوقت الحقيقي) هو بروتوكول لنقل بيانات الصوت / الفيديو. إنه بروتوكول ثنائي عبر UDP.

الهيكل العام لحزم SIP:

  • Start-Line: حقل يشير إلى طريقة SIP (الأمر) عند الطلب أو نتيجة تنفيذ طريقة SIP عند الاستجابة.
  • الرؤوس: معلومات إضافية إلى خط البداية ، منسقة كخطوط تحتوي على ATTRIBUTE: VALUE أزواج.
  • نص: بيانات ثنائية أو نصية. تستخدم عادة لنقل معلمات أو رسائل SDP.

فيما يلي مثال على حزمتي SIP لإجراء واحد مشترك - إعداد المكالمة:

على اليسار توجد محتويات حزمة SIP INVITE ، على اليمين - الرد عليها - SIP 200 OK.

يتم تمييز الحقول الرئيسية بإطارات:

  • يحتوي الأسلوب / الطلب- URI على طريقة SIP و URI. في المثال ، يتم إنشاء جلسة - طريقة INVITE ، مكالمة للمشترك [البريد الإلكتروني محمي]
  • كود الحالة - رمز الاستجابة لأمر SIP السابق. في هذا المثال ، اكتمل الأمر بنجاح - الرمز 200 ، أي المشترك 555 التقط الهاتف.
  • عبر - العنوان الذي ينتظر فيه المشترك 777 الإجابة. لرسالة 200 OK ، يتم نسخ هذا الحقل من رسالة INVITE.
  • من / إلى - اسم العرض وعنوان مرسل الرسالة ومستلمها. لرسالة 200 OK ، يتم نسخ هذا الحقل من رسالة INVITE.
  • يحتوي Cseq على رقم تسلسل الأمر واسم الطريقة التي ينتمي إليها هذه الرسالة... لرسالة 200 OK ، يتم نسخ هذا الحقل من رسالة INVITE.
  • نوع المحتوى هو نوع البيانات التي يتم إرسالها في كتلة الجسم ، في هذه الحالة ، بيانات SDP.
  • معلومات الاتصال - عنوان IP الذي يجب أن يرسل إليه المشترك الثاني حزم RTP (أو حزم UDPTL في حالة إرسال الفاكس عبر T.38).
  • وصف الوسائط - المنفذ الذي يجب على المشترك الثاني إرسال البيانات المحددة إليه. في هذه الحالة ، يكون الصوت (صوت RTP / AVP) وقائمة بأنواع البيانات المدعومة - PCMU و PCMA و GSM و GSM وإشارات DTMF.

تتكون رسالة SDP من أسطر تحتوي على FIELD = VALUE أزواج. من المجالات الرئيسية ، يمكنك ملاحظة:

  • ا- الأصل واسم منظم الجلسة ومعرف الجلسة.
  • مع- معلومات الاتصال ، الحقل الموصوف سابقًا.
  • م- وصف الوسائط ، الحقل الموصوف سابقًا.
  • أ- سمات الوسائط ، تحدد تنسيق البيانات المرسلة. على سبيل المثال ، حدد اتجاه الصوت - الاستقبال أو الإرسال (sendrecv) ، بالنسبة إلى برامج الترميز ، تشير إلى معدل أخذ العينات والرقم المرجعي (rtpmap).

تحتوي حزم RTP على بيانات صوت / فيديو مشفرة بتنسيق معين. هذا الشكلالمحدد في حقل PT (نوع الحمولة). جدول مطابقة القيمة في هذا المجالتنسيق محدد ، راجع https: // wikipedia org wiki RTP ملف تعريف الصوت والفيديو.

أيضًا في حزم RTP ، يُشار إلى معرف SSRC فريد (يحدد مصدر دفق RTP) والطابع الزمني (الطابع الزمني ، المستخدم للتشغيل المنتظم للصوت أو الفيديو).

مثال على التفاعل بين مشتركي SIP عبر خادم SIP (النجمة):

بمجرد بدء تشغيل هاتف SIP ، يقوم أولاً بتسجيله على الخادم البعيد (SIP Registar) ، ويرسل إليه رسالة SIP REGISTER.


عندما يتم استدعاء المشترك ، يتم إرسال رسالة SIP INVITE ، يحتوي نصها على رسالة SDP ، والتي تحدد معلمات نقل الصوت / الفيديو (أي برامج الترميز المدعومة ، وأي IP ومنفذ لإرسال الصوت ، وما إلى ذلك).


عندما يلتقط المشترك البعيد الهاتف ، نتلقى رسالة SIP 200 OK أيضًا مع معلمات SDP ، فقط المشترك البعيد. باستخدام معلمات SDP المرسلة والمستلمة ، يمكنك إنشاء جلسة صوت / فيديو RTP أو جلسة فاكس T.38.

إذا كانت معلمات SDP المستلمة لا تناسبنا ، أو قرر خادم SIP الوسيط عدم تمرير حركة مرور RTP من خلال نفسه ، فسيتم تنفيذ إجراء إعادة تفاوض SDP ، ما يسمى REINVITE. بالمناسبة ، بسبب هذا الإجراء بالتحديد ، فإن خوادم بروكسي SIP المجانية لها عيب واحد - إذا كان كلا المشتركين في نفس الشبكة المحلية ، وكان الخادم الوكيل خلف NAT ، فعند إعادة توجيه حركة مرور RTP ، لن يسمع أي من المشتركين اخر.


بعد انتهاء المحادثة ، يرسل المشترك الذي أنهى المكالمة رسالة SIP BYE.

3. نقل المعلومات حول الأزرار المضغوطة

في بعض الأحيان ، بعد إنشاء جلسة ، وأثناء محادثة ، تحتاج إلى الوصول إلى أنواع إضافية من الخدمات (ADO) - تعليق المكالمات ، والتحويل ، والبريد الصوتي ، وما إلى ذلك. - التي تتفاعل مع مجموعات معينة من الأزرار المضغوطة.

لذلك ، في خط الهاتف العادي ، هناك طريقتان لطلب رقم:

  • النبض - تاريخيا الأول ، كان يستخدم بشكل رئيسي في الهواتف ذات المسجل الدوار. يحدث الاتصال بسبب الإغلاق والفتح المتسلسل لخط الهاتف وفقًا للرقم المطلوب.
  • النغمة - طلب رقم برموز DTMF (نغمة مزدوجة متعددة الترددات) - يتوافق كل زر في الهاتف مع مجموعته الخاصة من إشارتين جيبيتين (نغمات). من خلال تنفيذ خوارزمية Goertzel ، من السهل تحديد الزر المضغوط.

أثناء المكالمة ، طريقة النبض غير ملائمة لنقل الزر المضغوط. لذلك ، يستغرق الأمر حوالي ثانية واحدة لإرسال "0" (10 نبضات 100 مللي ثانية: 60 مللي ثانية - فاصل سطر ، 40 مللي ثانية - إغلاق خط) بالإضافة إلى 200 مللي ثانية للتوقف المؤقت بين الأرقام. بالإضافة إلى ذلك ، غالبًا ما يتم سماع النقرات المميزة أثناء الاتصال بالنبض. لذلك ، في المهاتفة العادية ، يتم استخدام وضع نغمة الوصول إلى VAS فقط.

في الاتصالات الهاتفية عبر بروتوكول VoIP ، يمكن نقل المعلومات حول الأزرار المضغوطة بثلاث طرق:

  1. DTMF Inband - توليد نغمة صوتية ونقلها ضمن بيانات الصوت (قناة RTP الحالية) - هذا اتصال نغمة عادي.
  2. RFC2833 - يتم إنشاء حدث هاتف خاص بحزمة RTP ، والذي يحتوي على معلومات حول المفتاح المضغوط والحجم والمدة. يتم تحديد رقم تنسيق RTP الذي سيتم إرسال حزم DTMF RFC2833 به في نص رسالة SDP. على سبيل المثال: a = rtpmap: 98 phone-event / 8000.
  3. معلومات SIP - يتم تكوين حزمة SIP INFO بمعلومات حول المفتاح المضغوط وحجم الصوت والمدة.

يحتوي نقل DTMF داخل البيانات الصوتية (Inband) على العديد من العيوب - هذه موارد علوية عند إنشاء / دمج النغمات وأثناء اكتشافها ، والقيود المفروضة على بعض برامج الترميز التي يمكن أن تشوه رموز DTMF ، وضعف الموثوقية أثناء الإرسال (في حالة فقدان بعض الحزم ، ثم يمكن أن يحدث الكشف عن الضغط المزدوج على نفس المفتاح).

الفرق الرئيسي بين DTMF RFC2833 و SIP INFO: إذا كان خادم وكيل SIP يمكّن نقل RTP مباشرة بين المشتركين الذين يتجاوزون الخادم نفسه (على سبيل المثال ، canreinvite = نعم في علامة النجمة) ، فلن يلاحظ الخادم حزم RFC2833 ، ونتيجة لذلك يصبحون الخدمات غير المتوفرة DVO. يتم إرسال حزم SIP دائمًا من خلال خوادم بروكسي SIP ، لذلك ستعمل خدمة VAS دائمًا.

4. نقل الصوت والفاكس

كما ذكرنا سابقًا ، يتم استخدام بروتوكول RTP لنقل بيانات الوسائط. تشير حزم RTP دائمًا إلى تنسيق البيانات المرسلة (برنامج الترميز).

هناك العديد من برامج الترميز المختلفة للإرسال الصوتي ، بنسب مختلفة لمعدل البت / الجودة / التعقيد ، وهناك برامج ترميز مفتوحة ومغلقة. من المؤكد أن أي هاتف سوفتوني يدعم برامج الترميز G.711 alaw / ulaw ، وتنفيذها بسيط للغاية ، وجودة الصوت ليست سيئة ، لكنها تتطلب عرض نطاق ترددي يصل إلى 64 كيلوبت في الثانية. على سبيل المثال ، يتطلب برنامج الترميز G.729 8 كيلو بت في الثانية فقط ، ولكنه يتطلب وحدة معالجة مركزية مكثفة للغاية ، بالإضافة إلى أنه ليس مجانيًا.

لإرسال الفاكس ، عادةً ما يتم استخدام برنامج الترميز G.711 أو بروتوكول T.38. إرسال فاكس G.711 هو نفسه إرسال فاكس T.30 ، كما لو تم إرسال الفاكس عبر خط هاتف عادي ، ولكن في نفس الوقت الإشارات التناظريةمن الخط يتم ترقيمه وفقًا لقانون العلوي / الأول. ويسمى هذا أيضًا إرسال فاكس Inband T.30.

تتفاوض فاكسات T.30 مع معلماتها: سرعة الإرسال ، وحجم مخطط البيانات ، ونوع تصحيح الخطأ. يعتمد بروتوكول T.38 على بروتوكول T.30 ، ولكن بخلاف الإرسال في النطاق الداخلي ، يتم تحليل أوامر T.30 التي تم إنشاؤها واستقبالها. بهذه الطريقة ، لا يتم إرسال البيانات الأولية ، ولكن يتم التعرف على أوامر التحكم في الفاكس.

لإرسال أوامر T.38 ، يتم استخدام بروتوكول UDPTL ، وهو بروتوكول قائم على UDP ، ويستخدم فقط لـ T.38. لنقل أوامر T.38 ، لا يزال بإمكانك استخدام بروتوكولي TCP و RTP ، لكن يتم استخدامهما بشكل أقل كثيرًا.

تتمثل المزايا الرئيسية لـ T.38 في تقليل حمل الشبكة وموثوقية أكبر مقارنةً بنقل الفاكس Inband.

يكون إجراء إرسال فاكس في وضع T.38 كما يلي:

  1. يتم إنشاء اتصال صوتي عادي باستخدام أي برنامج ترميز.
  2. عند تحميل الورق في الفاكس المرسل ، فإنه يرسل بشكل دوري إشارة T.30 CNG (نغمة الاتصال) للإشارة إلى أنه جاهز لإرسال الفاكس.
  3. على جانب الاستقبال ، يتم إنشاء إشارة T.30 CED (تحديد هوية المحطة الطرفية) - وهذا هو الاستعداد لاستقبال فاكس. يتم إرسال هذه الإشارة إما بعد الضغط على زر "تلقي الفاكس" أو الفاكس يقوم بذلك تلقائيًا.
  4. على الجانب المرسل ، يتم الكشف عن إشارة CED ويحدث إجراء SIP REINVITE ، ويشار إلى النوع T.38 في رسالة SDP: m = image 39164 udptl t38.

من المستحسن إرسال رسائل الفاكس عبر الإنترنت في T.38. إذا كان الفاكس بحاجة إلى الإرسال داخل المكتب أو بين كائنات ذات اتصال ثابت ، فيمكن استخدام إرسال فاكس Inband T.30. في هذه الحالة ، قبل إرسال الفاكس ، يجب تعطيل إجراء إلغاء الصدى حتى لا يحدث تشوهات إضافية.

كتاب الفاكس والمودم والنص للمهاتفة عبر بروتوكول الإنترنت ، بقلم ديفيد هانيس وغونزالو سالغويرو ، كتب بتفصيل كبير عن إرسال الفاكس.

5. معالجة الإشارات الرقمية (DSP). ضمان جودة الصوت في المهاتفة عبر بروتوكول الإنترنت ، أمثلة اختبار

لقد توصلنا إلى بروتوكولات إنشاء جلسة محادثة (SIP / SDP) وطريقة نقل الصوت عبر قناة RTP. لا تزال هناك مشكلة واحدة مهمة - جودة الصوت. من ناحية أخرى ، يتم تحديد جودة الصوت بواسطة برنامج الترميز المحدد. ولكن من ناحية أخرى ، لا تزال هناك حاجة إلى إجراءات DSP إضافية (DSP - معالجة الإشارات الرقمية). تأخذ هذه الإجراءات في الاعتبار خصوصيات المهاتفة عبر بروتوكول الإنترنت: لا يتم استخدام سماعة رأس عالية الجودة دائمًا ، فهناك قطرات رزمة على الإنترنت ، وأحيانًا تصل الحزم بشكل غير متساوٍ ، كما أن عرض النطاق الترددي للشبكة ليس مطاطيًا.

الإجراءات الأساسية لتحسين جودة الصوت:

في أيه دي(كاشف النشاط الصوتي) - إجراء لاكتشاف الإطارات التي تحتوي على صوت (إطار صوت نشط) أو صمت (إطار صوتي غير نشط). يمكن أن يؤدي هذا الفصل إلى تقليل حمل الشبكة بشكل كبير ، نظرًا لأن نقل المعلومات حول الصمت يتطلب بيانات أقل بكثير (يكفي فقط نقل مستوى الضوضاء أو عدم نقل أي شيء على الإطلاق).


تحتوي بعض برامج الترميز بالفعل على إجراءات VAD (GSM ، G.729) ، بالنسبة للآخرين (G.711 ، G.722 ، G.726) يجب تنفيذها.

إذا تم تكوين VAD لإرسال معلومات مستوى الضوضاء ، فسيتم إرسال حزم SID الخاصة (Silence Insertion Descriptor) بتنسيق 13m RTP CN (ضجيج مريح).

تجدر الإشارة إلى أنه يمكن إسقاط حزم SID بواسطة خوادم بروكسي SIP ، لذلك ، للتحقق ، يُنصح بتكوين نقل حركة مرور RTP بعد خوادم SIP.

CNG(ضوضاء مريحة توليد) - إجراء لتوليد ضوضاء مريحة بناءً على معلومات من حزم SID. وبالتالي ، يعمل VAD و CNG جنبًا إلى جنب ، لكن طلب CNG أقل بكثير ، لأنه ليس من الممكن دائمًا ملاحظة تشغيل CNG ، خاصة عند الحجم المنخفض.

PLC(إخفاء فقدان الحزمة) - الإجراء الخاص باستعادة دفق صوتي في حالة فقد الحزمة. حتى مع فقدان الحزمة بنسبة 50٪ ، فإن خوارزمية PLC الجيدة تحقق جودة كلام مقبولة. سيكون التشويه بالطبع ، لكن الكلمات يمكن أن تصنع.

أسهل طريقة لمحاكاة فقد الحزمة (على Linux) هي استخدام الأداة المساعدة tc من حزمة iproute مع وحدة netem. إنها تشكل فقط حركة المرور الصادرة.

مثال على بدء مضاهاة الشبكة بفقدان الحزمة بنسبة 50٪:

Tc qdisc change dev eth1 root netem loss 50٪

تعطيل المحاكاة:

Tc qdisc del dev eth1 root

عازلة الاهتزاز- إجراء للتخلص من تأثير الارتعاش ، عندما يختلف الفاصل الزمني بين الحزم المتلقاة اختلافًا كبيرًا ، والذي يؤدي في أسوأ الأحوال إلى ترتيب غير صحيح للحزم المستلمة. أيضا ، هذا التأثير يؤدي إلى انقطاع في الكلام. للقضاء على تأثير الارتعاش ، من الضروري تنفيذ مخزن مؤقت للحزم على جانب الاستقبال بحجم كافٍ لاستعادة الترتيب الأصلي لإرسال الحزم بفاصل زمني معين.

يمكنك أيضًا محاكاة تأثير الارتعاش باستخدام الأداة المساعدة tc (يمكن أن يصل الفاصل الزمني بين اللحظة المتوقعة لوصول الحزمة والوقت الفعلي إلى 500 مللي ثانية):


tc qdisc add dev eth1 root netem تأخير 500ms reorder 99٪

LEC(Line Echo Canceller) - إجراء محلي لإلغاء الصدى عندما يبدأ الموقع البعيد في سماع صوته. جوهرها هو طرح الإشارة المستقبلة من الإشارة المرسلة بمعامل معين.

يمكن أن يحدث الصدى لعدة أسباب:

  • صدى صوتي بسبب مسار الصوت رديء الجودة (الصوت من السماعة يدخل الميكروفون) ؛
  • صدى كهربائي بسبب عدم تطابق المعاوقة بين جهاز الهاتفووحدة SLIC. في معظم الحالات ، يحدث هذا في خط هاتف من 4 أسلاك إلى 2 سلك.

ليس من الصعب معرفة السبب (صدى صوتي أو كهربائي): يجب على المشترك الذي يتم إنشاء الصدى من جانبه إيقاف تشغيل الميكروفون. إذا ظهر الصدى على أي حال ، فهو كهربائي.


لمزيد من المعلومات حول إجراءات VoIP و DSP ، راجع كتاب VoIP Voice and Fax Signal Processing. المعاينة متاحة في كتب جوجل.

حول هذه النظرية السطحية نظرة عامة على VoIPمنجز. إذا كنت مهتمًا ، فيمكن النظر في مثال على التنفيذ العملي لـ mini-PBX على منصة أجهزة حقيقية في المقالة التالية.

[!?] الأسئلة و التعليقات مرحب بها. سيتم الرد عليهم من قبل مؤلف المقال ديمتري فالينتو ، مهندس برمجيات في مركز تصميم الإلكترونيات برومواد.

العلامات:

  • للمبتدئين
  • للمبتدئين
اضف اشارة