테더링

테더링 모듈은 Wi-Fi, USB, 블루투스 또는 이더넷을 통해 테더링 기기에 연결된 다른 클라이언트 기기와 Android 기기의 인터넷 연결을 공유합니다. 이 모듈에는 테더링 구성요소(USB, Wi-Fi 액세스 포인트, 블루투스 등) 및 종속 항목(테더링 사용 권한, IpServeroffloadController와의 상호작용)이 포함됩니다. 이 모듈은 업데이트할 수 있습니다. 즉, 일반적인 Android 출시 주기 외에도 기능 업데이트를 받을 수 있습니다.

테더링 모듈을 통해 Android 생태계 전반의 OEM이 다음과 같은 이점을 제공하는 단일 표준 참조 구현을 사용할 수 있습니다.

  • 최종 사용자는 모듈 업데이트를 통해 Android 기기 전반에 걸쳐 일관된 환경을 경험하고 상호 운용성 문제를 수정할 수 있습니다.

  • OEM은 이동통신사 요구사항을 충족하는 동시에 개별 맞춤설정 비용을 절감할 수 있습니다(동일한 요구사항을 서로 다른 방식으로 다양하게 구현할 필요가 없기 때문에).

IPv4 및 IPv6 지원

테더링 모듈은 IPv4 및 IPv6 듀얼 스택을 지원합니다.

  • IPv4 네트워크의 경우 모듈은 네트워크 주소 변환(NAT)을 설정하고 IP 주소 할당에 동적 호스트 구성 프로토콜(DHCP)을 사용합니다.

  • IPv6 네트워크의 경우 모듈은 IP 주소 할당에 IPv6 스테이트리스 주소 자동 구성(SLAAC)을 사용합니다.

모듈 경계

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.google.android.tethering)은 APK 형식이며 Android 11 이상을 실행하는 기기에서 사용할 수 있습니다.

모듈 종속 항목

테더링 모듈에는 다음과 같은 종속 항목이 있습니다.

  • 시스템 서버의 공개 및 시스템 API 메서드
  • 시스템 서버와의 안정적인 AIDL IPC 인터페이스
  • tetheroffload HIDL(hardware/interfaces/tetheroffload/에 정의됨)
  • DHCP 서버(네트워크 스택 모듈의 일부)

맞춤설정

테더링 모듈은 맞춤설정을 지원하지 않습니다.

테스트

Android 호환성 테스트 모음(CTS)은 테더링 모듈의 기능을 확인합니다.