bağlama

Tethering modülü, bir Android cihazının internet bağlantısını, Wi-Fi, USB, Bluetooth veya Ethernet üzerinden tethering cihazlarına bağlanabilen diğer bağlı istemci cihazlarla paylaşır. Bu modül bağlama bileşeni (USB, Wi-Fi erişim noktası, Bluetooth, vs.) ve bağımlılıklarını (hak, tethering ile etkileşim içerir IpServer ve offloadController ). Bu modül güncellenebilir, yani normal Android sürüm döngüsünün dışındaki işlevsellik güncellemelerini alabilir.

Tethering modülü, Android ekosistemindeki OEM'lerin aşağıdaki faydaları sağlayan tek bir standart referans uygulamasını kullanmasını sağlar.

  • Son kullanıcılar, Android cihazlarda tutarlı bir deneyim elde eder ve modül güncellemeleri aracılığıyla birlikte çalışabilirlik sorunlarına yönelik düzeltmeler elde eder.

  • OEM'ler, (aynı gereksinimlerin farklı şekillerde farklı uygulamalarına ihtiyaç duymadıkları için) bireysel özelleştirme maliyetlerini düşürürken aynı zamanda taşıyıcı gereksinimlerini karşılayabilir.

IPv4 ve IPv6 desteği

Tethering modülü, IPv4 ve IPv6 çift yığınını destekler.

  • IPv4 ağları için modül, ağ adresi çevirisini (NAT) kurar ve IP adresi ataması için dinamik ana bilgisayar yapılandırma protokolünü (DHCP) kullanır.

  • IPv6 ağları için modül, IP adresi ataması için IPv6 durumsuz adres otomatik yapılandırmasını (SLAAC) benimser.

Modül sınırı

Android 11 yılında Tethering modülü için aşağıdaki Android 10 dosyaları taşır 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

Modül formatı

(Bağlama modülü com.google.android.tethering ) APEX formatında ve Android 11 veya daha çalışan cihazlarda kullanılabilir.

Modül bağımlılıkları

Tethering modülü aşağıdaki bağımlılıklara sahiptir:

  • Sistem sunucusundaki genel ve sistem API yöntemleri
  • Sistem sunucusuyla kararlı AIDL IPC'ler arayüzü
  • tetheroffload HIDL (tanımlanmış hardware/interfaces/tetheroffload/ )
  • DHCP sunucusu (Ağ Yığını modülünün bir parçası)

özelleştirme

Tethering modülü özelleştirmeyi desteklemiyor.

Test yapmak

Android Uyumluluk Test Paketi (CTS), Tethering modülünün işlevselliğini doğrular.