टेदरिंग

एंड्रॉइड 13 में अपडेट

अद्यतन अधिक जानकारी
क्रॉसडिवाइस पेश किया गया क्रॉसडिवाइस
स्प्लिट टनलिंग का परिचय दिया गया विभाजित सुरंग

अवलोकन

टेथरिंग मॉड्यूल एंड्रॉइड डिवाइस के इंटरनेट कनेक्शन को अन्य कनेक्टेड क्लाइंट डिवाइसों के साथ साझा करता है, जो वाई-फाई, यूएसबी, ब्लूटूथ या ईथरनेट पर टेदरिंग डिवाइस से कनेक्ट हो सकता है। इस मॉड्यूल में टेदरिंग घटक (यूएसबी, वाई-फाई एक्सेस प्वाइंट, ब्लूटूथ, आदि) और इसकी निर्भरताएं (टेदरिंग एंटाइटेलमेंट, IpServer और offloadController के साथ इंटरैक्शन) शामिल हैं। यह मॉड्यूल अद्यतन करने योग्य है, जिसका अर्थ है कि यह सामान्य एंड्रॉइड रिलीज़ चक्र के बाहर कार्यक्षमता के लिए अपडेट प्राप्त कर सकता है।

टेथरिंग मॉड्यूल पूरे एंड्रॉइड इकोसिस्टम में OEM को एकल, मानक संदर्भ कार्यान्वयन का उपयोग करने में सक्षम बनाता है जो निम्नलिखित लाभ लाता है।

  • अंतिम उपयोगकर्ताओं को एंड्रॉइड डिवाइसों पर लगातार अनुभव मिलता है और मॉड्यूल अपडेट के माध्यम से इंटरऑपरेबिलिटी समस्याओं को ठीक किया जाता है।

  • ओईएम व्यक्तिगत अनुकूलन के लिए लागत कम करते हुए वाहक आवश्यकताओं को पूरा कर सकते हैं (क्योंकि उन्हें अलग-अलग तरीकों से समान आवश्यकताओं के विभिन्न कार्यान्वयन की आवश्यकता नहीं होती है)।

विभाजित सुरंग

स्प्लिट टनलिंग उपयोग के मामलों का समर्थन करने के लिए, बहिष्कृत मार्गों को निर्दिष्ट करने के लिए एंड्रॉइड 13 में एक नया एपीआई जोड़ा गया है।

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

नई स्प्लिट टनलिंग एपीआई का हस्ताक्षर है:

public Builder excludeRoute(@NonNull IpPrefix prefix)

क्रॉसडिवाइस

एंड्रॉइड 13 में पेश किए गए क्रॉसडिवाइस का लक्ष्य मानक प्रोटोकॉल का उपयोग करके क्रॉस-डिवाइस संचार तकनीक प्रदान करना है। यह डिवाइस खोज, प्रमाणित कनेक्शन और अन्य क्रॉस-डिवाइस अनुभवों के लिए एपीआई और सुविधाएँ प्रदान करता है।

क्रॉसडिवाइस प्रेरणा

  • ओईएम भागीदारों के साथ मजबूत सहयोग। OEM Google के समाधान का उपयोग करने की आवश्यकता के बजाय अपने स्वयं के खाता कुंजी सिस्टम को क्रॉसडिवाइस कार्यान्वयन के साथ एकीकृत कर सकते हैं।
  • प्रोटोकॉल का अधिक दृश्यमान कार्यान्वयन। क्रॉसडिवाइस मॉड्यूल खुला स्रोत है, जो कार्यान्वयन विवरण में अधिक दृश्यता प्रदान करता है और क्रॉसडिवाइस प्रौद्योगिकियों के कार्यान्वयन के लिए बेहतर गोपनीयता कहानी प्रदान करता है।

क्रॉसडिवाइस मॉड्यूल सीमा

क्रॉसडिवाइस एपीआई packages/modules/CrossDevice/framework में
  • NearbyManager
  • AccountProviderBase
क्रॉसडिवाइस सेवाएँ packages/modules/CrossDevice/service में
  • NearbyService - स्कैनिंग एपीआई

क्रॉसडिवाइस पैकेज प्रारूप

इस मॉड्यूल का मुख्य कार्य APEX पैकेज में शामिल है। संसाधनों को एपीके में पैक किया गया है।

क्रॉसडिवाइस निर्भरताएँ

क्रॉसडिवाइस निम्नलिखित पर निर्भर करता है:

  • वाईफ़ाई
  • ब्लूटूथ
  • यूडब्ल्यूबी
  • मॉड्यूल-उपयोग-पूर्व शर्ते
  • प्रोटो पुस्तकालय

क्रॉसडिवाइस अनुकूलन विकल्प

हम आरआरओ के माध्यम से ओईएमएस को आधी शीट के लिए यूआई को अनुकूलित करने की अनुमति देने की योजना बना रहे हैं। कार्यक्षमता को अनुकूलित करने की कोई योजना नहीं है.

क्रॉसडिवाइस परीक्षण रणनीति

हम क्रॉसडिवाइस कार्यक्षमता को सत्यापित करने और एमटीएस में क्रॉस डिवाइस परीक्षण के लिए एंड्रॉइड संगतता परीक्षण सूट (सीटीएस) परीक्षण जोड़ने की योजना बना रहे हैं।

ईबीपीएफ टेदरिंग ऑफलोड

