التحديثات في Android 13
تحديث | معلومات اكثر |
---|---|
قدم CrossDevice | CrossDevice |
قدم الانقسام النفقي | الانقسام النفقي |
ملخص
تشترك وحدة الربط في اتصال الإنترنت الخاص بجهاز Android مع أجهزة العميل الأخرى المتصلة ، والتي يمكنها الاتصال بأجهزة الربط عبر Wi-Fi أو USB أو Bluetooth أو Ethernet. تتضمن هذه الوحدة مكون الربط (USB ونقطة وصول Wi-Fi وبلوتوث وما إلى ذلك) وتبعياتها (التفاعل مع استحقاق الربط و IpServer
و offloadController
). هذه الوحدة قابلة للتحديث ، مما يعني أنها يمكن أن تتلقى تحديثات للوظائف خارج دورة إصدار Android العادية.
تعمل وحدة الربط على تمكين مصنعي المعدات الأصلية في جميع أنحاء نظام Android البيئي من استخدام تطبيق مرجعي قياسي واحد يحقق الفوائد التالية.
يحصل المستخدمون النهائيون على تجربة متسقة عبر أجهزة Android وإصلاحات لمشكلات التشغيل التفاعلي من خلال تحديثات الوحدة.
يمكن لمصنعي المعدات الأصلية تلبية متطلبات الناقل مع تقليل تكاليف التخصيصات الفردية (حيث لا يحتاجون إلى تطبيقات مختلفة لنفس المتطلبات بطرق مختلفة).
الانقسام النفقي
لدعم حالات استخدام الأنفاق المقسمة ، تمت إضافة واجهة برمجة تطبيقات جديدة إلى Android 13 لتحديد مسارات الاستبعاد.
يشير الانقسام النفقي إلى التكوين حيث تمر حركة مرور معينة عبر VPN بينما لا تمر حركة مرور أخرى. مثال شائع هو عندما تريد المنظمة تصفحًا عامًا للويب ، أو بثقل النطاق الترددي (على سبيل المثال ، YouTube ، Netflix) أو تطبيقات حساسة لوقت الاستجابة (على سبيل المثال ، Office 365 ) لتجاوز VPN. قبل إتاحة الاتصال النفقي المقسم ، سمح VpnService.Builder
لعميل VPN بالإشارة إلى أنه يجب توجيه بعض الشبكات الفرعية فقط إليه ( بما في ذلك المسارات). مع تقسيم الأنفاق ، لديك القدرة على تحديد معكوس: لتوجيه كل حركة المرور إلى VPN ، باستثناء الشبكات الفرعية المحددة ( استبعاد المسارات).
توقيع API الجديد للنفق المقسم هو:
public Builder excludeRoute(@NonNull IpPrefix prefix)
CrossDevice
يهدف CrossDevice ، الذي تم تقديمه في Android 13 ، إلى توفير تقنيات الاتصال عبر الأجهزة باستخدام البروتوكولات القياسية. يوفر واجهات برمجة تطبيقات وميزات لاكتشاف الجهاز والاتصال المصدق والتجارب الأخرى عبر الأجهزة.
الدافع عبر الأجهزة
- تعاون أوثق مع شركاء OEM. يمكن لمصنعي المعدات الأصلية دمج نظام مفتاح الحساب الخاص بهم مع تنفيذ CrossDevice بدلاً من الحاجة إلى استخدام حل Google.
- تنفيذ أكثر وضوحا للبروتوكول. تعد وحدة CrossDevice النمطية مفتوحة المصدر ، وتوفر مزيدًا من الوضوح في تفاصيل التنفيذ وقصة خصوصية أفضل لتنفيذ تقنيات CrossDevice.
حدود وحدة CrossDevice
واجهات برمجة تطبيقات CrossDevice | في packages/modules/CrossDevice/framework
|
خدمات CrossDevice | في packages/modules/CrossDevice/service
|
تنسيق حزمة CrossDevice
يتم تضمين الوظيفة الرئيسية لهذه الوحدة في حزمة APEX. يتم تجميع الموارد في حزمة APK.
تبعيات CrossDevice
تعتمد CrossDevice على ما يلي:
- واي فاي
- بلوتوث
- UWB
- وحدات ، مرافق ، شروط مسبقة
- مكتبات بروتو
خيارات التخصيص CrossDevice
نخطط للسماح لـ OEMS بتخصيص واجهة المستخدم لنصف ورقة من خلال RRO. لا توجد خطة لتخصيص الوظيفة.
استراتيجية اختبار CrossDevice
نخطط لإضافة اختبارات Android Compatibility Test Suite (CTS) للتحقق من وظائف CrossDevice والاختبار عبر الأجهزة في MTS.
تفريغ ربط eBPF
لتوفير ربط عالي السرعة دون الرد على تفريغ الأجهزة ، يوفر Android 11 حلاً لإلغاء تحميل برنامج الربط يسمى eBPF tethering offload لتنزيل IPv6 (حركة المرور المتدفقة إلى الجهاز المربوط).
من Android 12 ، يتم توفير هذه الوظيفة (بما في ذلك رمز برنامج eBPF) بالكامل بواسطة وحدة الربط ، والتي تدعم ما يلي:
- تنزيل IPv6 (حركة المرور المتدفقة إلى الجهاز المربوط)
- تحميل IPv6 (حركة المرور المتدفقة من الجهاز المربوط)
- تحميل ونقل بيانات IPv4 TCP / UDP (حركة المرور المتدفقة إلى / من الجهاز المربوط)
- تفريغ eBPF
يتم تمكين هذه الميزة افتراضيًا ، ويمكن للمستخدمين تجاوز التكوين config_tether_enable_bpf_offload
إلى false بواسطة RRO. انظر التخصيص لمزيد من المعلومات.
دعم IPv4 و IPv6
تدعم وحدة الربط مكدس IPv4 و IPv6 المزدوج.
بالنسبة لشبكات IPv4 ، تقوم الوحدة بإعداد ترجمة عنوان الشبكة (NAT) وتعتمد بروتوكول تكوين المضيف الديناميكي (DHCP) لتعيين عنوان IP.
بالنسبة لشبكات IPv6 ، تتبنى الوحدة التكوين التلقائي لعنوان IPv6 عديم الحالة (SLAAC) لتعيين عنوان IP.
حدود الوحدة
بالنسبة لنظام التشغيل Android 12 والإصدارات الأحدث ، فإن جميع الملفات / المجلدات الموجودة ضمن packages/modules/Connectivity
موجودة في نطاق وحدة الربط.
بالنسبة لنظام Android 11 والإصدارات الأقدم ، تحتوي وحدة الربط على ملفات Android 10 التالية في packages/modules/Tethering
.
-
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 أو أعلى.
تضمين خدمة الاتصال
من Android 12 ، تمت إضافة رمز ConnectivityService
الذي ينفذ المكون المركزي لاتصال L3 + إلى Tethering APEX. يتوسع نطاق الربط إلى وحدة اتصال.
تبعيات الوحدة النمطية
تحتوي وحدة الربط على التبعيات التالية:
- طرق API العامة والنظام في خادم النظام
- واجهة AIDL IPCs مستقرة مع خادم النظام
-
tetheroffload
HIDL (محدد فيhardware/interfaces/tetheroffload/
) - خادم DHCP (جزء من وحدة Network Stack)
التخصيص
لا تدعم وحدة الربط التخصيص.
اختبارات
يتحقق Android Compatibility Test Suite (CTS) من وظائف وحدة الربط.