2006-06-28 (Wed)

* robots.txt でロボット避け

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク] [http] [HTML]

全 UserAgent とサーバの全ディレクトリに対し、ロボットのアクセスを拒否する場合の意思表示をするための robots.txt の例。

2003-06-08 の「ロボット避け meta 要素 <meta name="robots" content="noindex,nofollow">」では html の meta 要素によるロボット避けのみしか書かなかったのでメモ。

- robots.txt の例

robots.txt
User-agent: *
Disallow: /

大文字小文字は関係なし。改行文字は CRLF でも LF でもどちらでも良い。これをサーバのルートに置く。http://sonic64.com/ だったら http://sonic64.com/robots.txt だ。

2006-06-19 (Mon)

* BUFFALO LSW-TX-24NSR 24ポートスイッチングハブを購入

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク] [PC]

業務で使っている開発 PC 群を接続するために、100Base-TX 24ポートのスイッチングハブを選定して購入した。

- 開発 PC を接続している 100Base-TX スイッチの調子が悪い

とある土曜日の昼下がり。仕事場のネットワークが突然不通となった。開発 PC 群を繋ぐスイッチングハブが壊れた模様。私は障害発生当時に現地にいなかったため、電話当番として出勤していた後輩が対処してくれた。該当のスイッチを再起動しても状況が改善しなかったとのこと。あくまでも開発 PC 接続用のネットワークなので、冗長系は用意していない。後輩はとりあえず障害が発生していない島に迂回して接続するようにしてくれていた。ありがとう。

週明けに該当のスイッチをテストしてみたが、障害は再現しなかった。このまま使い続けるのも怖いので、予防交換することにした。また、予備のスイッチングハブの在庫も切らしていたので、都合2台分のスイッチングハブを調達することになった。

- 開発 PC 群接続用スイッチングハブの要件定義

要件定義。

・100Base-TX で、ポート数24以上のレイヤ2スイッチングハブ。
・可能な限り安く。メーカーやブランドは問わない。
・コンソールからの接続は不要。
・VLAN を切ったりはしない。QoS も不要。

要するに、ポート単価が安い 100Base-TX スイッチならなんでもよい。もし、値段を気にせず性能重視で何でも買っていいと言われたら、Cisco の Catalyst 2950 の24ポートモデルでも買うだろうけど、サーバを接続するわけじゃないので今回は不要。

接続する開発 PC 群は動画や音声を扱わないので、100Base-TX で十分。ただ、たまにギガバイト単位でログやバックアップデータを流したりすることもあるので、100Mpbs は欲しい。

実効性能はそこそこでいい。そもそも、今のスイッチならワイヤスピード出るでしょう? 廉価な機種では全ポートでフルにトラフィック流せばバックプレーンが飽和するかもしれないけど、繋ぐのは開発 PC なのでそんなトラフィックが発生することはまずありえない。

コンソールからメンテしたりする機能は不要。壊れたら交換するだけ。統計も取る必要がないので SNMP なども不要。VLAN も不要。IP 電話は別のネットワークなので、QoS (Quality of Service) も不要。

- バッファローの LSW-TX-24NSR が手頃な値段で良い


まず、いくつかウェブのお店を見てまわった。上記要件の24ポート 100Base-TX スイッチだと、だいたい1万円から2万円くらいだった。

検討したメーカーはコレガ、アライドテレシス、バッファロー、シスコ、ネットギア、プラネックス。オーバースペック過ぎる製品しか持たないメーカーもあった。2万円というのは、そういったものは除外した価格。

検討した中では、バッファローの LSW-TX-24NSR が手頃な値段で良さそう。24ポートの 100Base-TX AUTO-MDX 対応スイッチで、実売1万円を切っていたのはこれだけだ。税、送料、振り込み手数料込みで1万円と考えてポート数の24で割ると、ポート単価417円。これで十分でしょう。

ちなみに、Amazon の LSW-TX-24NSR の商品画像は間違ってるね。どう見ても USB ハブです。商品名に「10/100M スイッチングHub」って入ってるのに、商品画像には USB2.0 とか書いてあって笑える。

- 見積もりを即時発行できるネットショップって NTT-X Store くらいしかない?

上記要件でまずは見積もり。ネットで見積もりを即時発行してくれるところって少ない。まず、amazon はダメ。ヘルプを検索しても見積もり発行機能は見つけられなかった。他の量販店のウェブサイトでも同様。いつも価格リストを送ってくれている愛三電気も、見積もり自動発行フォームはない模様。

私が探した限りでは、NTT レゾナントが運営する NTT-X Store だけが見積もりの自動発行機能を備えていた。ただし、仮の見積もりであるため、当日限り有効という制約が付く。有効期限が短くても無いよりは良いので、ここで見積もりを取得。ショッピングカートに入れた後に、画面下部の「購入手続き/見積書作成」のボタンを使って得た。

NTT-X Store

あと、近所のコジマ電気とヤマダ電機に見積もりを FAX してくれるよう電話で依頼した。内容としては、「貴店で取り扱っているなかで最も安価な24ポートの100Base-TX スイッチ2台分の見積もりをください」というもの。もし在庫があればそのまま店舗に行って調達するところだが、今は見積もりを取るだけのために店舗に行く時間的余裕はない。後輩に頼んでもいいんだけど、一度は一通りの手続きを経験しておきたかったので自分でやることにした。

まずコジマ電気。私が電話したコジマ電気の支店では、店頭でしか見積もりを発行していないとのこと。それは残念。仕方がない、またの機会ということで。ヤマダ電機は見積もりを FAX してくれた。ありがたい。発行された見積もりの機種は奇しくもバッファローの LSW-TX-24NSR だった。しかし、残念ながら今回は送料を含めても NTT-X の方が安い。結局、NTT-X から購入することにした。

- 購入

Web から注文。個人だったらクレジットカードで決済するところだが、今回は経理処理の関係上銀行振り込みとした。

2006-05-24 (Wed)

* タスクマネージャのネットワークのタブを常にアクティブにする

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Windows] [ネットワーク]

Windows のタスクマネージャの「ネットワーク」タブで、「タブを常にアクティブにする(T)」を選択しておけば、タスクマネージャ起動直後から計測している状態にできる。

- タスクマネージャのネットワークタブは一度選択してからでないと計測がおこなわれない

タスクマネージャは、マシンのリソースの使用状況や起動中のプロセスを表示するツールだ。WidnowsXP や Windows Server 2003 では、タスクマネージャに機能追加が行われて、「ネットワーク」というタブが追加された。「ネットワーク」タブではマシンのネットワークインターフェイスのトラフィックを表示することができるようになった。

しかし、「ネットワーク」タブには不便な点がある。タスクマネージャを起動した後、一度「ネットワーク」タブを選択してからでないと計測を開始しないのだ。計測には負荷がかかるからこういう仕様なんだろうが、手間がかかる。可能なら、タスクマネージャ起動直後から計測をしていてほしい。

最近、この不便さを解消する設定項目を見つけた。

- タスクマネージャのネットワークタブを常にアクティブにして、常に計測状態にする

タスクマネージャのネットワークタブを常にアクティブにして、タスクマネージャ起動直後から計測状態にする方法。

1. タスクマネージャの「ネットワーク」タブを開く。
2. オプション(O) の「タブを常にアクティブにする(T)」を選択する。

たったこれだけ。

- 「オプション」の項目が動的に変化することに気づかなかった

なぜこんな簡単な手順に気づかなかったか。その理由は、タスクマネージャのオプションを選んだときに表示される項目は、現在表示しているタブによって動的に変化するからだ。

また、タスクマネージャのユーザーインターフェイスは表示系の設定は「表示 (V)」で、その他の設定は「オプション(O)」で設定するため、私にはわかりにくかった。また、ある程度使い慣れたツールなので、まさかそんなオプションがあるとは思わなかったということもある。

ユーザーインターフェイスの設計ってやっぱり難しいなあ。今回の場合、どうなっていれば私は迷わなかったんだろう? 一覧性のあるオプション設定画面でもあれば良かったのかな。

2006-05-22 (Mon)

* Solaris で一枚の NIC に複数の IP アドレスを設定する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

Solaris で一枚の NIC に複数の IP アドレスを設定する方法のメモ。論理的インターフェイスとか、仮想インターフェイスと呼んだりするもの。

- 対象マシンと OS

対象はいつもの Solaris 2.6 マシン。2006-05-11 の「Squid と Squirm でリダイレクタ付き SSL リバースプロキシ」で、SSL 用に IP アドレスを追加する必要が出たので設定。

$ uname -a
SunOS lodis 5.6 Generic_105181-32 sun4u sparc SUNW,Ultra-1

ネットワークインターフェイス (NIC) の情報は以下の通り。でも、これだけだと何もわからないなあ。

$ dmesg

(略)

SUNW,hme0: FEPS (Rev Id = 22) Found
SUNW,hme0 at sbus0: SBus0 slot 0xe offset 0x8c00000 and slot 0xe offset 0x8c02000 and slot 0xe offset 0x8c04000 and slot 0xe offset 0x8c06000 and slot 0xe offset 0x8c07000 Onboard device sparc9 ipl 6
SUNW,hme0 is /sbus@1f,0/SUNW,hme@e,8c00000
SUNW,hme0: Using Internal Transceiver
SUNW,hme0: 100 Mbps full-duplex Link Up

作業前に ifconfig して現在の状況を確認。

$ /sbin/ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
        inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
        inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255

- 論理インターフェイスの追加

まず、ホスト名定義ファイルを /etc に追加。ファイル名の書式は hostname.IF:N で、IF にインターフェイス名、N に 1 から始まる番号を入れる。私の環境だったら以下のようにした。

# echo ivalice >/etc/hostname.hme0:1

その後、ifconfig インターフェイスの作成と有効化。ブロードキャストアドレスはサブネットマスクから計算してくれるようなので明示的には指定していない。

# ifconfig hme0:1 10.64.128.204 netmask 255.255.255.0 up

ifconifg して確認。できてるできてる。

# ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
        inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
        inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
        ether 8:0:20:86:c3:47
hme0:1: flags=843<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 10.64.128.204 netmask ffffff00 broadcast 10.64.128.255

再起動後もこのインターフェイスが必要なので、起動スクリプトに追加しておきたい。でも、Solaris ではどこが適切なんだろう? ランレベル3のときに起動する Squid のためだけのインターフェイスなので、/etc/init.d に追加して /etc/rc3.d にシンボリックリンクを作ってもいいのだが、どちらかというとシステム系の設定だから、別のところがいいんだろうなあ。調査中。

- 論理インターフェイスの無効化

インターフェイスを無効化するには down を付けて ifconfig する。

# ifconfig hme0:1 0 down

確認すると、インターフェイスが無くなっている。これでよしと。

# ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
        inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
        inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
        ether 64:64:64:64:64:64

- man ifconfig

参考にした ifconfig の man page。

LOGICAL INTERFACES
    Solaris TCP/IP allows  multiple  logical  interfaces  to  be
    associated with a physical network interface.  This allows a
    single machine to be assigned multiple  IP  addresses,  even
    though  it  may  have  only one network interface.  Physical
    network  interfaces  have  names  of  the  form  driver-name
    physical-unit-number, while logical interfaces have names of
    the  form  driver-name  physical-unit-number:logical-unit-
    number.  A physical interface is configured into the system
    using the plumb sub-command.  For example:

          ifconfig le0 plumb

    Logical interfaces do not need to be "plumbed".  Once a phy-
    sical interface has been "plumbed", logical interfaces asso-
    ciated with the physical interface can be configured by nam-
    ing  them  in  subsequent  ifconfig commands.  However, only
    root can create or delete a logical interface.  For example,
    when executed by root the command:

          ifconfig le0:1

    allocates a logical interface associated with  the  physical
    interface  le0  and  reports its status.  When executed by a
    non-privileged user, ifconfig will report the status of  the
    interface  if it already exists, or give an error message if
    it does not exist.

    A  logical  interface  can  be  configured  with  parameters
    (address,  netmask,  and  so on) different from the physical
    interface with which it is associated.  Logical  interfaces
    that  are associated with the same physical interface can be
    given different parameters as well.  Each logical  interface
    must be associated with a physical interface.  So, for exam-
    ple, the logical interface  le0:1  can  only  be  configured
    after the physical interface le0 has been plumbed.

    To delete a logical interface,  simply  name  the  interface
    specifying  an  address of 0, after ensuring that the inter-
    face has been marked as "down".  For example, the command:

          ifconfig le0:1 0 down

    will delete the logical interface le0:1.

- 失敗

調査の過程で /etc/hostname.IF:N ファイルを作らず、かつサブネットマスクを指定せず、そのうえ N に2を指定してテキトーに ifconfig してみた。

# ifconfig hostname.hme0:2 10.64.128.204 up

すると、ターミナルが反応しなくなった。ネットワークが全部切断されてるようだ。このテストマシンはキーボードもディスプレイも接続していないので、対処する方法がない。仕方ないので電源をプチって切りました。ごめんなさいごめんなさい。

2006-05-11 (Thu)

* Squid と Squirm でリダイレクタ付き SSL リバースプロキシ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Squid] [ネットワーク]

業務で SSL 対応のリバースプロキシを作ることになった。Squid とリダイレクタの Squirm を使って実現しようとしたが、Squirm 1.0betaB が POST メソッドに対応していないために別の構成をとることとなった。

- Squid を使って SSL リバースプロキシ

今回の案件で使うリバースプロキシソフトウェアの第一候補は Squid (スキッド) だ。他の担当者が作りかけていたということと、Squid なら組織内で利用している実績があって運用のノウハウ比較的もあるというのが理由。

第二候補は Apache 2.2 系 + mod_proxy だ。しかし、運用するマシンも OS も古いし、Apache を使ったリバースプロキシの運用ノウハウはあまりないため、Squid では役者不足の時だけお出まし願う予定。第三候補は Pound だが、これもノウハウがないので今回の案件ではまず使わないだろう。ちなみに運用マシンは Solaris 2.6。現在テスト中のマシンのスペックは以下の通り。

$ uname -a
SunOS sonic64 5.6 Generic_105181-32 sun4u sparc SUNW,Ultra-1

$ dmesg

