考虑从谷歌的一个实例向google.com做一个cURL请求(为了这个问题,我认为这是#34;在谷歌以外的#34;在互联网上),这是入口的哪一部分是什么部分是出口?
说出口是请求头(< 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
或者这项工作方式有所不同,并且整个请求(标题+响应)都计入您的结算中,因为它已启动&#34;从内部到外部?
答案 0 :(得分:3)
您基本上是正确的,请求是出口,响应是入口。
入口/出口在IP级别定义和测量。这意味着它只是计算离开VM以提供出口卷的数据包的大小。它对HTTP没有任何了解 - 它甚至不知道响应数据包是与请求相同的连接的一部分 - 它只是增加数据包大小。
这确实意味着存在一个轻微的复杂性:TCP使用&#34;确认&#34;数据包通信正确到达的数据包。出站确认 - 响应入口数据 - 仍然计入计费。这意味着非常大的响应仍将从确认数据包中生成一些计费出口流量,但这通常只是响应本身的一小部分。