カテゴリー「ネットワーク 【人気】」の16件の記事

November 05, 2010

L1スイッチの使い道

L2~L4スイッチあたりは馴染みがある人が多いと思いますが、L1スイッチについては聞いたことすらない人も多いのではないでしょうか。L1スイッチは大規模サイトでは必須と言っても過言ではないくらい重要となります。というわけで今回はL1スイッチについて記してみます。


【L1スイッチとは?】
L1スイッチとは、物理層で切り替え(スイッチ)することのできるネットワーク機器となります。ある意味パッチパネルでの切り替えを電気的に行える機械とも言えます。かつ市販されているL1スイッチではメーカー毎に様々な機能が付加されている場合が多いです。

※余談ですが、レピータHUBもレイヤー1に該当しますが、レピータHUB自体にスイッチ機能はないのでレピータHUBがL1スイッチかと問われると微妙な気がします。


【L1スイッチのよくある使い道: ログ分析&IDS】
大規模サイトでよく使われる用途としてはログ分析&IDS監視です。大量の通信をログ分析サーバもしくはIDSサーバに流し込むために、本番系ネットワークとバックエンドネットワークの間にL1スイッチを挟みこみます。

L1

本番系ネットワークのL2スイッチにポートミラーリング設定をほどこし、L2スイッチ上を流れる全てのフレーム(※念のため注:L2なのでパケットではなくてフレーム)をL1スイッチ側に流れるようにすれば、結果的に本番系ネットワークの全てのフレームがL1スイッチを経由してバックエンドネットワークに流れ込むことになります。

そして、その流れ込まれたフレーム(というかL1なので信号かな?)をログ分析サーバもしくはIDSサーバが拾い、分析を行います。

ところでL1スイッチによっては、流れ込まれた信号をロードバランサーのように各サーバに割り振る機能を持つ場合があります。この場合負荷が増えてきた場合に分析サーバのスケールアウトが可能になります。


【L1スイッチを製造しているメーカー】
L1スイッチを製造しているメーカーはそんなに多くありません。例えば著者が調べた限り、以下の4社がありました。

・APCON社(INTELLAPATCH Family)
・Gigamon社(GigaVUE)
・日本ダイレックス株式会社(eL1 SWS)
・Glimmerglass社


【おまけ(宣伝)】
私が監修させていただいた「これだけは知っておきたい ネットワークの常識」技術評論社(共著。監修担当)にも用語集にL1のことをばっちり(?!)載せています。

| | Comments (0) | TrackBack (2)

November 19, 2009

これだけは知っておきたい ネットワークの常識

サーバの本に続き、「これだけは知っておきたい ネットワークの常識」という本を技術評論社から出版させていただきました。著者は坪井 義浩さん、工藤 修一さん、そして私(監修)です。

この本には以下の特徴があります。

・(なぜか世の中であまり見かけない)中級~上級を目指す方向けの入門本です。
・多くの初心者向けの本みたいに重要なことを端折って書いたりしていません。ただし正確性を重視したため、文章はやや硬派と言えます。
・ネットワークエンジニアと呼ばれる人が知っていないといけない事項をもれなく詰め込んでいます。プロトコルやフレーム、パケットというレベルはもちろんのこと、IPv6、BGP、トランジット、およびピアリングなども本書でカバーしています。

書店でよく見かけるネットワークの本は、中小企業の社内システム程度を想定したやさしい内容のものばかりです。しかしそういった本しか読んでいない人は多分知識不足で実際の現場では使い物になりません。

そこで本書では、ネットワークの入門書で勉強した人が次に読む本として構成しました。また現役のネットワークエンジニアの方も、自身が足りない知識を補うために一通り目を通してみるというのも良い使い方です。

また、個人的なおすすめは用語集です。本書での用語集では、私が主要ネットワーク機器メーカーのパンフレットの中から意味不明だと思った用語をピックアップして、それに対して解説をしています。ネットワーク機器のパンフレットって何故か「このスイッチはASICを用いたノンブロッキングL2スイッチです」のような意味不明な書き方をされていることが多いですが、こういったものをきちんと読み進められるように用語集を作りました。この用語集は自分で言うのも何ですが結構役に立つと思っています。

