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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

कनेक्टेड नेटवर्क का मूल्यांकन

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

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

स्क्रीन चालू

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

  1. वाई-फ़ाई सेवा हर 3 सेकंड में RSSI और लिंक-लेयर आँकड़े पोल करती है ( config_wifiPollRssiIntervalMilliseconds ओवरले का उपयोग करके कॉन्फ़िगर करने योग्य)।

    यदि config_wifiAdjustPollRssiIntervalEnabled ओवरले का उपयोग करके गतिशील अंतराल समायोजन सक्षम किया गया है, तो डिवाइस गतिशीलता स्थिति और RSSI के आधार पर मतदान अंतराल गतिशील रूप से बदलता है।

    • जब डिवाइस स्थिर हो और RSSI -68 dBm से ऊपर हो ( config_wifiPollRssiLongIntervalMilliseconds और config_wifiClientRssiMonitorHysteresisDb ओवरले द्वारा कॉन्फ़िगर किया गया हो) तो पोलिंग अंतराल को 6 सेकंड तक बढ़ाया जाता है (config_wifiPollRssiLongIntervalMillithirds ओवरले द्वारा कॉन्फ़िगर किया config_wifiClientRssiMonitorThresholdDbm )।
    • जब डिवाइस गैर-स्थिर है या RSSI -73 dBm से नीचे है ( config_wifiClientRssiMonitorThresholdDbm ओवरले द्वारा कॉन्फ़िगर किया गया है) तो पोलिंग अंतराल को 3 सेकंड ( config_wifiPollRssiIntervalMilliseconds सेकेंड ओवरले द्वारा कॉन्फ़िगर किया गया) तक कम कर दिया जाता है।
  2. वाई-फ़ाई सेवा RSSI और लिंक-लेयर आँकड़ों के आधार पर कनेक्टेड स्कोर की गणना करती है।

  3. वाई-फाई सेवा स्कोर को कनेक्टिविटी सेवा को भेजती है, जो यह निर्धारित करने के लिए स्कोर का उपयोग करती है कि वाई-फाई नेटवर्क से कनेक्ट करना है या किसी अन्य उपलब्ध नेटवर्क प्रकार, जैसे सेलुलर नेटवर्क से कनेक्ट करना है या नहीं।

बंद आवरण

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

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

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

स्क्रीन चालू

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

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

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

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

  • डिवाइस एक ऑनलाइन साइन अप (ओएसयू) कनेक्शन से जुड़ा है।
  • कनेक्शन के माध्यम से पर्याप्त ट्रैफ़िक प्रवाहित हो रहा है (नीचे ट्रैफ़िक सीमाएँ देखें)।
  • 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_wifi_framework_wifi_score_low_rssi_threshold_5GHz और config_wifiFrameworkScoreLowRssiThreshold6ghz के साथ कॉन्फ़िगर किया गया है। थ्रेशोल्ड6ghz ओवरले.
  • ट्रैफ़िक (प्रेषित या प्राप्त) 16 पैकेट प्रति सेकंड (पीपीएस) से ऊपर है जो config_wifiFrameworkMinPacketPerSecondActiveTraffic ओवरले के साथ कॉन्फ़िगर किया गया है।

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

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

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

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

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

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

नेटवर्क नामांकितकर्ता

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

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

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

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

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

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

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

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

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

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

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

एसएसआईडी और बीएसएसआईडी अवरोधन

फ्रेमवर्क एसएसआईडी और/या बीएसएसआईडी को ब्लॉक कर सकता है, यानी अस्थायी या स्थायी रूप से कनेक्शन के लिए उन पर विचार नहीं कर सकता है।

बीएसएसआईडी अवरोधन

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

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

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

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

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

बीएसएसआईडी ब्लॉकलिस्ट समाशोधन शर्तें

एक बीएसएसआईडी को ब्लॉकलिस्ट से साफ़ कर दिया जाता है जब:

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

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

  • रीबूट: सभी बीएसएसआईडी के लिए रीसेट करें।
  • नेटवर्क हटाया गया: नेटवर्क से संबद्ध बीएसएसआईडी के लिए रीसेट करें।
  • 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
  • डीएचसीपी प्रावधान सफलता: निम्नलिखित त्रुटि कोड के लिए रीसेट।

    • REASON_DHCP_FAILURE

एसएसआईडी अवरोधन

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

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

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

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

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

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

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

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

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

तोड़ने से पहले बनाओ

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

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

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

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

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

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

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

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

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

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

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

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

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

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