Networking

一些 ISP 不對 Youtube/Netflix/Facebook 上使用的頻寬收費。他們如何監控?

  • January 9, 2020

在波蘭,移動 ISP 提供每月頻寬有限的計劃是很常見的,不包括一些流行的應用程序。因此,例如來自 YouTube 的所有流量都不計入數據上限。

除了網路中立性問題,我想知道這在 HTTPS 時代是如何實現的?ISP 如何知道哪些數據包計入數據上限?

我知道只需查看 IP 地址就可以完成,但 YouTube 有大量 IP,我懷疑它們一直在變化。另外,如果 YouTube 的某些 IP 與其他不受 ISP 限制的 Google 服務共享,我不會感到驚訝……

首先,他們知道 YouTube IP 地址。

ISP 有一個 IP 數據庫。例如 YouTube 的 ASN 是 AS15169。在伺服器端,他們將為每個服務進行分組。其中之一是預設分組,這是計費組。當您使用預設組時,該使用情況會記錄在系統中。

例如,下面列出了一些 YouTube 地址。

root@server ~>whois -h whois.radb.net -- '-i origin AS15169' | grep ^route
route:      192.179.147.0/24
route:      192.179.148.0/23
route:      192.179.148.0/24
route:      192.179.149.0/24
route:      192.179.150.0/23
route:      192.179.150.0/
...
route6:     2607:f8b0:4016::/48
route6:     2604:31C0::/32
route6:     2620:33:c000::/48
route6:     2607:f8b0:4000::/48
route6:     2404:f340::/32

當您嘗試訪問 YouTube 或其他 YouTube 服務(Google 影片儲存)時,您的手機將嘗試訪問這些 IP 地址。

ISP 會檢查 IP 地址,如果它在 YouTube 群組內,他們不會在該群組收取費用。

另一種選擇是在初始 HTTP 連接時檢查 SNI 標頭。當您與 HTTPS 站點建立連接時,並非所有數據都已加密。

例如,當您在 Google 上進行搜尋時,您可以在瀏覽器中看到如下所示的 URL https://www.google.com/search?q=hello+world:.

加密數據是/search?q=hello+world和所有頁面內容。現在您正在訪問類似的網站www.google.com,但他們不知道哪個頁面或該頁面內的內容。

一些 ISP 為此使用 SNI。例如在土耳其,這種方法用於製作特定的網際網路套餐,如 5GB 網際網路 + 4GB Spotify 或 7GB 網際網路和無限的 WhatsApp。他們還使用 SNI 來禁止網站。一些網站使用相同的 IP 地址,例如wikimedia.comwikipedia.org。如果他們試圖用 IP 地址阻止維基百科,他們會阻止所有維基媒體服務。

引用自:https://serverfault.com/questions/997664