現在位置: ホーム / 技術ブログ新着記事コレクション

技術ブログ新着記事コレクション

Docker 体験 その1(とりあえず動かしてみる)
Docker を動かしてみます。
C++の時間ライブラリchronoでの現在時刻の取得時間
C++11では、時間に関するライブラリchronoが追加されました。これによりポータビリティの高い方法で時間の計測が可能になりました。一方、短い時間を計測する場合、時刻取得関数そのものの実行時間が気になります。chronoの現在時刻の取得のための時間を簡易的に計測しました。
GNS3 活用 - Cisco スイッチ STP 編 その11 (MSTで効率的なVLANの管理および負荷分散を)
spanning-tree の機能である MST を使ってみます。これでいくつVLANが増えても安心ですね。
GNS3 活用 - Cisco スイッチ STP 編 その10 (rapid spanning-tree 、rapid-pvst で素早いコンバージェンス)
rapid spanning-tree は、トポロジの変更に素早く対応できます。実験で確かめます。
#12 pktgenで平均遅延時間を計測する
これまで使ってきたDPDKベースのパケットジェネレータpktgenで平均遅延時間、および、しきい値を超えたパケット割合の計測方法を紹介します。
#11 DPDKのパケットロスを抑制する
DPDKを使って転送を行っている際、パケットロスが生じることがあります。本稿では、カーネルの割り込みなどのオーバーヘッドを削減することで、パケットロスを低減する方法を紹介します。
#10 VFIO (No-IOMMU mode)でDPDKを使う
第9回で説明したVFIOを使うにはホストマシンがIOMMUをサポートしている必要があります。一方、igb_uioは、カーネルがバージョンアップするたびに再ビルドが必要になります。VFIOドライバのNo-IOMMUモードを使うと、IOMMUを持たないマシンでも、カーネル標準のドライバを使って、DPDKを動作できます。今回はその方法を説明します。
#9 VFIOでDPDKを使う
これまでは、DPDKに付属のigb_uioというドライバを使って、DPDKがユーザー空間でNICを制御していました。今回は、カーネルに付属しているvfio-pciというドライバを使います。igb_uioを使っていると、カーネルがバージョンアップするたびに再ビルドが必要ですが、vfio-pciはカーネル標準のドライバなので、このような作業が不要です。
GNS3 活用 - Cisco スイッチ STP 編 その9 (portfast BPDU Guard でセキュリティを考慮した運用を)
エッジポートには portfast BPDU Guard 設定が必要です。
#8 QEMU/KVMをvhostuserでOpen vSwitchに接続
vhostuser機構を使ってQEMU/KVMとOpen vSwitchを接続します。この方式は共有メモリによってパケットをVMに転送するので、従来のvhostnetやtapを使った方式より性能が向上することが期待されます。これまで使用してきたCentOS7.3上にQEMU 2.6をインストールします。また、VMとしてUbuntu 16.04を用い、その中でDPDK 17.02をビルドして使用しました。また、評価時にはOVSのPMDがポーリングするポートをカスタマイズします。
GNS3 活用 - Cisco スイッチ STP 編 その8 (PVSTP で負荷分散)
PVSTPをやってみた実験です。
#7 CentOS 7.3でのOpen vSwitch 2.7.0のインストールと実行
前回まではDPDKに付属のパケット転送ツールを使ってきました。今回はDPDKを利用するアプリケーションのひとつであるOpen vSwitchをCentOS 7.3上に導入します。Open vSwitchは、2/27にリリースされたばかりの2.7.0を使ってみました。
#6 LinuxカーネルのBridgeとDPDK (testpmd) の性能比較
今回は、パケット転送をLinuxカーネルのBridgeを使って行い、前回までで測定したDPDKを用いた結果とを比較します。
GNS3 活用 - Cisco スイッチ STP 編 その7 (backbonefast で障害検知と対応)
backbonefast をやってみました。
#5 DPDKのPMDとQueueの設定 & pktgenで出力内容を可変
これまでの構成を振り返りながら、PMDスレッド数やQueueの構成を変えることで、どのようにスループットが変化するか見てみましょう。pktgenで送信パケットの宛先IPを分散する方法やパケットサイズを変える方法も紹介します。
#4 DPDKベースのパケットジェネレータpktgen
これまでは、testpmdを使って2台のホスト間で循環的にパケットを転送きましたが、今回はpktgenというパケットジェネレータを使っていろいろなパターンのパケットを送信できるようにします。
#3 PMDスレッドの数を増やす
今回は、第2回で構築した対向環境でPMDスレッドの数を増し、どのように性能が変化するか見てみましょう。
#2 DPDK 17.02をCentOS 7.3で使う
第2回目の本稿では、CentOS 7.3にDPDKをインストールしてます。新しいバージョンのDPDKを使うためにソースからコンパイルします。前回Ubuntuベースで構築したマシンとのパケット対向実験も行います。
GNS3 活用 - Cisco スイッチ STP 編 その6 (uplinkfast で障害に強いネットワークを)
uplinkfast の実験です。
#1 DPDKを触ってみよう
高速なネットワーク通信を実現する技術としてDPDK、および、それを利用したOpen vSwitchがあります。ミラクル・リナックスでは、これらの技術動向に注目して、調査・検証を行っています。本ブログでは、その中で得た知見などを継続的に紹介していきます。
GNS3 活用 - Cisco スイッチ STP 編 その5 (portfast でユーザに迅速にサービスを提供)
portfast の実験です。
GNS3 活用 - Cisco スイッチ VLAN 編 その3 (VLAN間ルーティング)
まずは、「ルーター・オン・ア・スティック」で、VLAN間ルーティングをやってみます。
GNS3 活用 - Cisco スイッチ VLAN 編 その2 (トランク接続)
トランク接続でVLAN同士の通信を可能にしてみます。
GNS3 活用 - Cisco スイッチ VLAN 編 その1 (基本形)
まずはVLANを作成してみます。
大雪警報! 山陰は雪で大混乱!
また今季も雪不足か・・・と思っていた矢先、記録的寒波でもさほど降雪しなかった松江に大雪です。
石見銀山モデルプランを御提案
先日ついに石見銀山を見てきました。その経験から効率よく楽しめるモデルプランを御提案します。
GNS3 活用 - Cisco スイッチ STP 編 その4(port priority の変更による経路変更)
ポートのプライオリティを変更して経路を変更してみます。
GNS3 活用 - Cisco スイッチ STP 編 その3(path cost の変更による経路変更)
パスコストを変更して、挙動を確認します。 通信の経路を変えることができるはずです。
GNS3 活用 - Cisco スイッチ STP 編 その2(root bridge の変更)
VLAN 1 のルート・ブリッジを変更してみます。
GNS3 活用 - Cisco スイッチ STP 編 その1(基本形)
spanning-tree の技術をGNS3で検証するシリーズです。