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

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

مدة الاتصال التلقائي

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

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

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

    يمكن استخدام الطريقة 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 أقل من مؤشر 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) نفسه.
    • إذا كان خيار التجوال في البرامج الثابتة متاحًا (بما في ذلك إمكانية استخدام القائمة السوداء لعنوان BSSID)، يجب أن يكون لدى المرشح الفائز والشبكة المتصلة معرّف SSID ونوع أمان مماثلَين.

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

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

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

يُقيّم إطار عمل 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 والإصدارات الأحدث) في حال الحاجة إلى فواصل زمنية مختلفة للبحث في وقت التشغيل، يمكن لتطبيق المصنّع الأصلي للجهاز طلب واجهة برمجة تطبيقات WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) لضبط الجدول الزمني للفحص على الشاشة ديناميكيًا.

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

  • الجهاز متصل بموقع إلكتروني لتسجيل الأجهزة (OSU).
  • تدفق عدد كافٍ من الزيارات من خلال عملية الربط (اطّلع على الحدود الدنيا لعدد الزيارات أدناه).
  • تتجاوز قيمة RSSI الحدّ الأدنى المطلوب لخلاصة 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.
  • إذا كانت عدد الحِزم في الثانية (pps) عند إرسال البيانات أو استلامها أعلى من 16 حزمة ، ويكون ذلك مضبوطًا باستخدام تراكب config_wifiFrameworkMinPacketPerSecondActiveTraffic

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

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

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

الشاشة مقفلة وغير متصلة بشبكة Wi-Fi (حالة غير متصلة)

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

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

مُرشِحو الشبكة

يبحث مُعيّنو الشبكات عن الإعدادات أو ينشئونها (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).
  • يمكن ربطها باستخدام بيانات الاعتماد المتاحة على الجهاز.

يتم استخدام العناصر التالية التي تحدّد الشبكات:

  • ترشيح الشبكة المحفوظة: يقيّم هذا المقياس جميع الشبكات المحفوظة (بما في ذلك اشتراكات نقطة المرور المحفوظة).
  • مُحدِّد الشبكات المقترَحة: يُقيّم جميع الشبكات التي تقدّمها التطبيقات باستخدام Suggestion API (بما في ذلك اشتراكات Passpoint المقترَحة).
  • مُحدِّد الشبكة الذي يتم احتسابه خارجيًا: آلية المصنّع الأصلي للجهاز لتوفير خيارات اتصال بالشبكة للجهاز لمزيد من المعلومات، يُرجى الاطّلاع على مقالة مزوّد التقييمات الخارجي للشبكات.

تسجيل أهداف المرشّحين

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

  • يتم احتساب النتيجة الأساسية استنادًا إلى RSSI، حيث يكون الحد الأقصى لمعيار 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.
  • يتم تسجيل تقييم أقل من أي شبكة أخرى للشبكات غير الموثوق بها (التي يمكن طلبها كجزء من واجهة برمجة تطبيقات الاقتراحات).
  • تحصل الشبكة التي تبيّن سابقًا أنّها غير متصلة بالإنترنت على درجة 0 إذا كان الجهاز متصلاً حاليًا بشبكة أخرى متصلة بالإنترنت.

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

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

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

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

حظر SSID وBSSID

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

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

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

  • ويتمّ زيادة المُحتسَب لنوع الخطأ المقابل.
  • في حال بلوغ الحدّ الأدنى للخطأ لهذا النوع من الأخطاء:
    • تم حظر معرّف BSSID.
    • يتمّ زيادة عدّاد التسلسل للإخفاق.

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

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

  • يرفض نقطة الوصول الاقتران باستخدام رمز MBO/OCE تعذُّر معالجة محطة STA الجديدة: 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) المرتبطة بالشبكة.
  • تم الاتصال بنجاح بشبكة L2: يُرجى إعادة الضبط للاطّلاع على رموز الخطأ التالية.

    • 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 تعذّر إكمال عملية EAP (خاصة) خاصة بمقدّم الخدمة. 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.

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

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

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

الإنشاء قبل الانهيار

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

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

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

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

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

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

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

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

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

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

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

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

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

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