हार्डवेयर ऑफलोड पर उत्तर दिए बिना हाई-स्पीड टेदरिंग प्रदान करने के लिए, एंड्रॉइड 11 एक टेदरिंग सॉफ्टवेयर ऑफलोड समाधान प्रदान करता है जिसे आईपीवी6 डाउनलोड (टेथर्ड डिवाइस पर ट्रैफिक प्रवाह) के लिए ईबीपीएफ टेदरिंग ऑफलोड कहा जाता है।

एंड्रॉइड 12 से, यह कार्यक्षमता (ईबीपीएफ प्रोग्राम कोड सहित) पूरी तरह से टेथरिंग मॉड्यूल द्वारा प्रदान की जाती है, जो निम्नलिखित का समर्थन करती है:

  • IPv6 डाउनलोड (बंधे हुए डिवाइस पर ट्रैफ़िक प्रवाहित होना)
  • IPv6 अपलोड (बंधे हुए डिवाइस से ट्रैफ़िक प्रवाहित होना)
  • आईपीवी4 टीसीपी/यूडीपी अपलोड और डाउनस्ट्रीम (टेथर्ड डिवाइस से/तक आने वाला ट्रैफ़िक)
  • ईबीपीएफ ऑफलोड

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

IPv4 और IPv6 समर्थन

टेथरिंग मॉड्यूल IPv4 और IPv6 डुअल स्टैक को सपोर्ट करता है।

  • IPv4 नेटवर्क के लिए, मॉड्यूल नेटवर्क एड्रेस ट्रांसलेशन (NAT) सेट करता है और IP एड्रेस असाइनमेंट के लिए डायनेमिक होस्ट कॉन्फ़िगरेशन प्रोटोकॉल (DHCP) को अपनाता है।

  • IPv6 नेटवर्क के लिए, मॉड्यूल IP एड्रेस असाइनमेंट के लिए IPv6 स्टेटलेस एड्रेस ऑटोकॉन्फ़िगरेशन (SLAAC) को अपनाता है।

मॉड्यूल सीमा

एंड्रॉइड 12 और उच्चतर के लिए, packages/modules/Connectivity के अंतर्गत सभी फ़ाइलें/फ़ोल्डर टेथरिंग मॉड्यूल दायरे में हैं।

एंड्रॉइड 11 और उससे पहले के संस्करण के लिए, टेथरिंग मॉड्यूल में packages/modules/Tethering में निम्नलिखित एंड्रॉइड 10 फ़ाइलें हैं।

  • frameworks/base/services/core/java/com/android/server/connectivity/Tethering.java
  • frameworks/base/services/core/java/com/android/server/connectivity/tethering/
  • frameworks/base/services/core/java/com/android/server/NetworkManagementService.java
  • frameworks/base/services/net/java/android/net/ip/{InterfaceController,IpServer,RouterAdvertisementDaemon}.java
  • frameworks/base/services/net/java/android/net/{netlink,dhcp}/*
  • frameworks/base/services/net/java/android/net/util/{InterfaceSet,InterfaceParams,NetdService,PrefixUtils,SharedLog,VersionedBroadcastListener}.java
  • frameworks/base/core/java/android/net/{ITetheringEventCallback,ITetheringStatsProvider}.aidl
  • frameworks/base/core/java/android/net/{NetworkUtils,util/IpUtils}.java
  • frameworks/base/core/java/com/android/internal/util/{BitUtils,IndentingPrintWriter,State,StateMachine}.java
  • frameworks/base/core/java/com/android/server/connectivity/MockableSystemProperties.java
  • frameworks/base/core/java/android/os/INetworkManagementService.aidl
  • frameworks/base/core/java/android/bluetooth/BluetoothPan.java
  • frameworks/base/services/core/jni/com_android_server_connectivity_tethering_OffloadHardwareInterface.cpp
  • packages/apps/Settings/src/com/android/settings/wifi/tether/TetherService.java
  • packages/apps/Settings/src/com/android/settings/network/TetherProvisioningActivity.java

मॉड्यूल प्रारूप

टेथरिंग मॉड्यूल ( com.android.tethering ) APEX प्रारूप में है और Android 11 या उच्चतर चलाने वाले उपकरणों के लिए उपलब्ध है।

कनेक्टिविटी सेवा शामिल करें

एंड्रॉइड 12 से, ConnectivityService कोड जो L3+ कनेक्टिविटी के केंद्रीय घटक को लागू करता है, टेथरिंग APEX में जोड़ा जाता है। टेदरिंग का दायरा कनेक्टिविटी मॉड्यूल में विस्तारित होता है।

मॉड्यूल निर्भरताएँ

टेथरिंग मॉड्यूल में निम्नलिखित निर्भरताएँ हैं:

  • सिस्टम सर्वर में सार्वजनिक और सिस्टम एपीआई विधियाँ
  • सिस्टम सर्वर के साथ स्थिर एआईडीएल आईपीसी इंटरफ़ेस
  • tetheroffload एचआईडीएल ( hardware/interfaces/tetheroffload/ में परिभाषित)
  • डीएचसीपी सर्वर (नेटवर्क स्टैक मॉड्यूल का हिस्सा)

अनुकूलन

टेथरिंग मॉड्यूल अनुकूलन का समर्थन नहीं करता है.

परिक्षण

एंड्रॉइड संगतता परीक्षण सूट (सीटीएस) टेदरिंग मॉड्यूल की कार्यक्षमता की पुष्टि करता है।