パケット解析をすることとなりました。いうコマンドでパケットが採れるようです。画面に描画しただけでは後からの解析がしずらいので、一旦ファイルに落としてから解析したいと思ってます。パケットを取ってファイルに落とすには下記コマンドでできます。Microsystemsを見てもらうとわかるんですが、上記の引数を簡単に解説しときます。-d:パケット採取するNIC(インターフェイス)を指定(今回はnge0)-s:パケットの指定したサイズより後ろを切り捨てる。通常は全パケットを取るので、ヘッダだけいる場合は、各プロトコルに応じた長さを指定すればいいようです。今回はUDPパケットのヘッダだけ取りたかったので42としています。-o:ファイルに出力。udp:UDPパケットのみ取得。この末尾部分がフィルタ指定となります。ここで、特定のIPや特定の方向等さまざまなフィルタがかけれます。snoopで出力したファイルですが、バイナリ形式(RFC1761準拠らしい)で落ちます。wiresharkで見れるらしいとのことだったんでが、自分の環境の場合見れませんでした。この出力したログをsnoopを使ってみることはできるのですが、実用的では有りません。よって、出力したログをsnoopを使って人が見やすいようにテキストファイルに落とします。下記コマンドでできます。snoop.txt-i:これで出力したログを表示します。-xの後の数値はオフセットでパケットの一部を表示します。上記のコマンドの場合下記のような形式のテキストファイルとして出力されます。詳細表示モードみたいです。した場合下記のような表示形式となりました。(パケットの中身は0に置換してます。Solarisでの各種ネットワークコマンドや調査方法が分かりやすく載っています。最近あまりネットワーク関係から離れてたので、基本用語も忘れかけの今日この頃です。サーバ室とかに置くような基幹ハブはやはり性能や安定性を重視しないといけないわけで。いうことで、スイッチングハブ(L2スイッチ)についてちょっと調べてみました。L2スイッチの種類まず、よくWEBカタログでスイッチングハブの分類としてよく見かける用語として、「インテリジェント・ハブ」、「スマート・スイッチ」というのがあります。インテリジェントハブというのはSNMPエージェント機能を持つということを知っていましたが、スマートスイッチというのはあまり聞いたことがありませんでした。調べてみると、スマートスイッチとはVLANやQoS、認証に対応したスイッチのようです。WEB管理画面を持ってるのもあるようですね。今回はVLANやインテリジェントは関係なくただ処理性能が高いハブの調査が必要だったため、処理能力のカタログ表記について調べてみました。(ほんとはVLANはあまり必要性感じないまでもSNMPはほしいので、インテリジェントハブがほしいんですが、上がそれを認めてくれないので。)スループットまずはスイッチング能力です。カタログによってはスループットや最大パケット転送能力と書いてたりもします。あらわし一秒当たりのパケット(フレーム)転送能力を示すようです。どのカタログもイーサネットの最短フレームサイズの64バイト時での結果を書いてるようです。(フレームが小さい方が負荷がかかるようなので)このスループット(pps)ですが、各イーサネットの規格による各ポートの理論値は下記のようになるようです。)を満たすようですね。カタログによってはスイッチ全体のパケット転送能力を書いてる場合があるようです。スイッチング容量もうひとつがスイッチング容量というもので、スイッチングファブリックとか総帯域幅とかバックプレーンとか書いてたりします。これはスイッチ全体で1秒間で処理できるデータ量を表すようです。このスイッチング容量の理論値は下記のような式で求められるようです。ポート数たとえばギガビットポートを持つハブで24ポートの場合は下記のようになります。48Gbpsカタログ表記が48Gbpsより大きければ100%の転送量を保証することができるようですね。スイッチング能力、スイッチング容量ともに、理論値を上回るなら、ノンブロッキングと呼ばれ、論上の最大負荷を処理できることが保証されるようです。スイッチの世界もややこしいですね。余談ですが、業務向けスイッチにはいろいろな機能があります。それらについて、ASCII.jp:高価な企業向けスイッチはここがすごい!|図で解剖!スイッチ&ルータで簡単に紹介されてました。Ethernetの基本を知る上でも役立ちます。使いWindowsターミナルサーバに接続しています。そこで画面の描画が遅いという問い合わせが殺到しました。見てみたところ、特に描画負荷が高い画像等を表示するときに描画が間に合ってない感がします。待ってれば描画されるんですが、画像多めのWEBページとかをスクロールした日には昔の画面が崩れるウイルスのような感じでしたね。使えないほどではないのでとりあえずユーザにはそのまま使ってもらうことに。SunRayサーバやターミナルサーバには負荷がかかってる様子はなかったので、ちょうど先日SunRayサーバ周りのネットワーク構成を少し変えたのでそれが原因かなと思いました。ネットワーク障害で多いループによるブロードキャストストームを疑いました。L2スイッチ(ハブ)のLEDもそれほど激しくはなく、PCでパケットキャプチャしてもブロードキャストパケットはそれほど多くはありません。(ブロードキャストストームについては、下記サイトが参考になります。ターミナルサーバではなく、直接Solarisの画面を表示してもはやり、描画が間に合っていません。実はSunRayからWindowsターミナルサーバとの間は別ネットワークとして構築してます。下記のような感じです。クライアント←(192.168.0.0/24)→SunRayサーバ←(192.168.100.0/24)→WindowsターミナルサーバこれはSunRayとWindowsターミナルサーバとの間のネットワーク負荷が高いとのクラスタ構成が関係していました。DTUを置いてSunRayサーバのSolarisの画面表示したら遅延なく表示されました。ネットワークがおかしいようです。(まぁいじったのもそっちのネットワークだったので。)先般実施したネットワーク構成変更ってのも、新規別サーバ増設とL2スイッチの移動だけでした。ここで思いついたのはパケット損失です。(このときMTUも疑いましたが、pingで調査したところ問題ありませんでした。いうプロトコルでやり取りしてるのか調べました。wikis.sun.comにどのようなプロトコルを使うか載ってました。いろんなポート・プロトコル使うんですね。呼ばれてる画面描画プロトコルです。UDPを使っているんですよね。UDPって投げっぱなしのプロトコル。途中で破棄されたらそのままです。今回はこの可能性が高いのではないかと疑いました。夜にSunRayサーバが繋がってたもともとのハブに差し替えたところ、なんと画面描画遅延が発生しなくなりました。ハブが原因だったようです。カタログ見る限りはもともとのハブは100Mbpsでネットワーク構成変更で繋ぎ換えたハブは1000Mbpsでスループットも上なんですよね。カタログ表記にない何かが影響したのかどうか詳しくはわかりませんが、まぁ遅延なくなって助かりました。したら、L2スイッチとサーバ側NICの相性問題かもしれません。オートネゴシエーションの問題が、フロー制御かな。ちなみに、SunというかOracleはSunRayの使用に300kbpsを推奨しています。Rayの実像)これって結構大きいのかなと思います。帯域で、メタフレームはさらにその半分の帯域で済むようですし。キャッシュがクリアされている時のようです。MACアドレスのキャッシュをクリアできます。)やはりネットワーク負荷がかかってるんでしょうかね。(ARPに関しては、@IT:ARPコマンドで通信先を特定するが参考になります。補足(2013/3/16)遅延の原因が分かりました。