רשת

אנדרואיד 10 כולל את מודולי הרשת הבאים:

  • מודול רכיבי הרשת מספק שירותי IP נפוצים, ניטור קישוריות רשת וזיהוי פורטל כניסה שבוי.
  • מודול Network Stack Permission Config מגדיר הרשאה המאפשרת למודולים לבצע משימות הקשורות לרשת.

מודול רכיבי רשת

מודול רכיבי הרשת מבטיח ש-Android יכול להסתגל לתקני רשת מתפתחים ומאפשר יכולת פעולה הדדית עם יישומים חדשים. לדוגמה, עדכונים לזיהוי פורטל שבוי וקוד כניסה מאפשרים ל-Android להישאר מעודכן בדגמי פורטל שבויים משתנים, ועדכונים ל-Advanced Policy Firewall (APF) מאפשרים לאנדרואיד לחסוך בחשמל ב-Wi-Fi כאשר סוגים חדשים של מנות הופכים נפוצים.

שינויים באנדרואיד 10

מודול רכיבי הרשת מכיל את הרכיבים הבאים.

  • שירותי IP. רכיב IpClient (לשעבר IpManager) מטפל בהקצאה ותחזוקה של שכבת IP. באנדרואיד 9, הוא שימש בתהליכים צולבים על ידי רכיבים כגון Bluetooth, ובתהליך על ידי רכיבים כגון Wi-Fi. רכיב DhcpClient משיג כתובות IP משרתי DHCP כך שניתן להקצות אותן לממשקים.
  • NetworkMonitor. רכיב NetworkMonitor בודק גישה לאינטרנט בעת חיבור לרשת חדשה או כשלי רשת, בעת זיהוי פורטלים שבויים, ובעת אימות רשתות.
  • אפליקציית התחברות לפורטל שבוי. אפליקציית הכניסה לפורטל Captive היא אפליקציה מותקנת מראש שאחראית על ניהול התחברות בפורטלים שבויים. זו הייתה אפליקציה נפרדת מאז אנדרואיד 5.0, אך היא מקיימת אינטראקציה עם NetworkMonitor כדי להעביר כמה אפשרויות של משתמש למערכת.

במכשירים המשתמשים במודול רכיבי רשת, השירותים הנ"ל עוברים מחדש לתהליך אחר וניגשים אליהם באמצעות ממשקי AIDL יציבים . נתיבי הרפקטור מוצגים בטבלאות הבאות.

נתיבים מחדש של שירותי IP

אנדרואיד 9 ומטה frameworks/base/services/net/java/android/net/ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (חלקית)
אנדרואיד 10 ומעלה packages/modules/NetworkStack

נתיבים מחדש של התחברות לפורטל שבוי

אנדרואיד 9 ומטה frameworks/base/ :
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (כאשר * = תו כללי)
אנדרואיד 10 ומעלה packages/modules/CaptivePortalLogin (וכמה מיקומים משותפים אחרים)

פורמט ותלות

מודול רכיבי הרשת מסופק כשלושה APKs: אחד עבור שירותי IP, אחד עבור כניסה לפורטל שבוי ואחד עבור תצורת הרשאת מחסנית רשת .

מודול רכיבי הרשת תלוי בדברים הבאים:

  • Privileged @hide שיטות בשרת המערכת (לדוגמה, ב- IConnectivityManager.aidl ). ממשקי API אלה צוינו ב- @SystemApi ומוגנים כראוי כך שהם נגישים למודול אך לא לאפליקציות מורשות אחרות (לדוגמה, באמצעות הרשאת חתימה חדשה).
  • Binder IPCs to netd המוגדרים ב- INetd.aidl . ממשק זה הומר ל-AIDL יציב ונתון למבחני התאמה.

מודול תצורת הרשאת מחסנית רשת

מודול Network Stack Permission Config אינו מכיל קוד, אלא מגדיר הרשאה המיועדת לשימוש על ידי מודולי Network Stack ו-Ccaptive Portal Login. המערכת מאפשרת למודולים שקיבלו הרשאה זו לבצע משימות תצורת רשת קשורות במכשיר.