Hatena::Grouptech

id:rx7(@namikawa)の技術メモ このページをアンテナに追加 RSSフィード

過去記事一覧 | Main Blog (元RX-7乗りの適当な日々) | SBM (id:rx7のBookmark)

2011/09/22

Multiqueue Networking

| Multiqueue Networking - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - Multiqueue Networking - id:rx7(@namikawa)の技術メモ Multiqueue Networking - id:rx7(@namikawa)の技術メモ のブックマークコメント

ネットワークデバイスのマルチキュー対応は、Linux kernel 2.6.27以降。送信キューの話。

最近のネットワークチップ、特にワイヤレスネットワーク系のチップは、複数の送信キュー(Multiqueue)を持つものが一般的です。これにより通信をサービスごとに分類し、動画・音声などのマルチメディア系のデータを優先的に送信することにより、音飛びなどを防いでいます。

 ところが、従来はカーネル本体が複数送信キューをサポートしていなかったため、ドライバ側で独自にフレームワーク的なコードを実装する必要があり、大変でした。それが改善されたことになります。

10月版 2.6.27はLTSに、命名規則の変更案も飛び出した(1/2) − @IT

参考

トラックバック - http://tech.g.hatena.ne.jp/rx7/20110922

2011/09/12

TCP: time wait bucket table overflow

| TCP: time wait bucket table overflow - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - TCP: time wait bucket table overflow - id:rx7(@namikawa)の技術メモ TCP: time wait bucket table overflow - id:rx7(@namikawa)の技術メモ のブックマークコメント

dmesgとかsyslogに出ていた。

説明

TCPソケットのTIME_WAIT状態を管理するために使用するスラブキャッシュのサイズが最大値(tcp_max_tw_buckets)に達した。

tcp_max_buckets はユーザーが設定することができ、デフォルト値は 16384 である。

現在の値を確認するには、以下の2つの方法のいずれかを利用すればよい。

1. # cat /proc/sys/net/ipv4/tcp_max_tw_buckets
2. # sysctl net.ipv4.tcp_max_tw_buckets

対処

tcp_max_tw_buckets をシステムの TCP ソケット利用状況に合わせて拡張する。

この制限は、DOS攻撃に対処するためだけに設けられているもので、この値を大きくすることで、メモリリソースなどを無闇に消費することはない。

tcp_max_tw_buckets の設定方法は以下の2つがある。

1. # echo <スラブキャッシュサイズ> > /proc/sys/net/ipv4/tcp_max_tw_buckets
2. # sysctl -w net.ipv4.tcp_max_tw_buckets=<スラブキャッシュサイズ>
no title
トラックバック - http://tech.g.hatena.ne.jp/rx7/20110912

2011/09/05

bondingのモード変更時の反映

| bondingのモード変更時の反映 - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - bondingのモード変更時の反映 - id:rx7(@namikawa)の技術メモ bondingのモード変更時の反映 - id:rx7(@namikawa)の技術メモ のブックマークコメント

リブートしなくても設定の反映ができる。

# ifconfig bond0 down
# rmmod bonding
# modprobe bond0
# ifconfig bond0 up

こんな感じで。

変更後は、"/proc/net/bonding/bond0"とかで結果のチェック。

トラックバック - http://tech.g.hatena.ne.jp/rx7/20110905