एंड्रॉइड वाई-फाई नेटवर्क चयन

यह पृष्ठ वाई-फाई नेटवर्क के बीच चयन और स्विच करने के लिए एंड्रॉइड 12 में उपयोग किए जाने वाले एल्गोरिदम और प्रक्रियाओं की रूपरेखा तैयार करता है। एंड्रॉइड लगातार जुड़े नेटवर्क की गुणवत्ता का मूल्यांकन करता है और उपलब्ध नेटवर्क की गुणवत्ता का आकलन करता है।

एक स्वचालित कनेक्शन का जीवन

यह इस प्रक्रिया का वर्णन करता है कि एंड्रॉइड डिवाइस कैसे उपलब्ध वाई-फाई नेटवर्क का आकलन और कनेक्ट करता है।

  1. डिवाइस निम्न में से किसी एक तरीके से उपलब्ध नेटवर्क के लिए स्कैन करता है जो इस पर निर्भर करता है कि स्क्रीन चालू है या बंद है।

    • स्क्रीन ऑन (कनेक्टेड): एंड्रॉइड कनेक्टिविटी सबसिस्टम नियमित रूप से मूल्यांकन करता है कि क्या वर्तमान कनेक्शन स्कैनिंग को छोड़ने के लिए पर्याप्त है (जैसा कि स्क्रीन-ऑन स्कैन में परिभाषित किया गया है)। यदि कनेक्शन स्कैनिंग को छोड़ने के लिए पर्याप्त नहीं है, तो कनेक्टिविटी सबसिस्टम उपलब्ध नेटवर्क का पता लगाने के लिए एक स्कैन को ट्रिगर करता है। इन स्कैन को अन्य सिस्टम घटकों जैसे कि स्थान प्रणाली या एक ऐप (सेटिंग ऐप सहित) द्वारा भी ट्रिगर किया जा सकता है।
    • स्क्रीन ऑन (डिस्कनेक्टेड): एंड्रॉइड कनेक्टिविटी सबसिस्टम एक एक्सपोनेंशियल बैकऑफ शेड्यूल के बाद समय-समय पर स्कैन जारी करता है। मॉड्यूल प्राप्त सभी स्कैन परिणामों का मूल्यांकन करता है और कनेक्ट करने के लिए सर्वोत्तम नेटवर्क का चयन करने का प्रयास करता है।
    • स्क्रीन ऑफ (डिस्कनेक्टेड): होस्ट सीपीयू स्क्रीन के बंद होते ही पसंदीदा नेटवर्क ऑफलोड (पीएनओ) स्कैन का उपयोग करके पसंदीदा नेटवर्क की सूची के साथ फर्मवेयर प्रोग्राम करता है। फर्मवेयर होस्ट को जगाता है यदि उसे कोई पसंदीदा नेटवर्क मिल जाता है। एओएसपी मानता है कि पीएनओ डिवाइस पर समर्थित है।

    स्वचालित कनेक्शन अक्षम करने के लिए WifiManager#allowAutojoinGlobal(boolean) विधि का उपयोग किया जा सकता है। यह एक विशेषाधिकार प्राप्त एपीआई है जिसका उपयोग डिवाइस निर्माताओं द्वारा सीमित परिस्थितियों में किया जा सकता है (उदाहरण के लिए, एक गैर-मोबाइल, पूर्व-कॉन्फ़िगर डिवाइस)।

    यदि डिवाइस कनेक्ट है और config_wifi_framework_enable_associated_network_selection ओवरले को false पर सेट किया गया है, तो कोई कनेक्टिविटी स्कैन नहीं किया जाता है और स्कैन परिणाम नेटवर्क चयन को ट्रिगर नहीं करते हैं। डिवाइस के डिस्कनेक्ट होने पर इस सेटिंग का कोई प्रभाव नहीं पड़ता है, जिसका अर्थ है कि कनेक्टिविटी स्कैन और नेटवर्क चयन अभी भी होता है।

  2. स्कैन परिणामों का मूल्यांकन किया जाता है।

    • यदि डिवाइस वाई-फाई नेटवर्क से जुड़ा है, तो फ्रेमवर्क मूल्यांकन करता है कि वर्तमान नेटवर्क नेटवर्क चयन को छोड़ने के लिए पर्याप्त है या नहीं

      यदि निम्न में से कोई भी आवश्यकता पूरी होती है, तो नेटवर्क चयन को छोड़ने के लिए पर्याप्त नेटवर्क के रूप में परिभाषित किया गया है:

      • पिछले नेटवर्क चयन के बाद से 10 सेकंड से भी कम समय बीत चुका है।
      • उपयोगकर्ता हाल ही में नेटवर्क से मैन्युअल रूप से जुड़ा है (जहां हाल ही में config_wifiSufficientDurationAfterUserSelectionMilliseconds ओवरले का उपयोग करके कॉन्फ़िगर किया जा सकता है)।
      • डिवाइस एक ऑनलाइन साइन अप (ओएसयू) कनेक्शन से जुड़ा है।
      • निम्नलिखित सभी आवश्यकताओं को पूरा किया जाता है:

        • RSSI आवश्यक RSSI सीमा से ऊपर है या कनेक्शन पर पर्याप्त ट्रैफ़िक प्रवाहित हो रहा है (RSSI और ट्रैफ़िक थ्रेशोल्ड के लिए स्क्रीन-ऑन स्कैन देखें)।
        • नेटवर्क मान्य है (इंटरनेट से जुड़ा है) या इंटरनेट एक्सेस के बिना उपयोग के लिए उपयोगकर्ता द्वारा अनुमोदित है।
        • नेटवर्क बिना मीटर के है।
    • यदि नेटवर्क चयन को छोड़ने के लिए नेटवर्क पर्याप्त है , तो आगे कोई कार्रवाई नहीं की जाती है।

    • यदि कनेक्टेड वाई-फाई नेटवर्क पर्याप्त रूप से अच्छा नहीं है या यदि डिवाइस किसी नेटवर्क से कनेक्ट नहीं है, तो फ़्रेमवर्क फ़िल्टर किए गए स्कैन परिणामों के आधार पर कनेक्ट करने के लिए उम्मीदवार वाई-फाई नेटवर्क की सूची तैयार करने के लिए नेटवर्क नामांकितकर्ताओं को कॉल करता है। नेटवर्क नॉमिनेटर मौजूदा वाई-फाई कॉन्फ़िगरेशन ढूंढते हैं या उम्मीदवार नेटवर्क के लिए नए कॉन्फ़िगरेशन बनाते हैं।

    • स्कैन परिणाम BSSID को निकालने के लिए फ़िल्टर किए जाते हैं जिनमें प्रविष्टि RSSI के नीचे RSSI होता है ( config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz , और config_wifiFrameworkScoreEntryRssiThreshold6ghz का उपयोग करके कॉन्फ़िगर किया जा सकता है)। साथ ही, ब्लॉक किए गए BSSID को फ़िल्टर किया जाता है। बीएसएसआईडी को बार-बार कनेक्शन विफलताओं, बार-बार डिस्कनेक्ट होने और एपी से एक निश्चित अवधि (एमबीओ-ओसीई) के लिए एसोसिएशन का प्रयास न करने के स्पष्ट अनुरोधों के आधार पर अवरुद्ध किया जा सकता है। SSID और BSSID अवरोधन में BSSID अवरोधन का वर्णन नीचे किया गया है।

    • जब डिवाइस तेजी से आगे बढ़ रहा होता है, तो स्कैन परिणाम वैकल्पिक रूप से BSSID को हटाने के लिए फ़िल्टर किए जाते हैं, जिनका RSSI तेजी से बदलता है (संकेत है कि वे डिवाइस के साथ आगे नहीं बढ़ रहे हैं)। यह अनुकूलन config_wifiHighMovementNetworkSelectionOptimizationEnabled (ऑप्टिमाइज़ेशन को सक्षम/अक्षम करने), और config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs और config_wifiHighMovementNetworkSelectionOptimizationRssiDelta ओवरले का उपयोग करके कॉन्फ़िगर करने योग्य है, जो स्कैन परिणामों पर पर्याप्त रूप से अलग किए गए स्थिरता आवश्यकता को कॉन्फ़िगर करते हैं (RSSI डेल्टा ओवरले)।

  3. फ्रेमवर्क प्रत्येक सेवा सेट पहचानकर्ता (एसएसआईडी) उम्मीदवार के लिए स्कोर उत्पन्न करने के लिए उम्मीदवार स्कोरर चलाता है। SSID उम्मीदवारों में कई बुनियादी सेवा सेट पहचानकर्ता (BSSID) उम्मीदवार शामिल हो सकते हैं (नेटवर्क नामांकितकर्ताओं द्वारा उत्पन्न)। उच्चतम स्कोर वाला उम्मीदवार विजेता उम्मीदवार होता है।

  4. फ्रेमवर्क यूजर कनेक्ट चॉइस एल्गोरिथम को क्रियान्वित करता है, जो उपयोगकर्ता द्वारा चुने गए नेटवर्क को उम्मीदवार स्कोरर से जीतने वाले उम्मीदवार का उपयोग करने के बजाय नया विजेता उम्मीदवार बना सकता है।

  5. फ्रेमवर्क निर्धारित करता है कि जीतने वाला उम्मीदवार वर्तमान में जुड़े नेटवर्क से मेल खाता है या नहीं। एक मैच माने जाने के लिए, निम्नलिखित में से एक को पूरा करना होगा:

    • जीतने वाले उम्मीदवार और कनेक्टेड वाई-फाई नेटवर्क के पास एक ही बीएसएसआईडी है।
    • यदि फर्मवेयर रोमिंग उपलब्ध है (बीएसएसआईडी ब्लैकलिस्ट क्षमता सहित), तो जीतने वाले उम्मीदवार और कनेक्टेड नेटवर्क का एसएसआईडी और सुरक्षा प्रकार समान है।

    यदि विजेता उम्मीदवार वर्तमान में जुड़े नेटवर्क से मेल खाता है, तो आगे कोई कार्रवाई नहीं की जाती है। यदि जीतने वाला उम्मीदवार नेटवर्क से मेल नहीं खाता है, तो डिवाइस जीतने वाले उम्मीदवार से जुड़ा होता है।

