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