الشبكات

يتضمن Android 10 وحدات الشبكات التالية:

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

وحدة مكونات الشبكات

تضمن وحدة مكونات الشبكات قدرة Android على التكيف مع معايير الشبكة المتطورة وتسمح بالتشغيل البيني مع عمليات التنفيذ الجديدة. على سبيل المثال ، تسمح تحديثات اكتشاف البوابة المقيدة ورمز تسجيل الدخول لنظام Android بالبقاء على اطلاع دائم بنماذج البوابة المقيدة المتغيرة ، كما تسمح التحديثات على Advanced Policy Firewall (APF) لنظام Android بتوفير الطاقة على شبكة Wi-Fi نظرًا لأن الأنواع الجديدة من الحزم أصبحت شائعة.

التغييرات في Android 10

تحتوي الوحدة النمطية Networking Components على المكونات التالية.

  • خدمات IP. يتعامل مكون IpClient (IpManager سابقًا) مع توفير طبقة IP وصيانتها. في Android 9 ، تم استخدامه للمعالجة المتقاطعة بواسطة مكونات مثل Bluetooth ، وفي العملية بواسطة مكونات مثل Wi-Fi. يحصل مكون DhcpClient على عناوين IP من خوادم DHCP حتى يمكن تخصيصها للواجهات.
  • مراقب الشبكة. يختبر مكون NetworkMonitor إمكانية الوصول إلى الإنترنت عند الاتصال بشبكة جديدة أو عند حدوث أعطال في الشبكة وعند اكتشاف البوابات المقيدة وعند التحقق من صحة الشبكات.
  • تطبيق تسجيل الدخول إلى البوابة الأسيرة. تطبيق Captive portal تسجيل الدخول هو تطبيق مثبت مسبقًا مسؤول عن إدارة تسجيل الدخول على البوابات المقيدة. لقد كان هذا تطبيقًا منفصلاً منذ Android 5.0 ، ولكنه يتفاعل مع NetworkMonitor لإعادة توجيه بعض خيارات المستخدم إلى النظام.

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

مسارات إعادة بناء خدمات IP

Android 9 والإصدارات الأقدم في frameworks/base/services/net/java/android/net/ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (جزئيا)
Android 10 والإصدارات الأحدث packages/modules/NetworkStack

مسارات إعادة بناء المعامل لتسجيل الدخول إلى البوابة المقيدة

Android 9 والإصدارات الأقدم في frameworks/base/ :
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (حيث * = البدل)
Android 10 والإصدارات الأحدث packages/modules/CaptivePortalLogin (وبعض المواقع الأخرى المشتركة)

التنسيق والتبعيات

يتم تسليم وحدة مكونات الشبكات إلى ثلاثة ملفات APK لل: واحد للخدمات IP، واحد للدخول الأسير بوابة واحدة ل تكوين شبكة المكدس إذن .

تعتمد وحدة مكونات الشبكات على ما يلي:

  • مميزة @hide الأساليب في ملقم نظام (على سبيل المثال، في IConnectivityManager.aidl ). تم وضع هذه APIs مع @SystemApi وحمايتها بشكل مناسب بحيث انهم يمكن الوصول إليها على حدة ولكن ليس التطبيقات الممتازة الأخرى (على سبيل المثال، وذلك باستخدام إذن توقيع جديد).
  • الموثق الدولي للسلامة الكيميائية ل netd المحددة في INetd.aidl . تم تحويل هذه الواجهة إلى AIDL مستقر وتخضع لاختبارات المطابقة.

وحدة تكوين إذن مكدس الشبكة

لا تحتوي الوحدة النمطية لتكوين أذونات مكدس الشبكة على أية تعليمات برمجية ، ولكنها بدلاً من ذلك تحدد إذنًا مخصصًا للاستخدام بواسطة وحدات Network Stack و Captive Portal Login النمطية. يسمح النظام للوحدات النمطية الممنوحة لهذا الإذن بأداء مهام تكوين الشبكة ذات الصلة على الجهاز.