اختيار شبكة Wi-Fi

توضّح هذه الصفحة الخوارزميات والإجراءات المستخدَمة في نظام التشغيل Android 12 لاختيار شبكات Wi-Fi والتبديل بينها. يقيّم جهاز Android باستمرار جودة الشبكة المتصلة ويقيّم جودة الشبكات المتاحة.

مدة صلاحية الربط التلقائي

توضّح هذه المقالة عملية تقييم جهاز Android لشبكات Wi-Fi المتاحة والاتصال بها.

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

    • الشاشة مفعّلة (متصل): يقيّم نظام Android الفرعي للاتصال بانتظام ما إذا كان الاتصال الحالي جيدًا بما يكفي لتخطّي عملية البحث (كما هو محدّد في عمليات البحث أثناء تفعيل الشاشة). إذا لم يكن الاتصال جيدًا بما يكفي لتخطّي عملية البحث، سيؤدي نظام الاتصال الفرعي إلى تشغيل عملية بحث لرصد الشبكات المتاحة. يمكن أن يتم تشغيل عمليات الفحص هذه أيضًا من خلال مكوّنات أخرى في النظام، مثل نظام تحديد الموقع الجغرافي أو أحد التطبيقات (بما في ذلك تطبيق "الإعدادات").
    • الشاشة مفعّلة (تم قطع الاتصال): يصدر نظام Android الفرعي الخاص بالاتصال عمليات فحص دورية وفقًا لجدول زمني للتراجع الأسي. يقوم الوحدة بتقييم جميع نتائج الفحص التي تم تلقّيها ويحاول اختيار أفضل شبكة للاتصال بها.
    • إيقاف الشاشة (تم قطع الاتصال): يبرمج مضيف وحدة المعالجة المركزية (CPU) البرنامج الثابت باستخدام قائمة بالشبكات المفضّلة من خلال عمليات البحث عن الشبكات المفضّلة بدون اتصال (PNO) فور إيقاف الشاشة. ويوقظ البرنامج الثابت المضيف إذا عثر على أي من الشبكات المفضّلة. يفترض AOSP أنّ الجهاز يتيح استخدام ميزة "الشبكات الخاصة فقط".

    يمكن استخدام طريقة WifiManager#allowAutojoinGlobal(boolean) لإيقاف عمليات الربط التلقائي. هذه واجهة برمجة تطبيقات ذات امتيازات يمكن أن يستخدمها مصنّعو الأجهزة في ظروف محدودة (على سبيل المثال، جهاز غير جوّال تم إعداده مسبقًا).

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

  2. يتم تقييم نتائج الفحص.

    • إذا كان الجهاز متصلاً بشبكة Wi-Fi، يقيّم إطار العمل ما إذا كانت الشبكة الحالية جيدة بما يكفي لتخطّي اختيار الشبكة.

      يتم تعريف الشبكة على أنّها جيدة بما يكفي لتخطّي اختيار الشبكة إذا تم استيفاء أي من المتطلبات التالية:

      • انقضاء أقل من 10 ثوانٍ منذ آخر عملية اختيار للشبكة
      • اتّصل المستخدم يدويًا بالشبكة مؤخرًا (يمكن ضبط الفترة الزمنية "مؤخرًا" باستخدام التراكب config_wifiSufficientDurationAfterUserSelectionMilliseconds).
      • أن يكون الجهاز متصلاً باتصال OSU
      • يجب استيفاء جميع المتطلبات التالية:

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

    • إذا لم تكن شبكة Wi-Fi المتصلة جيدة بما يكفي أو إذا لم يكن الجهاز متصلاً بشبكة، يستدعي إطار العمل مُحدِّدات الشبكات لإنشاء قائمة بشبكات Wi-Fi المرشّحة للاتصال استنادًا إلى نتائج البحث المفلترة. يبحث المرشّحون للشبكة عن إعدادات Wi-Fi الحالية أو ينشئون إعدادات جديدة للشبكات المرشّحة.

    • يتم فلترة نتائج الفحص لإزالة معرّفات BSSID التي تقل فيها قوة الإشارة المستلَمة (RSSI) عن قوة الإشارة المستلَمة عند الدخول (يمكن ضبطها باستخدام التراكبات config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz وconfig_wifi_framework_wifi_score_entry_rssi_threshold_5GHz وconfig_wifiFrameworkScoreEntryRssiThreshold6ghz). بالإضافة إلى ذلك، يتم فلترة معرّفات BSSID المحظورة. يمكن حظر معرّفات BSSID استنادًا إلى حالات تعذّر الاتصال المتكرّرة، وحالات قطع الاتصال المتكرّرة، والطلبات الصريحة من نقطة الوصول بعدم محاولة الربط لفترة زمنية معيّنة (MBO-OCE). يتم توضيح حظر BSSID أدناه في قسم حظر SSID وBSSID.

    • عندما يتحرّك الجهاز بسرعة، يتم بشكل اختياري فلترة نتائج البحث بشكل أكبر لإزالة معرّفات BSSID التي يختلف مستوى إشارة RSSI فيها بسرعة (ما يشير إلى أنّها لا تتحرّك مع الجهاز). يمكن ضبط هذا التحسين باستخدام config_wifiHighMovementNetworkSelectionOptimizationEnabled (تفعيل التحسين أو إيقافه)، بالإضافة إلى config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs وconfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta، اللذين يضبطان متطلبات الثبات على نتائج البحث (تغيير قوة الإشارة المستلَمة (RSSI) على نتائج البحث التي تفصل بينها فواصل زمنية كافية).

  3. يُشغّل إطار العمل أداة تسجيل المرشّحين لإنشاء نتيجة لكل معرّف مجموعة خدمات (SSID) مرشّح. يمكن أن تتضمّن معرّفات SSID المرشّحة عدّة معرّفات BSSID مرشّحة (تنشئها الجهات التي تقترح الشبكات). المرشّح الذي يحصل على أعلى نتيجة هو المرشّح الفائز.

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

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

    • يجب أن يكون للمرشّح الفائز وشبكة Wi-Fi المتصلة معرّف مجموعة الخدمات الأساسية (BSSID) نفسه.
    • إذا كانت خدمة التجوال في البرامج الثابتة متاحة (بما في ذلك إمكانية القائمة السوداء لمعرّف مجموعة الخدمات الأساسية)، سيكون للمرشّح الفائز والشبكة المتصلة معرّف مجموعة الخدمات الأساسية ونوع الأمان نفسهما.

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

