اختيار شبكة Android 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 overlay على false ، فلن يتم إجراء عمليات فحص الاتصال ولن تؤدي نتائج المسح إلى تشغيل تحديد الشبكة. لا يؤثر هذا الإعداد عند فصل الجهاز ، مما يعني استمرار حدوث عمليات فحص الاتصال واختيار الشبكة.

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

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

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

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

        • يتجاوز RSSI عتبة 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 ، و config_wifi_treshold_5GHz) بالإضافة إلى ذلك ، يتم تصفية معرّفات BSSID المحظورة. يمكن حظر معرّفات BSSID استنادًا إلى حالات فشل الاتصال المتكررة ، وقطع الاتصال المتكررة ، والطلبات الصريحة من AP لعدم محاولة الاقتران لفترة زمنية معينة (MBO-OCE). تم وصف حظر BSSID أدناه في حظر SSID و BSSID .

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

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

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

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

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

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

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

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

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

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

الشاشة مفتوحة

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

  1. تستطلع خدمة Wi-Fi إحصائيات RSSI وطبقة الارتباط كل 3 ثوانٍ (قابلة للتكوين باستخدام تراكب config_wifiPollRssiIntervalMilliseconds ).
  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 ثانية كلما تغيرت حالة الشاشة ، أي عند تشغيل الشاشة أو إيقاف تشغيلها.

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

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

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

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

  • RSSI أعلى من -73 ديسيبل ميلي واط للنطاق 2.4 جيجا هرتز ، تم تكوينه باستخدام config_wifi_framework_wifi_score_low_rssi_threshold_24GHz overlay ، أو -70 dBm config_wifiFrameworkScoreLowRssiThreshold6ghz config_wifi_framework_wifi_score_low_rssi_threshold_5GHz
  • حركة المرور (الإرسال أو الاستقبال) تزيد عن 16 حزمة في الثانية (pps) تم تكوينها باستخدام config_wifiFrameworkMinPacketPerSecondActiveTraffic overlay.

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

الشاشة مغلقة ومتصلة بشبكة Wi-Fi

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

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

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

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

مرشحو الشبكة

يبحث مرشحو الشبكة عن تكوينات (WifiConfiguration) أو ينشئونها ( WifiConfiguration ) للشبكات التي هي:

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

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

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

الهدافين المرشح

يقوم المصححون المرشحون بتقييم وتقديم درجة لكل مرشح. تعتمد النتيجة لـ ThroughputScorer (المسجل الافتراضي) على ما يلي:

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

المكافأة الافتراضية للحفظ مقابل الاقتراح وغير المقاسة مقابل التي تم قياسها (أي ، قيم التراكب الافتراضية) تنتج ترتيب أولوية صارم للحفظ والاقتراح والمقاس وغير المحسوب:

  1. الشبكات المحفوظة التي لم يتم قياسها
  2. اقترح الشبكات غير المقاسة
  3. الشبكات المحفوظة التي تم قياسها
  4. الشبكات المقننة المقترحة

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

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

حظر SSID و BSSID

قد يحظر إطار العمل SSIDs و / أو BSSID ، أي لا يعتبرها للاتصالات إما بشكل مؤقت أو دائم.

حظر BSSID

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

  • يتم زيادة العداد الخاص بنوع الفشل المقابل.
  • إذا تم الوصول إلى حد الفشل لنوع الفشل هذا:
    • تم حظر BSSID.
    • يتم زيادة عداد الخط للفشل.

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

تعتمد حدود حظر BSSID على سبب الفشل ويمكن تخصيص كل منها باستخدام التراكبات:

  • ترفض AP الاقتران باستخدام 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 (تم مسحه بشروط فقط إذا كانت آخر مرة تم فيها توصيل الجهاز بـ BSSID هذا قبل أكثر من 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 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 5 دقائق مؤقت
DISABLED_AUTHENTICATION_FAILURE حالات فشل المصادقة الأخرى (أي ليست كلمة مرور خاطئة أو فشل EAP) 5 5 دقائق مؤقت
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR فشل EAP (خاص) الخاص بالموفر. 1 غير متوفر دائم
DISABLED_NETWORK_NOT_FOUND فشل الطالب في العثور على شبكة في نتائج الفحص تطابق الشبكة المطلوبة بواسطة إطار العمل للاتصال (بما في ذلك إمكانيات الشبكة). 2 5 دقائق مؤقت
DISABLED_CONSECUTIVE_FAILURES فشلت الشبكة في الاتصال خمس مرات متتالية أو أكثر. يتضمن نوع الفشل لهذه الإخفاقات على سبيل المثال لا الحصر أنواع الفشل المدرجة في هذا الجدول.
5 5 دقائق مؤقت

يتم إعادة تمكين الشبكة المعطلة مؤقتًا عندما:

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

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

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

تتم إعادة تعيين عدادات الفشل للشبكة عندما:

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

بطاقات النتيجة

بطاقات النقاط ، المقدمة في Android 10 ، تسجل الإحصائيات على الجهاز حول BSSIDs. تستمر بطاقات النقاط باستخدام خدمة IpMemoryStore .

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

اختيار اتصال المستخدم

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

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

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

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

محطات مزدوجة متزامنة

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

اصنع قبل الفاصل

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

متزامن مقيد والاتصال بالإنترنت

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

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

أسئلة وأجوبة (FAQ)

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

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

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

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

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

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

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

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

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