Linux Tips

Linuxでは表示できないWebサイトがある

北浦訓行
2004/11/18

 Linuxでは、キヤノン(http://canon.jp/)や佐川急便の荷物問い合わせシステム(http://k2k.sagawa-exp.co.jp/)など、特定のWebサイトが表示できないことがある。これは、ECN(Explicit Congestion Notification)という仕組みを経路中のルータがサポートしていないことが原因だ。

 ECNは、経路の混雑具合をルータがクライアントに通知する機能だ。経路が混雑している場合は送出データのサイズを小さくし、空いていれば送出データのサイズを大きくして、効率的にデータを転送する。しかし、ENCをサポートしていないルータに対してLinuxがENCオンのモードで通信を行うと、ルータからのリプライがないため通信できなくなってしまう。

 Linuxは、カーネル 2.4から「CONFIG_INET_ECN」というコンパイルオプションをサポートした。各ディストリビューションはカーネルのコンパイル時にこれをdisableにしているため、ECNの影響を受けずに各Webサイトを表示できる(半面、混雑状況に関係なく通信するため効率は悪い)。kernel.org(http://www.kernel.org/)で公開されているカーネルは、デフォルトでCONFIG_INET_ECNがenableになっているため、ここからダウンロードしたカーネルを再構築すると、前述したようなECNの影響を受ける。

 ECNがenableかdisableかを調べるには、rootで以下のコマンドを実行する。

# cat /proc/sys/net/ipv4/tcp_ecn

 結果が0ならばECNはdisable、1ならばECNはenableだ。

 enableになっているときは、以下のコマンドで一時的にECNをdisableにすることもできる。

# echo 0 > /proc/sys/net/ipv4/tcp_ecn

 逆に、ECNを使って効率的に通信を行いたい場合は、

# echo 1 > /proc/sys/net/ipv4/tcp_ecn

として、ECNをenableにする。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間