27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Ağ arayüzü istatistiklerine genel bakış
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android 4.0'ta, Linux ağ arayüzleri tarafından raporlanan istatistikler zaman içinde kaydedilir ve ağ kotası sınırlarını uygulamak, kullanıcıların görebileceği grafikler oluşturmak ve daha fazlası için kullanılır.
Her ağ cihaz sürücüsü (kablosuz ağ dahil), standart çekirdek cihaz yaşam döngüsüne uymalı ve dev_get_stats()
aracılığıyla doğru istatistikleri döndürmelidir. Özellikle, döndürülen istatistikler arayüz etkinken kesinlikle monoton kalmalıdır. Sürücüler, istatistikleri yalnızca unregister_netdev()
'ü veya register_netdevice_notifier()
/ register_inetaddr_notifier()
/ register_inet6addr_notifier()
ile kayıtlı geri çağırmalar için NETDEV_UNREGISTER
etkinliği oluşturan eşdeğeri başarıyla tamamladıktan sonra sıfırlayabilir.
Mobil operatörler genellikle veri kullanımını internet katmanında (IP) ölçer. Android 4.0'taki bu yaklaşımı karşılamak için, önemsediğimiz çekirdek cihazlarda dev_get_stats()
tarafından döndürülen rx_bytes
ve tx_bytes
değerlerinin tam olarak aktarılan internet katmanı (IP
) baytlarını döndürdüğü gerçeğinden yararlanırız. Ancak diğer cihazlarda bu durumun geçerli olmayabileceğinin farkındayız. Bu özellik şu anda bu özelliğe dayanıyor. Yeni sürücüler de bu özelliğe sahip olmalıdır ve dev_get_stats()
değerleri, alt ağ katmanlarının (Ethernet üstbilgileri gibi) kapsülleme yükü içermemelidir ve tercihen önemsiz olmadığı sürece diğer trafiği (ARP gibi) içermemelidir.
Android çerçevesi yalnızca ConnectivityService
içindeki bir NetworkStateTracker
ile ilişkili ağ arayüzlerinden istatistik toplar. Bu, çerçevenin türü (TYPE_MOBILE
veya TYPE_WIFI
gibi) ve abone kimliği (IMSI gibi) dahil olmak üzere her ağ arayüzünü net bir şekilde tanımlamasına olanak tanır. Verileri yönlendirmek için kullanılan tüm ağ arayüzleri, istatistiklerin doğru şekilde hesaplanması için bir NetworkStateTracker
ile temsil edilmelidir.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-03-26 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-03-26 UTC."],[],[],null,["# Network interface statistics overview\n\nIn Android 4.0, statistics reported by Linux network interfaces are\nrecorded over time, and are used to enforce network quota limits,\nrender user-visible charts, and more.\n\nEach network device driver (Wi-Fi included) must follow the standard\nkernel device lifecycle, and return correct statistics through\n`dev_get_stats()`. In particular, statistics returned must remain\nstrictly monotonic while the interface is active. Drivers may reset\nstatistics only after successfully completing an `unregister_netdev()`\nor the equivalent that generates a `NETDEV_UNREGISTER` event for\ncallbacks registered with `register_netdevice_notifier()` /\n`register_inetaddr_notifier()` / `register_inet6addr_notifier()`.\n\nMobile operators typically measure data usage at the Internet layer\n(IP). To match this approach in Android 4.0, we rely on the fact that\nfor the kernel devices we care about the `rx_bytes` and `tx_bytes`\nvalues returned by `dev_get_stats()` return exactly the Internet layer\n(`IP`) bytes transferred. But we understand that for other devices it\nmight not be the case. For now, the feature relies on this\npeculiarity. New drivers should have that property also, and the\n`dev_get_stats()` values must not include any encapsulation overhead\nof lower network layers (such as Ethernet headers), and should\npreferably not include other traffic (such as ARP) unless it is\nnegligible.\n\nThe Android framework only collects statistics from network interfaces\nassociated with a `NetworkStateTracker` in `ConnectivityService`. This\nenables the framework to concretely identify each network interface,\nincluding its type (such as `TYPE_MOBILE` or `TYPE_WIFI`) and\nsubscriber identity (such as IMSI). All network interfaces used to\nroute data should be represented by a `NetworkStateTracker` so that\nstatistics can be accounted correctly."]]