الشبكات

يتضمن 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/* (حيث * = wildcard)
Android 10 والإصدارات الأحدث packages/modules/CaptivePortalLogin (وبعض المواقع المشتركة الأخرى)

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

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

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

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

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

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