メニューを閉じる

テクノデジタルグループ

メニューを開く

2016.06.13

インフラ

AWS summit 2016 EC2 Networking に参加してきました

初めまして。インフラの構築などを行っているY・Kといいます。

今回はAWS summit DAY2 で行われた「The State of The Art – AWS / EC2 Networking」に参加してきました。

セッション内容はAWS固有の技術ではなく、ネットワークについての知識がベースとなっています。

ネットワーク用語について私が知識が浅く、この記事を書くにあたりいくつか調べましたのでおさらいの要領で各単語を説明をしていけたらと思っております。

 

■セッション概要

クラスメソッド社様がまとめていますので紹介だけにさせて頂きます。

http://dev.classmethod.jp/cloud/aws/the-state-of-the-art-aws-ec2-networking/

 

■各種用語について

  • RTT(ラウンドトリップタイム)

通信先と通信を始めてから自分に返ってくるまでの時間

通信先に到着するまでの時間はレイテンシと呼ぶ

  • 輻輳制御(ふくそうせいぎょ)

輻輳とは一か所に集中し混雑した様子を指す

通信が混雑した際の制御のことになる。これは端末側で行う

  • MTU

ネットワークにおいて1回の転送(1フレーム)で送信できるデータの最大値を示す伝送単位のこと。

MTUの値は利用される通信メディアやカプセル化の有無などによって変わる。

たとえばイーサネットでは最大1,500バイト(オクテット)がIP通信に利用できる。

  • スロースタートアルゴリズム

TCP通信はスロースタートという方式で通信を行っており

通信先に徐々に送信するする量を増やしていく(1,2,4,816・・・のように増えていく)、というものになっている

しかし、通信先で輻輳が発生すると通信量を初期に戻し再度通信していく(輻輳回避)

  • 再送タイマー

パケットを損失したとみなす時間

  • TCPバッファ

通信に置いて受け取ったデータの一時保管する領域

  • ウインドウサイズ

TCPバッファを超えてしまうとそのデータは破棄されてしまう。

そのため通信元に自分のバッファの量を知らせる仕組みをウインドウサイズと呼ぶ

TCPアルゴリズムについて

3種類のアルゴリズム

・Loss-base方式

輻輳などのパケットの損失が発生するまで輻輳ウインドウを増加させ続ける。

輻輳発生時に輻輳ウインドウを減少させる。

従来のスロースタートはこの方式である。

CUBICがこの方式にあたる

・Delay-based方式

RTTを測定し輻輳やバッファ溢れ等が発生する前に輻輳回避を行う

キューイングによる遅延増加を検出しそれを指標として輻輳回避を行う

WestWood+ がこの方式にあたる

・Hybrid方式

上記2種類を組み合わせた方式

輻輳ウインドウを増加させ、RTTが増加していくと輻輳ウインドウ増加量を減らしていくというものである

illinois がこの方式にあたる

まとめ

聴講最中はまったくさっぱりな内容でしたがひとつひとつの単語を調べるとある程度ですがやってる内容が分かってきました。

セッション内でサーバをチューニングし、いくつかの事例でスループットを向上させる話がでましたが

すべての事例でアルゴリズムをillinoisに変更していましたがアルゴリズムについてと輻輳のことを知れば納得できる対処方法ではないでしょうか。

 

最後にセッションの内容について何故その変更を行っているのかを自分なりにまとめてみました。

・輻輳が発生しないようにする

・輻輳が発生したと認識させない(再送タイマーのチューニング

・バッファを大きくする

・MTUを大きくする

・高速な通信が行える環境であれば有効

・初期輻輳の変更

・1,2,4,8,16・・・と増えていく輻輳ウインドウの初期値を変更することで初期から通信できる量を変更できる

 

以上となります。間違っている箇所等あればマサカリを投げて頂ければと思います。


【テクノモバイルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』
https://qangaroo.jp/

最近の記事

SNS共有