cpu0: SUNW,UltraSPARC (upaid 0 impl 0x10 ver 0x40 clock 200 MHz)
SunOS Release 5.6 Version Generic_105181-32 [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1997, Sun Microsystems, Inc.
mem = 131072K (0x8000000)
avail mem = 125919232

SSL の部分は透過的な SSL アクセラレータを別途利用する予定なので、Squid はとくに何もしない。

Squid は前の担当者がインストールしていた squid-2.5.STABLE12 を使う。安定版の最新は 2006年3月12日リリースの squid-2.5.STABLE13 だが、とくに問題がなければ squid-2.5.STABLE12 のまま運用に乗せる予定。

- Squid + Squirm でリダイレクタ付きリバースプロキシ

いろいろな事情を検討した結果、外向けのドメインは一つにしておきたい。しかし、リバースプロキシは複数のドメインにリクエストを中継したい。

つまり、以下のように外向けの URL のパス部分を基準に中継先を決めるようにしたい。

example.jp/sonic64/ へのリクエストは sonic64.intranet.example.jp にリダイレクト。
example.jp/landscape/ へのリクエストは landscape.intranet.example.jp にリダイレクト。

この要件は Squid 単体では実現できないので、リダイレクタと呼ぶサブシステムと Squid を連携させて成し遂げる。今回はリダイレクタには Squirm (スクワーム) を使うことにした。採用の理由は解説しているウェブサイトがあったことと、ライセンスが GPL だから。Perl か C でリダイレクタを書いても良いんだけど、広く使われているものがあるならそっちの方がいい。

- Squirm のコンパイルとインストール

Squirm - A redirector for Squid
http://squirm.foote.com.au/

上記サイトから squirm-1.0betaB.tar をダウンロード。tar ball を展開した後は、サイトに書かれていた説明に従ってコンパイルとインストールを進める。

cd regex
./configure
make clean
make
cp -p regex.o regex.h ..
cd ..
make

なんだか結構手間がかかるなあ。「configure script の動作について知って欲しいから」みたいなことが上記サイトに書かれてたけど、そういうことなのか。

正規表現ライブラリのコンパイルと make は終わった。しかし、いざ make install しようとしたらエラー。

# make install
install -m 755 -o root -g root -d /usr/local/squirm \
                /usr/local/squirm/bin
usage: install [options] file [dir1 ...]
make: *** [install] Error 2

install のオプションがおかしいの? 私は make はよく知らないんだけど、これはコマンドラインの指定の仕方がおかしいってエラーだよね。Squirm のサイトに書かれてる記述が変なのかな。それとも、私が使ってる make がおかしいのかな。そういえば、私の使っている make って GNU make じゃなくて Solaris の特別な make なの? 確認してみる。

以下の出力を見る限り、ごく普通の GNU make のようだ。

$ make -v
GNU Make version 3.78.1, by Richard Stallman and Roland McGrath.
Built for sparc-sun-solaris2.6

仕方がない。結局 make install がやってることって、ファイルのコピーとパーミッションの設定とかでしょう? というわけで、とりあえず手作業で /usr/local/squirm へファイルをコピーしてパーミッションを設定した。strip はやったんだっけ? まあとりあえずはどちらでもいいや。

- squirm.conf と squid.conf を設定して動作確認

squirm.conf に以下を設定。

regex  ^http://.*?/ivalice/(.*) http://ivalice.intranet.example.jp/\1
regex  ^http://.*?/landscape/(.*) http://landscape.intranet.example.jp/\1

squid.conf には以下のリダイレクタのための設定を追加。
redirect_program /usr/local/squirm/bin/squirm
redirect_children 10

Squid 起動。とりあえず何パターンかのリダイレクトを試してみたが、うまく動いているようだ。

しかし、ASP.NET + IIS 6.0 を動かしているサーバにリダイレクトしたときの挙動を確認しようとしたときに問題発生。どうも HTTP の POST メソッドによるリクエストがリダイレクトされていない模様。リダイレクタに処理が渡らず、Squid だけで処理しているように見える。これは Squid が悪いのか? Squirm が悪いのか?

- Squirm は POST をリダイレクトしない

Squirm のソースを確認してみた。あー、なるほど。対応しているのは GET メソッドだけで、POST メソッドによるリクエストは受け付けないようになってる。Squid というより Squirm の仕様なのか。

squirm-1.0betaB の squirm.c の load_in_buff()
  /* all methods must be GET */
  if((strcmp(in_buff->method, "") == 0) ||
    (strcmp(in_buff->method, "GET"))) {
#ifdef DEBUG
    log(LOG_DEBUG, "in_buff.method not \"GET\"\n",
    in_buff->src_address);
#endif
    return 1;
  }

となると、Apache + mod_proxy を使うか、あとはリバース先のサーバ構成を変えるか、自分でリダイレクタを書くか。うーん。

いろいろ検討した結果、URL のパス部分を基準にした振り分けは要件として必須でないということになり、リダイレクタを使う必要はなくなった。つまり、Squid だけでよいということだ。

- Squirm は バージョン 1.26 が最新

今ふと Squirm のサイトを見ると、なんだかページの上の方に「Squirm は 1.26 が最新だよ。でも、ドキュメント書く暇がないよ。」みたいなことが書いてある。気づかなかった。

Note: This web page documents version 1.0-BetaB. There is, in fact, a newer version: squirm-1.26, but I haven't documented it yet. This new version has some new features:

new squirm.conf file allows different redirection lists based upon different sets of source network addresses in CIDR notation.
Automagic accelerator string generation.
It compiles with a simple 'make'
A few other minor features.
Use your systems regex library

1.0BetaB から一気にバージョンが進んで 1.26 になってるわけだから、もしかして POST メソッドにも対応してるかもしれない。もう必要なくなったけど、一応 tar ball をダウンロードしてソースだけは見てみよう。

squirm 1.26 の squrim.c
/* match_method() returns 1 on match, 0 for no-match */
int match_method(char *method, int accept) {

  lower_case(method);

  /* match all first */
  if (accept == ALL) {
    return 1;
  }

  /* and then the most common */
  if (strcmp(method,"get") == 0) {
    return ((GET & accept) != 0 ? 1 : 0);
  }
  if (strcmp(method,"put") == 0) {
    return ((PUT & accept) != 0 ? 1 : 0);
  }
  if (strcmp(method,"post") == 0) {
    return ((POST & accept) != 0 ? 1 : 0);
  }
  if (strcmp(method,"head") == 0) {
    return ((HEAD & accept) != 0 ? 1 : 0);
  }
  return 0;
}

上記を見る限り、Squirm 1.26 なら HTTP POST メソッドにも対応してるようだ。もしかしたら、対応しているように見せかけて、別のところでリダイレクトせずに素通ししてるかもしれないけど、さすがにそんなことはなさそう。POST 対応してるなら最初からこれ使えば良かったね。

2006-04-23 (Sun)

* 自分のペースでゆったり学ぶ TCP/IP を読了

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [] [ネットワーク]

「自分のペースでゆったり学ぶ TCP/IP」 を読了。「圏外からのひとこと」「アンカテ(Uncategorizable Blog)」の essa さんが新人向けの教育本として超おすすめと書いてた本。たまたま見かけたので読んでみた。

アンカテ(Uncategorizable Blog) - 新人向けネットワーク教育超オススメ本
http://d.hatena.ne.jp/essa/20060324/p1

- 新人向けの本として良くできてる


確かに良くできてる。

ネットワークでもプログラミングでも、機能をカプセル化してレイヤに分ける重要性を理解することが鍵となるが、それを繰り返し解説している。「『ホームページ』や『メール』は使ったことあるけど、それらのサービスがどう成り立っているかは知らない」というレベルの人には良い本だ。

入門書としては最適。ただ、概念を理解する上で不要な要素はかなり削り、本質の説明にページを費やしている本なので、それ以上を求めるのは酷。とっかかりとして読んだ後は、他の本に進んだり、ウェブサイトで補ったり、経験を積んでいくのがよいだろう。

理解しなければならないポイントは強調されているし、節ごとにまとめが入るので本質を理解しやすい。説明は会話形式で進められるので、この形式に抵抗がある人には読みにくいかもしれないが。

244ページで、「インターネットで最も重要なサービスは DNSであり、Web じゃない」とい言い切っているのが良い。ネットワークがどう成り立っていて、欠かせない要素とは何なのかを伝えようとしているのがわかる。

著者略歴。網野衛二 (あみのえいじ) さん。失礼ながら初めて聞く名前だ。ん? 網野さんが管理している「3分間 Networking」って、あのサイトか! 過去に読んだことあるよ。ICMP というか ping の説明のところで突然入る「沈黙の艦隊」ネタが好きだった。

3 Minutes Networking No.35 第35回レイヤ3 ICMP(ping)
http://www5e.biglobe.ne.jp/~aji/3min/35.html
博士:
そうだ。
それで水中にある物体を探すソナーが出す信号音の事を探信音[ping]という。このコマンドの名前の由来はそれらしい。

助手:
探信音…。

博士:
うむ。
探信音を出すと、音が物体に当たって跳ね返ってくる。そこから擬音の[ping]が使われているのではないかな。

助手:
…。
…!!  交響曲(シンフォニー)です!!

博士:
…沈黙の艦隊かよ。

他のページでもやってた。沈黙の艦隊好きなんだなあ。
助手:
探信音(ピンガー)ー!!

博士:
おいおい。

助手:
浮上角(アップトリム(20°から最大!! 前部タンク全ブロー、機関全速!!

2006-03-21 (Tue)

* ssh + bzip2 + gpg で bzip2 の internal error number 1007 エラー

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ssh] [gpg] [ネットワーク] [PC]

毎日リモートにあるサーバのバックアップを ssh + tar + bzip2 + gpg で取っているのだが、7回に一回くらいの頻度で、tar の中から呼び出してる bzip2 が internal error number 1007 というエラーを出力してしまう。

クライアントは cygwin 環境。転送しているデータはだいたい数百メガバイトから数ギガバイトくらいのオーダー。下り 1.5Mbps の ADSL の回線で接続している。

bzip2/libbzip2: internal error number 1007.
This is a bug in bzip2/libbzip2, 1.0.3, 15-Feb-2005.
Please report it to me at: jseward@bzip.org.  If this happened
when you were using some program which uses libbzip2 as a
component, you should also report this bug to the author(s)
of that program.  Please make an effort to report this bug;
timely and accurate bug reports eventually lead to higher
quality software.  Thanks.  Julian Seward, 15 February 2005.


*** A special note about internal error number 1007 ***

Experience suggests that a common cause of i.e. 1007
is unreliable memory or other hardware.  The 1007 assertion
just happens to cross-check the results of huge numbers of
memory reads/writes, and so acts (unintendedly) as a stress
test of your memory system.

I suggest the following: try compressing the file again,
possibly monitoring progress in detail with the -vv flag.

* If the error cannot be reproduced, and/or happens at different
  points in compression, you may have a flaky memory system.
  Try a memory-test program.  I have used Memtest86
  (www.memtest86.com).  At the time of writing it is free (GPLd).
  Memtest86 tests memory much more thorougly than your BIOSs
  power-on test, and may find failures that the BIOS doesn't.

* If the error can be repeatably reproduced, this is a bug in
  bzip2, and I would very much like to hear about it.  Please
  let me know, and, ideally, save a copy of the file causing the
  problem -- without which I will be unable to investigate it.

エラーの内容は、bzip2/libbzip2 のバグか、メモリなどのハードウェア障害が考えられるというもの。散発的に発生するようなら ハードウェア障害の疑いがあるので、memtest86 などのメモリチェックツールで確認してとのこと。結構レアなエラーみたいだね。

私のマシンのメモリは 1GB * 2 の DDR-SDRAM ECC なし の Unbuffered なのがいけないの? でも、今までは問題なかった。もしかして私のマシン、壊れてきてるの? ネットワーク経由でやってるから、前段の ssh からうまくデータを受け取れてないとか? でもそれだったら bzip2 の内部エラーにはならず、もっと前の方でエラーになるだろうしなあ。

これだけじゃよくわからない。もっと詳細なログが必要だな。とりあえずログのレベルを上げた上でログを検分し、ハードウェアの交換も視野に入れた上で調査していこう。

2006-03-10 (Fri)

* 巨大ミラーサーバ群 Ring Server へのリンクの張り方

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

RingServer は巨大ミラーサーバ群。様々なソフトウェアをミラーして、本家サイトにトラフィックが集中することを防いだり、他のサイトがダウンしている間もファイルの取得ができるようにしている。私の場合、Cygwin をインストールするときや、Linux ディストリビューションの ISO イメージやパッケージ、Firefox や Mozilla をダウンロードするときなどにお世話になっている。

- RingServer へのリンクの張り方

RingServer は大量のミラーサーバを抱えていて、かつそれぞれのサーバは ring.sakura.ad.jp や ring.ocn.ad.jp というように異なる名前が付けられている。リンクするときはどこのサーバに張るのが良いのだろう?

Ring Server Project - FAQ
http://www.ring.gr.jp/ring/uvoice.html
自分のホームページから RingServer へリンクを張ってもよろしいでしょうか?

はい,ご自由にどうぞ.
リンク先は負荷分散の意味から各サーバへの直接リンクではなく,WWWについてはhttp://www.ring.gr.jp/へ、FTPについてはftp://ftp.ring.gr.jp/へお願いいたします.
ただし,個人のホームページではなく,相当なアクセス数が見込まれるような商用WWWからリンクされる場合には事前に一声かけて下さい.

うーん、これはアーカイブへのリンクではなくウェブサイトへのリンクの張り方についての問答な気がする。ファイルやディレクトリへの直リンクも http://www.ring.gr.jp/ でいいのかな? RingServer へリンクを張るなら負荷分散システムの TENBIN とか DNSBALANCE などを経由した方がいい、という話をどこかで読んだ覚えがあるんだけど、公式にはそうは言ってないってことか。

それとも、www.ring.gr.jp にアクセスすると自動的に振り分けられるのかな? トップページにアクセスすると右上の served by のロゴが仕事場と自宅で異なっているような気がするので、ネットワーク的な距離に応じて自動的に変わってるのかも。上記 FAQ には「負荷分散の意味から」という記述もあるし、www.ring.gr.jp に張っておけばいいんだろうな。

追記。
いくつか言及を頂いた。ありがとうございます。結局みんなどの URL にリンクを張るのかは自分で決めてるようだ。TENBIN や DNSBALANCE による負荷分散をさせたいと考える人はその URL でリンクすればいい、そうでなければ www.ring.gr.jp でいいというのが私の結論。

- パワードコムの RingServer がサービスを終了していた

昨年12月でパワードコムの RingServer がサービスを終了していた。

株式会社パワードコムのサーバは,12/20でサービスを終了いたしました.いままでどうもありがとうございました.(2005/12/20)

私の使っているプロバイダの上流がパワードコムだったから、たいていここを利用していた。お世話になりました。私のサイトから張っていたリンクも修正しておこう。

2006-01-30 (Mon)

* 暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [セキュリティ] [ゲーム] [ネットワーク]

暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする。

これは 2006-01-29 の「ニンテンドーDS を考慮した無線 LAN のセキュリティ設定」では本筋ではないので書かなかった。ユーザーの設定で解決するには難しく、完全に解決するには機器の買い増しなどが必要になるし、「より強固なセキュリティ」よりも「最低限のセキュリティ」を重視したからだ。

- ニンテンドーDS が WEP しか使えないという問題の本質

WEP よりも強度の強い AES (Advanced Encryption Standard) などを使っている 無線 LAN ネットワークにニンテンドーDS が参加する場合、ニンテンドーDS が使用可能な WEP までネットワーク全体の暗号の強度を落とさなければならない。

ネットワーク全体で AES などが使えなくなる。ニンテンドーDS が WEP しか使えないという問題の本質はここにある。

2006-01-29 では「WEP128 を使って通信を暗号化すればいい」と書いたが、WEP は暗号強度が弱いので本当は AES を使いたいところ。しかし、ニンテンドーDS が参加すると無線 LAN 全体で WEP を使わなければならなくなる。無線 LAN における暗号は、そのネットワークに参加するすべてのクライアントが使える方式を選択しなければならないからだ。

ニンテンドーDS だけ WEP を使って、他のクライアントは AES を使うということができればいいのだが、それをするためには後述する何らかの方法で 無線 LAN アクセスポイントを追加しなければならない。

- 解決方法は 無線 LAN アクセスポイントの追加

根本的な解決策は、ニンテンドーDS 専用の無線 LAN アクセスポイントを追加で設置することだ。

たとえば、IEEE 802.11b と IEEE 802.11a を同時使用可能な無線 LAN アクセスポイントを使う。ニンテンドーDS を IEEE 802.11b + WEP で接続し、他のクライアントは IEEE 802.11a + AES で接続すればよい。私の使っている無線 LAN アクセスポイント AirStation WHR-G54S では IEEE 802.11b にしか対応してないので、買い換えになってしまうけど。


または、Wi-Fi USB コネクタを使い、既存の無線 LAN アクセスポイントとチャンネルを離してそれぞれ独立した無線 LAN ネットワークとして運用する。

ただ、それだけのためにわざわざ Wi-Fi USB コネクタを買うのも不経済だ。PC を立ち上げていないと使えないし。

- ニンテンドーDS が AES に対応してくれればなあ・・・

SCE の PSP (プレイステーションポータブル) はファームウェアのバージョンアップで AES への対応を果たした。PSP はコンテンツ保護のために AES をハードウェアで処理する機能を持っているようなので、それを活用するようにしただけなのかもしれないけど、とにかく実現したことは素晴らしい。

“PSP”(プレイステーション・ポータブル)|“PSP” システムソフトウェア アップデート
http://www.playstation.jp/psp/update/ud_01_hty.html
PSP システムソフトウェア バージョン 2.50の更新内容 [2005.10.13]

[ネットワーク設定]のセキュリティ方式に[WPA-PSK(AES)]を追加しました。

結局、ニンテンドーDS が AES をサポートしてくれれば済むことだが、コストをかけられないゲーム機では難しいのだろう。2006年3月発売予定と発表されたニンテンドーDS の軽量化版「ニンテンドーDS Lite」が AES をサポートしてくれればいいのになあ、と思ったりもしている。現行のニンテンドーDS よりも1800円高い価格設定とのことだし、やってくれるとうれしいんだけどな。

- 補足 AES (Advanced Encryption Standard) とは

AES について、Airstation のヘルプから引用。

AES

AES(Advanced Encryption Standard)は、次世代の標準暗号とし て米国NISTで採用されたデータの暗号/複合化方式です。このエアステーシ ョンではIEEE802.11i(WPA)を用いた場合、データの暗号化方式として指定 することができます(AES/CCM)。 従来の暗号化方式と比較し、第三者からの攻撃・改竄などに対して強く、 セキュリティを大幅に強化することができます。また、このエアステーショ ンはAES暗号/復号化のための専用ハードウェアを持っており、速度低下など のデメリットを受けずに強力な暗号を使用することができます。 また、AESを利用するためには、接続する無線LAN機器全てがAESをサポート している必要があります。

私は速度と強度のバランスがとれている AES が好き。AES については 2004-04-30 の「暗号技術入門 秘密の国のアリス を発注」で書いた「暗号技術入門」がわかりやすかった。2004-11-09 の「GMail をバックアップストレージとして使う」でも暗号化は AES256 を使っているし、2005-08-16 には「C# でファイルを暗号化・復号化する」というメモも書いた。

2006-01-29 (Sun)

* ニンテンドーDS を考慮した無線 LAN のセキュリティ設定

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [セキュリティ] [ゲーム] [ネットワーク]

私はニンテンドーDSのWI-FIコネクションを利用した通信を行うために無線LANを導入した。ニンテンドーDSを繋ぐ事を考慮した無線 LAN アクセスポイントのセキュリティ設定についてのメモ。

- 私の無線 LAN 環境

ちなみに、私が利用している無線 LAN アクセスポイントは 2005-11-18 の「ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び」で購入した、バッファローの AirStation WHR-G54S という無線 LAN ルータだ。私の無線 LAN には ニンテンドーDS のほかに、PC2台も接続している。

私はすべて手動で設定した。「AOSS」や「らくらく無線スタート」などの自動設定システムを使うと、セキュリティ的に甘い設定になってしまうかもしれないし、何より私はエンジニアなのでセキュリティと使い勝手のバランスをどう取るかを自分で決めたかったからだ。

- セキュリティ的に弱い無線 LAN を使っているとどうなるのか

無線 LAN のセキュリティが弱いままだと、以下のような事態を招くおそれがある。

他の人に勝手に無線 LAN に接続されてしまう。
無線 LAN では、何も制限していない場合は電波が届けばだれでも接続できてしまう。近所の子供がマリオカートのWIFI対戦のために接続してくるくらいならかわいいものだが、特定のサイトを攻撃する際の踏み台や、掲示板に殺人予告を書くために使われる恐れもある。

無線 LAN を流れるデータを読み取られる。
こっちは実際はあまり問題にならない。盗聴されると困るデータは、最初から暗号化されて通信することが多いからだ。ただ、Windows ファイル共有などではデータが暗号化されないので、財務データを記録したファイルなどを無線 LAN 上でやりとりするのはリスクがある。新たな情報漏洩の口ができるという意味で、有線の LAN のときよりはリスクが増えてしまう。

- ニンテンドーDS を接続する無線 LAN で最低限設定すべきセキュリティの項目は3つ

私が無線 LAN アクセスポイントに設定した項目は3つ。とりあえずこれだけやっておけば大丈夫。実は、この3項目はニンテンドーDS を接続するしないに関係なく、無線 LAN セキュリティの基本だ。

・指定した MAC アドレスを持つクライアントのみ接続許可する。
・SSID を知っているクライアントのみ接続許可する。
・WEP128で通信を暗号化する。

上記はどれか一個で十分というものではない。できる限りすべて実施しておくことが重要。攻撃側は一番弱いところだけを突けばよいので、防御側の私は弱いところをできる限り減らすようにする必要があるからだ。

- 指定した MAC アドレスを持つクライアントのみ接続許可する

MAC アドレスというのはネットワーク機器一つ一つに割り振られた ID。クライアントの MAC アドレスを無線 LAN アクセスポイントに事前に登録しておき、登録された MAC アドレスを持つ機器からの接続だけを許可する。

ただし、MAC アドレスを好きな値に変更できるクライアントもあるので、MAC アドレス自体を知られてしまうとクライアントを偽装されてしまう。MAC アドレス制限だけでなく、他の対策と組み合わせることが重要。

ニンテンドーDS 本体の MAC アドレスは、WI-FI コネクション設定画面のオプションで「本体情報」を見ることで確認できる。00-09-BF-64-64-64 などと表示される。

- SSID を知ってるクライアントのみ接続許可する

無線 LAN クライアントからアクセスポイントに存在確認要求があったとき、SSID が一致しないときは要求を無視するようにする。これにより「SSID を知っているクライアントだけにアクセスポイントが見える」という状態にすることができる。

SSID も MAC アドレスと同じく知られてしまうと効果がない。やはり他の対策と組み合わせることが重要。

ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの SSID を入力できる。

- WEP128で通信を暗号化する

データを WEP キーを使って暗号化し、「WEP キーを知っているクライアントのみ通信ができる」という状態にすることができる。

ただし、WEP128の暗号化は強度が弱く暗号解読ツールも出回っているので、暗号化しているから絶対通信内容が漏洩しない、というわけではない。つまり他の対策と組み合わせることが重要。

暗号化方式には他に AES と TKIP があるが、ニンテンドーDS は AES も TKIP もサポートしていないので、これらを選ぶとニンテンドーDS を接続できなくなってしまう。WEP64 というのもあるが、WEP128よりも暗号化強度が弱い。現在のところ、WEP128 がニンテンドーDS で使用できる一番強固な暗号だ。

追記。おいでよ どうぶつの森に付いてきた「ニンテンドー Wi-Fi コネクション ガイドブック」19ページによると、ニンテンドーDS は WEP128よりも強固な WEP152 もサポートしている。しかし、私の AirStation WHR-G54S は WEP128 までしか対応していないので WEP128 を選択した。

ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの WEP キーを入力できる。アルファベット13文字または 0-9とA-F までの26文字を入力する。

- 追記

追記。
2006-01-30 に「暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする」という記事を書いた。

2006-01-10 (Tue)

* rsync と ssh でミラーリングアップロード

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ssh] [ネットワーク] [sonic64.com]

当サイト Landscape - エンジニアのメモのコンテンツのアップロードに、rsync を使うようにしてみた。

使ってみると、rsync は実に良くできた便利なツールであることがわかった。ちなみに今までは lftp を使っていた。詳しくは 2004-05-08 の「lftp を使った ftp ミラーリングと便利機能」を参照。さくらインターネットを使う前までは ftp しか許可されていなかったので仕方がないが、もっと早くから rsync に切り替えるべきだった。

- rsync でミラーリングアップロード

以下のコマンドで、ローカルで生成済みの Landscape のコンテンツをリモートのさくらインターネットのサーバに転送している。

rsync -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64

コマンドの意味。
-t はファイルのタイムスタンプを転送先に反映させる。
-r はディレクトリを再帰的に転送する。
-z は圧縮を有効にする。

--include=*.html* --exclude=* はとりあえずあらゆるファイルとディレクトリを転送の対象外にして、その後 .html の拡張子を持つファイルのみ明示的に転送を許可している。要するに html だけ転送しているわけだ。$HOME/public_html/log.sonic64/*.html を転送対象に指定してもいいのだが、ファイル数が多すぎるために引数が長すぎるというエラーになってしまう。それを回避するため、$HOME/public_html/log.sonic64/ を転送対象として指定してから --include=*.html* --exclude=* で対象を *.html に絞っている。もっと上手いやり方もあると思うが、とりあえずこれで。

-e は ssh を使って接続を構成する。暗号化や公開鍵暗号による認証を利用できる。

ちなみに、ローカルに存在しないファイルをリモートから削除したい場合は、--delete オプションを指定する。私の場合はリモートにのみ存在するファイルやディレクトリがあるし、Landscape のコンテンツは増える一方で減ることはまずないので指定していない。

- rsync のデータ圧縮

rsync ではデータの圧縮をサポートしている。圧縮を使う場合は -z を指定する。テキストファイルを一気にミラーリングする場合などは、転送量を三分の一程度に減らすことができる。

$ rsync -W -v -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64

sent 13460480 bytes  received 17636 bytes  45457.39 bytes/sec
total size is 43120469  speedup is 3.20

13460480 バイトしか送信していないのに、合計サイズが43120469 バイトになっている。これは圧縮の恩恵だ。

私の使っている回線のアップロード速度は、理論値で 512Kbps。実際の速度はだいたい秒間50KB くらいになる。 Landscape のコンテンツは合計で50MB 弱。圧縮せずに転送すると単純計算で1000秒、すなわち17分弱かかることになる。圧縮を有効にするだけで、17分が6分程度に短縮される。これは非常に便利だ。

ちなみに、-W オプションは 後述する「rsync アルゴリズム」を無効にするためのオプション。今回は圧縮による速度向上度合だけを計測したいので -W を指定したが、私の平常時の運用では指定していない。-v は詳細な転送情報を表示するためのオプション。

- rsync アルゴリズムと転送量の削減

rsync は独自の rsync アルゴリズムを使ってデータ転送量を削減している。しかもこれは圧縮と組み合わせることができる。

rsync アルゴリズムの良いところは、ファイルを一定サイズごとのブロックに分割して必要なブロックだけを転送している点にある。大きなファイルの一部分だけが変更されたとしても、変更を含むブロックだけを転送すればよいことになり、転送量を減らすことができる。

P2P ファイル共有ソフトの Winny でも類似の機能を実装している。2005-11-29 の「Winny の技術を読了」には詳しく書かなかったが、Winny はダウンロードに失敗しても、最初からダウンロードをやり直す必要はない。Winny は共有ファイルを64KB ごとのブロックに区切り、そのブロック単位でデータをやりとりするからだ。これと同じようなもの。

以下は記事を追加してミラーリングを行った場合。

$ rsync -v -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64

sent 1771974 bytes  received 389842 bytes  40407.78 bytes/sec
total size is 43182507  speedup is 19.98

今の Landscape の HTML は、新規記事が追加されるとサイドバーに新規記事へのリンクなどが追加されるため、全ファイルが更新される。ftp だったら全ファイルを再アップロードする必要があるところだが、rsync は全ファイルの全データ分を転送するという挙動を見せていない。送っているのは 1771974 バイトだけ。ブロックの差分だけ転送している結果だ。このおかげで、通常の 19.98 倍という速度を達成している。素晴らしい。

ローカル生成 + サーバへ一括転送という仕組みのツールなら rsync は非常に有用だ。記事数2000くらいまでなら、今の仕組みのままでも大丈夫そうだ。rsync にはもっといろんな機能があるだろうから、しばらくは man rsync をじっくり読んでみることにする。

2006-01-04 (Wed)

* ipchains で OutGoing のパケットを DENY する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux] [ネットワーク]

ipchains で OutGoing (外向き) のパケットを DENY する。

ipchains -A output -d 10.87.64.215 -j DENY

諸般の事情で iptables じゃなくて ipchains を使った。

- DENY/DROP と REJECT の違い

DENY と DROP は同義で、パケットを単に捨てるだけ。発信元へはなにも返さない。
REJECT はパケットを捨てた上で、拒否したことを ICMP を使って発信元に通告する。

2005-12-14 (Wed)

* 無線 LAN ルータ WHR-G54S の修理が完了

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [PC] [ネットワーク]

BUFFALO WHR-G54S 無線LANBUFFALO WHR-G54S 無線LAN

バッファロー
発売日: 2005/08/31


amazon で詳しく見る

2005-11-23 の「無線 LAN ルータ WHR-G54S のファームウェア更新に失敗」で書いた、バッファローの無線 LAN ルータ WHR-G54S の修理についてのメモ。

- 修理の流れ

11/24 にコンビニに持ち込んでバッファローの修理センターへ発送。クロネコヤマトで630円くらいだったかな。

クロネコヤマトの荷物お問い合わせシステムによると、以下のようになっていた。一部伏せ字。
荷物状況 日 付 時 刻 担当店名 担当店コード

発送 11/25 16:56 宇都宮******宅急便センタ−         *******
作業店通過 11/25 19:07 栃木ベース店                022990
作業店通過 11/26 05:23 名古屋ベース店               054990
配達日・時間帯指定(保管中) 11/26 08:35 南忠次宅急便センター            054181
配達完了 11/28 11:52 南忠次宅急便センター            054181

さらに、以下をバッファローのサイトから閲覧できた。

修理期間データ
https://online.buffalo.jp/newirai/noukisearch.asp

修理予約日 2005/11/23
修理品到着日
修理受付日 2005/11/29
修理完了予定日 2005/12/15
修理完了日 2005/11/30
発送日 2005/11/30

修理の状況を閲覧できるのはいいシステムだね。安心感がある。バッファロー、なかなかやるな。ただ、どうもデータの反映が遅い模様。イベントが発生してから2日くらい経たないと上記サイトに反映されない感じ。11/30 に閲覧しても「修理受付日」さえ記録されていなかったし。

最終的に、修理が終わって私の家に着いたのが12/2くらいだったかな?

平均修理期間について
・弊社での平均修理期間は製品到着後、弊社営業日で7日〜10日を予定しています。
(お客様から製品をご送付頂く期間・弊社より製品を返送する期間は修理期間に含んでおりません)

修理に要する期間は予想より短かった。短かった理由は本体が完全に交換になったからだろう。ファームウェアが吹っ飛んでしまったら、修理方法は他にないということか。フラッシュ ROM を交換できる仕組みになってないのかな?

- 修理内容と修理費用

本体は完全に交換となったので、本体に貼ってあったシリアルナンバーのシールは手作業で貼り替えてあった。シールの左上の角には剥がして皺が寄った跡がある。名誉の負傷と呼ぶことにしよう。

修理代金は無料だった。これで有償だったらバッファロー製品は二度と買わないところだったけど、この対応なら及第だ。今後もおつきあいしたいところ。ちなみに、バッファローの修理センターへの返送にかかる送料のみ負担した。まあ、これは仕方ないでしょう。逆に私に送られてくるときの送料はバッファロー負担。

- 修理後の経過

本体が交換になったので、設定はやり直し。設定をファイルにダンプしておいたのだが、トラブルがあると困るので手で丹誠込めて設定し直した。いまのところ快調に動作している。

2005-12-09 (Fri)

* サチる = サチュレーション (saturation) 飽和する

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク] [メモ]

ネットワーク関連の人たちは「サチる」という表現を使うことがあるそうな。帯域や性能がいっぱいいっぱいになることをこう呼ぶ。
元は化学などで使われていた用語とのこと。日経ネットワーク2005年12月号 15ページから。

2005-11-29 (Tue)

* Winny の技術を読了

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [] [winny] [ネットワーク]

Winnyの技術Winnyの技術

金子 勇 / アスキー書籍編集部
発売日: 2005/10


amazon で詳しく見る   bk1で詳しく見る

「Winny の技術」を読了した。この本はピアツーピア (P2P) のファイル共有ソフト Winny を、その作者の金子勇氏が解説した技術解説本。純粋に Winny の設計と実装を解説した技術本であるため、Winny の使い方や法律論などは載っていない。

2005-10-05 の『Winny の技術解説本「Winny の技術」を発注』で購入しておいたのだが、読むのがだいぶ遅くなってしまった。

- 資料的価値がある

今まで Winny のソースコードやプロトコルは非公開だった。Winny の設計や実装を学ぶためには、配布された実行ファイルをソースコードに逆変換したりするリバースエンジニアリングや、通信パケットを解析するのが一般的だったようだ。また、作者自身とユーザーが掲示板などに書き込んだ情報を元に推測するということもおこなわれていた。

Winny のネットワークは大規模といえるレベルまで成長しており、その設計と実装を作者自らが解説したこの本は、資料的価値がある。以下に参考になった部分を列挙する。

- 上流と下流によるノードの重み付け

Winny では、Winny ネットワークに参加するノードを対等な関係とするのではなく、上流と下流という概念を取り入れ、回線速度や処理性能で分類している。

過去の P2P アプリケーションは参加するノードが入り交じり、全体の効率を落としていた。回線と処理性能に余裕があるノードは上流に位置づけ、大量のデータをやりとりさせる。また、人気のあるファイルは上流でキャッシュするようにし、Winny ネットワーク内での流通速度を上げる。一方、回線や処理性能に余裕のない下流ノードは上流のノードにぶら下がるようにし、相応の負荷に抑える。

この仕組みであれば、上流は負荷が高いがその分大量のファイルを受信できるし、下流よりも広い範囲でファイルを探すことができる。下流は自分の身の丈にあった範囲でファイルを探すことができ、それぞれの住み分けができる。

上流と下流の概念があることで、どんな参加ユーザーでも受け入れることができ、ネットワーク全体の受容能力が高まる。ネットワークの価値は、まず参加しているノードの数で決まる。もちろん、各ノードの持っているリソースの質も重要だが、量は質に転換する。それを踏まえた設計になっているのが素晴らしい。

- クラスタリングによる分割統治

Winny はクラスタという概念を取り入れ、ネットワークの規模が大きくなっても効率を落とさない仕組みを実現している。

参加しているノードの数が増え、ファイルの流通量が爆発的に増えると、流通量全体に占める目当てのファイルの比率が下がる。これはネットワークが成長すると避けられない事態だ。この問題への対処は上流と下流だけでは難しい。そのため、目当てのファイルや保持しているファイルの傾向でノードを分類し、集団 (クラスタ) を形成するようになっている。これにより、目当てのファイルの検索ヒット率と、キャッシュヒット率が向上する。

問題解決の基本は「分割して統治せよ」だ。上流と下流という一次元の軸しかなかった Winny ネットワークにクラスタという別の次元の軸を与えることで、大量のノードを分割して統治することができる。しかも、お互いのクラスタは明確に分割されるのではなく、ある程度のつながりを保持したままゆるく分割されていく。良くできた仕組みだ。

- 自動ダウンロード、自動ハッシュチェック

Winny は自動ダウンロード、自動リトライ、自動ファイルハッシュチェックなど、Winny ネットワークとアプリケーションの信頼性を高める仕組みを導入している。

欲しいファイルを「予約」して Winny を起動しておけば、あとは Winny 自身が勝手にファイルを持っているノードを検索し、リクエストを発行してダウンロードし、ファイルの整合性のチェックまでしてくれる。

この仕組みはユーザの手間を減らすという点で非常に強力だ。とくに、ネットワークアプリケーションで懸念されるデータ化けやファイル破損を、MD5 ハッシュのチェックをおこなうことで回避している点が良い。TCP 自体にエラーチェックの仕組みがあるが、アプリケーションが保証していることが重要だ。

この仕組みがあることで、数百メガバイトを超えるファイルの共有も安心してできるようになる。チェックは自動でおこなわれるので、ユーザーに手間をかけさせない。安心して任せられるので、流通するファイルが増える。その結果、Winny ネットワークはより大きくなる。

全体的に見て、Winny はファイルの交換を促進する良い仕組みを持っている。IX やプロバイダーが Winny のトラフィックの増加に悩んでいたようだが、これだけの機能を備えていれば、それも頷ける。

- 疑問点

共有できるファイルサイズの上限が 2GB というのはちょっと少ない。たとえば、Debian GNU/Linux sarge の DVD ISO イメージは 4GB くらいあったはず。こういう巨大ファイルは分割しなければならない。開発当時のネットワーク回線事情では、この程度のサイズのファイルを気軽に流通させることはできなかったのかもしれない。

表紙がグレーなのは、Winny の利用される形態が「グレーゾーン」だからかな?

2ページ目の鍵の指紋が気になる。金子氏はこれで何をしようとしているんだろう?

Fingerprint:

16B6 7953 A7C1 2DCA 9DEF C7D1 2546 1CCE C03F 2BA3

- Winny の技術 pdf 版を Winny でダウンロード

Winny の技術 winny ネットワーク上で流通しているようだ。以下がファイル情報。左から順に、ファイル名、 Winny 上のトリップ、ファイルサイズ、md5 ハッシュ。

PDF(一般書籍) [金子勇] Winnyの技術 [05-10-03].zip cbwdWRCPoE 1,900,259 9d2dd618c580e38ea6869c51d9ed1107

2005-11-23 (Wed)

* 無線 LAN ルータ WHR-G54S のファームウェア更新に失敗

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [PC] [ネットワーク]

無線 LAN ルータを壊してしまった。原因はファームウェアの更新失敗。

BUFFALO WHR-G54S 無線LANBUFFALO WHR-G54S 無線LAN

バッファロー
発売日: 2005/08/31


amazon で詳しく見る

壊したのはバッファローの AirStation WHR-G54S という無線 LAN ルータ。ニンテンドーDS の「おいでよ どうぶつの森」を接続するために、2005-11-18 の「ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び」でいろいろ検討した結果選んだものだ。

- WHR-G54S の最新ファームウェア 1.23 ではいくつかの不具合修正済み

amazon で購入し、今日のお昼頃に我が家に配送されてきた。いろいろ設定などをしていたところ、ファームウェアが最新のものでないことに気づいた。私の WHR-G54S のファームウェアのバージョンは 1.20 で、最新版は 1.23 だ。

ちなみにファームウェアは、 ハードウェアほど固定的でなく、ソフトウェアほど頻繁に変更されないものを指す。ファームのスペルは firm で、固いという意味。組み込み機器に搭載されたソフトウェアをこう呼ぶことが多い。

ファームウェアは組み込み機器自身を制御することが多いため、アップデートに失敗するとその機器が使えなくなったりするというリスクがある。リスクがあるので、私はアップデートの必要がなければ手を出さない派なのだが、1.23 では機能追加だけでなく、いくつかの不具合修正がなされているとのこと。

ドライバ ダウンロード WHR-G54S
http://buffalo.melcoinc.co.jp/download/driver/lan/whr-g54s.h ...
Ver1.21→Ver1.23

【不具合修正】

1. マルチクライアント機能を有効にしたイーサネットコンバータを使用した機器が
  IPアドレスの更新が出来ない不具合を修正しました。
2. 機能設定「インターネット対応ゲームを使う」の設定画面内の補足説明を変更
  しました。
3. IPフィルタ設定で登録最大数まで入力するとページエラーになる不具合を修正
  しました。
4. エアステーション名に不正な入力が出来る不具合を修正しました。
5. Flash-ROMへ設定保存時、異常に時間がかかる場合がある不具合を再度、修正
  しました。
6. システム情報ページの「製品名」項目に詳細な機器情報を表示する様にしました。
7. アドレス変換を使用しない設定で使用した場合に正常に動作しない不具合を修正
  しました。
8. アタックブロック情報を消去しても再表示される不具合を修正しました。
9. DHCPサーバ設定のDNSサーバとWINSサーバ項目に不正な入力ができる不具合を修正
  しました。
10. パケットフィルタの設定変更した場合、わずかな時間だけフィルタが効かなくなる
  不具合を修正しました。
11. ブリッジモード時に機能設定「無線LANの暗号化を設定する」のページで表示されない
  ページがある不具合を修正しました。
12. アドレス変換設定でポート変換テーブルを既存のグループに対して新規追加した場合に、
  既存グループの有効無効状態に合わせて追加するように修正しました。
13. WEB設定画面のヘルプの誤記修正/内容追加をしました。

気になるのは 5番、10番、11番だ。私はブリッジモードで使う予定なのでとくに11番は困る。10番のセキュリティ系の不具合も、ルータモードの時のみに問題になることなのですぐには影響がないかもしれないが、こういうのは早めに手当てしておきたい。

- WHR-G54S のファームウェアをアップデートする

アップデートした方が良さそうなので、バッファローのウェブサイトからファームウェア whrg54s-123.exe をダウンロード。自己解凍ファイルを展開して、ブラウザの AirStation 設定画面からアップデートファイルのパスを指定して POST する。「更新には180秒ほどかかる」という画面が出た。どうやら正常にアップデートファイルを WHR-G54S に転送できたようだ。更新が終わるまでしばらく待つ。

しかし、更新中を示す本体のランプの点滅がいつまで経っても収まらない。1時間くらい待ってもずーっと点滅中。不具合の5番「Flash-ROMへ設定保存時、異常に時間がかかる場合がある不具合」に該当しているのかもしれないが、それにしても時間がかかりすぎる。やばいかも。

メーカーのウェブサイトの FAQ を探してみる。

ファームウェアの更新に失敗した場合の対処方法【AirStation、BroadStation】
http://qa.buffalo.jp/eservice/qid.asp?id=BUF2943
ファームウェア更新失敗後、製品本体前面のDIAGランプが点滅(点灯)している場合、
一度電源の抜き差しを行ない、点滅(点灯)が消えることを確認ください。

うん、やってみよう。・・・。DIAG ランプの点滅は収まったけど、パワーランプしか点灯しなくなった。これってどうなの?

電源の抜き差しを行ってもDIAGランプが点滅(点灯)し続ける場合、もしくは
 Powerランプのみが点灯し、Wirelessが点灯しない場合、誠に申し訳ございませんが、
 製品本体とACアダプタを弊社修理センターまでお送りください。

ダメじゃん。壊れたー。一応本体の初期化スイッチを押してみるが、症状は変わらず。えー、ファームウェアのアップデート失敗って、こんな簡単に発生するものなの? マニュアルの手順を踏んだだけなのに? 今までマザーボードのファームウェア更新とか何度もやってきたけど、失敗したのは初めてだ。マザーボードなどでは、BIOS 用のフラッシュメモリを複数搭載していて、一個がダメになったらスペアから起動できるようになってるものがあるが、家庭用ルータではまだ一般的ではないようだ。

あ、ファームウェアが壊れていても、無線とルータ部分が使えないだけで、スイッチングハブとしては使えるのね。って、それじゃあ買った意味がないよー。購入してから5時間くらいで、無線 LAN ルータが単なるスイッチングハブになっちゃった・・・。

仕方ないのでメーカーのサポート行き。web から修理依頼をかけて修理受付番号を発行してもらい、それを書いた紙を添えてメーカーに送る。早くよくなって帰ってきてね。

- 「おいでよ どうぶつの森」もまだ届かない

おいでよ どうぶつの森おいでよ どうぶつの森

任天堂
発売日: 2005/11/23
Nintendo DS

amazon で詳しく見る

ちなみに今日はニンテンドーDS の「おいでよ どうぶつの森」の発売日。amazon にはすでに発注済みだけど、まだ発送されていない模様。

なんだか不運が続くなあ。もっとも、まだニンテンドーDS 本体を買ってないから、ソフトだけ到着してもプレイできないんだけどね。ルータの修理には6から9営業日かかると書いてあったし、まあ気長に待ちますか。

2005-11-18 (Fri)

* ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [ネットワーク] [PC]

任天堂公式サイトで、ニンテンドーWi-Fiコネクション対応の無線 LAN ルータやアクセスポイントの製品一覧が発表された。

Wi-Fiコネクションサービスにつながる動作確認済み「無線LANアクセスポイント」機種一覧
http://wifi.nintendo.co.jp/information/router/

2005-11-15 の「ニンテンドー DS の Wi-Fi コネクションの接続テスト」では「ニンテンドーWi-Fi USBコネクタ」を検討したが、他に接続したい PC もあるし、そろそろ我が家のネットワークにも無線 LAN を導入しても良い頃。では、私はどの機種を買ったらいいんだろう?

- 我が家のネットワーク構成

確実に無線で接続する機器は、ノート PC 2台とニンテンドーDS。デスクトップ PC は有線 LAN で接続予定。
この他に、PSP (プレイステーションポータブル)、プレイステーション3、任天堂の次世代機「レボリューション」もいずれ購入するので無線で繋ぎたい。購入予定は全くの未定だが。XBOX360は今のところ購入予定無しなので気にしない。

ルータは持っていないが、プロバイダ貸し出しのモデム付きルータはある。貸し出し品なのでプロバイダを乗り換えると返却しなければならない。スイッチングハブは4ポートのものが1台、8ポートのものが1台ある。

- 無線LAN 機器の種類

無線 LAN 機器の種類をメモ。

無線 LAN アクセスポイント
無線 LAN 対応機器の基地局となり、各機器の中継をするもの。「無線 LAN ブリッジ」や「無線 LAN ルータ」などのこと。

無線 LAN ブリッジ
無線 LAN 機器をレイヤ2で接続するだけの無線 LAN アクセスポイント。スイッチングハブのようなもの。

無線 LAN ルータ
レイヤ3のルーティング機能を持った無線 LAN アクセスポイント。ルータモードとブリッジモードを切り替えられる機種もある。

- ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び

私はルータを持っていないので、家庭用のものなら一台くらい手元にあってもいい。というわけで、無線 LAN ブリッジではなく、無線 LAN ルータを買おう。

予算は2万円で。安い機種でもいい。
メーカーにもこだわりがないが、ニンテンドー DS は BUFFALO 無線 LAN 自動設定ツール「AOSS」と NEC の 無線 LAN 自動設定ツール 「らくらく無線スタート」に対応しているので、これら2社のものがいい。私はエンジニアなので、自動設定はたぶん使わないと思うけど。

IEEE802.11a は不要。あってもいいけど、無くても構わない。IEEE802.11g があればいい。

BUFFALO WHR-G54S 無線LANBUFFALO WHR-G54S 無線LAN

バッファロー
発売日: 2005/08/31


amazon で詳しく見る

で、選んだ機種が BUFFALO の WHR-G54S。1万円でおつりが来る。無線 LAN ルータとブリッジを切り替えられる。IEEE802.11g にも対応。4ポートのスイッチングハブ付き。私にはこれで十分だな。

BUFFALO WHR-HP-G54 無線LANBUFFALO WHR-HP-G54 無線LAN

バッファロー
発売日: 2005/08/31


amazon で詳しく見る

WHR-HP-G54 は交信性能を強化したハイパワー版。こっちも検討したけど、私の家ならたぶん WHR-G54S で十分だと思う。


NEC の AtermWR7850S と AtermWR6650S の2機種は IEEE802.11a にも対応。でも、IEEE802.11a は必須じゃないし、BUFFALO の方が手頃な値段なので見送り。



- 動作確認済みルータ・無線アクセスポイント

任天堂のオフィシャルサイトから、動作検証の結果に ○ が付いていた機種を抜粋。なので、NEC のモデルは掲載していない。すべて2005年11月18日現在。たぶん今後検証機種は増えていくだろうし、ユーザーからの報告もあるだろう。

Wi-Fiコネクションサービスにつながる動作確認済み「無線LANアクセスポイント」機種一覧
http://wifi.nintendo.co.jp/information/router/

amazon で買うのも楽でいいけど、これを印刷して近くの電器店に行って品定めして買うのが良いと思う。そのために価格と納期がわかるような形で表示した。

- BUFFALO の Wi-Fiコネクション動作確認済み無線LANアクセスポイント

バッファローは任天堂と提携しているだけあって、最多の動作確認済み機種数を誇る。ただ、どう見ても業務用としか思えないモデルも入ってるね。値段も3倍くらいするものとか。

BUFFALO WHR-G54S 無線LANBUFFALO WHR-G54S 無線LAN

バッファロー
発売日: 2005/08/31


amazon で詳しく見る

BUFFALO WHR-HP-G54 無線LANBUFFALO WHR-HP-G54 無線LAN

バッファロー
発売日: 2005/08/31


amazon で詳しく見る














BUFFALO WLAH-G54BUFFALO WLAH-G54

バッファロー
発売日: 2004/03/31


amazon で詳しく見る

FS-G54FS-G54

バッファロー
発売日: 2004/08/31


amazon で詳しく見る



BUFFALO WHR2-G54BUFFALO WHR2-G54

バッファロー
発売日: 2003/09/30


amazon で詳しく見る

WHR3-AG54WHR3-AG54

バッファロー
発売日: 2004/05/31


amazon で詳しく見る

WZR-G54WZR-G54

バッファロー
発売日: 2004/07/31


amazon で詳しく見る

BUFFALO WHR2-A54G54BUFFALO WHR2-A54G54

バッファロー
発売日: 2003/11/30


amazon で詳しく見る


- コレガの Wi-Fiコネクション動作確認済み無線LANアクセスポイント

「無線LANアクセスポイントの送信レートを2Mbpsに設定する。」「無線LANアクセスポイントのXR機能をオフに設定する」必要があるものは除外したので、4機種のみ。


{CG-WLBARAGL 切換利用対応無線LANルータ: エレクトロニクス}:amazon:B0009QZWPI

{corega CG-WLBARAG: エレクトロニクス}:amazon:B0001VCT2K

{corega WLBAR-54GT White 802.11g/54Mbps 無線ルーター: エレクトロニクス}:amazon:B00009RGHG


- ELECOM の Wi-Fiコネクション動作確認済み無線LANアクセスポイント



- ICOM の Wi-Fiコネクション動作確認済み無線LANアクセスポイント

{SR-5000VOIP VOIP対応ワイヤレスブロードバンドルータ: エレクトロニクス}:amazon:B0001931H4


- I-O DATA の Wi-Fiコネクション動作確認済み無線LANアクセスポイント


I-O DATA WN-APG/BBRI-O DATA WN-APG/BBR

アイ・オー・データ
発売日: 2003/12/10


amazon で詳しく見る





- LINKSYS の Wi-Fiコネクション動作確認済み無線LANアクセスポイント

WRT54GS-JPWRT54GS-JP

シスコ・リンクシス
発売日: 2004/08/07


amazon で詳しく見る

WRT54G-JP V2 54M 無線LAN ルータWRT54G-JP V2 54M 無線LAN ルータ

シスコ・リンクシス
発売日: 2004/06/12


amazon で詳しく見る

WAP54G-JP V2 無線LAN アクセスポイントWAP54G-JP V2 無線LAN アクセスポイント

シスコ・リンクシス
発売日: 2004/05/14


amazon で詳しく見る


- NETGEAR の Wi-Fiコネクション動作確認済み無線LANアクセスポイント




- PLANEX の Wi-Fiコネクション動作確認済み無線LANアクセスポイント


{PLANEX BRC-W14V eXgateシリーズ マルチユースワイヤレスVPNルータ: エレクトロニクス}:amazon:B000127XTS




{PLANEX BRC-AP04 eXgateシリーズ マルチユースアクセスポイント: エレクトロニクス}:amazon:B000127XT8



- Apple の Wi-Fiコネクション動作確認済み無線LANアクセスポイント




- マリオカート DS 動画

マリオカート DS の動画。やばいよ、これ。ちゃんと秒間60フレームで動いてる! Wi-Fi 通信対戦だとここまでのフレームレートは出ないかもしれないけど、普通の通信対戦ならこれくらい行けるのか。

http://media.ds.ign.com/media/682/682877/vids_1.html

2005-11-02 (Wed)

* sonic64.com の転送量の80%が RSS

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [sonic64.com] [Apache] [ネットワーク] [RSS]

当サイト Landscape が infoseek isweb から移転して sonic64.com を使うようになってから、1か月ほど経った。というわけでアクセスログを見てみる。

- Landscape - エンジニアのメモ 2005年10月のアクセス

総ページビューとか、人気のあったページとかはまあどうでもいいんだけど、いちおうメモ。ページビューは372969。約37万。Webalizer によるページビューなので、今までとはカウント方法が異なっている可能性はある。

月間総転送量は 63557488KB。約60GB、一日あたり2GBというところか。なんだか減ってる気がする。旧サイトを置いていた infoseek isweb では、多いときで一日5GB、少ないときで1GBくらいだったと思う。平均すると一日あたり 3GB から 4GB くらいだったかな。移転後に転送量が減ってる理由は、移転に伴って検索エンジンの順位が下がったりとか、あとは 2005-09-15 の「mod_rewrite でリクエストに応じて gzip 圧縮ファイルを返す」などの効果のためだろう。

- sonic64.com の転送量の80%が RSS

興味深かったのが、転送量の内訳。infoseek ではこういう統計は提供されなかったし、httpd の生のアクセスログも提供されなかったので調べられなかったけど、今は生ログがもらえるので解析できた。

解析の結果、転送量のほとんどが http://sonic64.com/cl-full.xml に集中してることがわかった。60GB の転送量のうち、50816191KB、すなわち 50GB 程度がこの RSS の転送のために使われていた。cl-full.xml は「すべての記事全文を含む RSS」 なので、サイズが大きいのは仕方がないが、それが sonic64.com の転送量の約80%を占めているとは、ちょっと意外だった。20%80%のパレートの法則を超えるような状態だ。

ちなみに、トップページ http://sonic64.com/ の月間転送量は 471425KB で、471MB。全体に占める割合はたったの 0.74%。まあ、こんなものでしょ。

月間60GBという転送量は、私の見積もりの範囲内なのでまったく問題ない。必要ならどんどんアクセスしてほしい。全体の転送量の80%が RSS というのはちょっと意外だったのだけど。infoseek からの移転先としてさくらインターネットを選んだ理由の一つは、転送量制限の値が高めで余裕があるからだ。

- HTTP リクエストヘッダ Accept-Encoding: gzip をちゃんと送ってる?

気になるのは、http://sonic64.com/cl-full.xml へアクセスするときに、HTTP リクエストヘッダ Accept-Encoding: gzip を送ってないクライアントが多いんじゃないかということ。

cl-full.xml は今日現在 4MB 弱のサイズがあるが、Accept-Encoding: gzip をつけて送れば900KB くらいに圧縮されたデータがサーバから返される。そのために 2005-09-15 の「mod_rewrite でリクエストに応じて gzip 圧縮ファイルを返す」などの仕組みを取り入れたんだけど、それが使われてなかったとしたら残念だ。無駄は嫌いなんだ。無駄、無駄、と。昨日のアクセスログを grep して調べてみる。

grep 'GET /cl-full.xml' ~/log/access_log_`date +%Y%m%d` |grep ' 200 '

上記のようにして 200 OK で完結したリクエストのログをざーっと眺めてみる。うん、以下の Mozilla Thunderbird は圧縮された cl-full.xml を取ってきてるね。返された cl-full.xml のサイズが 942606 バイトになってる。

"GET /cl-full.xml HTTP/1.1" 200 942606 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.10) Gecko/20050716 Thunderbird/1.0.6"

一方、 Accept-Encoding: gzip をリクエストにつけていないため、圧縮してないデータを返されたクライアントも結構あった。とくに、ロボットや Web 型 RSS リーダーのクローラーにこの傾向が強いように感じる。

"GET /cl-full.xml HTTP/1.1" 200 4147427 "-" "Mozilla/4.0 (compatible; Google Desktop)"

以下、UserAgent 名だけ列挙。

InfoSeek RssReader/0.1"
FEEDBRINGER/0.1 (http://feedbringer.net/; 10 subscribers)"
Google Desktop
blogWatcher_crawler/0.2
Accelatech RSSCrawler/0.4
HepCat: http://www.witha.jp/
Hatena RSS/0.2 (http://r.hatena.ne.jp; 7 subscribers)
cococ/1.04
gooRSSreader2/2.0-build 20050818 (based on glucose)
Headline-Reader [t] (http://www.infomaker.jp/)

Bloglines はちゃんと Accept-Encoding: gzip をつけてリクエストしてる。さすがだね。

- Accept-Encoding: gzip なしのリクエストは mod_rewrite でリダイレクト

今のところ転送量にはまだ余裕がある。Accept-Encoding: gzip なしのリクエストを、圧縮しなきゃダメと 403 Forbidden で追い返したり、問答無用で圧縮したファイルを返すようなことはしたくない。でも、今時の HTTP クライアントなら Accept-Encoding: gzip くらい送ってきて欲しい。一般的なクライアント型 RSS リーダーだと、ファイアウォールソフトや proxy によって Accept-Encoding: gzip を削除されてしまうことがあるようだけど、ロボット系はそんなこともないだろうしなあ。

そうだ。Accept-Encoding: gzip を送ってきてないクライアントは、HTTP 302 Moved Temporarily で RSS 広告社の Trend Match の RSS http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 にリダイレクトするようにしよう。Trend Match から 返される RSS は gzip 圧縮がかかってないから、問答無用で圧縮したファイルを返すよりもずっといい。

2005-10-12 の「RSS広告社の広告プログラム Trend Match に参加」で書いたように、http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 にアクセすると、Internal Server Error になってしまっていた。その後、2005-10-26 の「RSS広告社の Trend Match の RSS サイズ制限が緩和された?」で、エラーにならずにアクセスできるようになったのを確認した。正式対応のアナウンスはまだ無いが、いまのところ問題がない。そのうち cl-full.xml への全リクエストをリダイレクトしようかと思っていた。でもやっぱりいきなり全リクエストをリダイレクトするのは不安なので、まず一部だけでテストしたいところ。Accept-Encoding: gzip を送ってきてないリクエストにそのテスターになってもらうことにしよう。

さっそく mod_rewrite の RewriteRule を書こう。

RewriteCond %{REQUEST_URI} cl-full\.xml(\.gz)?$
RewriteCond %{HTTP:Accept-Encoding} !gzip
RewriteRule .+ http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 [L,R]

できた。これを .htaccess に設定して、Firefox と LiveHttpHeaders の HTTP リクエストリプレイ機能で、Accept-Encoding: gzip があるリクエストと、ないリクエストの両方でテスト。よし、OK だ。これで全員が幸せになれるね。Win-Win-Win だ。

2005-09-19 (Mon)

* 語尾変換プログラムは検索エンジンロボット避けを設定するべきだ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

語尾変換プログラムで変換されたページが検索エンジンにインデックスされてしまい、それを見たオリジナルのサイトの作者が困っている。私は、語尾変換プロキシのサービス提供者はロボット避けを実装すべきだと考える。

- 語尾変換プログラムの何が問題なのか

語尾変換プログラムを通した後の変換結果ページが Google などの検索エンジンにインデックスされ、多数の人の目に触れることが問題。

によないざーが不評です
http://circle.cc.hokudai.ac.jp/cgi/ryu/tdiary/index.rb?date= ...
 によないざーとは、昔作ったプログラムで、これを通すと語尾がにょ。になる似非変換プロキシーである。 はすみないざーなどにインスパイヤされて作成したものだ。

が、これによって変換された結果が、googleの検索結果に載るらしく、当該サイトの管理人さんから苦情のメールが来た。しかも僕個人宛ではなくサークルサーバー委員会あてである。

googleの検索結果にまで文句言われてもなあ。というのが正直なところなのだが。どういう対応が正解なのだろうか。

また、以下のようにページ自体の存在に困惑している人もいるようだ。

ツッコミ[6]
http://circle.cc.hokudai.ac.jp/cgi/ryu/tdiary/index.rb?date= ...
突然の書き込みお許し下さい。
先日、私のブログがそちらのプログラムで語尾を書き換えされたものがアップさせているのをみつけました。プログラムをみて誰かがやったものが残ってるのかと思いますが・・・どうやったら削除できますか。メールアドレスが公開されていなかったので・・・こちらで、すみません。

- 語尾変換プログラムとは

語尾変換プログラムは、文章の一部をを書き換える機能を持つ。

たとえば、「によないざー」という語尾変換プログラムを通すと、朝日新聞社の asahi.com も以下のように語尾に「にょ」が付く。
http://circle.cc.hokudai.ac.jp/cgi/ryu/rplace.rb?source=uri& ...

翻訳サイトなども同じような技術を使っている。以下は、Landscape を英語に翻訳したページ。こちらは当然ながら変換対象は語尾にとどまらない。
http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F ...

- 語尾変換プログラム作成者は何をすればいいのか

変換結果を見たオリジナルページの作成者から問い合わせを受け、それに一つ一つ対処するというやり方では、双方の手間がかかりすぎる。また、そういった対処を煩わしく感じる語尾変換プログラム作成者がサービスをやめてしまうというのも寂しい。オリジナルページの作成者、語尾変換プログラム作成者、変換プログラム利用者それぞれにメリットがあるようするのが理想。

まず、変換結果ページが検索エンジンに載らないようにすることが効果的だろう。そうすれば人目に触れることが少なくなり、変換ページが内輪で完結する確率が高くなる。変換プログラム作成者側としても、オリジナルページの作成者から苦情があったときに「検索エンジンには載らないように対処してます」と言えるし。

meta タグによるロボット避けでもいいし、robots.txt によるロボット避けでもいい。
ちなみに前述のエキサイトの翻訳サービスでは robots.txt によるロボット避けを設定している。

http://www.excite.co.jp/robots.txt
User-agent: *
Disallow: /relocate/
Disallow: /search.gw
Disallow: /world/english/web/body
Disallow: /world/chinese/web/body
Disallow: /world/korean/web/body

次に、GET メソッドを使わずに、POST メソッドを使うこと。POST するには基本的にフォームを使う必要があるので、一般のユーザーには「変換アプリケーション」という特別なシステムである、という印象を与えることができる。特別なものなので、ただ、これだと問題があって、変換結果のページからリンクをたどったときは GET になってしまうので、JavaSctipt などで一工夫する必要がある。

あとは、エキサイトの翻訳サービスのように上部にフレームを設けたりするなどして、迷い込んできたユーザに情報を提示するなどしてもいい。

- URL を与えるということ

個人的には、こういった変換プログラムは好きだ。「大阪弁変換プロキシ」とかで楽しんだ覚えがあるし。

2004-02-07 の 「クマー アスキーアート化 Bookmarklet」も語尾変換プログラムと同じような技術だが、変換後のページの URL が存在しないという点が大きく異なる。何かのリソースに URL を与えると、そのリソースは「アクセスされたがっている」状態になる。その「アクセスされたがっている」リソースのせいで問題が起きるなら、それを解決する仕組みを考えなければならない。

時間がないので、今日はここまで。当記事にはあとで追記するかもしれない。

2005-08-24 (Wed)

* POP3Trap.exe はウイルスバスターの POP3 プロキシ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [セキュリティ] [ネットワーク] [メール]

タスクマネージャを見ていたら POP3Trap.exe という名前のプログラムが動いている。私には心当たりがない。もしかしてウイルスやスパイウェアか? とドキドキしながら Google で POP3Trap.exe を検索するとヒット。

POP3Trap.exe はウイルスバスターが起動するプロセスだそうだ。POP3 の通信を検疫するため、ローカルに POP3 プロキシを立てて通信を中継している模様。最初は気味が悪いと思ったけど、まあウイルスチェックのためだし仕方ないかな。

Outlook Express だと勝手に POP サーバの設定エントリを localhost に書き換えて POP3Trap を経由するように設定するとのこと。Mozilla Thunderbird だと今のところそういった設定に書き換えられることは無いみたいだけど。

2005-01-22 (Sat)

* プロバイダ別 ntp サーバリスト wiki

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

2004-12-02 に書いた「プロバイダ別 ntp サーバリスト」などをもとに、有志が ntp サーバ情報を書き込める wiki を作ってくれた。

プロバイダ別NTPサーバリスト - WikiRoom
http://www.wikiroom.com/?%A5%D7%A5%ED%A5%D0%A5%A4%A5%C0%CA%C ...

2005年1月23日追記。上記 wiki は消滅して以下に移転した模様。

NTP - wiki@nothing
http://wiki.nothing.sh/page/NTP

時刻合わせ総合スレッドに書き込まれた各プロバイダの ntp サーバ情報は 2004-12-02 にもいくつか反映させておいたが、私のページよりも上記 wiki の方が見てる人も書く人も多いので情報の質・鮮度・量において上。

- 「プロバイダ別 ntp サーバリスト」を書いた理由

なんだかページビューが増えてるなと思ったら、いろんな所で 2004-12-02 の「プロバイダ別 ntp サーバリスト」が紹介されていた。福岡大の鶴岡助教授まで見てくださっていたとは光栄だ。その道のエキスパートに見られるのは怖さもあるけど、うれしさの方が大きいな。

522 :福岡大学のNTP屋 [tsuruoka@fukuoka-u.ac.jp] :05/01/20 16:30:33 ID:u9Qqv67y
>>520
大学の回線を2Mbps近く食ってしまうのももったいないことですし、
ユーザにとっても精度を確保し難いわけですから、ISP内のタームサーバを
利用する方向に仕向けたいのです。
http://sonic64.hp.infoseek.co.jp/2004-12-02.html
のあたりは、それをよく説明してくれています。
学内でも居場所はそれほど自由でもないんですね。
10年前ならネットワーク構成も変更しやすかったのですが、今はどうにもなりません。

私が 2004-12-02 の 「プロバイダ別 ntp サーバリスト」を書いた動機も、いつまでもボランティアの善意に甘えるわけにはいかないと思ったから。プロバイダのサービスとして ntp を提供してほしい。リストを作っておけば、それを読んだ人が自分のプロバイダの ntp サーバを使う確率が上がる。利用数が増えれば需要があるとプロバイダが判断して、より ntp のサービスが充実する。そうなって欲しいと思っていた。

私の「プロバイダ別 ntp サーバリスト」は、リストと名乗っている割には説明が多く、ntp サーバのホスト名が出てくるのは記事の後半になってからだ。ntp の仕組みや意義を知らない人が多いだろうと推測した結果、こういう構成になった。単にホスト名を羅列するだけでは意味がない。

- こういう用途には wiki が便利

2004-12-02 の 「プロバイダ別 ntp サーバリスト」は、個人でメンテナンスして行くには限界がある。>>523 の言うとおり、wiki か何かでみんなで編集する方が良い。私の記事だっていろんな所から調べて来たのをまとめただけ。どんどん使って欲しい。2004-12-02 にリンクしておいてくれるとなおうれしいけど。

523 :login:Penguin [sage] :05/01/20 16:43:24 ID:cdlCVAn2
>>522
このリスト、個人の日記に置いとくのはもったいないな。
http://linux2ch.bbzone.net/ あたりにページ作って
みんなでいじった方がよくないすか。

- リンク

スラッシュドット ジャパン | 福岡大学NTPサーバの混雑解消にご協力を
http://slashdot.jp/articles/05/01/21/0214236.shtml?topic=12

ITmediaニュース:福岡大のNTPサーバがアクセス集中で悲鳴
http://www.itmedia.co.jp/news/articles/0501/21/news059.html

2004-12-09 (Thu)

* Microsoft 製品が使用するポート番号一覧

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Windows] [ネットワーク]

Microsoft の製品が使用するネットワークポート番号の一覧。

http://www.microsoft.com/downloads/details.aspx?FamilyID=dd6 ...

残念ながら MS Excel 形式での提供。しかも、ダウンロードの方法の説明文が間違っている。「ダウンロードのリンク」は存在せずフォームボタンしかない。

Excel をインストールしてなくても閲覧できるような配慮があるとうれしいんだけどなあ。簡単に参照できるように html 形式でも用意しておくとか。仕方がないので以下に自分用にメモ。Excel は持ってないので OpenOffice.org で開いてコピー & ペーストしたもの。

ブラウザの横幅を広げ、フォントサイズを小さくしないと見づらいかもしれない。でも、こういうリストってポート番号から調べる使い方が多いので、ポート番号さえ左端にあれば十分。何十個もカラムがあるわけでもないし、迅速に閲覧できることが重要。

2004-12-19 追記。詳細な内容を記述した html ページもあった。
Windows: Microsoft Windows サーバー システムのポート要件
http://support.microsoft.com/default.aspx?scid=kb;ja;832017

だめだめ日記(2004-12-19) から。
http://damedame.monyo.com/?date=20041219#p01

- Microsoft 製品が使用するポート番号一覧

Microsoft Windows Server System : ポート番号一覧
http://www.microsoft.com/downloads/details.aspx?FamilyID=dd6 ...
マイクロソフトの製品が利用しているネットワークのポート番号を Excel のシートで参照することができます。

Port    Protocol    Network Service     Network Service (日本語)    System Service    System Service (日本語)    System Service Logical Name
7    TCP    Echo    Echo    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
7    UDP    Echo    Echo    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
9    TCP    Discard    Discard    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
9    UDP    Discard    Discard    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
13    TCP    Daytime    Daytime    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
13    UDP    Daytime    Daytime    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
17    TCP    Quotd    Quotd    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
17    UDP    Quotd    Quotd    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
19    TCP    Chargen    Chargen    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
19    UDP    Chargen    Chargen    Simple TCP/IP Services    簡易 TCP/IP サービス    SimpTcp
20    TCP    FTP default data    FTP default data    FTP Publishing Service    FTP Publishing Service    MSFtpsvc
21    TCP    FTP control    FTP control    FTP Publishing Service    FTP Publishing Service    MSFtpsvc
21    TCP    FTP control    FTP control    Application Layer Gateway Service    アプリケーション層ゲートウェイ サービス     ALG
23    TCP    Telnet    Telnet    Telnet    Telnet    TlntSvr
25    TCP    SMTP    SMTP    Simple Mail Transport Protocol    Simple Mail Transport Protocol    SMTPSVC
25    UDP    SMTP    SMTP    Simple Mail Transport Protocol    Simple Mail Transport Protocol    SMTPSVC
25    TCP    SMTP    SMTP    Exchange Server    Exchange Server
25    UDP    SMTP    SMTP    Exchange Server    Exchange Server
42    TCP    WINS Replication    WINS Replication    Windows Internet Name Service    Windows インターネット ネーム サービス     WINS
42    UDP    WINS Replication    WINS Replication    Windows Internet Name Service    Windows インターネット ネーム サービス     WINS
53    TCP    DNS    DNS    DNS Server    DNS サーバー    DNS
53    UDP    DNS    DNS    DNS Server    DNS サーバー    DNS
53    TCP    DNS    DNS    Internet Connection Firewall/Internet Connection Sharing    インターネット接続ファイアウォール/インターネット接続の共有    SharedAccess
53    UDP    DNS    DNS    Internet Connection Firewall/Internet Connection Sharing    インターネット接続ファイアウォール/インターネット接続の共有    SharedAccess
67    UDP    DHCP Server    DHCP Server    DHCP Server    DHCP サーバー    DHCPServer
67    UDP    DHCP Server    DHCP Server    Internet Connection Firewall/Internet Connection Sharing    インターネット接続ファイアウォール/インターネット接続の共有    SharedAccess
69    UDP    TFTP    TFTP    Trivial FTP Daemon Service    Trivial FTP Daemon Service    tftpd
80    TCP    HTTP    HTTP    Windows Media Services    Windows Media サービス    WMServer
80    TCP    HTTP    HTTP    World Wide Web Publishing Service    World Wide Web 発行サービス    W3SVC
80    TCP    HTTP    HTTP    SharePoint Portal Server    SharePoint Portal Server
88    TCP    Kerberos    Kerberos    Kerberos Key Distribution Center    Kerberos キー配布センター    Kdc
88    UDP    Kerberos    Kerberos    Kerberos Key Distribution Center    Kerberos キー配布センター    Kdc
102    TCP    X.400    X.400    Microsoft Exchange MTA Stacks    Microsoft Exchange MTA Stacks
110    TCP    POP3    POP3    Microsoft POP3 Service    Microsoft POP3 サービス    POP3SVC
110    TCP    POP3    POP3    Exchange Server    Exchange Server
119    TCP    NNTP    NNTP    Network News Transfer Protocol    Network News Transfer Protocol    NntpSvc
123    UDP    NTP    NTP    Windows Time    Windows Time    W32Time
123    UDP    SNTP    SNTP    Windows Time    Windows Time    W32Time
135    TCP    RPC    RPC    Message Queuing    メッセージ キュー    msmq
135    TCP    RPC    RPC    Remote Procedure Call    リモート プロシージャ コール    RpcSs
135    TCP    RPC    RPC    Exchange Server    Exchange Server
135    TCP    RPC    RPC    Certificate Services    証明書サービス    CertSvc
135    TCP    RPC    RPC    Cluster Service    クラスタ サービス    ClusSvc
135    TCP    RPC    RPC    Distributed File System    分散ファイルシステム    DFS
135    TCP    RPC    RPC    Distributed Link Tracking    分散リンクトラッキング    TrkSvr
135    TCP    RPC    RPC    Distributed Transaction Coordinator    分散トランザクション コーディネータ    MSDTC
135    TCP    RPC    RPC    Event Log    イベント ログ    Eventlog
135    TCP    RPC    RPC    Fax Service    Fax サービス    Fax
135    TCP    RPC    RPC    File Replication    ファイル複製    NtFrs
135    TCP    RPC    RPC    Local Security Authority    ローカル セキュリティ機関    LSASS
135    TCP    RPC    RPC    Remote Storage Notification    Remote Storage Notification    Remote_Storage_User_Link
135    TCP    RPC    RPC    Remote Storage Server    リモート記憶域サーバー    Remote_Storage_Server
135    TCP    RPC    RPC    Systems Management Server 2.0    Systems Management Server 2.0
135    TCP    RPC    RPC    Terminal Services Licensing    ターミナル サービス ライセンス    TermServLicensing
135    TCP    RPC    RPC    Terminal Services Session Directory    ターミナル サービス セッション ディレクトリ    Tssdis
137    TCP    NetBIOS Name Resolution    NetBIOS 名前解決    Computer Browser    Computer ブラウザ    Browser
137    UDP    NetBIOS Name Resolution    NetBIOS 名前解決    Computer Browser    Computer ブラウザ    Browser
137    TCP    NetBIOS Name Resolution    NetBIOS 名前解決    Server    サーバー サービス     lanmanserver
137    UDP    NetBIOS Name Resolution    NetBIOS 名前解決    Server    サーバー サービス    lanmanserver
137    TCP    NetBIOS Name Resolution    NetBIOS 名前解決    Windows Internet Name Service    Windows インターネット ネーム サービス     WINS
137    UDP    NetBIOS Name Resolution    NetBIOS 名前解決    Windows Internet Name Service    Windows インターネット ネーム サービス     WINS
137    TCP    NetBIOS Name Resolution    NetBIOS 名前解決    Net Logon    Net Logon    Netlogon
137    UDP    NetBIOS Name Resolution    NetBIOS 名前解決    Net Logon    Net Logon    Netlogon
137    TCP    NetBIOS Name Resolution    NetBIOS 名前解決    Systems Management Server 2.0    Systems Management Server 2.0
137    UDP    NetBIOS Name Resolution    NetBIOS 名前解決    Systems Management Server 2.0    Systems Management Server 2.0
138    UDP    NetBIOS Datagram Service    NetBIOS Datagram Service    Computer Browser    Computer ブラウザ    Browser
138    UDP    NetBIOS Datagram Service    NetBIOS Datagram Service    Messenger    メッセンジャー    Messenger
138    UDP    NetBIOS Datagram Service    NetBIOS Datagram Service    Server    サーバー サービス    lanmanserver
138    UDP    NetBIOS Datagram Service    NetBIOS Datagram Service    Net Logon    Net Logon    Netlogon
138    UDP    NetBIOS Datagram Service    NetBIOS Datagram Service    Distributed File System    分散ファイル システム    Dfs
138    UDP    NetBIOS Datagram Service    NetBIOS Datagram Service    Systems Management Server 2.0    Systems Management Server 2.0
138    UDP    NetBIOS Datagram Service    NetBIOS Datagram Service    License Logging Service    ライセンス ログ サービス    LicenseService
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Computer Browser    Computer ブラウザ    Browser
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Fax Service    Fax サービス    Fax
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Performance Logs and Alerts    パフォーマンス ログと警告    SysmonLog
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Print Spooler    印刷スプーラ    Spooler
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Server    サーバー サービス    lanmanserver
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Net Logon    Net Logon    Netlogon
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Remote Procedure Call Locator    リモート プロシージャ コール ロケータ    RpcLocator
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Distributed File System    分散ファイル システム    Dfs
139    TCP    NetBIOS Session Service    NetBIOS Session Service    Systems Management Server 2.0    Systems Management Server 2.0
139    TCP    NetBIOS Session Service    NetBIOS Session Service    License Logging Service    ライセンス ログ サービス    LicenseService
143    TCP    IMAP    IMAP    Exchange Server    Exchange サーバー
161    UDP    SNMP    SNMP    SNMP Service    SNMP サービス    SNMP
162    UDP    SNMP Traps Outbound    SNMP Traps Outbound    SNMP Trap Service    SNMP Trap サービス    SNMPTRAP
270    TCP    MOM 2004    MOM 2004    Microsoft Operations Manager 2004    Microsoft Operations Manager 2004    MOM
389    TCP    LDAP Server    LDAP Server    Local Security Authority    ローカル セキュリティ機関    LSASS
389    UDP    LDAP Server    LDAP Server    Local Security Authority    ローカル セキュリティ機関    LSASS
389    TCP    LDAP Server    LDAP Server    Distributed File System    分散ファイル システム    Dfs
389    UDP    LDAP Server    LDAP Server    Distributed File System    分散ファイル システム    Dfs
443    TCP    HTTPS    HTTPS    HTTP SSL    HTTP SSL    HTTPFilter
443    TCP    HTTPS    HTTPS    World Wide Web Publishing Service    World Wide Web 発行サービス    W3SVC
443    TCP    HTTPS    HTTPS    SharePoint Portal Server    SharePoint Portal Server
445    TCP    SMB    SMB    Fax Service    Fax サービス    Fax
445    UDP    SMB    SMB    Fax Service    Fax サービス    Fax
445    TCP    SMB    SMB    License Logging Service    ライセンス ログ サービス    LicenseService
445    UDP    SMB    SMB    License Logging Service    ライセンス ログ サービス    LicenseService
445    TCP    SMB    SMB    Print Spooler    印刷スプーラ    Spooler
445    UDP    SMB    SMB    Print Spooler    印刷スプーラ    Spooler
445    TCP    SMB    SMB    Server    サーバー サービス    lanmanserver
445    UDP    SMB    SMB    Server    サーバー サービス    lanmanserver
445    TCP    SMB    SMB    Remote Procedure Call Locator    リモート プロシージャ コール ロケータ    RpcLocator
445    UDP    SMB    SMB    Remote Procedure Call Locator    リモート プロシージャ コール ロケータ    RpcLocator
445    TCP    SMB    SMB    Distributed File System    分散ファイルシステム    Dfs
445    UDP    SMB    SMB    Distributed File System    分散ファイルシステム    Dfs
445    TCP    SMB    SMB    Net Logon    Net Logon    Dfs
445    UDP    SMB    SMB    Net Logon    Net Logon    Dfs
500    UDP    IPSec ISAKMP    IPSec ISAKMP    IPSec Services     IPSec サービス    PolicyAgent
515    TCP    LPD    LPD    TCP/IP Print Server    TCP/IP Print Server    LPDSVC
548    TCP    File Server for Macintosh    File Server for Macintosh    File Server for Macintosh    File Server for Macintosh    MacFile
554    TCP    RTSP    RTSP    Windows Media Services    Windows Media サービス    WMServer
563    TCP    NNTP over SSL    NNTP over SSL    Network News Transfer Protocol    Network News Transfer Protocol    NntpSvc
593    TCP    RPC over HTTP    RPC over HTTP    Remote Procedure Call    リモート プロシージャ コール    RpcSs
593    TCP    RPC over HTTP    RPC over HTTP    Exchange Server    Exchange Server
636    TCP    LDAP SSL    LDAP SSL    Local Security Authority    ローカル セキュリティ機関    LSASS
636    UDP    LDAP SSL    LDAP SSL    Local Security Authority    ローカル セキュリティ機関    LSASS
993    TCP    IMAP over SSL    IMAP over SSL    Exchange Server    Exchange Server
995    TCP    POP3 over SSL    POP3 over SSL    Exchange Server    Exchange Server
1270    TCP    MOM-Encrypted    MOM-Encrypted    Microsoft Operations Manager 2000    Microsoft Operations Manager 2000    one point
1433    TCP    SQL over TCP    SQL over TCP    Microsoft SQL Server    Microsoft SQL Server    SQLSERVR
1433    TCP    SQL over TCP    SQL over TCP    MSSQL$UDDI    MSSQL$UDDI    SQLSERVR
1434    UDP    SQL Probe    SQL Probe    Microsoft SQL Server    Microsoft SQL Server    SQLSERVR
1434    UDP    SQL Probe    SQL Probe    MSSQL$UDDI    MSSQL$UDDI    SQLSERVR
1645    UDP    Legacy RADIUS    Legacy RADIUS    Internet Authentication Service    インターネット認証サービス    IAS
1646    UDP    Legacy RADIUS    Legacy RADIUS    Internet Authentication Service    インターネット認証サービス    IAS
1701    UDP    L2TP    L2TP    Routing and Remote Access    ルーティングとリモート アクセス    RemoteAccess
1723    TCP    PPTP    PPTP    Routing and Remote Access    ルーティングとリモート アクセス    RemoteAccess
1755    TCP    MMS    MMS    Windows Media Services    Windows Media サービス    WMServer
1755    UDP    MMS    MMS    Windows Media Services    Windows Media サービス    WMServer
1801    TCP    MSMQ    MSMQ    Message Queuing    メッセージ キュー    msmq
1801    UDP    MSMQ    MSMQ    Message Queuing    メッセージ キュー    msmq
1812    UDP    RADIUS Authentication    RADIUS 認証    Internet Authentication Service    インターネット認証サービス    IAS
1813    UDP    RADIUS Accounting    RADIUS アカウンティング    Internet Authentication Service    インターネット認証サービス    IAS
1900    UDP    SSDP    SSDP    SSDP Discovery Service    SSDP Discovery Service    SSDPRSRV
2101    TCP    MSMQ-DCs    MSMQ-DCs    Message Queuing    メッセージ キュー    msmq
2103    TCP    MSMQ-RPC    MSMQ-RPC    Message Queuing    メッセージ キュー    msmq
2105    TCP    MSMQ-RPC    MSMQ-RPC    Message Queuing    メッセージ キュー    msmq
2107    TCP    MSMQ-Mgmt    MSMQ-Mgmt    Message Queuing    メッセージ キュー    msmq
2393    TCP    OLAP Services 7.0    OLAP Services 7.0    SQL Server: Downlevel OLAP Client Support    SQL Server: Downlevel OLAP Client Support
2394    TCP    OLAP Services 7.0    OLAP Services 7.0    SQL Server: Downlevel OLAP Client Support    SQL Server: Downlevel OLAP Client Support
2460    UDP    MS Theater    MS Theater    Windows Media Services    Windows Media サービス    WMServer
2535    UDP    MADCAP    MADCAP    DHCP Server    DHCP サーバー     DHCPServer
2701    TCP    SMS Remote Control (control)    SMS リモート コントロール(コントロール)    SMS Remote Control Agent    SMS リモート コントロール エージェント
2701    UDP    SMS Remote Control (control)    SMS リモート コントロール(コントロール)    SMS Remote Control Agent    SMS リモート コントロール エージェント
2702    TCP    SMS Remote Control (data)    SMS リモート コントロール(データ)    SMS Remote Control Agent    SMS リモート コントロール エージェント
2702    UDP    SMS Remote Control (data)    SMS リモート コントロール(データ)    SMS Remote Control Agent    SMS リモート コントロール エージェント
2703    TCP    SMS Remote Chat    SMS Remote Chat    SMS Remote Control Agent    SMS リモート コントロール エージェント
2703    UDP    SMS Remote Chat    SMS Remote Chat    SMS Remote Control Agent    SMS リモート コントロール エージェント
2704    TCP    SMS Remote File Transfer    SMS Remote File Transfer    SMS Remote Control Agent    SMS リモート コントロール エージェント
2704    UDP    SMS Remote File Transfer    SMS Remote File Transfer    SMS Remote Control Agent    SMS リモート コントロール エージェント
2725    TCP    SQL Analysis Services    SQL Analysis Services    SQL 2000 Analysis Server    SQL 2000 Analysis Server
2869    TCP    UPNP    UPNP    Universal Plug and Play Device Host    ユニバーサル プラグ アンド プレイ サービス    UPNPHost
2869    TCP    SSDP event notification    SSDP event notification    SSDP Discovery Service    SSDP Discovery Service    SSDPRSRV
3268    TCP    Global Catalog Server    グローバル カタログ サーバー    Local Security Authority    ローカル セキュリティ機関    LSASS
3269    TCP    Global Catalog Server    グローバル カタログ サーバー    Local Security Authority    ローカル セキュリティ機関    LSASS
3343    UDP    Cluster Services    クラスタ サービス    Cluster Service    クラスタ サービス    ClusSvc
3389    TCP    Terminal Services    ターミナル サービス    NetMeeting Remote Desktop Sharing    NetMeeting リモート デスクトップ共有    mnmsrvc
3389    TCP    Terminal Services    ターミナル サービス    Terminal Services    ターミナル サービス    TermService
3527    UDP    MSMQ-Ping    MSMQ-Ping    Message Queuing    メッセージ キュー    msmq
4011    UDP    BINL    BINL    Remote Installation    Remote Installs BINL サービス    BINLSVC
4500    UDP    NAT-T    NAT-T    Routing and Remote Access    ルーティングとリモート アクセス    RemoteAccess
5000    TCP    SSDP legacy event notification    SSDP legacy event notification    SSDP Discovery Service    SSDP Discovery Service    SSDPRSRV
5004    UDP    RTP    RTP    Windows Media Services    Windows Media サービス    WMServer
5005    UDP    RTCP    RTCP    Windows Media Services    Windows Media サービス    WMServer
42424    TCP    ASP.Net Session State    ASP.Net Session State    ASP.NET State Service    ASP.NET State Service    aspnet_state
51515    TCP    MOM-Clear    MOM-Clear    Microsoft Operations Manager 2000    Microsoft Operations Manager 2000    one point

2004-12-02 (Thu)

* プロバイダ別 ntp サーバリスト

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

2004-12-01 の「winsntp windows 用 高機能 sntp クライアント」に続き、ntp を使った時計あわせの話。

当たり前だけど、ntp/sntp クライアントだけでは時刻を合わせることはできない。サーバが必要だ。では、どこのサーバを使ったらよいのか。

- ネットワーク的に近く、stratum 値が小さいサーバが良い

ntp/sntp では stratum という指標を使う。stratum の値が小さいほど、原子時計や GPS などの時刻の発生器に近い ntp サーバだ。つまり、stratum 値が小さいほど精度が高い。

そして、ネットワーク的に近いことが重要。日本からアメリカの ntp サーバを使って同期させることもできるけど、トラフィック削減と通信の安定を図るためには、できるだけ近くのサーバを利用する方が良い。私は stratum 値よりもネットワーク的に近いかどうかを重視する。stratum 1 だからといって、帯域が太く遅延が小さい良い回線と安定した ntp デーモンを持っているとは限らないからだ。遠くの stratum1 より近くの stratum2。

- 具体的にどこのサーバがいいのか

自分の利用しているプロバイダや所属する企業が ntp サーバを提供しているなら、それを使おう。ネットワーク的にも近くなるし、精度とトラフィックの節約の観点からも良い選択だ。

- 時刻合わせはマシン管理者の基本

多数のマシンを管理している管理者であれば、必ず ntp/sntp などを使って管理しているマシンの時計を合わせるようにしているはずだ。それぞれのマシンの時計がてんでばらばらでは、日々取得してるログの時刻を信頼することができない。また、cron などで毎日決まった時刻にスケジュールしているジョブの稼働時刻も信頼できなくなってしまう。ソースコード管理システムのタイムスタンプが不正確なのも困る。正確な時刻をサービスすることは基本中の基本だ。

・・・あ、例外があった。仕事場の出勤時刻・退勤時刻を記録しているマシンの管理者は、あえて時刻あわせをしていないと言っていた。理由を聞いてみると、「勤怠管理マシンの時計は遅れる方向にずれる時計だから」という答えが返ってきた。つまり、進みがちな時計を持った勤怠管理マシンは困るが、遅れがちな時計を持った勤怠マシンは重宝ということ。遅刻者を減らすための親心だそうだ。たかが数分猶予があってもあんまり変わらないと思うかもしれないが、サッカーだってロスタイムでのプレイが勝敗を決めることがある。時間の価値というのは人によって変化するものなのだ。

話がそれた。つまり、管理者なら正確な時刻の重要性をよくわかっている。そういう管理者なら、一般ユーザ向けの ntp/sntp サーバを用意しているはずだ。

- 公開 ntp サーバを使う

運悪く自分のプロバイダや所属している組織が ntp サーバを提供していない場合は、公開 ntp サーバを使う。日本からだったら精度とネットワーク的な距離を勘案しても、mfeed.ad.jp の ntp サーバがベストだろう。

Experimental NTP Servers (Public Stratum 2)
http://www.jst.mfeed.ad.jp/
ntp1.jst.mfeed.ad.jp (210.173.160.27)
ntp2.jst.mfeed.ad.jp (210.173.160.57)
ntp3.jst.mfeed.ad.jp (210.173.160.87)

あとは Google で公開 ntp サーバを検索すれば大学や研究機関などが提供する公開 ntp サーバが見つかるだろう。

おまけで2つ公開 ntp サーバを書いておく。追記した RingServer の ntp サーバも入れると3つか。

WindowsXP 標準のタイムサーバ。タスクトレイの時計をダブルクリックして出てくるダイアログの「インターネット時刻」タブの初期設定サーバ。安定していない印象がある。これを使うくらいなら mfeed.ad.jp を使おう。
time.windows.com

Mac 標準の ntp サーバ? 名前から推測するに、アップルのアジア向け ntp サーバかな。
time.asia.apple.com

2005年3月18日追記。RingServer が ntp サービスを始めた模様。個人的には実績があって安定してる mfeed.ad.jp を使うけど、それに代わる存在として活用できるだろう。たとえば、組み込みの機器のデフォルト参照先にするとか。

Ring Server Project が NTP サーバのサービスを開始
http://www.ring.gr.jp/ring/ntp.html.ja
ntp.ring.gr.jp

- プロバイダ別 ntp サーバリスト

日本の代表的な大手のプロバイダの ntp サーバを調べてみた。ただし、プロバイダ提供の ntp サーバはその会員のみ利用可能にしている場合があるので、外部から接続してもファイアウォールで弾かれてしまい、サービスの生存確認ができない場合がある。

- Yahoo BB の ntp サーバは ntp.bbtec.net ?

いままで存在しないと思いこんでたけど、Yahoo BB ユーザ向けの ntp サーバ ntp.bbtec.net が存在する模様。Yahoo BB 外からは接続できなかった。2005年5月15日 に頂いたメールによると、Yahoo! BB 内からは接続できるとのこと。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/357
357 :login:Penguin :04/03/07 15:38 ID:svzsNHyq
お、ntp.bbtec.net なんてのもあった

- OCN の ntp サーバ

いずれも OCN の外からでも接続できた。

NTPサービス
http://origin.ocn.ne.jp/ocnweb/support/staff2/ntp.html
ntp-tk01.ocn.ad.jp (東日本用)
ntp-tk02.ocn.ad.jp (東日本用)
ntp-os01.ocn.ad.jp (西日本用)

- ぷららの ntp サーバ

テスト中の模様。いずれもぷららの外からでも接続できた。

ぷららQ&A
http://www.plala.or.jp/access/study/setup/
■NTPサーバ<試行サービス>
            東日本エリアの方 西日本エリアの方
プライマリ ntp1.plala.or.jp ntp2.plala.or.jp
セカンダリ ntp2.plala.or.jp ntp1.plala.or.jp

- so-net の ntp サーバ

いずれも so-net の外からでも接続できた。

【テレホ不可】so-net総合スドレ Part2
http://pc6.2ch.net/test/read.cgi/isp/1065281821/309
309 :名無しさんに接続中… :04/02/17 18:59 ID:vM4QNcSP
So-netってNTPサーバー用意してない?


310 :名無しさんに接続中… :04/02/17 22:21 ID:NMQ9aadl
>>309
昔、サポートに問い合わせたことある。

| So-netではサービスとしてNTPサーバーをご提供しておりません。
| So-netネットワーク内でご利用いただけるサーバー名を以下にご紹介させて
| いただきますのでお試しください。
|
| サーバー名 : ux02.so-net.ne.jp
| ポート : 123
|
| なお、上記のNTPサーバーは予告なくサービスを停止する場合がございますので予
| めご了承ください。


311 :名無しさんに接続中… :04/02/17 23:43 ID:1BRHb/jk
ntp.so-net.ne.jp で普通に時刻が引けますよ…

- ODN の ntp サーバ

ODN の外からでは接続できなかった。廃止されたのか、接続制限のせいなのかは不明。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/316
316 :login:Penguin :03/12/07 08:03 ID:17bNG255
ODN にもあった。例によって判りやすい名前(w
ntp1.odn.ne.jp

2005年1月21日追記。サービスが終わったらしいという情報があった。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/589
589 :login:Penguin [sage] :05/01/21 18:21:56 ID:QviypMgH
おれODNだけどntp1.odn.ne.jpに繋がらなかったよ
終了したと思われ。

- asahi-net の ntp サーバ

asahi-net の外からでも接続できた。

asahi-net: 設定ガイド: 各種サーバー一覧
http://www.asahi-net.or.jp/guide/0000.htm
ntp.asahi-net.or.jp

- DION の ntp サーバ

2005年1月21日追記。括弧の中の値は stratum値だそうだ。? マークが付いてるけど。

DION の ntp サーバは 2004-12-02 の時点でも Google などで探したんだけど、全く情報がなかったので存在しないと思ってた。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp02.dion.ne.jp (?)
ntp03.dion.ne.jp (?)

- WAKWAK の ntp サーバ

2005年1月21日追記。括弧の中の値は stratum値だそうだ。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp1.wakwak.com (3)
ntp2.wakwak.com (3)

- USEN の ntp サーバ

2005年1月21日追記。括弧の中の値は stratum値だそうだ。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp01.usen.ad.jp (3)
ntp02.usen.ad.jp (3)
ntp03.usen.ad.jp (3)

- SAKURA Internet の ntp サーバ

2005年1月21日追記。括弧の中の値は stratum値だそうだ。

さくらインターネットはレンタルサーバのイメージがあるけど、プロバイダもやってたんだっけ。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp1.sakura.ad.jp (1) IPv6対応 :-)

- BB.Excite の ntp サーバ

2005年1月21日追記。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/646
646 :login:Penguin :05/01/21 21:30:05 ID:3X2wq/UM
BB.Exciteなら
つ ntp.excite.co.jp

See:
http://cdn.excite.co.jp/service/guide/faq/?mode=4

Excite:BB.excite接続サービス 〜フレッツ対応プロバイダ〜
http://cdn.excite.co.jp/service/guide/faq/?mode=4#06
Q. NTPサーバのアドレスを教えてください。
A. ntp.excite.co.jpを設定して下さい。
なお、当社の正式なサービスではございませんので、動作が不安定になることや予告なく機能が停止する場合がございます。あらかじめご了承ください。

- biglobe の ntp サーバ

2005年1月22日追記。

時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/781
781 :login:Penguin [sage] :05/01/22 19:19:02 ID:uL1i5yci
BIGLOBEのNTPサーバ見つけた!
ntp01.tk.mesh.ad.jp
ntp02.tk.mesh.ad.jp
ntp03.tk.mesh.ad.jp
3つとも stratum 2。網外からは接続不可。

2004-08-18 (Wed)

* Yahoo BB ネットワーク設計者インタビュー

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

日経バイト2004年7月号の Yahoo BB ネットワーク設計者 平宮康広氏の話はちょっと面白かった。BB テクノロジー社の前身と、Yahoo BB のネットワーク構築思想が語られていた。

この人はこういう経歴だったのか。社員二人しかいないのに宣伝のために駅前でティッシュ配りをしようかと話していた、というくだりには笑った。

DHCP 問題やファイル共有問題についても語られていた。この問題はずいぶん前にいろんなところで読んだ気がするが、設計者が語ったものは初めて読んだと思う。平宮氏はこの問題発生時には直接関わっていなかったとのこと。原因は DSLAM のフィルタを VoIP 開始に伴って外してしまい、ブロードキャストを通すようにしてしまったことと、ルータの HSRP (Hot Standby Routing Protocol) の設定ミスだそうだ。

そういえば、日経IT Pro に掲載されていた P2P よりも経路情報のトラフィックの方が多いという記述はなかったな。あ、IT Pro のは日経コミュニケーション誌のインタビューか。聞き手も違うな。日経コミュニケーションのバックナンバーを何冊か見てみたが、該当の記事は見つけられなかった。本誌には掲載しない Web だけの記事なのかな。

P2Pは悪くない,事業者が考えるべき策はまだある : IT Pro インタビュー
http://itpro.nikkeibp.co.jp/free/NCC/INTERVIEW/20040728/1478 ...

2004-02-12 (Thu)

* サーバのHTTP圧縮転送の有効/無効を確認できるサイト

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [http] [ネットワーク]

Port80 Software: Fortune 1000 HTTP Compression Survey
http://www.port80software.com/surveys/top1000compression/#ch ...

以下をチェックしてくれる。

・指定した url のサイトでは http 圧縮がされているかどうか
・圧縮されているならフォーマットは何か。deflate なのか gzip なのか。
・圧縮されてないときは、仮に圧縮したらどの程度のサイズになり、どれくらい高速化できるか

Port 80 に telnet して Accept-encoding: gzip 付きのリクエストを送ってレスポンスを見ればいいんだけど、フォームから確認できるのは簡単でいい。

Webビジネスコンサルタントのネタ帳「パケット料金が気になるなら圧縮転送を試すべき」から。
http://neta.ywcafe.net/000107.html
そしてiモードなどの携帯電話用ブラウザも、とっくの昔から対応している。

知らなかった。Content-Encoding に対応してるなんて、今の i-mode って高機能なんだなあ。

追記。i-mode が Content-Encoding 対応というのは誤報だった模様。

- 2ちゃんねるを救ったのも gzip だったなあ

そういえば、2001年8月の 2ch.net の閉鎖の危機、いわゆる「8月危機」を救ったのも gzip ということになってたなあ。あのときの2ちゃんねるは確か160Mbps というすさまじい転送量に悩んでいた。なんとかして転送量を減らしたいが、ホスティング先との契約だか手間だかの問題で、mod_gzip なんてインストールできないとのことだった。結局、read.cgi 改良チームは 直接 gzip コマンドを呼び出して圧縮させるというすごい手法を選んだ。そのときの2ちゃんねるは転送量に悩んではいたが CPU は余ってたのでこの方法でも劇的な効果を上げていた。

- Landscape は gzip 転送されてるのかな

やってみよう。
http://www.port80software.com/tools/compresscheck.asp?url=ht ...
Compression status:  Uncompressed
あ、生なんだ。infoseek は CPU 負荷を気にしてるのかな。

2004-01-03 (Sat)

* データセンターでネットワークに繋がらないというトラブルにはまる

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

サーバを設置しにとあるデータセンターへ行った。そこで Linux マシン2台がネットワークにつながらないというトラブルに見舞われた。今後、類似のトラブルを招かぬよう、教訓とするためメモしておく。また、このメモを読んだ人がトラブルを疑似体験できるように、結論から書くことはせずに、時系列に沿って書くことにする。

- 現象

Linux マシンは2台。それぞれの IP アドレスは 10.16.50.145/26 と 10.16.50.146/26 が割り当てられている。ネットワークインターフェイスはどちらのマシンも一つのみ。
デフォルトゲートウェイを 10.16.50.129 に設定。
ブロードキャストアドレスは 10.16.50.191 に設定。

この環境で、まずデフォルトゲートウェイ 10.16.50.129 に ping が通らない。
ブロードキャストアドレスに ping -b しても返ってこない。
10.16.50.145 から 10.16.50.146 に ping しても返ってこない。
10.16.50.146 から 10.16.50.145 に ping しても返ってこない。

- 確認したこと

スイッチは Cisco Catalyst 2950。スイッチのポートは 100Base-TX Full Duplex 固定なので、Linux マシンの NIC が 100Base Full 固定になっていることを確認。/etc/modules.conf のパラメータは正しく 100Base Full を指定していた。念のため dmesg でカーネルメッセージを確認したところ、100 Full で Link up していた。

eth0: Intel(R) 8255x-based Ethernet Adapter
Mem:0xfa021000  IRQ:11  Speed:100 Mbps  Dx:Full
Hardware receive checksums enabled

ping のサイズを変えてみる。
ping -s 1000 10.16.50.129
として、パケットのサイズを大きくしてみるが、やはり返ってこない。

/sbin/ifconfig で、ドロップパケットと エラーパケットが発生していないかを確認。どちらも値はゼロ。Full Duplex なのでコリジョンも発生していない。

Catalyst 2950 にログインして確認。ポートは 100Base Full 固定で動作中。ドロップもエラーも発生していない。ICMP パケットは受け取っているようだ。

10.16.50.145 から ping を Catalyst 2950 の管理用アドレスに流しっぱなしにして、ethereal で パケットをキャプチャしてみる。キャプチャ結果で見る限り、パケットは Linux マシンから正常に Catalyst に飛んでいるようだ。しかし、リプライが返ってこない。キャプチャを続けていると、不可解な現象2が起きた。

- 現象2

ping を30秒くらい流しっぱなしにしていると、突如リプライが返ってくる。表示を見ると、シーケンス番号 1から40のリプライが返ってきているが、その次のリプライのシーケンス番号は70に飛ぶ。シーケンス番号だけを見ると、周期的につながったり切れたりを繰り返しているように見える。

- わからない

まったくもって原因がわからない。現象2から察するに、何かタイムアウトを待ってるような気もするが、わからない。こういうときは下のレイヤから疑っていくべきだと思い、ケーブルとスイッチの交換を提案しようとしたとき、担当者の一人が気づいた。「デフォルトゲートウェイのアドレスって、10.16.50.129 で良かったんでしたっけ?」

- 原因判明

データセンターが発行した資料に書かれていたデフォルトゲートウェイのアドレスが間違っていた。
10.16.50.129 ではなく、10.16.50.130 が正しいアドレスだった。これが今回の障害の原因だ。

- 教訓

ネットワークにつながらないときは、もう一度 IP アドレス、サブネットマスク、デフォルトゲートウェイをネットワーク管理者 (ここ重要) に確認しよう。

まったくこんなことで30分以上悩むなんて、もう二度としちゃいけないよなあ。

- 疑問

10.16.50.145 から 10.16.50.146 への ping は同じサブネット内の通信なのに、なんでデフォルトゲートウェイのアドレスが関係あるんだろう?
同じサブネット内だったらブロードキャストアドレスに arp して MAC アドレスを解決しさえすれば、後はそのノードだけで通信ができるはず。

- 疑問への回答と教訓2

ping コマンドが DNS を逆引きしようとしていたようだ。そのため、ローカルの通信でも DNS を引きに行こうとするが、DNS サーバは同じセグメントには存在しない。同じセグメントに存在しないので、ping はデフォルトゲートウェイを経由して名前解決をしようとするが、肝心のデフォルトゲートウェイのアドレスが間違っているため、パケットを渡しても中継されずにタイムアウトしてしまう。今回は素の ping ではなく、逆引きをしない ping -n を使うべきだったのだ。

2003-11-12 (Wed)

* ロードバランサについて調査

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

連載:ロードバランサの本質(1)パケットフローから負荷分散の基本を理解する 〜NAT/コネクションテーブル/MAT〜
http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html

負荷分散装置を利用したシステム構築
http://www.soi.wide.ad.jp/iw2001/slides/11/11-1/

- ソフトウェアロードバランサ

UltraMonkey - VA Linux Systems ジャパン
http://ultramonkey.jp/
http://ultramonkey.jp/2.0.1/topologies/
Linux仮想サーバーを使用したレイヤ4スイッチング

リバースプロキシ & ロードバランサ − Pound
http://www10.ocn.ne.jp/~sayu/other/pound.html
レイヤ7でのロードバランシングが可能

pound
http://www.apsis.ch/pound/

The Linux Virtual Server Project - Linux Server Cluster
http://www.linuxvirtualserver.org/

mod_perl における C10K Problem
http://www.google.co.jp/search?q=cache:y_K-VLZSdd4J:shibuya. ...
応用事例

ネットワーク負荷分散技術 概要
http://www.microsoft.com/japan/windows2000/techinfo/howitwor ...
Windwos 版 Ultra Monkey みたいな機能。NLB と呼ばれる。Windows2003 Serer か、Windows2000 Advanced Server が必要。
heart beat 検出のために複数の NIC が必要。

- 書籍

サーバ負荷分散技術サーバ負荷分散技術

トニー ブルーク / Tony Bourke / 鍋島 公章 / 横山 晴庸 / 上谷 一
発売日: 2001/12


amazon で詳しく見る   bk1で詳しく見る

2003-07-02 (Wed)

* TCP 3ウェイハンドシェイク時の SYN ACK の正式名称

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

TCP の 3ウェイハンドシェイク (3way handshake) の SYN や ACK の略称ではない名前。

SYN: synchronize
ACK: acknowledge

RFC 793 TRANSMISSION CONTROL PROTOCOL

- 3ウェイハンドシェイクによる接続の流れ

クライアントが SYN をサーバに送信する。
サーバは SYN + ACK をクライアントに返信する。
クライアントは ACK をサーバに送信する。これで TCP 接続が成立する。

2003-06-11 (Wed)

* well known port と ephemeral port

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

1023 番までのポートを well known port と呼ぶ。
では、それ以降の1024番から65535番までのポートを何と呼ぶかというと、
ephemeral port と呼ぶそうな。ephemeral は「儚い」とか、「短命な」という意味だそうだ。
http://dictionary.goo.ne.jp/search.php?MT=%65%70%68%65%6D%65 ...
エフェメラルってなんか発音しにくいなあ。

2003-05-14 (Wed)

* 100Mbps で24時間フルに転送したときのデータ転送量

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

ちょっとデータ転送量について計算。

- 100Mbps フルに転送し続けた場合のデータ量

10 MB/Second = 600 MB/Min = 35 GB/Hour = 863 GB/Day = 24 TB/Month = 288 TB/Year

もう少し厳密に計算する。

100Mpbs = 12.5MB/Second = 750MB/Min = 45GB/Hour = 1080GB/Day = 32.4TB/Month = 379TB/Year

300TB から 400TB 弱というところ。テラバイトか。逆に言うと、1テラバイトのハードディスクを100Mps の LAN で転送しようとすると一日がかりの仕事になるってことだ。ギガビットイーサが欲しくなるね。

- 44.1KHz 16bit 2ch を転送し続けた場合のデータ転送量

CD 音質のデータである 44.1KHz 16bit 2ch を転送し続けた場合のデータ転送量。

441000 * 16 * 2 / 8 = 1764000byte
172.265625 KB/Sec
10.09368896484375 MB/Min
606 MB/Hour
14.1942501068115234375 GB/Day
425.827503204345703125 GB/Month
5.05947391502559185028076171875 TB/Year

上記にプロトコルごとのヘッダなどのオーバーヘッド加わるので、実際のデータ量はもっと大きくなるはず。

すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。