يُرجى العِلم أنّه يتم إيقاف الاتصال التلقائي بالشبكة أثناء استخدام أحد التطبيقات لواجهة برمجة التطبيقات Wi-Fi Network Request، ما يؤدي إلى إلغاء إعدادات النظام وإنشاء شبكة LAN بدون إنترنت، باستثناء الأجهزة التي تتيح استخدام محطتَي بث متزامنتَين.

تقييم شبكة متصلة

يقيّم إطار عمل Android أو البرامج الثابتة بشكل دوري جودة الشبكة المتصلة. يوضّح هذا القسم كيفية تقييم الشبكة المتصلة عندما تكون الشاشة قيد التشغيل أو متوقفة.

يتم إجراء هذا التقييم بالإضافة إلى اختيار الشبكة الموضّح أعلاه.

الشاشة قيد التفعيل

يقيّم إطار عمل Android الشبكة المتصلة بالطريقة التالية:

  1. تطلب خدمة Wi-Fi بيانات RSSI وإحصاءات طبقة الربط كل 3 ثوانٍ (يمكن ضبطها باستخدام التراكب config_wifiPollRssiIntervalMilliseconds).

    في حال تفعيل تعديل الفاصل الزمني الديناميكي باستخدام تراكب config_wifiAdjustPollRssiIntervalEnabled، يتغيّر الفاصل الزمني للاستطلاع ديناميكيًا استنادًا إلى حالة تنقّل الجهاز وقوة إشارة الاستقبال (RSSI).

    • يتم تمديد فاصل الاقتراع إلى 6 ثوانٍ (يتم ضبطه من خلال التراكب config_wifiPollRssiLongIntervalMilliseconds) عندما يكون الجهاز ثابتًا ويكون مستوى إشارة RSSI أعلى من ‎-68 ديسيبل (يتم ضبطه من خلال التراكب config_wifiClientRssiMonitorThresholdDbm وconfig_wifiClientRssiMonitorHysteresisDb).
    • يتم خفض فاصل الاقتراع إلى 3 ثوانٍ (يتم ضبطه من خلال التراكب config_wifiPollRssiIntervalMilliseconds) عندما يكون الجهاز غير ثابت أو عندما تكون قوة إشارة استقبال الراديو (RSSI) أقل من ‎-73 ديسيبل (يتم ضبطها من خلال التراكب config_wifiClientRssiMonitorThresholdDbm).
  2. تحتسب خدمة Wi-Fi درجة اتصال استنادًا إلى RSSI وإحصاءات طبقة الربط.

  3. تنقل خدمة Wi-Fi النتيجة إلى خدمة الاتصال التي تستخدمها لتحديد ما إذا كان سيتم الاتصال بشبكة Wi-Fi أو بنوع آخر من الشبكات المتاحة، مثل شبكة الجوّال.

