普及目前! 10Gigabit Ethernetの世界を知る

CodeZine / 2013年5月20日 14時0分

 本連載では3~5年先の未来に使われる技術を研究している、さくらインターネット研究所に蓄積された研究成果を元に、Webサービスで今後必要とされる技術ノウハウを紹介します。

■はじめに

 Webサービスを取り巻く環境はクラウド・コンピューティングなどの出現で日々変化してきています。しかし着実な流れとして、既存のGigabit Ethernetの環境からより広帯域のネットワーク接続へと進んでいるのも事実です。仮想マシンとして動作するクラウド環境であれ、物理マシンで構成されたクラスターであれ、ネットワーク帯域の高速化はWebサービス全体にも大きな影響を与えます。

 ここでは、普及目前になってきた10Gigabit Ethernetの動作確認とベンチマーク方法などから、高速ネットワークの基礎を学んでいきます。



■対象読者

 Webサービスの設計・構築・運用を行うシステム・エンジニア。

■必要な環境

 Linux環境およびIntel x86システム。

■ネットワーク・インターフェースの確認方法 

 10Gigabit Ethernetは、いままでと同じように取り扱うことができます。ipコマンドを使えば、システム上のネットワーク・インターフェースの状況が見えてきます。まずは、その使い方から見ていきましょう。

# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:25:90:9c:18:30 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:25:90:9c:18:31 brd ff:ff:ff:ff:ff:ff
 10Gigabit Ethernetがどのような接続方式をサポートするかは、ethtoolを使えば詳細を確認できます。

 SPF+コネクタを経由した光ファイバー接続、Twinaxケーブルや10GBASE-Tによるカッパー接続があります。カッパー接続など銅線を使ったものはケーブル長が短く、光ファイバー接続ではケーブル長が長いという特性があります。通常ラック内で利用する場合には、さほど問題になりませんが、複数ラックを跨ぐような10Gigabit Ethernet Switchとの接続の場合には、光ファイバー接続が必要です。

# ethtool eth0 Settings for eth0: Supported ports: [ FIBRE ] Supported link modes: 10000baseT/Full Supported pause frame use: No Supports auto-negotiation: No Advertised link modes: 10000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: No Speed: 10000Mb/s Duplex: Full Port: Direct Attach Copper PHYAD: 0 Transceiver: external Auto-negotiation: off Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes
 最近のネットワーク・インターフェースカードでは、NIC上でさまざまなオフロード処理を実現するための機構が搭載されています。TCPセグメンテーション・オフロード(TSO)や、ラージ・レシーブ・オフロード(LRO)などが、オフロード処理機構として一般的です。これらの機能をOnにすることで、トラフィック・パターンによってはネットワーク処理性能を向上させることができますので、適宜設定すると良いでしょう。またNIC上の各種オフロード処理は、ベンダーや製品により異なっていますので注意が必要です。

# ethtool -k eth0 Features for eth0: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: on rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off receive-hashing: on


CodeZine

この記事に関連するニュース

トピックスRSS

ランキング