是非店頭でご覧いただけたらと思います。よろしくお願い致します。

※追記
技術評論社金田さん、著者の坪井さん、工藤さん。この半年本当にお疲れ様でした!

| | Comments (2) | TrackBack (2)

April 23, 2009

LVS+ldirectorを使ってMySQLをロードバランスをしてみる

今回はLVSを使ってMySQLのslaveサーバをロードバランシングする方法を記してみます。LVSは単に振り分けしかやってくれませんので、リアルサーバの生存確認やLVSの作動管理のためにldirectorも導入しています。

LVSだけだとLVSの設定を入れ込まなければなりませんが、ldirectorを使うとldirectorの設定ファイルに書いておくことでLVSの設定をldirectorが自動生成して反映してくれるので楽ちんです。

※世の中にはLVS+keepalivedの組み合わせが多いようですが、検証してみたところldirectorのほうが導入も運用も簡単なのでこちらを採用しました。

前提条件


VIP: 10.0.2.10

DB1: 10.0.0.101

DB2: 10.0.0.102



ロードバランサーとなるサーバへのインストール方法

【インストール】

# yum install ipvsadm
# yum install heartbeat
# yum install heartbeat-ldirectord


【ldirectorの設定】

$ sudo vi /etc/ha.d/ldirectord.cf

  checktimeout=5
  checkinterval=10
  autoreload=no
  logfile="/var/log/ldirectord.log"
  virtual=10.0.2.10:3306
        real=10.0.0.101:3306 gate
        real=10.0.0.102:3306 gate
        checktype=negotiate
        protocol=tcp
        checktype=connect
        scheduler=lc
        netmask=255.255.255.255


【VirtualIPアドレスの設定】
※本当はheartbeatサービスの設定で行いますが、今回LVSを冗長化せずheatbeatサービスを使わないのでこの方法でお茶を濁します。

% sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:0

  DEVICE=eth0:0
  IPADDR=10.0.2.10
  NETMASK=255.255.255.255
  NETWORK=10.0.2.10
  BROADCAST=10.0.2.10
  ONBOOT=yes


リアルサーバ側の設定方法

【ループバックIPアドレスの設定】

% sudo vi /etc/sysconfig/network-scripts/ifcfg-lo:0

  DEVICE=lo:0
  IPADDR=10.0.2.10
  NETMASK=255.255.255.255
  NETWORK=10.0.2.10
  BROADCAST=10.0.2.10
  ONBOOT=yes
  NAME=loopback:0

【ループバックデバイスに割り当てられたip addressに対するarpに反応しないように設定(重要!)

% sudo vi /etc/sysctl.conf

  # Resolving the arp problem for LVS and ldirector.
  net.ipv4.conf.eth0.arp_ignore = 1
  net.ipv4.conf.eth0.arp_announce = 2

$ sudo sysctl -p

$ sudo sysctl -a | grep net.ipv4.conf.eth0.arp

メンテナンスの方法

【ldirectorの起動(=LVSの起動)】

% sudo service ldirectord start

【リアルサーバの追加】

% sudo vi /etc/ha.d/ldirectord.cf

    real=10.0.0.101:3306 gate
    real=10.0.0.102:3306 gate

の要領で追加し、

% sudo service ldirectord reload

【接続状況の確認】

% sudo ipvsadm -Ln

  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port         Forward Weight ActiveConn InActConn
  TCP 10.0.2.10:3306 lc
    -> 10.0.0.101:3306                Route 1 0         0
    -> 10.0.0.102:3306                Route 1 0         0


(付録) もしldirectorを使わずに手作業でLVSの設定をするとしたら

●VIP追加 (lcオプションは最小コネクション(lc) でリアルサーバにバランスする)

% sudo ipvsadm -A -t 10.0.2.10:3306 -s lc


●削除したい時は以下

% sudo ipvsadm -D -t 10.0.2.10:3306


●VIPにひも付くリアルサーバのIPアドレス(RIP)を追加 (-gはDSR、-mはNAT)

% sudo ipvsadm -a -t 10.0.2.10:3306 -r 10.0.0.101 -g
% sudo ipvsadm -a -t 10.0.2.10:3306 -r 10.0.0.102 -g