ध्यान दें कि जब कोई ऐप वाई-फाई नेटवर्क अनुरोध एपीआई का उपयोग करता है, तो स्वचालित नेटवर्क कनेक्शन अक्षम होता है, जो सिस्टम को ओवरराइड करता है और दोहरे समवर्ती स्टेशनों का समर्थन करने वाले उपकरणों को छोड़कर एक नो-इंटरनेट लैन बनाता है।

एक जुड़े नेटवर्क का मूल्यांकन

एंड्रॉइड फ्रेमवर्क या फर्मवेयर समय-समय पर जुड़े नेटवर्क की गुणवत्ता का मूल्यांकन करता है। यह खंड बताता है कि स्क्रीन के चालू या बंद होने पर कनेक्टेड नेटवर्क का मूल्यांकन कैसे किया जाता है।

यह मूल्यांकन ऊपर चर्चा किए गए नेटवर्क चयन के अतिरिक्त किया जाता है।

स्क्रीन चालू

एंड्रॉइड फ्रेमवर्क निम्नलिखित तरीके से जुड़े नेटवर्क का मूल्यांकन करता है:

  1. वाई-फाई सेवा हर 3 सेकंड में RSSI और लिंक-लेयर आँकड़े पोल करती है ( config_wifiPollRssiIntervalMilliseconds ओवरले का उपयोग करके कॉन्फ़िगर करने योग्य)।
  2. वाई-फाई सेवा आरएसएसआई और लिंक-लेयर आंकड़ों के आधार पर कनेक्टेड स्कोर की गणना करती है।
  3. वाई-फाई सेवा स्कोर को कनेक्टिविटी सेवा को पास करती है, जो यह निर्धारित करने के लिए स्कोर का उपयोग करती है कि वाई-फाई नेटवर्क से कनेक्ट करना है या किसी अन्य उपलब्ध नेटवर्क प्रकार, जैसे सेलुलर नेटवर्क से कनेक्ट करना है।

