Linux Tips | |
Linuxでは表示できないWebサイトがある 北浦訓行 |
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カテゴリ別インデックス |
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|