Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release, bukan aosp-main, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Fungsi pemantauan dan pelacakan penggunaan data per aplikasi dan yang didelegasikan
bergantung pada modul xt_qtaguid di kernel Linux
android-3.0 (kernel/net/netfilter/xt_qtaguid). Fungsi pemberian tag socket
dalam framework (system/core/libcutils/qtaguid.c)
secara utama bergantung pada keberadaan antarmuka /proc/net/xt_qtaguid/ctrl
yang diekspor oleh modul kernel xt_qtaguid.
Modul netfilter quota2 (awalnya bagian dari xtables-addons)
memungkinkan fungsi untuk menetapkan batas kuota yang dinamai dan diperluas untuk
mendukung notifikasi ruang pengguna saat batas tertentu tercapai. Setelah batas kuota tercapai, modul quota2 akan menghapus semua traffic jaringan berikutnya. Framework juga dapat menentukan aturan tambahan untuk
membatasi traffic data latar belakang untuk aplikasi (lihat
com.android.server.NetworkManagementSocketTagger.setKernelCounterSet
dan
android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND).
Bagaimana caranya?
Modul netfilter qtaguid melacak traffic jaringan berdasarkan
per soket untuk setiap aplikasi menggunakan UID unik
aplikasi pemilik. Ada dua komponen tag yang terkait dengan
soket apa pun dalam sistem. Yang pertama adalah UID yang secara unik mengidentifikasi
aplikasi yang bertanggung jawab atas transfer data (Linux
memungkinkan kemampuan untuk mengatribusikan kepemilikan setiap soket jaringan ke
UID aplikasi panggilan). Komponen tag kedua digunakan
untuk mendukung karakterisasi tambahan traffic ke dalam kategori
yang ditentukan developer aplikasi. Dengan menggunakan tag tingkat aplikasi ini, aplikasi dapat membuat profil traffic ke dalam beberapa subkategori.
Dalam kasus aplikasi yang menyediakan transfer data jaringan sebagai
layanan, seperti pengelola download, layanan streaming media, dll.,
Anda dapat mengatribusikan kepemilikan transfer data jaringan
ke UID aplikasi yang meminta menggunakan
panggilan fungsi TrafficStats.setThreadStatsUid(). Pemanggil harus memiliki
izin “android.permission.MODIFY_NETWORK_ACCOUNTING” untuk
menetapkan ulang kepemilikan traffic jaringan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-06-12 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-06-12 UTC."],[],[],null,["# Kernel overview\n\nThe per-app and delegated data usage monitoring and tracking\nfunctionality relies on the xt_qtaguid module in the android-3.0 Linux\nkernel (`kernel/net/netfilter/xt_qtaguid`). The socket tagging\nfunctionality in the framework (`system/core/libcutils/qtaguid.c`)\nrelies mainly on the existence of `/proc/net/xt_qtaguid/ctrl`\ninterface exported by the `xt_qtaguid` kernel module.\n| **Note:** Support for `xt_qtaguid` will be phased out starting in the Android 9 release. See [eBPF Traffic\n| Monitoring](/docs/core/data/ebpf-traffic-monitor) for more information.\n\nThe `quota2` netfilter module (originally part of `xtables-addons`)\nallows the functionality to set named quota limits and was extended to\nsupport notifying userspace when certain limits are reached. Once the\nquota limit is reached, the `quota2` module discards all subsequent\nnetwork traffic. The framework can also specify additional rules to\nrestrict background data traffic for an app (refer to\n`com.android.server.NetworkManagementSocketTagger.setKernelCounterSet`\nand\n`android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND`).\n\nHow does it work?\n-----------------\n\nThe `qtaguid` netfilter module tracks the network traffic on a\nper-socket basis for every app using the unique UID of the\nowning app. There are two tag components associated with any\nsocket in the system. The first is the UID which uniquely identifies\nthe app which is responsible for the data transfer (Linux\nallows the ability to ascribe the ownership of each network socket to\nthe UID of the calling app). The second tag component is used\nto support additional characterization of the traffic into app\ndeveloper specified categories. Using these app level tags, an\napp can profile the traffic into several sub-categories.\n\nIn the case of apps that provide network data transfer as a\nservice, such as the download manager, media streaming service, etc,\nit is possible to attribute the ownership of the network data transfer\nto the UID of the requesting app using the\n`TrafficStats.setThreadStatsUid()` function call. The caller must hold\nthe \"`android.permission.MODIFY_NETWORK_ACCOUNTING`\" permission to\nre-assign the ownership of the network traffic."]]