बंद आवरण

फ़्रेमवर्क कनेक्टेड नेटवर्क पर मूल्यांकन शुरू नहीं करता है, लेकिन नेटवर्क चयन प्रक्रिया अभी भी हो सकती है यदि स्कैन अन्य घटकों (उदाहरण के लिए, स्थान सेवाओं) द्वारा शुरू किए जाते हैं। फर्मवेयर नेटवर्क की गुणवत्ता का मूल्यांकन करता है और यदि नेटवर्क की गुणवत्ता खराब है, तो फर्मवेयर घूम सकता है या (अंततः) नेटवर्क से अलग हो सकता है और होस्ट को जगा सकता है।

कनेक्टिविटी स्कैन

स्कैन स्वचालित रूप से इस आधार पर किया जाता है कि डिवाइस में स्क्रीन चालू है, स्क्रीन बंद है और वाई-फाई से जुड़ा है, या स्क्रीन बंद है और वाई-फाई से कनेक्ट नहीं है।

स्क्रीन चालू

स्क्रीन चालू होने पर फ्रेमवर्क बढ़ते अंतराल पर स्कैन निर्णयों को ट्रिगर करता है। स्कैन निर्णय अंतराल को config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec , और config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec ओवरले (जो पूर्णांकों की सरणियाँ हैं) के साथ कॉन्फ़िगर किया गया है। डिफ़ॉल्ट रूप से, स्कैन 20, 40, 80, और 160 सेकंड के घातीय बैकऑफ़ अंतराल का उपयोग करते हुए होते हैं, बाद के स्कैन संभवतः 160 सेकंड के अंतराल पर किए जाते हैं (ये उपरोक्त ओवरले के डिफ़ॉल्ट मान हैं)।

जब भी स्क्रीन की स्थिति बदलती है, यानी जब स्क्रीन को चालू या बंद किया जाता है, तो घातीय बैकऑफ़ स्कैन अंतराल को 20 सेकंड में रीसेट और पुनरारंभ किया जाता है।

(एंड्रॉइड 13+) यदि रनटाइम के दौरान अलग-अलग स्कैन अंतराल की आवश्यकता होती है, तो एक ओईएम विशेषाधिकार प्राप्त ऐप स्क्रीन-ऑन स्कैन शेड्यूल को गतिशील रूप से सेट करने के लिए WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) API को कॉल कर सकता है।

स्कैन को निष्पादित करने या छोड़ने का निर्णय इस पर आधारित होता है कि वर्तमान नेटवर्क कनेक्शन स्कैनिंग को छोड़ने के लिए पर्याप्त है या नहीं । यदि निम्न में से कोई भी आवश्यकता पूरी होती है तो एक कनेक्शन स्कैनिंग को छोड़ने के लिए पर्याप्त है :

  • डिवाइस एक ऑनलाइन साइन अप (ओएसयू) कनेक्शन से जुड़ा है।
  • कनेक्शन के माध्यम से पर्याप्त यातायात प्रवाहित हो रहा है (नीचे यातायात सीमा देखें)।
  • RSSI आवश्यक RSSI सीमा से ऊपर है (नीचे RSSI थ्रेशोल्ड देखें), और नेटवर्क चयन हाल ही में किया गया था (डिफ़ॉल्ट रूप से 10 मिनट लेकिन config_wifiConnectedHighRssiScanMinimumWindowSizeSec ओवरले का उपयोग करके कॉन्फ़िगर किया जा सकता है), और या तो नेटवर्क मान्य है (इंटरनेट से कनेक्टेड) ​​या उपयोगकर्ता - इंटरनेट एक्सेस के बिना उपयोग के लिए स्वीकृत।

RSSI और ट्रैफ़िक सीमाएँ हैं:

  • RSSI 2.4 GHz बैंड के लिए -73 dBm से ऊपर है, config_wifi_framework_wifi_score_low_rssi_threshold_24GHz ओवरले के साथ कॉन्फ़िगर किया गया है, या 5 GHz और 6 GHz बैंड के लिए -70 dBm है, config_wifiFrameworkScoreLowRssiThreshold6ghz config_wifi_framework_wifi_score_low_rssi_threshold_5GHz
  • config_wifiFrameworkMinPacketPerSecondActiveTraffic ओवरले के साथ कॉन्फ़िगर किया गया ट्रैफ़िक (ट्रांसमिट या प्राप्त) 16 पैकेट प्रति सेकंड (पीपीएस) से ऊपर है।

