توضّح هذه الصفحة الخوارزميات والإجراءات المستخدَمة في نظام التشغيل Android 12 لاختيار شبكات Wi-Fi والتبديل بينها. يقيّم جهاز Android باستمرار جودة الشبكة المتصلة ويقيّم جودة الشبكات المتاحة.
مدة صلاحية الربط التلقائي
يوضّح هذا القسم كيف يقيّم جهاز Android ويتصل بشبكات Wi-Fi المتاحة.
يبحث الجهاز عن الشبكات المتاحة بإحدى الطرق التالية، حسب ما إذا كانت الشاشة قيد التشغيل أو الإيقاف.
- الشاشة مفعّلة (متصل): يقيّم نظام Android الفرعي للاتصال بانتظام ما إذا كان الاتصال الحالي جيدًا بما يكفي لتخطّي عملية البحث (كما هو محدّد في عمليات البحث أثناء تفعيل الشاشة). إذا لم يكن الاتصال جيدًا بما يكفي لتخطّي عملية الفحص، سيؤدي النظام الفرعي للاتصال إلى بدء فحص لرصد الشبكات المتاحة. يمكن أن يتم تشغيل عمليات الفحص هذه أيضًا من خلال مكونات أخرى في النظام، مثل نظام تحديد الموقع الجغرافي أو أحد التطبيقات (بما في ذلك تطبيق "الإعدادات").
- الشاشة مفعّلة (تم قطع الاتصال): يصدر نظام Android الفرعي الخاص بالاتصال عمليات بحث دورية وفقًا لجدول زمني للتراجع الأسي. تقيّم الوحدة جميع نتائج المسح الضوئي التي تم تلقّيها وتحاول اختيار أفضل شبكة للاتصال بها.
- إيقاف الشاشة (غير متصل): يبرمِج مضيف وحدة المعالجة المركزية (CPU) البرنامج الثابت باستخدام قائمة بالشبكات المفضَّلة من خلال عمليات فحص ميزة "تفريغ الشبكة المفضَّلة" (PNO) فور إيقاف الشاشة. ويوقظ البرنامج الثابت المضيف إذا عثر على أي من الشبكات المفضَّلة. يفترض AOSP أنّ ميزة "الشبكات الخاصة فقط" متاحة على الجهاز.
يمكن استخدام طريقة
WifiManager#allowAutojoinGlobal(boolean)لإيقاف عمليات الربط التلقائي. هذه واجهة برمجة تطبيقات ذات امتيازات يمكن لمصنّعي الأجهزة استخدامها في ظروف محدودة (على سبيل المثال، جهاز غير متوافق مع الأجهزة الجوّالة، وجهاز تم إعداده مسبقًا).إذا كان الجهاز متصلاً بالإنترنت وتم ضبط تراكب
config_wifi_framework_enable_associated_network_selectionعلىfalse، لن يتم إجراء عمليات بحث عن الاتصال، ولن تؤدي نتائج البحث إلى اختيار الشبكة. ليس لهذا الإعداد أي تأثير عندما يكون الجهاز غير متصل، ما يعني أنّه سيظل يتم إجراء عمليات فحص الاتصال واختيار الشبكة.يتم تقييم نتائج الفحص.
إذا كان الجهاز متصلاً بشبكة Wi-Fi، يقيّم إطار العمل ما إذا كانت الشبكة الحالية جيدة بما يكفي لتخطّي اختيار الشبكة.
يتم تعريف الشبكة على أنّها جيدة بما يكفي لتخطّي اختيار الشبكة إذا تم استيفاء أي من المتطلبات التالية:
- انقضاء أقل من 10 ثوانٍ منذ آخر عملية اختيار للشبكة
- اتّصل المستخدم مؤخرًا بالشبكة يدويًا (حيث يمكن ضبط الفترة الزمنية "مؤخرًا" باستخدام التراكب
config_wifiSufficientDurationAfterUserSelectionMilliseconds). - أن يكون الجهاز متصلاً باتصال OSU
يجب استيفاء جميع المتطلبات التالية:
- أن يكون مؤشر قوة الإشارة المستلمة (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) على نتائج البحث التي تفصل بينها فواصل زمنية كافية).
يشغّل إطار العمل أداة تسجيل المرشّحين لإنشاء نتيجة لكل مرشّح SSID. يمكن أن تتضمّن معرّفات SSID المرشّحة معرّفات BSSID مرشّحة متعددة (من إنشاء الجهات التي تقترح الشبكات). المرشّح الفائز هو المرشّح الذي يحصل على أعلى نتيجة.
ينفّذ الإطار خوارزمية اختيار اتصال المستخدم، والتي قد تجعل شبكة يختارها المستخدم هي المرشّح الجديد الفائز بدلاً من استخدام المرشّح الفائز من أداة تقييم المرشّحين.
يحدّد إطار العمل ما إذا كان المرشّح الفائز يتطابق مع الشبكة المرتبطة. لكي يتم اعتبارها مطابقة، يجب استيفاء أحد الشروط التالية:
- يجب أن يكون للمرشّح الفائز وشبكة Wi-Fi المتصلة معرّف مجموعة الخدمات الأساسية (BSSID) نفسه.
- إذا كانت خدمة التجوال في البرامج الثابتة متاحة (بما في ذلك إمكانية حظر معرّف مجموعة الخدمات الأساسية)، يجب أن يكون لمعرّف مجموعة الخدمات الأساسية ونوع الأمان الخاصين بالشبكة المتصلة القيم نفسها.
إذا تطابق المرشّح الفائز مع الشبكة المتصلة، لن يتم اتّخاذ أي إجراء آخر. إذا لم يتطابق المرشّح الفائز مع الشبكة، سيربط الجهاز الشبكة بالمرشّح الفائز.
تقييم شبكة متصلة
يقيّم إطار عمل Android أو البرامج الثابتة بشكل دوري جودة الشبكة المتصلة. يوضّح هذا القسم كيفية تقييم الشبكة المتصلة عندما تكون الشاشة قيد التشغيل أو متوقفة.
يتم إجراء هذا التقييم بالإضافة إلى اختيار الشبكة الذي تم تناوله في الأقسام السابقة.
الشاشة قيد التفعيل
يقيّم إطار عمل Android الشبكة المتصلة بالطريقة التالية:
تطلب خدمة 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).
- يتم تمديد فترة الاستطلاع إلى 6 ثوانٍ (يتم ضبطها من خلال التراكب
تحتسب خدمة Wi-Fi درجة اتصال استنادًا إلى RSSI وإحصاءات طبقة الربط.
تمرِّر خدمة 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 حزمة في الثانية (pps) تم ضبطها باستخدام تراكب
config_wifiFrameworkMinPacketPerSecondActiveTraffic.
عندما يكون الجهاز متصلاً بالإنترنت والشاشة قيد التشغيل، يراقب برنامج تسجيل النتائج المتصل جودة شبكة Wi-Fi بشكل دوري من خلال فحص إشارات مثل RSSI وعدد الحِزم التي تم نقلها. إذا تبيّن أنّ جودة شبكة Wi-Fi رديئة (كما هو موضّح لاحقًا) وكان الجهاز يتيح استخدام محطتَي بث متزامنتَين، سيتم بدء عملية بحث. يمكن استخدام تراكب
config_wifiLowConnectedScoreThresholdToTriggerScanForMbb لإعداد حدّ النتيجة الذي يؤدي إلى بدء عملية الفحص. يمكن استخدام تراكب config_wifiLowConnectedScoreScanPeriodSeconds لضبط فترة عمليات الفحص هذه.
الشاشة مطفأة والجهاز متصل بشبكة Wi-Fi
عندما تكون الشاشة مطفأة والجهاز متصلاً بشبكة Wi-Fi، ينفّذ البرنامج الثابت (Wi-Fi SoC) عمليات بحث عن شبكات تجوال. لا ينفّذ إطار العمل أي عمليات فحص عندما تكون الشاشة مطفأة.
الشاشة مطفأة والجهاز غير متصل بشبكة Wi-Fi (حالة عدم الاتصال)
عندما تكون الشاشة مطفأة وشبكة Wi-Fi غير متصلة، ينفّذ البرنامج الثابت عمليات بحث PNO عن معرّفات SSID. يضبط إطار العمل البرامج الثابتة باستخدام قائمة بمعرّفات SSID للبحث عنها وقائمة بالقنوات التي سيتم البحث فيها. في حال العثور على SSID تم ضبطه، تنشّط البرامج الثابتة إطار العمل.
يضبط إطار العمل أيضًا الفترة الزمنية التي يجب أن ينفّذ فيها البرنامج الثابت عمليات بحث PNO، وذلك باستخدام حالة تنقّل الجهاز لاختيار فترات بحث مختلفة.
في حالة عدم التنقّل (الجهاز ثابت)، يكون الفاصل الزمني 60 ثانية لعمليات الفحص الثلاث الأولى (يتم التحكّم فيها من خلال التراكب config_wifiStationaryPnoScanIntervalMillis)، و180 ثانية (مضاعف ثابت للتراكب بمقدار 3 مرات) لعمليات الفحص اللاحقة. في حالة التنقّل السريع، يكون الفاصل الزمني 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 إذا كان الجهاز متصلاً بشبكة أخرى يمكنها الاتصال بالإنترنت.
تؤدي المكافأة التلقائية التي يتم تقديمها عند استخدام المحتوى المحفوظ مقارنةً بالمحتوى المقترَح والمحتوى غير المحدود مقارنةً بالمحتوى المحدود (أي قيم التراكب التلقائية) إلى ترتيب صارم للأولوية للمحتوى المحفوظ والمقترَح والمحدود وغير المحدود:
- الشبكات المحفوظة التي لا تفرض تكلفة استخدام
- الشبكات المقترَحة التي لا تفرض تكلفة استخدام
- الشبكات المحفوظة التي تفرض تكلفة استخدام
- الشبكات المقترَحة التي تفرض تكلفة استخدام
وهذا يعني أنّه يتم دائمًا اختيار شبكة محفوظة لا تتضمّن أي حدود للاستخدام (مجانًا) قبل اختيار شبكة محفوظة تتضمّن حدودًا للاستخدام (مدفوعة). قد تتجاوز المكافأة التي تم اختيارها مؤخرًا (من قِبل المستخدم أو التطبيق) هذه الأولوية الصارمة.
يمكن أن يتضمّن إطار العمل عدة أدوات لتسجيل المرشحين، ولكن لا يمكن تفعيل أكثر من أداة واحدة في الوقت نفسه. يمكن استخدام مقاييس التقييم الأخرى (للتحقّق من الخوارزميات البديلة). في نظام التشغيل 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) المرتبطة بهذه الشبكة.
عند نجاح اتصال L2، تتم إعادة ضبط العدادات لرموز الخطأ التالية:
REASON_AP_UNABLE_TO_HANDLE_NEW_STAREASON_WRONG_PASSWORDREASON_EAP_FAILUREREASON_ASSOCIATION_REJECTIONREASON_ASSOCIATION_TIMEOUTREASON_AUTHENTICATION_FAILUREREASON_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 | لا ينطبق | دائمة |
DISABLED_NO_INTERNET_PERMANENT |
الإعداد التلقائي لتعذُّر التحقّق من الشبكة | 1 | لا ينطبق | دائمة |
DISABLED_BY_WIFI_MANAGER |
متوقّف نهائيًا وغير مستخدَم | 1 | لا ينطبق | دائمة |
DISABLED_BY_WRONG_PASSWORD |
كلمة المرور غير صحيحة، ولم يسبق أن تم الاتصال بهذه الشبكة بنجاح | 1 | لا ينطبق | دائمة |
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION |
تعذُّر مصادقة EAP بسبب عدم الاشتراك في شريحة SIM | 1 | لا ينطبق | دائمة |
DISABLED_ASSOCIATION_REJECTION |
أخطاء رفض الربط | 5 | ٥ دقائق | مؤقتة |
DISABLED_AUTHENTICATION_FAILURE |
حالات تعذُّر المصادقة الأخرى (أي ليس بسبب كلمة مرور خاطئة أو تعذُّر EAP) | 5 | ٥ دقائق | مؤقتة |
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR |
حدث خطأ في برنامج الاستخدام المبكر الخاص بمقدّم الخدمة (الخاص). | 1 | لا ينطبق | دائمة |
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 خوارزمية اختيار الشبكة نفسها التي يستخدمها مسار break-before-make (وهو المسار الذي ينقطع فيه اتصال الجهاز بالشبكة القديمة قبل الاتصال بالشبكة الجديدة). إذا اختارت خوارزمية اختيار الشبكة شبكة لا يمكن التبديل إليها باستخدام make-before-break، سيعود الجهاز تلقائيًا إلى break-before-make.
الاتصال بالشبكة المقيدة والإنترنت في الوقت نفسه
في حال تفعيل وظيفة الاتصال المتزامن بشبكة مقيّدة والإنترنت، يمكن للجهاز الاتصال بشبكة Wi-Fi ثانوية مقيّدة لا تتوفّر إلا لتطبيقات محدّدة تم ضبطها من قِبل الشركة المصنّعة للجهاز. تتوفّر تعليمات لمصنّعي الأجهزة حول كيفية ضبط هذا الإعداد في مقالة الاتصال المقيّد والمتزامن بالإنترنت.
عندما ترصد خوارزمية اختيار الشبكة نتائج بحث تطابق الاقتراح المدفوع أو الخاص من الشركة المصنّعة للجهاز الأصلي، يتم الاتصال تلقائيًا بهذه الشبكة كشبكة ثانية. يتم عادةً اختيار الشبكة لشبكة Wi-Fi الأساسية (التي توفّر اتصالاً بالإنترنت للتطبيقات العادية) بشكل متزامن.
الأسئلة الشائعة
هل تحظى الشبكات الآمنة دائمًا بالأولوية على الشبكات المفتوحة؟
لا، فالشبكات المحفوظة مقابل الشبكات المقترَحة والشبكات التي تفرض تكلفة استخدام مقابل الشبكات التي لا تفرض تكلفة استخدام هي فئات أساسية يتم تقييم الشبكات فيها. ضمن كل فئة، تحظى الشبكات الآمنة ببعض الأولوية على الشبكات المفتوحة، ولكن يتم إعطاء وزن أكبر بكثير لجودة الاتصال.
والسبب هو أنّ أمان بيانات المستخدمين الفعلي يتم توفيره من خلال التشفير التام بين الأطراف (مثل بروتوكول أمان طبقة النقل). لا تشفّر الشبكات الآمنة سوى الجزء الأول من عملية الاتصال، وحتى في هذه الحالة، لا توفّر الشبكات التي تستخدم مفاتيح مشترَكة مسبقًا قدرًا كبيرًا من الخصوصية.
لماذا يتم منح الأولوية للشبكات المحفوظة على الشبكات المقترَحة؟
تُعطى الأولوية للشبكات المجانية (غير المحدودة) المحفوظة على الشبكات المجانية المقترَحة، كما تُعطى الأولوية للشبكات المحدودة المحفوظة على الشبكات المحدودة المقترَحة.
تُمنح الشبكات المحفوظة الأولوية على الشبكات المقترَحة لأنّها الشبكات التي أضافها المستخدم إلى الجهاز بشكل صريح. ويشير ذلك إلى تفضيل الاتصال بهذه الشبكات عند الإمكان.
يُرجى العِلم أنّه يمكن للمستخدمين إيقاف سلوك الاتصال التلقائي لشبكات فردية محفوظة، أي يمكنهم الإشارة إلى أنّه سيتم استخدام هذه الشبكات يدويًا فقط ولن يتم اعتبارها تلقائيًا من قِبل الجهاز.
هل يمكنني تغيير ترتيب الأولوية الصارمة أو إزالته تمامًا؟
يمكنك تعديل قرارات اختيار الشبكة من خلال تعديل تراكبات المكافآت المدرَجة في الأقسام السابقة. ومع ذلك، لا يُنصح بتغيير القيم التلقائية، لأنّه تم اختيارها بعد دراسة متأنية لعدة حالات استخدام.