●削除したい時は以下

% sudo ipvsadm -d -t 10.0.2.10:3306 -r 10.0.0.101
% sudo ipvsadm -d -t 10.0.2.10:3306 -r 10.0.0.102


●設定確認

% sudo ipvsadm -Ln

| | Comments (0) | TrackBack (0)

October 30, 2008

LANケーブルの色分けについて

LANケーブルにはいろいろな色があるのでうまく色分けして使いこなしている方も多いと思います。この件技術者仲間と話すと実にいろいろな工夫を聞くことができたので今回はそれをまとめてみました。

【1. ハードウェア用途別】
基幹ネットワークなら黒、WEBサーバなら白、DBサーバなら赤といった感じです。色によってつながっている機器の重要度がわかるのでメンテナンスするときに気をつけやすいです。

【2. サービス別】
メール系なら緑、社内グループウェアなら黒、ユーザ向けサービスなら黄色といった感じです。サービスの種類が多すぎてわけがわからない環境下ではおすすめです。

【3. セグメント別】
セグメント毎に色分けに色分けします。192.168.1.0/24なら白、192.168.5.0/24なら赤、といった具合に。(yoshiさんコメントThanks)

【4. 全サーバ別の色】
サーバ台数が少ないのであれば、全サーバ別の色のLANケーブルを使うといった感じです。例えば紫だからWEB5だな、といった感じで一目でわかります。

【5. LANケーブルの品質別】
カテゴリ5なら白、カテゴリ5eならグレー、カテゴリ6なら黒、カテゴリ7なら黄金といった感じです。1のハードウェア用途別と組み合わせれば非常に有効かもしれません。

【6. LANケーブルの長さ別】
長さ別に違う色にします。社内サーバルームのように頻繁にケーブルつなぎかえが起こる環境だと意外と実用的でいいかもしれません。

【7. あえて色分けしない】
両端にペンで情報を書いておけば十分ということでしょうか。一回稼動したら物理的なメンテナンスがほぼ発生しない環境ならいいのかも。(いや、でも逆にほぼ発生しないからこそ緊急事態時にすぐに環境を把握できるよう色分けしておいたほうが良い気もしてきました)


他にも何か工夫がありましたら是非コメントください。

| | Comments (6) | TrackBack (2)

January 28, 2008

Cookieを利用したセッション維持(Sticky)の問題点

ロードバランサーの機能のうち、セッション維持は重要な役割な一つです。セッション維持を実現するための方法としては主に4つあります。


  • ソースIPアドレス利用
  • Cookie利用
  • SSL Session ID利用
  • URL利用

一番手軽なのはソースIPアドレスを利用する方法なのですが、NAT環境では全てのマシンが同じIPに見えてしまうのでこの方法が使えない場合も多いと思います。そんなわけで私はこれまでCookieを利用する方法をよく使っていました。しかし最近になってCookieを利用したセッション維持が失敗するケースが増えてきました。それはなぜか?

【Cookieを利用する方法の問題点】
Cookieを利用したロードバランスでは、セッション情報をCookieに書き込みます。ところでCookieの仕様をRFC2965で確認してみると


  • at least 300 cookies(少なくとも300個のCookieをサポートすること)
  • at least 4096 bytes per cookie(少なくとも4096バイトのCookieをサポートすること)
  • at least 20 cookies per unique host or domain name(少なくともユニークホストかドメインで20個のCookieをサポートすること)

と記されています。ということは、WEBブラウザーを使っているうちに一つのユニークホストもしくはドメインで20個以上のCookieが使われるか4KBの容量を超えてCookieが使われるとCookieを利用したロードバランスが失敗するようになります。


【解決方法はあるか?】
Cookieを利用したセッション維持を行うのにWEBブラウザーのCookie領域が使えないのであればそもそもCookieを利用したセッション維持が成り立ちません。もしそれが致命的なのであれば、URLを利用したセッション維持方法に変える等根本的な解決方法を模索する必要がありそうです。


※追記(2008.1.29)
どうやらCookieの最大サイズ制限容量はWEBブラウザによって異なるようです。
参考文献: http://www.teria.com/~koseki/memo/cookie/cookie_4k.html