जब डिवाइस कनेक्ट हो और स्क्रीन चालू हो। एक कनेक्टेड स्कोरर समय-समय पर RSSI जैसे संकेतों और स्थानांतरित किए गए पैकेटों की संख्या को देखकर वाई-फाई की गुणवत्ता की निगरानी करता है। यदि वाई-फाई की गुणवत्ता खराब (जैसा कि नीचे निर्दिष्ट है) निर्धारित की जाती है और डिवाइस दोहरे समवर्ती स्टेशनों का समर्थन करता है, तो एक स्कैन ट्रिगर हो जाएगा। config_wifiLowConnectedScoreThresholdToTriggerScanForMbb ओवरले का उपयोग स्कोर थ्रेशोल्ड को कॉन्फ़िगर करने के लिए किया जा सकता है जो स्कैनिंग को ट्रिगर करता है। इन स्कैन की अवधि को कॉन्फ़िगर करने के लिए config_wifiLowConnectedScoreScanPeriodSeconds ओवरले का उपयोग किया जा सकता है।

स्क्रीन बंद है और वाई-फ़ाई से कनेक्ट है

जब स्क्रीन बंद होती है और डिवाइस वाई-फाई नेटवर्क से जुड़ा होता है, तो फर्मवेयर (वाई-फाई एसओसी) रोमिंग स्कैन करता है। स्क्रीन बंद होने पर फ्रेमवर्क कोई स्कैन नहीं करता है।

स्क्रीन बंद है और वाई-फाई से कनेक्ट नहीं है (डिस्कनेक्ट स्थिति)

जब स्क्रीन बंद होती है और वाई-फाई डिस्कनेक्ट हो जाता है, तो फर्मवेयर एसएसआईडी के लिए पीएनओ स्कैन करता है। फ्रेमवर्क फर्मवेयर को स्कैन करने के लिए SSID की सूची और उन चैनलों की सूची के साथ कॉन्फ़िगर करता है जिन पर स्कैन करना है। यदि एक कॉन्फ़िगर किया गया SSID पाया जाता है, तो फर्मवेयर फ्रेमवर्क को जगाता है।

फ्रेमवर्क उस अंतराल को भी कॉन्फ़िगर करता है जिस पर फर्मवेयर को पीएनओ स्कैन करना है, विभिन्न स्कैन अंतरालों का चयन करने के लिए डिवाइस गतिशीलता स्थिति का उपयोग करना। कम गतिशीलता की स्थिति में (डिवाइस स्थिर है) अंतराल पहले तीन स्कैन ( config_wifiStationaryPnoScanIntervalMillis ओवरले द्वारा नियंत्रित) के लिए 60 सेकंड और बाद के स्कैन के लिए 180 सेकंड (ओवरले का एक निश्चित 3x गुणक) है। एक उच्च गतिशीलता स्थिति में पहले तीन स्कैन ( config_wifiMovingPnoScanIntervalMillis ओवरले द्वारा नियंत्रित) के लिए अंतराल 20 सेकंड है, और बाद के स्कैन के लिए 60 (ओवरले का एक निश्चित 3x गुणक) सेकंड है।

नेटवर्क नॉमिनेटर

नेटवर्क नॉमिनी नेटवर्क के लिए कॉन्फ़िगरेशन ढूंढते हैं या बनाते हैं ( WifiConfiguration ) जो हैं:

  • वर्तमान में उपलब्ध (स्कैन परिणामों के आधार पर) या वर्तमान में जुड़ा नेटवर्क (जो कभी-कभी परतदार स्कैन परिणामों से गायब होता है)।
  • कम से कम RSSI रखें। न्यूनतम RSSI 2.4 GHz बैंड के लिए -80 dBm और 5 GHz और 6 GHz बैंड के लिए -77 dBm है, जिसे config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz का उपयोग करके कॉन्फ़िगर किया जा config_wifiFrameworkScoreEntryRssiThreshold6ghz है।
  • अवरुद्ध नहीं है, उदाहरण के लिए, पिछली कनेक्शन विफलताओं के कारण।
  • नेटवर्क यह इंगित नहीं करता है कि यह अनुपयोगी है (उदाहरण के लिए, MBO/OCE का उपयोग करके)।
  • डिवाइस पर उपलब्ध क्रेडेंशियल्स का उपयोग करने के लिए संबद्ध किया जा सकता है।

निम्नलिखित नेटवर्क नामांकनकर्ताओं का उपयोग किया जाता है:

  • सहेजा गया नेटवर्क नामांकितकर्ता: सभी सहेजे गए नेटवर्क (सहेजे गए Passpoint सदस्यता सहित) का मूल्यांकन करता है।
  • सुझाए गए नेटवर्क नॉमिनी: सुझाव एपीआई (सुझाए गए पासपॉइंट सदस्यताओं सहित) का उपयोग करके ऐप्स द्वारा प्रदान किए गए सभी नेटवर्क का मूल्यांकन करता है।
  • बाहरी रूप से बनाए गए नेटवर्क नॉमिनी: डिवाइस को नेटवर्क कनेक्टिविटी विकल्प प्रदान करने के लिए ओईएम तंत्र। अधिक जानकारी के लिए, बाहरी नेटवर्क रेटिंग प्रदाता देखें।

उम्मीदवार स्कोरर