الشاشة مقفلة

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

عمليات فحص الاتصال

يتم إجراء عمليات الفحص تلقائيًا استنادًا إلى ما إذا كانت الشاشة قيد التشغيل أو إيقاف التشغيل والجهاز متصل بشبكة Wi-Fi أو إيقاف التشغيل والجهاز غير متصل بشبكة Wi-Fi.

الشاشة قيد التفعيل

يُفعّل إطار العمل قرارات البحث بفواصل زمنية متزايدة عندما تكون الشاشة مفتوحة. يتم ضبط فواصل قرارات الفحص باستخدام التراكبات config_wifiDisconnectedScanIntervalScheduleSec وconfig_wifiConnectedScanIntervalScheduleSec وconfig_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (وهي عبارة عن مصفوفات من الأعداد الصحيحة). تتم عمليات البحث تلقائيًا باستخدام فواصل زمنية للتراجع الأسي تبلغ 20 و40 و80 و160 ثانية، مع إمكانية إجراء عمليات بحث لاحقة بفواصل زمنية تبلغ 160 ثانية (هذه هي القيم التلقائية لهذه التراكبات).

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

(الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث) إذا كانت هناك حاجة إلى فواصل زمنية مختلفة لإجراء عمليات البحث عند وقت التشغيل، يمكن لتطبيق OEM ذي امتيازات خاصة استدعاء واجهة برمجة التطبيقات WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) لضبط جدول البحث أثناء تشغيل الشاشة بشكل ديناميكي.

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

  • أن يكون الجهاز متصلاً باتصال OSU
  • يجب أن يكون هناك عدد كافٍ من الزيارات الواردة عبر الاتصال (راجِع حدود الزيارات أدناه).
  • أن تكون قيمة RSSI أعلى من الحد الأدنى المطلوب (راجِع حدود RSSI أدناه)، وأن يكون قد تم اختيار الشبكة مؤخرًا (10 دقائق تلقائيًا، ولكن يمكن ضبطها باستخدام تراكب config_wifiConnectedHighRssiScanMinimumWindowSizeSecوأن تكون الشبكة قد تم التحقّق من صحتها (متصلة بالإنترنت) أو وافق المستخدم على استخدامها بدون الوصول إلى الإنترنت.

في ما يلي حدود RSSI وحركة المرور:

  • قيمة RSSI أعلى من ‎-73 ديسيبل ميلي واط لنطاق 2.4 غيغاهرتز، الذي تم ضبطه باستخدام التراكب config_wifi_framework_wifi_score_low_rssi_threshold_24GHz، أو ‎-70 ديسيبل ميلي واط لنطاقَي 5 غيغاهرتز و6 غيغاهرتز، اللذين تم ضبطهما باستخدام التراكبَين config_wifi_framework_wifi_score_low_rssi_threshold_5GHz و config_wifiFrameworkScoreLowRssiThreshold6ghz.
  • تتجاوز عدد حِزم البيانات (المرسَلة أو المستلَمة) 16 حزمة في الثانية، وتم ضبطها باستخدام تراكب config_wifiFrameworkMinPacketPerSecondActiveTraffic.

عندما يكون الجهاز متصلاً والشاشة مفعّلة يراقب مقياس الأداء المتصل جودة شبكة Wi-Fi بشكل دوري من خلال فحص إشارات مثل قوة الإشارة المستلَمة (RSSI) وعدد الحِزم المنقولة. إذا تبيّن أنّ جودة شبكة Wi-Fi رديئة (كما هو موضّح أدناه) وكان الجهاز يتيح استخدام محطتَي بث متزامنتَين، سيتم بدء عملية فحص. يمكن استخدام التراكب config_wifiLowConnectedScoreThresholdToTriggerScanForMbb لضبط حدّ النتيجة الذي يؤدي إلى بدء الفحص. يمكن استخدام طبقة التراكب config_wifiLowConnectedScoreScanPeriodSeconds لتحديد فترة عمليات الفحص هذه.

الشاشة مطفأة والجهاز متصل بشبكة Wi-Fi

عندما تكون الشاشة مطفأة والجهاز متصلاً بشبكة Wi-Fi، ينفّذ البرنامج الثابت (Wi-Fi SoC) عمليات بحث عن شبكات تجوال. لا ينفّذ إطار العمل أي عمليات فحص عندما تكون الشاشة مطفأة.

الشاشة مطفأة والجهاز غير متصل بشبكة Wi-Fi (حالة عدم الاتصال)

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

يضبط إطار العمل أيضًا الفترة الزمنية التي يجب أن ينفّذ فيها البرنامج الثابت عمليات بحث PNO، وذلك باستخدام حالة تنقّل الجهاز لاختيار فترات بحث مختلفة. في حالة عدم التنقّل (الجهاز ثابت)، يكون الفاصل الزمني 60 ثانية لعمليات الفحص الثلاث الأولى (يتم التحكّم فيها من خلال تراكب config_wifiStationaryPnoScanIntervalMillis)، و180 ثانية (مضاعف ثابت 3x للتراكب) لعمليات الفحص اللاحقة. في حالة التنقّل السريع، يكون الفاصل الزمني 20 ثانية لعمليات الفحص الثلاث الأولى (يتم التحكّم فيها من خلال التراكب config_wifiMovingPnoScanIntervalMillis)، و60 ثانية (مضاعف ثابت 3 مرات للتراكب) لعمليات الفحص اللاحقة.

المرشّحون في الشبكة

يجد المرشّحون للشبكة عمليات ضبط أو ينشئونها (WifiConfiguration) للشبكات التي تستوفي الشروط التالية:

  • متوفّرة (استنادًا إلى نتائج البحث) أو الشبكة المتصلة (التي لا تظهر أحيانًا في نتائج البحث غير الثابتة)
  • أن يكون لديك حدّ أدنى لمستوى إشارة RSSI الحد الأدنى لمستوى إشارة RSSI هو -80 ديسيبل ميلي واط لنطاق 2.4 غيغاهرتز و-77 ديسيبل ميلي واط لنطاقَي 5 غيغاهرتز و6 غيغاهرتز، ويمكن ضبطه باستخدام التراكبات config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz وconfig_wifi_framework_wifi_score_entry_rssi_threshold_5GHz وconfig_wifiFrameworkScoreEntryRssiThreshold6ghz.
  • لم يتم حظره، مثلاً بسبب تعذُّر الاتصال في السابق.
  • لا تشير الشبكة إلى أنّها غير قابلة للاستخدام (على سبيل المثال، باستخدام MBO/OCE).
  • يمكن ربطها باستخدام بيانات الاعتماد المتوفّرة على الجهاز.

يتم استخدام الجهات التالية التي ترشّح الشبكات:

  • مقيّم الشبكات المحفوظة: يقيّم جميع الشبكات المحفوظة (بما في ذلك اشتراكات Passpoint المحفوظة).
  • مُقترح شبكة: يقيّم جميع الشبكات التي توفّرها التطبيقات باستخدام Suggestion API (بما في ذلك اشتراكات Passpoint المقترَحة).

المرشحون الأعلى تحقيقًا للنتائج

يقوم قيّمون بتقييم المرشحين وتقديم درجة لكل مرشح. تستند النتيجة الخاصة بـ ThroughputScorer (أداة تسجيل النتائج التلقائية) إلى ما يلي:

  • يتم احتساب النتيجة الأساسية استنادًا إلى قوة الإشارة المستلَمة (RSSI)، مع وضع حد أقصى لقوة الإشارة المستلَمة يبلغ ‎-73 ديسيبل ميلي واط لنطاق التردد 2.4 غيغاهرتز أو ‎-70 ديسيبل ميلي واط لنطاقَي التردد 5 غيغاهرتز و6 غيغاهرتز (يتم ضبطه باستخدام التراكبات config_wifi_framework_wifi_score_low_rssi_threshold_24GHz وconfig_wifi_framework_wifi_score_low_rssi_threshold_5GHz وconfig_wifiFrameworkScoreLowRssiThreshold6ghz).
  • يتم احتساب زيادة في النتيجة استنادًا إلى تقدير معدل نقل البيانات المستمد من التكنولوجيا ومعدل تكرار القناة وعرض النطاق الترددي وقوة إشارة الاستقبال (RSSI) وظروف القناة والحد الأقصى لعدد تدفقات البيانات المكانية وغيرها من المَعلمات. يمكن ضبط زيادة النتيجة باستخدام طبقتَي التراكب config_wifiFrameworkThroughputBonusNumerator وconfig_wifiFrameworkThroughputBonusDenominator، ويقتصر ذلك على الحد الأقصى للقيمة المحدّدة باستخدام طبقة التراكب config_wifiFrameworkThroughputBonusLimit.
  • تحصل الشبكة المرشّحة التي اختارها المستخدم أو أحد التطبيقات مؤخرًا على زيادة كبيرة في النتيجة لمدة يمكن ضبطها باستخدام التراكب config_wifiFrameworkLastSelectionMinutes (خلال هذه المدة، يُضمن اختيار الشبكة على الشبكات التي لم يحددها المستخدم).
  • يحصل المرشّح الذي يتطابق مع الشبكة الحالية على زيادة في النتيجة تم ضبطها من خلال الطبقتَين config_wifiFrameworkCurrentNetworkBonusMin وconfig_wifiFrameworkCurrentNetworkBonusPercent (يحصل على مكافأة إضافية استنادًا إلى نسبة من نتيجة RSSI والنتيجة المستندة إلى معدل نقل البيانات، وصولاً إلى الحد الأدنى القابل للضبط).
  • تحصل الشبكة الآمنة على تقييم أعلى من الشبكة المفتوحة. يتم ضبط المكافأة باستخدام التراكب config_wifiFrameworkSecureNetworkBonus.
  • يتم منح الشبكة غير المحدودة (المجانية) درجة أعلى من الشبكة المحدودة (المدفوعة). يتم ضبط المكافأة باستخدام التراكب config_wifiFrameworkUnmeteredNetworkBonus.
  • تحصل الشبكة المحفوظة على درجة أعلى من الشبكة المقترَحة باستخدام واجهة برمجة التطبيقات Suggestion API. يتم ضبط المكافأة باستخدام التراكب config_wifiFrameworkSavedNetworkBonus.
  • يتم تقييم الشبكات غير الموثوق بها (التي يمكن طلبها كجزء من Suggestion API) بدرجة أقل من أي شبكة أخرى.
  • تحصل الشبكة التي تم رصدها سابقًا على أنّها غير متصلة بالإنترنت على النتيجة 0 إذا كان الجهاز متصلاً حاليًا بشبكة أخرى يمكنها الوصول إلى الإنترنت.

تؤدي المكافأة التلقائية التي يتم الحصول عليها عند حفظ المحتوى مقارنةً بالمحتوى المقترَح والمحتوى غير المحسوب مقارنةً بالمحتوى المحسوب (أي قيم التراكب التلقائية) إلى ترتيب صارم للأولوية بين المحتوى المحفوظ والمقترَح والمحسوب وغير المحسوب:

  1. الشبكات المحفوظة التي لا تفرض تكلفة استخدام
  2. الشبكات المقترَحة التي لا تفرض تكلفة استخدام
  3. الشبكات المحفوظة التي تفرض تكلفة استخدام
  4. الشبكات المقترَحة التي تفرض تكلفة استخدام

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

يمكن أن يتضمّن إطار العمل عدة أدوات لتسجيل المرشحين، ولكن يمكن تفعيل أداة واحدة فقط في كل مرة. يمكن استخدام مقاييس التقييم الأخرى (للبحث في خوارزميات بديلة). في نظام التشغيل Android 11، يكون برنامج التسجيل التلقائي هو ThroughputScorer.

حظر معرّف مجموعة الخدمات (SSID) ومعرّف مجموعة الخدمات الأساسية (BSSID)

قد يحظر إطار العمل معرّفات SSID أو BSSID، أي لا يأخذها في الاعتبار عند إجراء عمليات الربط، سواء بشكل مؤقت أو دائم.

حظر معرّف مجموعة الخدمات الأساسية (BSSID)

تعمل ميزة حظر معرّف مجموعة الخدمات الأساسية (BSSID) من خلال الاحتفاظ بعدّادَين للأخطاء، وهما عدّاد الأخطاء المتواصلة وعداد التسلسل، لكل نوع خطأ محدّد (راجِع القائمة أدناه لمعرفة أنواع الأخطاء). عند حدوث عطل:

  • يتم زيادة عدد محاولات تسجيل الدخول المتعذّرة من النوع المقابل.
  • في حال بلوغ حدّ الخطأ لنوع الخطأ هذا:
    • تم حظر معرّف مجموعة الخدمات الأساسية (BSSID).
    • يتم زيادة عدّاد التسلسل للفشل.

تبدأ مدة حظر معرّف مجموعة الخدمات الأساسية (BSSID) بقيمة أساسية (قابلة للإعداد) (يتم تحديدها من خلال التراكبات config_wifiBssidBlocklistMonitorBaseBlockDurationMs أو config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs، حسب قوة إشارة استقبال الراديو (RSSI))، وتزداد بشكل كبير إلى حد أقصى قابل للإعداد (يتم تحديده من خلال التراكب config_wifiBssidBlocklistMonitorFailureStreakCap). تزداد المدة في حال حدوث حالات تعذّر اكتمال بشكل متواصل على معرّف مجموعة الخدمات الأساسية (BSSID) نفسه. المدة هي المدة الأساسية التي تزداد بشكل كبير حسب عدد مرات الفشل المتتالية، أي أنّ عدد مرات الفشل المتتالية البالغ 2 يعني أنّ مدة الحظر الأساسية تبلغ 4 أضعاف.

تعتمد الحدود الدنيا لحظر معرّف مجموعة الخدمات الأساسية (BSSID) على سبب التعذّر، ويمكن تخصيص كل منها باستخدام التراكبات:

  • يرفض نقطة الوصول الاقتران باستخدام رمز تعذُّر معالجة محطة جديدة MBO/OCE: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • تعذّر التحقّق من الاتصال بالإنترنت من خلال هذه الشبكة: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold.
  • رمز الخطأ في المصادقة بكلمة مرور غير صحيحة: config_wifiBssidBlocklistMonitorWrongPasswordThreshold.
  • رمز خطأ مصادقة فشل بروتوكول المصادقة القابلة للتوسيع (EAP) لشبكات EAP: config_wifiBssidBlocklistMonitorEapFailureThreshold.
  • رفض الربط، ورفض الربط العام الآخر: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold.
  • مهلة الربط: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold.
  • تعذُّر المصادقة، حالات تعذُّر المصادقة العامة الأخرى: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold.
  • تعذُّر بروتوكول DHCP، تعذُّر توفير بروتوكول DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold.
  • انقطاع الاتصال بشكل غير طبيعي، أي انقطع اتصال الجهاز بالشبكة خلال فترة قصيرة جدًا بعد الاتصال: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. يمكن ضبط فترة الوقت باستخدام config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs.

شروط محو قائمة BSSID المحظورة

تتم إزالة معرّف مجموعة الخدمات الأساسية (BSSID) من قائمة الحظر في الحالات التالية:

  • تم إيقاف شبكة Wi-Fi ثم إعادة تفعيلها: تتم إزالة جميع معرّفات مجموعة الخدمات الأساسية (BSSID) من قائمة الحظر.
  • ينقر المستخدم على شبكة في أداة اختيار شبكة Wi-Fi: تتم إزالة جميع أرقام تعريف مجموعة الخدمات الأساسية (BSSID) الخاصة بالشبكة التي اختارها المستخدم من قائمة الحظر.
  • انتهاء المهلة: تتم إزالة معرّفات BSSID من القائمة المحظورة عند انتهاء مدة الحظر.
  • إعادة التشغيل: يتم محو جميع القوائم المحظورة.
  • تمت إزالة الشبكة: تتم إزالة جميع أرقام تعريف مجموعة الخدمات الأساسية (BSSID) المرتبطة بهذه الشبكة من قائمة الحظر.

شروط إعادة ضبط عدّادات الأخطاء والنجاحات المتتالية:

  • إعادة التشغيل: إعادة الضبط لجميع أرقام تعريف مجموعة الخدمات الأساسية (BSSID)
  • تمت إزالة الشبكة: أعِد ضبط معرّفات مجموعة الخدمات الأساسية (BSSID) المرتبطة بالشبكة.
  • نجاح الاتصال من المستوى 2: إعادة الضبط لرموز الخطأ التالية

    • REASON_AP_UNABLE_TO_HANDLE_NEW_STA
    • REASON_WRONG_PASSWORD
    • REASON_EAP_FAILURE
    • REASON_ASSOCIATION_REJECTION
    • REASON_ASSOCIATION_TIMEOUT
    • REASON_AUTHENTICATION_FAILURE
    • REASON_ABNORMAL_DISCONNECT (يتم محوها بشكل مشروط فقط إذا كان آخر وقت اتصل فيه الجهاز بمعرّف مجموعة الخدمات الأساسية هذا قبل أكثر من 3 ساعات)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • نجاح عملية التحقّق من الشبكة: تتم إعادة الضبط لرمز الخطأ التالي.

    • REASON_NETWORK_VALIDATION_FAILURE
  • نجاح توفير DHCP: إعادة الضبط لرمز الخطأ التالي

    • REASON_DHCP_FAILURE

حظر معرّف مجموعة الخدمات (SSID)

تعمل عملية حظر معرّف SSID بشكل مشابه لعملية حظر معرّف BSSID. يتم زيادة عدّاد حالات الفشل لكل نوع من أنواع حالات الفشل لكل شبكة عند حدوث حالات فشل في الاتصال (من هذا النوع). عندما يتجاوز عدد حالات الفشل من نوع معيّن الحدّ، يتم حظر SSID بشكل دائم أو مؤقت استنادًا إلى الإعداد. يتم ترميز الإعداد لكل نوع من أنواع الأعطال في WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS ويتم تلخيصه أدناه.

* بالنسبة إلى الشبكات التي تم إيقافها مؤقتًا، تتغيّر مدة الإيقاف بشكل ديناميكي استنادًا إلى عدد حالات فشل الاتصال المتتالية التي حدثت على الشبكة. بعد أن يتعذّر على الشبكة الاتصال خمس مرات متتالية، سيؤدي كل تعذّر لاحق إلى مضاعفة مدة الإيقاف مقارنةً بالمدة السابقة. على سبيل المثال، إذا حدثت خمس حالات تعذُّر متتالية في الشبكة، سيتم إيقافها لمدة 5 دقائق، ثم لمدة 10 دقائق عند حدوث حالة التعذُّر السادسة، ولمدة 20 دقيقة عند حدوث حالة التعذُّر السابعة، وهكذا حتى الحد الأقصى البالغ 18 ساعة.

رمز الخطأ الوصف الحدّ مدة الإيقاف الأساسية* نوع الإيقاف
DISABLED_DHCP_FAILURE تعذُّر توفير بروتوكول DHCP 5 ٥ دقائق مؤقتة
DISABLED_NO_INTERNET_TEMPORARY تعذّر إثبات صحة الشبكة، ولكن يذكر المستخدم أنّه يريد مواصلة الاتصال بهذه الشبكة في المستقبل 1 10 دقائق مؤقتة
DISABLED_AUTHENTICATION_NO_CREDENTIALS لا يتوفّر لدى طالب المصادقة بيانات اعتماد للاتصال بالشبكة 1 NA دائمة
DISABLED_NO_INTERNET_PERMANENT الإعداد التلقائي لتعذُّر التحقّق من الشبكة 1 NA دائمة
DISABLED_BY_WIFI_MANAGER متوقّف نهائيًا وغير مستخدَم 1 NA دائمة
DISABLED_BY_WRONG_PASSWORD كلمة المرور غير صحيحة، ولم يسبق أن تم الاتصال بهذه الشبكة بنجاح 1 NA دائمة
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION تعذُّر مصادقة EAP بسبب عدم الاشتراك في شريحة SIM 1 NA دائمة
DISABLED_ASSOCIATION_REJECTION أخطاء رفض الربط 5 ٥ دقائق مؤقتة
DISABLED_AUTHENTICATION_FAILURE حالات تعذُّر المصادقة الأخرى (أي ليس بسبب كلمة مرور خاطئة أو تعذُّر EAP ) 5 ٥ دقائق مؤقتة
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR حدث خطأ في برنامج الاستخدام المبكر الخاص بمقدّم الخدمة (الخاص). 1 NA دائمة
DISABLED_NETWORK_NOT_FOUND لم يتمكّن الطالب من العثور على شبكة في نتائج الفحص تتطابق مع الشبكة التي طلبها الإطار للاتصال (بما في ذلك إمكانات الشبكة). 2 ٥ دقائق مؤقتة
DISABLED_CONSECUTIVE_FAILURES تعذّر الاتصال بالشبكة خمس مرات أو أكثر على التوالي. يشمل نوع الخطأ لهذه الأخطاء، على سبيل المثال لا الحصر، أنواع الأخطاء المدرَجة في هذا الجدول.
5 ٥ دقائق مؤقتة

تتم إعادة تفعيل الشبكة التي تم إيقافها مؤقتًا في الحالات التالية:

  • انتهت مدة التعطيل.
  • يختار المستخدم الشبكة يدويًا للاتصال بها.
  • يُفعّل المستخدم شبكة Wi-Fi أو يوقفها.
  • تتم إعادة تشغيل النظام.
  • تم إيقاف الشبكة عند مستوى RSSI منخفض جدًا، ولكن تم رصد الشبكة مرة أخرى لاحقًا عند مستوى RSSI معتدل أو أعلى.

تتم إعادة تفعيل شبكة تم إيقافها نهائيًا في الحالات التالية:

  • يختار المستخدم الشبكة يدويًا للاتصال بها.

تتم إعادة ضبط عدّادات الأعطال لشبكة معيّنة في الحالات التالية:

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

بطاقات النتائج

تسجّل بطاقات قياس الأداء، التي تم طرحها في نظام التشغيل Android 10، إحصاءات على الجهاز حول معرّفات BSSID. يتم الاحتفاظ ببطاقات النتائج باستخدام خدمة IpMemoryStore.

لا يتم استخدام بطاقات النتائج في اختيار الشبكة على Android 11.

خيار ربط حساب المستخدم

يتضمّن نظام التشغيل Android خوارزمية اختيار اتصال المستخدم التي تتيح لعملية الاختيار تفضيل شبكات Wi-Fi التي اتصل بها المستخدم بشكل صريح، مثل شبكة منزلية. قد يفضّل المستخدمون هذه الشبكات على الشبكات العامة حتى إذا كان الأداء أقل من الشبكة العامة، لأنّها توفّر خدمات إضافية، مثل إمكانية التحكّم في الأجهزة المنزلية.

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

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

يظل خيار شبكة الاتصال المفضّلة للمستخدم محفوظًا بعد إعادة التشغيل. يعمل خيار الاتصال بشبكات محفوظة وشبكات Passpoint وشبكات مقترَحة.

محطتان متزامنتان

يوضّح هذا القسم كيفية اختيار شبكة Wi-Fi عندما يتيح الجهاز الاتصال بشبكتَي Wi-Fi في الوقت نفسه.

Make-before-break

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

الاتصال بالشبكة المقيدة والإنترنت في الوقت نفسه

في حال تفعيل وظيفة الاتصال المتزامن بشبكة مقيّدة وبشبكة إنترنت، يمكن للجهاز الاتصال بشبكة Wi-Fi ثانوية مقيّدة لا تتوفّر إلا لتطبيقات محدّدة يضبطها مصنّع الجهاز. تتوفّر تعليمات للشركات المصنّعة للأجهزة حول كيفية ضبط هذا الإعداد في مقالة الاتصال المقيّد والمتزامن بالإنترنت.

عندما ترصد خوارزمية اختيار الشبكة نتائج بحث تطابق اقتراح OEM المدفوع أو الخاص، تتصل تلقائيًا به كشبكة ثانية. يتم عادةً اختيار الشبكة لشبكة Wi-Fi الأساسية (التي توفّر اتصالاً بالإنترنت للتطبيقات العادية) بشكلٍ متوازٍ.

الأسئلة الشائعة

  1. هل تحظى الشبكات الآمنة دائمًا بالأولوية على الشبكات المفتوحة؟

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

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

  2. لماذا يتم منح الأولوية للشبكات المحفوظة على الشبكات المقترَحة؟

    تُمنح الشبكات المجانية (غير المحدودة) المحفوظة الأولوية على الشبكات المجانية المقترَحة، وتُمنح الشبكات المحدودة المحفوظة الأولوية على الشبكات المحدودة المقترَحة.

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

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

  3. هل يمكنني تغيير ترتيب الأولوية الصارمة أو إزالته تمامًا؟

    يمكن لمصنّع الجهاز تعديل قرارات اختيار الشبكة من خلال تعديل تراكبات المكافآت المدرَجة في الأقسام أعلاه. ومع ذلك، لا يُنصح بتغيير القيم التلقائية لأنّه تم اختيارها بعد دراسة متأنية لعدة حالات استخدام.