※追記(2008.8.5)
Cookieを利用したセッション維持に失敗する理由として当初はタブブラウザーの問題と記しましたが、著者の誤解であることが判明しましたので、訂正させていただきます。申し訳ありませんでした。

| | Comments (3) | TrackBack (0)

March 06, 2006

Windows serverでDSRを行う方法

※まずDSRとは何ぞや?という方はこちらを見てください。

さて、以前書いた記事にはWindowsサーバでDSRを行う方法が含まれていないことに気づきました。そこで今回はその方法を記します。

(前提を記しましょう。このネットワークのネットワークアドレスが172.16.0.0、ネットマスクが255.255.0.0だっとします。そこにVIP172.16.115.10、ノードとなるWEBサーバが172.16.115.1と172.16.115.2の2台構成だったとした場合を考えてみます。)

【loopback adapterをインストールする】
DSRを行う場合各サーバにループバック設定を行わなければなりませんが、Windowsの場合デフォルトでloopbackアダプターがインストールされていませんのでまずはloopback adapterをインストールする必要があります。手順は以下の通り。


  • [スタート] ボタンをクリックし、[設定] をポイントします。次に [コントロール パネル] をクリックし、[ハードウェアの追加と削除] をダブルクリックします。
  • [デバイスの追加/トラブルシューティング] をクリックし、[次へ] をクリックします。
  • [新しいデバイスの追加] をクリックし、[次へ] をクリックします。
  • [いいえ、一覧からハードウェアを選択します] をクリックし、[次へ] をクリックします。
  • [ネットワーク アダプタ] をクリックし、[次へ] をクリックします。
  • [製造元] ボックスの一覧で、[Microsoft] をクリックします。
  • [ネットワーク アダプタ] ボックスの一覧で、[Microsoft Loopback Adapter] をクリックし、[次へ] をクリックします。
  • [完了] をクリックします。


【loopback設定を行う】
次にloopback adapterのTCP/IP設定を開いてください。ここでIPアドレスにはVIP、サブネットマスクにはそのネットワークのサブネットを入れ、その他は空欄にしてください。設定例は以下の通り。


【テスト】
WEBブラウザーから「http://172.16.115.10/」と入力してみてください。無事動けば設定完了です。


※追記(2009/11/16)
どうやら上記設定はWindows2003のみ有効とのことです。下記を参照しました。
http://d.hatena.ne.jp/yoshifumi1975/20090316/p2

※おまけ
Fondry ServerIron系でのDSR設定例を記します。慣れてしまえば非常に簡単です。

server real node1 172.16.115.1
  port http

server real node2 172.16.115.2
  port http
!
!
server virtual SERVICE_IP 172.16.115.10
  predictor least-conn
  port http dsr
  bind http node1 http node2 http

| | Comments (15) | TrackBack (2)

April 10, 2005

LAN内にループがあるとどうなるか

記事を移転しました。

| | Comments (0) | TrackBack (0)

January 31, 2005

ネットワーク機器で昔とまどった用語集

昔ネットワーク機器について何もわからなかった頃、ネットワーク機器のカタログにある用語がちんぷんかんぷんに見えたものです。ということで今回はそれらの用語をわかりやすく噛み砕いてみたいと思います。これだけ知っておけばとりあえずネットワーク機器のカタログを読みこなせるかな?

【ワイヤースピード】
ワイヤー(銅線)上を流れる信号の速度を損なわないくらい高速にパケットのスイッチングやルーティングが行えることを指す用語。例えばネットワーク機器に100Mbps近くの信号がIncomingしたとして、ワイヤースピードのネットワーク機器だと100MbpsのままでOutgoingできます。家庭用の安いスイッチングHUBだと当然ワイヤースピードは出ないのでネットワーク機器がボトルネックになります。

同義語:ノンブロッキング

【スイッチファブリック】
スイッチの内部メモリでフレーム伝送に利用される帯域幅のことです。bps(bit per second)で表します。


【リダンダント】
冗長化のこと。リダンダント電源というとパワーサプライの二重化のことを差します。

