2017-09-26 328 views
2

考慮從谷歌的一個實例向google.com做一個cURL請求(爲了解決這個問題,認爲這是「互聯網之外的谷歌」),什麼是入口和哪部分是出口?Google雲如何計算出口和入口流量?

說出口是請求頭(< 200字節),入口是響應(〜12KB)是否正確?

$ curl -s -vvv https://www.google.com/ | wc 
* About to connect() to www.google.com port 443 (#0) 
* Trying 74.125.206.105... connected 
* Connected to www.google.com (74.125.206.105) port 443 (#0) 
* Initializing NSS with certpath: sql:/etc/pki/nssdb 
* CAfile: /etc/pki/tls/certs/ca-bundle.crt 
    CApath: none 
* SSL connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 
* Server certificate: 
* subject: CN=www.google.com,O=Google Inc,L=Mountain View,ST=California,C=US 
* start date: Sep 13 17:20:01 2017 GMT 
* expire date: Dec 06 17:10:00 2017 GMT 
* common name: www.google.com 
* issuer: CN=Google Internet Authority G2,O=Google Inc,C=US 
> GET/HTTP/1.1 
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 
> Host: www.google.com 
> Accept: */* 
> 
< HTTP/1.1 200 OK 
< Date: Tue, 26 Sep 2017 09:47:57 GMT 
< Expires: -1 
< Cache-Control: private, max-age=0 
< Content-Type: text/html; charset=ISO-8859-1 
< P3P: CP="This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info." 
< Server: gws 
< X-XSS-Protection: 1; mode=block 
< X-Frame-Options: SAMEORIGIN 
< Set-Cookie: NID=113=ITmvqo09PzgCHeccVSmo52IKmjA6qTqn-0rts6_KYoZl_xqF7zmOpTC3Gsn0SbpyR6QCYPAPp14NYbvNWq1y6aY6Qwpjvxqf0DGG5h2wrgKXEu4zU4pDtjmUeWRRbaok; expires=Wed, 28-Mar-2018 09:47:57 GMT; path=/; domain=.google.com; HttpOnly 
< Accept-Ranges: none 
< Vary: Accept-Encoding 
< Transfer-Encoding: chunked 
< 
{ [data not shown] 
* Connection #0 to host www.google.com left intact 
* Closing connection #0 
     6  350 12868 

或不同做這項工作,是整個請求(頭+響應)帳單統計,因爲它是從內部「發起的」向外部?

回答

2

你基本上是正確的請求是出口和響應入口。

入口/出口是在IP層定義和測量的。這意味着它只是計算讓虛擬機給出口卷的數據包大小。它並不知道HTTP的任何信息 - 它甚至不知道響應數據包是與請求相同的連接的一部分 - 它只是增加了數據包大小。

這確實意味着有一個小小的複雜:TCP使用「確認」數據包來傳達數據包正確到達。出站確認 - 這是對入口數據的響應 - 仍然計入計費。這意味着非常大的響應仍然會從確認分組中產生一些計費出口流量,但這通常只是響應本身的一小部分。