目次
(現象)たった1台のPCがネットワークパフォーマンスを侵害する
インターネット上のサイトからISOファイル等、1つの大容量ファイルを1台のPCからダウンロード
するだけでオフィス全体の環境が輻輳する問題が発生している。
実際には輻輳するというか、1台のPCがダウンロードトラフィックを専有するような形。
1台のPCがあり得ない程のトラフィックを出す。
通常の動作の例
通常動作はTCPのコネクションが貼られた後に、徐々にウィンドウ制御によりトラフィックが膨れていき回答を得ながら上がり下がりを繰り返す形になる。
通信は譲り合いの精神で1台が10GB等のファイルダウンロードを行っても他のPCとの通信のやり取りで通信帯域は出ない筈。
フロア内の通信でもCSMA/CDの考え方から再送制御が行われる筈だ。
問題となるPCの挙動
あり得ないほどの帯域がものの数秒で出る。
対向先はインターネットで通信はHTTPS、宛先ポート番号は443なのは確定している。
通信挙動をパケットキャプチャで確認していく
3Wayハンドシェイクが始まる=>普通でしょう。
TLSセッションの接続が始まる=>普通でしょう。
TLSのバージョンは1.2 =>問題無いでしょー。
暗号スイートは TLS_ECDHE_RSA_WITH_CAHCA20_POLY1305_SHA256 =>問題無いでしょう。。。
おかしいのはここからだ。
TCPコネクション後、突然1500Byteのデータが流れ始める。
その後、しばらくすると0.1msとかで大量の[TCP Dup ACK]エラーパケットが排出される。
[TCP Out-Of-Order]も見られる。
エラーパケットが頻発するがクライアントの挙動としては特に問題無くダウンロードが進む。
通常1時間は掛かるだろうISOファイルが、ものの数分でダウンロードを完了しようとする。
これは一体何なのか。。。ただ高速過ぎてWireSharkでパケット取得に失敗しているだけなのかもしれない。だとするとヒントは少ない。
可能性と切り分けの確認
原因となった端末
Windows10(1903) Pro
ノートPC
ドメイン環境下
他のWindows10端末、他の拠点での試行
端末固有の問題かも?という意図で実施。
=>他の端末でも同様な現象が発生したんです。
他のネットワークでの試行
通常利用されていない環境での試行
=>同様な現象が発生したんです。
他のインターネットプロバイダでの試行
大差無かったです。
Windows10の配信の最適化、BITS等による可能性
WindowsUpdateやWindows10のバージョンアップでも発生するとの情報もあり試行。
ローカルセキュリティポリシー等でも項目が追加されていることが確認できる。
なるべくOS等に囚われない環境として、Ubuntuを建ててクライアント化、CentOSにSquidを建ててインターネットプロキシ経由で接続するように変更した上で実施。
Ubuntuであっても同様な事象が発生。
ここまでの対応でWindowsには関係無いと判断。
有線、無線ももちろん関係無い。
何故起きるのか?その見解は?
ハッキリ分からないです。ごめんなさい。
ただ、切り分け出来た点としては端末の種類や会社内、ドメインの環境、グループポリシー等には依存していなくてTLS通信として実施されている模様。
この問題が解決されないと意図せずに個人の操作によってオフィスや工場等のネットワークが逼迫してしまい影響となるであろう。.
もしこの問題を今の見解のまま制御していくならグループポリシー等で最大トラフィック等の設定を行わなければならなくなる。
どのようなサイジングをすれば良いのか?この設定は小規模な会社ならまだしも大規模な会社だと現実的では無いと思われる。
その他、Web調査等によるもの
最初はWindows絡みの新たな配信の仕組み系の文書を読み漁っていたが、上の切り分けからWindows固有によるものでは無いと考えています。
結果としては、以下のサイトが一番参考になって近いのでは。
参考にさせてもらったサイトはこちら。
ZDNet
https://japan.zdnet.com/article/35086196/2/
可能性としては以下も想定されると考えた。
- TCP Fast Retransmission (Fast Recovery Algorithm)によるもの
- Recent ACKnowledgement(RACK)によるもの
- Tail Loss Probe(TLP)によるもの
これらの技術はGoogle等が、HTTPSのパフォーマンスを挙げるために下層レイヤから改革しており新技術を出しているようだ。
さすがだなぁ。やっぱ違うわぁ。(疲れた)
未だネット上にも情報が少ないので自分だけで解決できなかった。
今後も調査していきたい。。
(有用な情報があればぜひ教えていただきたいです)