उम्मीदवार स्कोरर मूल्यांकन करते हैं और प्रत्येक उम्मीदवार के लिए एक अंक प्रदान करते हैं। ThroughputScorer (डिफ़ॉल्ट स्कोरर) के लिए स्कोर निम्नलिखित पर आधारित है:

  • आधार स्कोर की गणना RSSI के आधार पर की जाती है, जहां RSSI 2.4 GHz बैंड के लिए -73 dBm या 5 GHz और 6 GHz बैंड के लिए -70 dBm ( config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz , और config_wifiFrameworkScoreLowRssiThreshold6ghz , config_wifi_framework_wifi_sowreshold_Hz, config_wifi_framework_wifi_sowrescore.
  • प्रौद्योगिकी, चैनल आवृत्ति, बैंडविड्थ, आरएसएसआई, चैनल की स्थिति, स्थानिक धाराओं की अधिकतम संख्या और अन्य मापदंडों से प्राप्त थ्रूपुट अनुमान के आधार पर स्कोर बूस्ट की गणना की जाती है। स्कोर बूस्ट config_wifiFrameworkThroughputBonusNumerator और config_wifiFrameworkThroughputBonusDenominator ओवरले का उपयोग करके कॉन्फ़िगर करने योग्य है, और config_wifiFrameworkThroughputBonusLimit ओवरले का उपयोग करके निर्दिष्ट अधिकतम मान तक सीमित है।
  • एक उम्मीदवार नेटवर्क जिसे हाल ही में उपयोगकर्ता या ऐप द्वारा चुना गया था, config_wifiFrameworkLastSelectionMinutes ओवरले का उपयोग करके कॉन्फ़िगर करने योग्य अवधि के लिए एक बड़ा स्कोर बूस्ट प्राप्त करता है (उस अवधि के लिए नेटवर्क को गैर-चयनित नेटवर्क पर चुने जाने की गारंटी है)।
  • एक उम्मीदवार जो वर्तमान नेटवर्क से मेल खाता है, उसे config_wifiFrameworkCurrentNetworkBonusMin और config_wifiFrameworkCurrentNetworkBonusPercent ओवरले द्वारा कॉन्फ़िगर किया गया स्कोर बूस्ट मिलता है (इसे इसके RSSI और थ्रूपुट-आधारित स्कोर के प्रतिशत के आधार पर, कॉन्फ़िगर करने योग्य न्यूनतम तक अतिरिक्त बोनस मिलता है)।
  • एक सुरक्षित नेटवर्क को एक खुले नेटवर्क की तुलना में अधिक स्कोर किया जाता है। बोनस को config_wifiFrameworkSecureNetworkBonus ओवरले का उपयोग करके कॉन्फ़िगर किया गया है।
  • एक बिना मीटर वाले (फ्री) नेटवर्क को मीटर्ड (पेड) नेटवर्क से अधिक स्कोर किया जाता है। बोनस को config_wifiFrameworkUnmeteredNetworkBonus ओवरले का उपयोग करके कॉन्फ़िगर किया गया है।
  • सहेजे गए नेटवर्क को सुझाव API का उपयोग करके सुझाए गए नेटवर्क से अधिक स्कोर किया जाता है। बोनस को config_wifiFrameworkSavedNetworkBonus ओवरले का उपयोग करके कॉन्फ़िगर किया गया है।
  • अविश्वसनीय नेटवर्क (जिन्हें सुझाव एपीआई के हिस्से के रूप में अनुरोध किया जा सकता है) को किसी भी अन्य नेटवर्क की तुलना में कम स्कोर किया जाता है।
  • एक नेटवर्क जिसे पहले इंटरनेट नहीं होने का पता चला था, यदि डिवाइस वर्तमान में किसी अन्य नेटवर्क से कनेक्ट है जिसमें इंटरनेट एक्सेस है तो 0 का स्कोर प्राप्त होता है।

सहेजे गए बनाम सुझाव और बिना मीटर वाले बनाम मीटर (यानी, डिफ़ॉल्ट ओवरले मान) के लिए डिफ़ॉल्ट बोनस सहेजे गए, सुझाए गए, मीटर किए गए और बिना मीटर वाले के लिए एक सख्त प्राथमिकता क्रम उत्पन्न करता है:

  1. सहेजे गए अनमीटर्ड नेटवर्क
  2. सुझाए गए बिना मीटर वाले नेटवर्क
  3. सहेजे गए मीटर वाले नेटवर्क
  4. सुझाए गए पैमाइश नेटवर्क

इसका मतलब है कि एक सेव किए गए मीटर्ड (पेड) नेटवर्क से पहले एक सेव किया हुआ अनमीटर्ड (फ्री) नेटवर्क हमेशा चुना जाता है। हाल ही में चयनित (उपयोगकर्ता या ऐप द्वारा) स्कोर बोनस उस सख्त प्राथमिकता को ओवरराइड कर सकता है।

ढांचे में कई उम्मीदवार स्कोरर स्थापित हो सकते हैं लेकिन एक समय में केवल एक ही सक्रिय हो सकता है। अन्य स्कोरर का उपयोग मेट्रिक्स (वैकल्पिक एल्गोरिदम की जांच के लिए) के लिए किया जा सकता है। Android 11 में, डिफ़ॉल्ट स्कोरर ThroughputScorer है।

SSID और BSSID अवरोधन

ढांचा SSIDs और/या BSSIDs को अवरुद्ध कर सकता है, अर्थात अस्थायी या स्थायी रूप से कनेक्शन के लिए उन पर विचार नहीं करता है।

बीएसएसआईडी ब्लॉकिंग

BSSID ब्लॉकिंग दो विफलता काउंटर, एक निरंतर विफलता काउंटर और एक स्ट्रीक काउंटर, प्रति विशिष्ट विफलता प्रकार (विफलता प्रकारों की सूची के लिए नीचे देखें) रखकर काम करता है। जब कोई विफलता होती है:

  • संबंधित विफलता प्रकार के लिए काउंटर बढ़ा दिया गया है।
  • यदि उस विफलता प्रकार के लिए विफलता सीमा तक पहुँच जाता है:
    • बीएसएसआईडी अवरुद्ध है।
    • विफलता के लिए स्ट्रीक काउंटर बढ़ा दिया गया है।

वह अवधि जब एक BSSID को (कॉन्फ़िगर करने योग्य) आधार मान ( config_wifiBssidBlocklistMonitorBaseBlockDurationMs या config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs ओवरले, RSSI के आधार पर ओवरले द्वारा निर्दिष्ट) पर प्रारंभ होने के लिए अवरोधित किया जाता है, और घातीय रूप से एक config_wifiBssidBlocklistMonitorFailureStreakCap ओवरले (RSI पर निर्भर करता है) तक बढ़ जाता है। यदि एक ही बीएसएसआईडी पर लगातार विफलताएं होती हैं तो अवधि बढ़ जाती है। अवधि आधार अवधि है जो विफलता स्ट्रीक द्वारा घातीय रूप से बढ़ जाती है, अर्थात 2 की विफलता स्ट्रीक 4x बेस ब्लॉक अवधि का अर्थ है।

BSSID अवरोधन के लिए सीमाएँ विफलता के कारण पर निर्भर करती हैं और प्रत्येक ओवरले का उपयोग करके अनुकूलन योग्य हैं:

  • एपी ने एमबीओ/ओसीई का उपयोग करके एसोसिएशन को खारिज कर दिया नए एसटीए कोड को संभालने में असमर्थ : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold
  • इस नेटवर्क के माध्यम से इंटरनेट सत्यापन विफल: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold
  • गलत पासवर्ड प्रमाणीकरण विफलता कोड: config_wifiBssidBlocklistMonitorWrongPasswordThreshold
  • EAP नेटवर्क के लिए EAP विफलता प्रमाणीकरण विफलता कोड: config_wifiBssidBlocklistMonitorEapFailureThreshold
  • एसोसिएशन अस्वीकृति, अन्य सामान्य एसोसिएशन अस्वीकृति: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold
  • एसोसिएशन टाइमआउट: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold
  • प्रमाणीकरण विफलता, अन्य सामान्य प्रमाणीकरण विफलताएँ: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold
  • डीएचसीपी विफलता, डीएचसीपी प्रावधान करने में विफलता: config_wifiBssidBlocklistMonitorDhcpFailureThreshold
  • असामान्य डिस्कनेक्ट, डिवाइस कनेक्ट होने के बाद बहुत ही कम समय में नेटवर्क से डिस्कनेक्ट हो गया है: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold । समय विंडो config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs के साथ विन्यास योग्य है।

BSSID ब्लॉकलिस्ट क्लियरिंग शर्तें

एक BSSID को ब्लॉकलिस्ट से हटा दिया जाता है जब:

  • वाई-फाई टॉगल किया गया है: सभी बीएसएसआईडी को ब्लॉकलिस्ट से हटा दिया गया है।
  • उपयोगकर्ता वाई-फाई पिकर में नेटवर्क पर टैप करता है: उपयोगकर्ता द्वारा चयनित नेटवर्क के सभी बीएसएसआईडी ब्लॉकलिस्ट से हटा दिए जाते हैं।
  • टाइमआउट: ब्लॉक की अवधि पूरी होने पर BSSID को ब्लॉकलिस्ट से हटा दिया जाता है।
  • रीबूट करें: सभी ब्लॉकलिस्ट साफ़ कर दी गई हैं।
  • नेटवर्क हटा दिया गया: इस नेटवर्क से जुड़े सभी बीएसएसआईडी को ब्लॉकलिस्ट से हटा दिया गया है।

विफलता और स्ट्रीक काउंटर रीसेट स्थितियां:

  • रिबूट: सभी बीएसएसआईडी के लिए रीसेट करें।
  • नेटवर्क हटाया गया: नेटवर्क से जुड़े BSSIDs के लिए रीसेट करें।
  • 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 अवरोधन BSSID अवरोधन के समान कार्य करता है। कनेक्शन विफलता (उस प्रकार के) होने पर प्रति नेटवर्क विफलता प्रति विफलता काउंटर बढ़ जाता है। जब किसी विशेष प्रकार की विफलता की संख्या एक सीमा से अधिक हो जाती है, तो SSID को कॉन्फ़िगरेशन के आधार पर स्थायी या अस्थायी रूप से अवरुद्ध कर दिया जाता है। प्रत्येक विफलता प्रकार के लिए कॉन्फ़िगरेशन को WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS में कोडित किया गया है और इसका सारांश नीचे दिया गया है।

* अस्थायी रूप से अक्षम नेटवर्क के लिए, अक्षम अवधि नेटवर्क पर अनुभव की गई लगातार कनेक्शन विफलताओं की संख्या के आधार पर गतिशील रूप से बदलती है। एक नेटवर्क लगातार पांच बार कनेक्ट करने में विफल रहता है, प्रत्येक बाद की विफलता के परिणामस्वरूप पिछली अवधि की तुलना में दो बार अक्षम अवधि होती है। उदाहरण के लिए, लगातार पांच विफलताओं वाला नेटवर्क 5 मिनट के लिए अक्षम हो जाता है, फिर छठी विफलता पर 10 मिनट, सातवीं विफलता के लिए 20 मिनट, और इसी तरह 18 घंटे की अधिकतम सीमा तक अक्षम हो जाता है।

विफलता कोड विवरण सीमा आधार अक्षम अवधि* अक्षम प्रकार
DISABLED_DHCP_FAILURE डीएचसीपी का प्रावधान करने में विफलता 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 ईएपी विफलता जहां सिम कार्ड की सदस्यता नहीं ली गई है 1 ना स्थायी
DISABLED_ASSOCIATION_REJECTION एसोसिएशन अस्वीकृति विफलताओं 5 5 मिनट अस्थायी
DISABLED_AUTHENTICATION_FAILURE अन्य प्रमाणीकरण विफलताएं (अर्थात, गलत पासवर्ड या ईएपी विफलता नहीं) 5 5 मिनट अस्थायी
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR प्रदाता-विशिष्ट (निजी) ईएपी विफलता। 1 ना स्थायी
DISABLED_NETWORK_NOT_FOUND अनुरोधकर्ता स्कैन परिणामों में एक नेटवर्क खोजने में विफल रहा जो कनेक्शन के लिए ढांचे द्वारा अनुरोधित नेटवर्क से मेल खाता है (नेटवर्क क्षमताओं सहित)। 2 5 मिनट अस्थायी
DISABLED_CONSECUTIVE_FAILURES नेटवर्क लगातार पांच या अधिक बार कनेक्ट करने में विफल रहा। इन विफलताओं के लिए विफलता प्रकार में शामिल है, लेकिन इस तालिका में सूचीबद्ध विफलता प्रकारों तक सीमित नहीं है।
5 5 मिनट अस्थायी

एक अस्थायी रूप से अक्षम नेटवर्क को फिर से सक्षम किया जाता है जब:

  • अक्षम अवधि बीत चुकी है।
  • उपयोगकर्ता मैन्युअल रूप से कनेक्ट करने के लिए नेटवर्क का चयन करता है।
  • उपयोगकर्ता वाई-फाई को टॉगल करता है।
  • सिस्टम को रीबूट किया गया है।
  • नेटवर्क को बहुत कम RSSI पर अक्षम कर दिया गया था, लेकिन बाद में मध्यम या उच्चतर RSSI पर नेटवर्क का फिर से पता चला।

स्थायी रूप से अक्षम नेटवर्क को फिर से सक्षम किया जाता है जब:

  • उपयोगकर्ता मैन्युअल रूप से कनेक्ट करने के लिए नेटवर्क का चयन करता है।

नेटवर्क के लिए विफलता काउंटर तब रीसेट हो जाते हैं जब:

  • नेटवर्क हटा दिया जाता है।
  • डिवाइस सफलतापूर्वक नेटवर्क से कनेक्ट हो गया है।
  • अक्षम अवधि का समय समाप्त होने के बाद नेटवर्क को फिर से सक्षम किया गया है।
  • उपयोगकर्ता मैन्युअल रूप से कनेक्ट करने के लिए नेटवर्क का चयन करता है।
  • सिस्टम को रीबूट किया गया है।

स्कोर कार्ड

एंड्रॉइड 10 में पेश किए गए स्कोर कार्ड, बीएसएसआईडी के बारे में ऑन-डिवाइस आंकड़े रिकॉर्ड करते हैं। IpMemoryStore सेवा का उपयोग करके स्कोर कार्ड जारी रखे जाते हैं।

Android 11 नेटवर्क चयन में स्कोर कार्ड का उपयोग नहीं किया जाता है।

उपयोगकर्ता कनेक्ट विकल्प

एंड्रॉइड में एक यूजर कनेक्ट चॉइस एल्गोरिथम है जो चयन प्रक्रिया को वाई-फाई नेटवर्क को प्राथमिकता देने की अनुमति देता है जिसे उपयोगकर्ता ने स्पष्ट रूप से कनेक्ट किया है, उदाहरण के लिए, एक होम नेटवर्क। उपयोगकर्ता सार्वजनिक नेटवर्क पर ऐसे नेटवर्क को पसंद कर सकते हैं, भले ही प्रदर्शन सार्वजनिक नेटवर्क से कम हो क्योंकि वे अतिरिक्त सेवाएं प्रदान करते हैं जैसे घरेलू उपकरणों को नियंत्रित करने की क्षमता।

नेटवर्क के लिए उपयोगकर्ता की प्राथमिकता को सभी दृश्यमान वाई-फाई कॉन्फ़िगरेशन और उपयोगकर्ता द्वारा नेटवर्क का चयन करते समय उनकी सिग्नल शक्ति को चिह्नित करके कैप्चर किया जाता है। यदि स्वचालित चयन प्रक्रिया के दौरान चिह्नित वाई-फाई कॉन्फ़िगरेशन में से एक का चयन किया जाता है और उपयोगकर्ता द्वारा चयनित नेटवर्क उपलब्ध होता है, तो उपयोगकर्ता कनेक्ट विकल्प एल्गोरिदम उपयोगकर्ता द्वारा चयनित नेटवर्क के साथ चयन को ओवरराइड करता है यदि निम्न शर्तें पूरी होती हैं:

  • उपयोगकर्ता कनेक्ट पसंद नेटवर्क के पास पिछली बार उपयोग किए जाने पर इंटरनेट का उपयोग था
  • उपयोगकर्ता कनेक्ट विकल्प में एक सिग्नल शक्ति होती है जो मूल रूप से त्रुटि मार्जिन के साथ चुने जाने से भी बदतर नहीं होती है। यह त्रुटि मार्जिन ओवरले config_wifiEstimateRssiErrorMarginDb का उपयोग करके कॉन्फ़िगर किया जा सकता है।

यूज़र कनेक्ट चॉइस नेटवर्क रीबूट के बाद भी बना रहता है। उपयोगकर्ता कनेक्ट विकल्प सहेजे गए नेटवर्क, पासपॉइंट नेटवर्क और सुझाव नेटवर्क के लिए काम करता है।

दोहरे समवर्ती स्टेशन

यह खंड वाई-फाई नेटवर्क चयन का वर्णन करता है जब कोई डिवाइस एक साथ दो वाई-फाई नेटवर्क से कनेक्ट करने का समर्थन करता है।

मेक-पहले-ब्रेक

यदि ब्रेक-पूर्व-मेक-ब्रेक फ़ंक्शन सक्षम है, तो डिवाइस पुराने नेटवर्क से डिस्कनेक्ट करने से पहले नए नेटवर्क से कनेक्ट करने का प्रयास करता है। ब्रेक-पहले-ब्रेक प्रवाह उसी नेटवर्क चयन एल्गोरिदम का उपयोग करता है जो ब्रेक-पहले-मेक नेटवर्क स्विचिंग के रूप में होता है (जो तब होता है जब डिवाइस नए से कनेक्ट होने से पहले पुराने नेटवर्क से डिस्कनेक्ट हो जाता है)। यदि नेटवर्क चयन एल्गोरिथम एक ऐसा नेटवर्क चुनता है जिसे मेक-प्री-ब्रेक का उपयोग करके स्विच नहीं किया जा सकता है, तो डिवाइस स्वचालित रूप से ब्रेक-बिफोर-मेक पर वापस आ जाता है।

समवर्ती प्रतिबंधित और इंटरनेट कनेक्शन

यदि समवर्ती प्रतिबंधित और इंटरनेट कनेक्शन फ़ंक्शन सक्षम है, तो डिवाइस एक द्वितीयक प्रतिबंधित वाई-फाई नेटवर्क से कनेक्ट हो सकता है जो केवल डिवाइस निर्माता द्वारा कॉन्फ़िगर किए गए चुनिंदा ऐप्स के लिए उपलब्ध है। डिवाइस निर्माताओं के लिए इसे कॉन्फ़िगर करने के निर्देश समवर्ती प्रतिबंधित और इंटरनेट कनेक्शन में हैं।

जब नेटवर्क चयन एल्गोरिदम OEM भुगतान/निजी सुझाव से मेल खाने वाले स्कैन परिणामों का पता लगाता है, तो यह स्वचालित रूप से इसे दूसरे नेटवर्क के रूप में जोड़ता है। प्राथमिक वाई-फाई नेटवर्क (जो नियमित ऐप्स को इंटरनेट कनेक्शन प्रदान करता है) के लिए नेटवर्क चयन सामान्य रूप से समानांतर में होता है।

अक्सर पूछे जाने वाले प्रश्न (एफएक्यू)

  1. क्या सुरक्षित नेटवर्क की हमेशा खुले नेटवर्क पर प्राथमिकता होती है?

    नहीं। सहेजे गए बनाम सुझाए गए और मीटर्ड बनाम अनमीटर्ड प्राथमिक श्रेणियां हैं जिनमें नेटवर्क का मूल्यांकन किया जाता है। प्रत्येक श्रेणी के भीतर, खुले नेटवर्क पर सुरक्षित नेटवर्क की कुछ प्राथमिकता होती है लेकिन कनेक्शन की गुणवत्ता को बहुत अधिक महत्व दिया जाता है।

    इसका कारण यह है कि वास्तविक उपयोगकर्ता डेटा सुरक्षा एंड-टू-एंड एन्क्रिप्शन (उदाहरण के लिए, टीएलएस) द्वारा प्रदान की जाती है। सुरक्षित नेटवर्क केवल संचार के पहले चरण को एन्क्रिप्ट करते हैं, और फिर भी पूर्व-साझा कुंजियों वाले नेटवर्क के लिए, अधिक गोपनीयता प्रदान नहीं करते हैं।

  2. सुझाए गए नेटवर्क पर सहेजे गए नेटवर्क को प्राथमिकता क्यों दी जाती है?

    सेव्ड फ्री (अनमीटर्ड) नेटवर्क्स को सुझाए गए फ्री नेटवर्क्स पर प्राथमिकता दी जाती है और सेव किए गए मीटर्ड नेटवर्क्स को सुझाए गए मीटर्ड नेटवर्क्स पर प्राथमिकता दी जाती है।

    सहेजे गए नेटवर्क को सुझाए गए नेटवर्क पर प्राथमिकता दी जाती है क्योंकि सहेजे गए नेटवर्क ऐसे नेटवर्क होते हैं जिन्हें उपयोगकर्ता ने डिवाइस में स्पष्ट रूप से जोड़ा है। इसका मतलब है कि जब संभव हो तो इन नेटवर्क से जुड़ने की प्राथमिकता।

    ध्यान दें कि उपयोगकर्ता अलग-अलग सहेजे गए नेटवर्क के लिए ऑटो-कनेक्शन व्यवहार को अक्षम कर सकते हैं, अर्थात यह इंगित करते हैं कि ये नेटवर्क केवल मैन्युअल रूप से उपयोग किए जाने हैं और डिवाइस द्वारा स्वचालित रूप से विचार नहीं किए जाने चाहिए।

  3. क्या मैं सख्त प्राथमिकता आदेश को बदल सकता हूँ या इसे पूरी तरह से हटा सकता हूँ?

    डिवाइस निर्माता उपरोक्त अनुभागों में सूचीबद्ध बोनस ओवरले को संशोधित करके नेटवर्क चयन निर्णयों को संशोधित कर सकता है। हालांकि, डिफ़ॉल्ट मानों को बदलने की अनुशंसा नहीं की जाती है क्योंकि उन्हें एकाधिक उपयोग मामलों पर सावधानीपूर्वक विचार करने के बाद चुना गया है।