UNTUK PERANGKAT ROOTED
(disalin dari jawaban Mansour di pos ini )
Periksa BradyBound . Ini adalah pembentuk / pembatas kecepatan unduhan lebar sistem. Beberapa hal yang perlu diperhatikan:
- Aplikasi ini membutuhkan akses root.
- Ini bekerja dengan menjatuhkan paket menggunakan
iptables
. Ini memboroskan beberapa lalu lintas - seberapa besar tergantung pada jenis lalu lintas (mis. Unduhan yang berjalan lama, penelusuran web).
- Pengukuran laju dilakukan dengan jumlah paket bukan byte sehingga batas kecepatan tidak akan akurat.
- Ini hanya membatasi lalu lintas TCP (tidak masuk akal untuk menjatuhkan paket UDP).
Perhatikan juga bahwa saya penulis aplikasi ini.
Edit # 1:
Penjelasan:
Data dibagi menjadi bagian-bagian kecil yang disebut Paket yang akan dikirim melintasi jaringan.
Itu dapat ditransmisikan menggunakan TCP (Transmission Control Protocol) atau UDP (User Datagram Protocol)
Mari kita ambil contoh:
Misalkan Anda adalah server dan saya adalah tuan rumahnya dan saya ingin mengunduh file, jadi pertama-tama saya akan mengirimkan permintaan kepadanya, setelah itu Anda akan memproses, dan alih-alih mengirim seluruh file, Anda akan membagi file besar dalam paket kecil.
Sekarang setiap paket yang telah dibuat akan berisi informasi seperti IP sumber (milik Anda) dan IP tujuan (milikku), bersama dengan beberapa data tambahan (urutan no., Ukuran data, waktu untuk hidup, dll.)
Anda akan mengirim paket-paket itu dan mereka dapat menghubungi saya melalui router.
Tidak perlu bahwa semua paket harus datang kepada saya melalui rute yang sama. Mereka dapat datang kepada saya melalui berbagai rute yang tersedia.
Ketika mereka mencapai saya, TCP / UDP muncul dalam gambar.
Jika Anda telah menggunakan TCP untuk transmisi, ketika sebuah paket mencapai saya, sebuah pernyataan yang menyatakan bahwa paket tersebut mencapai saya dikirim kembali kepada Anda.
Fitur ini kurang dalam UDP. Jika Anda telah menggunakan UDP, tidak seperti TCP, itu tidak mengirimkan ucapan terima kasih kepada Anda. Itu berarti Anda, sebagai server, tidak tahu apakah paket menjangkau saya atau tidak. Jika hilang dalam transmisi, hilang selamanya.
Menjatuhkan Paket
Menjatuhkan paket berarti membuang paket. Jadi pada dasarnya, ketika saya akan menjatuhkan paket yang dikirim oleh Anda, pemberitahuan akan dikirimkan kepada Anda (dalam kasus TCP) bahwa paket tersebut hilang dalam transmisi, jadi Anda harus mengirimnya lagi.
Dengan cara ini, itu membuang-buang lalu lintas dan membatasi kecepatan pada saat yang sama saya mendapatkan seluruh file.
Jika saya akan menjatuhkan paket UDP, saya tidak akan menerima seluruh file. Itulah alasan mengapa aplikasi tidak mengontrol lalu lintas UDP.
Dan ya, hak akses root adalah suatu keharusan, karena iptable dapat diakses dengan akses superuser saja.