【ASIC(Application Specific Integrated Circuit)】
ASICというのは特定の用途のために設計・製造されるLSIのことを言います。ネットワーク機器関連でASICという用語を見たら、特定機能がLSI上に載っている機器なんだな、と思ってください。LSI処理なので当然速いです。「ASIC処理をする」なんて言い方をします。

【レイヤー2、3、4スイッチ】
正確な意味は他で調べてください。超簡単に説明します。レイヤー2,3,4スイッチは、それぞれ「スイッチングHUB」、「ルーティング機能のついたスイッチ」、「ロードバランス機能のついたスイッチ」と覚えておけば大きく外れてないです。違う言い方をするとそれぞれ「MACアドレスを見てスイッチングする機械」、「L2スイッチの機能に加えてIPアドレスを見てルーティングする機械」、「L3スイッチの機能に加えてポート番号まで見てロードバランスする機械」というとまあイメージが湧くでしょうか。ついでに言うとレイヤー7スイッチは「URLまで見てロードバランスする機械」と言えます。

【1000BASE-SXと1000BASE-LXの違い】
正確な意味は他で調べてください。SXは短い距離(最大550m)、LXは長い距離(最大5km)を伝送できます。通常iDC内で使うのはSXです。

| | Comments (2) | TrackBack (0)

November 22, 2004

コンテンツプロバイダーのネットワーク費用はかなり安くできる

通信の世界には上りと下りがあるのは言うまでもないですよね。この上りと下り、一般的にコンテンツプロバイダー側では上り(ユーザへのレスポンスパケット)が圧倒的に多く、下り(ユーザからのリクエストパケット)が少ない。それに対してユーザ側では上り(サーバへのリクエスト)が少なく、下り(サーバからのレスポンス)が圧倒的に多い。

 

これを通信業者の目から見たマクロの世界で考えてみましょう。コンテンツプロバイダー側に近いところの線を提供している通信業者は一般的に(コンテンツプロバイダーから見て)下りがスカスカです。逆にユーザ側に近いところの線を提供している通信業者は一般的に(ユーザから見て)上りがスカスカです。これは何を意味するか。ユーザ側に近いところの線を提供している業者は、(ユーザから見て)上りがスカスカなので、この部分を埋めてくれるコンテンツプロバイダーと契約すれば追加費用なしに売り上げを増やせると考えるわけです。

 

世の中コンテンツプロバイダーの数と比較したら圧倒的に一般ユーザのほうが多いです。そう考えるとほとんど全ての通信業者の(ユーザから見て)上りがスカスカな状況です。となるとコンテンツプロバイダーとしたら完全に買い手市場なわけで、この原理をしっかり理解して価格交渉に臨めばネットワーク費用をかなり安く押さえることができそうです。

| | Comments (0) | TrackBack (0)

November 17, 2004

社内ネットワークに認証スイッチや検疫LANを導入しよう

会社が小さかった頃は社内セキュリティをしっかりしようとして、個人ノートPCの持ち込みをいちいちチェックし、その都度IPを発行していました。しかし会社規模が急に大きくなるとその作業だけでかなりの負担になってきたのでDHCP公開することにしてしまいました。そうなると予想通り社外の人間(来訪者)がノートPCをつないだり、アンチウィルスソフトの入っていないノートPCを持ち込む人を制限できなかったりするようなことが起こるようになります。かつそういったことが全くログに残らないという大きな問題が生じました。

【認証スイッチと検疫LANとは何か?】
そんなときに雑誌で見て「いいなぁ」と思ったのに認証スイッチと検疫LANというものがあります。認証スイッチとはLANにつなげる際、認証スイッチにて認証を済ませないとLANに接続できないというもの。検疫LANとはセキュリティポリシーに適合するクライアントPCだけを社内LANに接続可能にするソリューションです。これらは情報システム部員の負担をかなり軽減してくれそうな魅力的なソリューションであります。

■参考
http://www.hitachi-cable.co.jp/infosystem/extreme/case/interview8.stm
http://www2.hitachi-cable.co.jp/apps/hnews.nsf/0/c4718c71dfdd991b49256e930016fd57?OpenDocument
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20041028/151841/

| | Comments (2) | TrackBack (2)