第3回ネットワーク編
サーバーを結ぶネットワーク構造ってどうなってるの?
半導体デバイスにはそれなりに詳しいと自負する筆者だが、クライアントPCはともかく、エンタープライズ向けのサーバーマシンは触れる機会が少ないから、本連載でInfiniCloud社の担当者から伺う話には学びが多い。
さて、第3回となる今回は、サーバー事業のキモとも言うべき「ネットワーク」について伺うこととした。
既に自宅に家庭内LANを組んで便利にPCやスマートフォンなどの端末を使っているコンピュータネットワーク常用者も、さすがに100Gbps超のネットワークは見たことがないはず。ということで、今回は、サーバー事業社の最新ネットワークはどんな構造になっているのかについて聞いてみた。
InfiniCloudのネットワークってどんな感じ?
第1回では、InfiniCloud社が提供しているクラウドサービス「6G Third Edition」について、同社のエンジニア達に解説してもらった。この時には、High Response Private Cloud(HRPC)の構成ハードウェアとして、CPUやメモリーについての説明を受けたわけだが、今回は、このHRPCが、どのような構成のネットワークに繋がっているのかの説明をしてもらった。
「6G Third Edition」では、リーフ・スパイン(Leaf-Spine)型ネットワークを構築しているという。 2000年代くらいまでのデータセンターでは、各サーバーが接続するネットワーク形態は、アクセス層、ディストリビューション層、コア層の3層からなる「3階層ネットワーク」を採用することが多かった。
これは、当時のデータセンターの各サーバーが行う通信の主力用途が、データセンター内の通信よりも、データセンターの外側へ向けた通信…具体的にはインターネット通信にフォーカスした設計になっていたからだ。ところが、2010年代以降になると、クラウドサービスや仮想マシンサービスなどを実践するサーバーが多くなり、データセンター内での高速通信の利用度が上がる。そう、従来の「3階層ネットワーク」では、非効率な側面も出てくるようになったのだ。
そこで近年採用が増えているのがリーフ・スパイン型ネットワークだ。 リーフ・スパイン型ネットワークのリーフとは「葉っぱ」(Leaf)の意で、スパインは「幹」(Spine)の意だ。そんなわけで、リーフ・スパイン型ネットワークとは、「樹木」(木)を模した「2階層ネットワーク」構造として説明されることが多い。
リーフ・スパイン型ネットワークでは、2階層ネットワークとなった分、ネットワークに接続されるサーバー間の通信が、より少ない経由数で実践出来るようになり、低遅延なサービスが提供できることになる。
我々のHRPCサービスでも、この低遅延性能に優れたリーフ・スパイン型ネットワークを採用しています。
スパインスイッチは2基1組の形で運用していて、この2基のスパインスイッチから2本ずつ引き出した、合計4本の100Gbpsの回線を論理的に1つに束ねた400Gbps回線として運用するリンクアグリケーション(Link Aggregation、図版上ではLAGと記する)を実践しています。
リーフスイッチも同様で、1ノードあたり2基のリーフスイッチを1組で活用する形態としています。
(代表取締役CEO:瀧 氏)
用語の解説を入れよう。 スパインスイッチとリーフスイッチはそれぞれ、リーフ・スパイン型ネットワークのスパイン層とリーフ層を司るスイッチングハブだ。スパインスイッチは全てのリーフスイッチと接続するが、一般的にスパインスイッチ同士とリーフスイッチ同士は接続しないのが、リーフ・スパイン型ネットワークの特徴となる。また、リーフスイッチには、単一の回線で各サーバーが接続される。従って、異なるリーフスイッチに接続されたサーバー同士の通信は、必ずスパインスイッチを経由することになる。
(代表取締役CEO:瀧 氏)
実際のデータセンターのネットワークでは、サーバーの数が増えていけば、一定数のサーバー数となった時にはリーフスイッチを増やし、リーフスイッチが一定数を超えると今度はスパインスイッチを増やすことで、ネットワークの規模が大きくなっていくイメージだ。 スパンスイッチ、リーフスイッチを2基1組とし、それぞれをリンクアグリケーションで接続するのは、広帯域を実現するためであることはもちろんだが、万が一、いくつかのスイッチやコネクションが不調となっても、帯域が落ちるだけで、接続不能にはなりにくくする「フェイルセーフ」の狙いもあるという。
(代表取締役CEO:瀧 氏)
仮想マシンを接続するネットワークも、やはり仮想的な存在である
各サーバー内では複数基の仮想マシンが動作していることが多いわけだが、これらの仮想マシンもユーザーから見ればネットワークに繋がっているように見える。そして、そうした仮想マシン同士をつないだコンピュータネットワークは、仮想的なネットワークだということは想像に難くない。では、実際の実装はどのようになっているのだろうか。
また、仮想スイッチングハブは、ソフトウェア的なスイッチング処理をしつつ、最終的には先ほど説明した物理的な2系統の25Gbpsをリンクアグリケーションでまとめた50Gbpsの物理回線へと繋げる仕事もしています。
(代表取締役CEO:瀧 氏)
仮想マシンたるHRIはソフトウェア的なNICを使って10Gbpsの仮想回線で仮想スイッチングハブに接続されているとのことだが、これは、全てソフトウェア的な実装なので、物理的な通信をしているわけではない。実務としては、コンピュータ上のメモリーの読み書き(事実上のメモリー間データコピー)に過ぎない。となれば、そのスーパーバイザーの負荷が軽いときには、実効帯域として10Gbps以上が出ることもあるのだろうか。
我々は「6G Third Edition」のHRPCサービスの構築検討の際に、HRIの仮想ネットワークやリーフスイッチの帯域が引き上がることで、仮想スイッチングハブ(複数のHRIが仮想NICで接続され、物理的な25Gbps×2の回線へ繋がる部分)がボトルネックになりやすいことを予測していました。そこで、我々は、この仮想スイッチングハブの処理系には特定のCPUコアが専任で担当するような独自チューニングを行っています。こうした工夫は、既成のVMWareをそのまま使うタイプのクラウドサービスに対する差別化ポイントになると思っています。
(代表取締役CEO:瀧 氏)
改めて言うことでもないが、端末機器をNICを介してスイッチングハブに繋がって構築されるような「コンピュータネットワーク」を仮想化したものが「仮想ネットワーク」である。そして、前述したように、その実務とは「コンピュータが管理するメモリー間のデータコピー」に過ぎない。だからこそ、仮想マシンたるHRIが行う膨大な通信は、物理ネットワークを介した通信になるまでは、「ハイパーバイザー空間を管理するCPUスレッドが実践するメモリー間データコピー」となるので、この部分のスレッドの割り当てのチューニングについては、InfiniCloudは独自のノウハウが反映されているのだという。
データセンターの各マシンや各スイッチはどんなケーブルで繋がってるの?
2020年代の現在、職場などでは、各端末をWiFiではなく、有線LANベースのネットワークで構築していることはごくありふれた光景となっている。また、現在は、一般家庭でも、高速かつ低遅延なネットワーク環境を重視するユーザーは、有線LANベースで家庭内LANを構築していることも多い。
その意味では、今や、固定電話機の6極2芯モジュラジャックが組み付けられた電話線よりも、8極8芯のRJ45端子のイーサネットケーブル(LANケーブル)の方が身近な存在になったといえるかもしれない。
では、クラウドサービスを提供しているデータセンターでは、各サーバーや各スイッチ同士はどのようなケーブルで接続されているのだろうか。
とはいえ、事業用ネットワークの10Gbps以上の帯域を安定的に利用するにはRJ45端子のケーブルでは、信頼性に乏しい部分があります。従って、10Gbps以上、特に25Gbps以上の帯域での接続が必要な「6G Third Edition」のHRPCサービスでは、同一ラック内での接続はDirect Attached Cable(DAC)とも呼ばれるTwinaxケーブルを利用しています。Twinaxケーブルはメタルケーブルになります。
(代表取締役CEO:瀧 氏)
具体的には、前出の「6G Third Edition」のHRPCサービスのリーフ・スパイン型ネットワークの図解でいえば、リーフスイッチとHRPCとの接続にはまさにこれが使われている。端子としてはSFP28コネクタとなる。
一方で、スパインスイッチとリーフスイッチの接続には100Gbpsの帯域での接続となるので、非常に広帯域だ。ここの接続はどうなっているのだろうか。
(代表取締役CEO:瀧 氏)
ちなみに、既製品的なアクティブ光ケーブルとして、適当な長さの光ファイバーの両端にトランシーバー相当の機能を内蔵したQSFP28端子を実装したAOC(Active Optical Cable)と呼ばれる光ケーブルもある。しかし、InfiniCloudでは、各々の接続において光ファイバーの長さを最適化できる、別体型のトランスミッターを活用した接続スタイルを採用することが多いそうだ。
なお、同一ラック内接続だけでなく、ラック間接続においても、短い距離であれば、QSFP28コネクタに対応した100Gbps対応のTwinaxケーブル(メタルケーブル)を使って接続することもできるそうだが、ケーブルがとても太く、取り回しがしづらいので、特別な理由がない限りは、InfiniCloudでは、ラック間接続においては光ファイバーを使うようにしているとのことである。
では、「大は小を兼ねる」的に、ラック"内"接続も光ファイバーを使ってしまえばいいのではないか、と思う人もいるかもしれない。しかし、光ファイバー接続用のトランシーバー自体が結構、高価な装置のため、おいそれと全コネクションを光ファイバー接続化できないのだ。
InfiniCloudが活用している100Gbps伝送に対応したトランシーバーとしては、「100GBASE-LR4」規格のものや「100GBASE-CWDM4」規格対応のものなどがあるが、それぞれに一長一短があるため、適材適所で使い分けているという。 具体的には、100GBASE-LR4は、波長の近しい4波長の光を用いる光信号トランシーバーで想定伝送距離は10kmと長いが価格は高めだ。対する100GBASE-CWDM4は、波長の離れた4波長の光を用いる光信号トランシーバーで想定伝送距離は2kmと短いが、相対的には価格は安めとなっている。
(代表取締役CEO:瀧 氏)
光ファイバーは、外径そのものは、約0.1mm(125μm)だが、信号を伝搬させる光ファイバー実体のコア直径はシングルモードで約9μmだ。マルチモードの光ファイバーはこれが50μm~60μmとなる。シングルモードの光ファイバーは、マルチモードのモノと比較すると約6倍も細いので「曲げ」への耐性が低く、折れやすいのだ。
また、シングルモードの光ファイバーは、光の損失が小さいという利点はあるが、受光装置で受信する光信号強度が強すぎると、受光素子の受光量が飽和して機器が損傷する可能性がある。そこで、シングルモードの光ファイバーを用いる場合は、光伝送距離の差に起因した光信号強度の差が、伝送装置に悪影響を及ぼすのを防ぐため、必ず、光ファイバの光信号を減衰させている。この適切な強度の信号に調整する装置は「光アッテネータ」(光減衰器)と呼ばれ、これを活用して、光信号を弱める調整を行っているのだ。
そう、シングルモードの光ファイバーは、やや取り扱いがやや面倒なのである。
ちなみに、マルチモードの光ファイバーについても、本来は光アッテネータの調整をすべきだが、実際のところ、しなくても問題ないことが多い。
そうそう、シングルモードの光ファイバーに通す光信号の波長は1310nmや1550nmになりますが、これは赤外光になります。目に見えないんですね。だから、新しく引いた光ファイバーを、アッテネータで調整する前に「ちゃんと光が来てるかな」みたいな感じで覗き込むのは絶対NGです。網膜が焼けちゃいますから(笑)
(代表取締役CEO:瀧 氏)
ネットワーク構造の話題から、普段は見る事の出来ないデータセンターで活用されている様々なネットワークケーブルの話題…そして最後は、光ファイバーの話までが飛び出した今回は雑学的な観点からも面白い話が目白押しだった。 次回もお楽しみに!
シリーズ: 西川善司の「InfiniCloudのサーバーの中身、見せてもらえます?」
※当ページに記載されている会社名、システム名、サービス名、製品名等は一般に各社の登録商標または商標です。