2.2.12 の netwrok 関連の設定の内興味のあるものメモ。 [CONFIG_NETLINK] ネットワーク関連の情報を知らせるのにこのドライバを使用。 (要 ) 36 char Netlink support 0 = /dev/route Routing, device updates, kernel to user 1 = /dev/skip enSKIP security cache control [CONFIG_INET] tcp/ip networking /proc/sys/net/ipv4/* にてパラメータを変更可能。(sysctl) Documentation/Networking/ip-sysctl.txt http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html [CONFIG_IP_ROUTE_NAT] 通過するパケットの送信元および宛先アドレスを、 指定する方法で変更できるようになる。 http://www.csn.tu-chemnitz.de/~mha/linux-ip-nat/diplom/nat.html [CONFIG_IP_FIREWALL_NETLINK] ipchains ツールを用いて Linux ファイアーウォールを ヒットしたパケットをユーザ空間にある監視ソフトウェアに渡すことができる ようになる。 mknod ?? c 36 3 <- どんな名前のすればよいかわからん [CONFIG_IP_MASQUERADE_MOD] IP マスカレーディング用特殊モジュール ipautofw (固有のマスカレーディング・モジュールを持たないような プロトコルをマスカレードできるようにする)。 port forwarding (マスカレーディングするホストを通して, ローカル・コンピュータの受け側ポートを見えるようにする)。 need "ipmasqadm" http://juanjox.linuxhq.com/ [CONFIG_NET_IPIP] ip tunneling (mobile ip etc..) http://anchor.cs.binghamton.edu/~mobileip/LJ/index.html [CONFIG_NET_IPGRE] ip tunneling fro cisco router and ipv6 終点(endpoint)が Cisco ルータである場合に役立つ。 Cisco は他の Linux の トンネル・ドライバ(CNOFIG_NET_IPIP) より GRE を好む。 GRE ではトンネルを通してマルチキャストの配送を行うことができる。 [CONFIG_NET_IPGRE_BROADCAST] ip broadcast GRE over ip GRE/IP アプリケーションのためにブロードキャスト need CONFIG_IP_MROUTE [CONFIG_IP_PIMSM_V1] スパースモードの PIM(Protocol Independent Multicast --- プロトコル独立マルチキャスト) ver 1。 これは Cisco がサポートしている。 http://netweb.usc.edu/pim/ [CONFIG_IP_ALIAS] 一つの物理的なネットワーク・インターフェース (シリアル・ポートやイーサネット・カード)に複数の IP アドレスを付与する。 [CONFIG_SYN_COOKIES] TCP/IP スタックは "SYN cookies" として知られる暗号化された チャレンジプロトコルを使って,攻撃にさらされている間でも 正規ユーザが接続し続けられるようにします。 ftp://koobera.math.uic.edu/pub/docs/syncookies-archive echo 1 >/proc/sys/net/ipv4/tcp_syncookies (need) [CONFIG_SKB_LARGE] 高速で長距離のネットワークでは,受信側が応答を返してくるまで 送信側のマシンが蓄えていることの出来るデータ量がネットワークの 性能限界ということになる。 任意の与えられた時刻に大量のデータを送れるようにするために 大きなバッファが使われる。 [CONFIG_IPV6_EUI64] at 6bone 集約可能な新しいアドレス形式と EUI-64 と呼ばれるリンク ローカルアドレスの新しいアドレス割り当てに移行。 [CONFIG_IPV6_NO_PB] backward compatible eui64 [CONFIG_BRIDGE] 異なったイーサネット・セグメントを、ネットワークの参加 者に対して1つのイーサネットに見せる。 IEEE802.1 のスパニング・ツリー・アルゴリズムを使って、 より大きなイーサネットのネットワークを作る。 ブリッジ設定ツール ftp://shadow.cabi.net/pub/Linux === QoS / fair queueing=== [CONFIG_NET_FASTROUTE] 直接 NIC 間でデータ転送(高速)。 重要なネットワークオプションと「両立しない」(firewall etc) [CONFIG_NET_HW_FLOWCONTROL] 高速インターフェース間の転送。 [CONFIG_NET_SCHED] QoS パケット・スケジューラ tp://ftp.inr.ac.ru/ip-routing/ の iproute2+tc パッケージ [CONFIG_NET_SCH_CBQ] Class-Based Queueing (CBQ) パケット・スケジューリング・アルゴリズム (待機しているパケットをクラスのツリー状の階層に分類) net/sched/sch_cbq.c の先頭 [CONFIG_NET_SCH_CSZ] Clark-Shenker-Zhang (CSZ)パケット・スケジューリング・アルゴリズム リアル・タイム・アプリケーションに確実なサービスを することのできるアルゴリズム net/sched/sch_csz.c の先頭 (now broken) [CONFIG_NET_SCH_PRIO] いくつかのネットワーク・デバイスや CBQ スケジューリング・アルゴリズムに leaf discipline として n バンド priority 待機パケット「スケジューラ」 を使いたいなら。 [CONFIG_NET_SCH_RED] (RED 待機) Random Early Detection (RED) パケット・スケジューリング・アルゴリズム net/sched/sch_red.c [CONFIG_NET_SCH_SFQ] (SFQ 待機) CBQ スケジューリング・アルゴリズムに leaf discipline として Stochastic Fairness Queueing (SFQ)パケット・スケジューリング・アルゴリズム を使いたいなら。 net/sched/sch_sfq.c [CONFIG_NET_SCH_TEQL] (TEQL 待機) いくつかのネットワーク・デバイスや CBQ スケジューリング・アルゴリズム に leaf discipline として True Link Equalizer (TLE) パケット・スケジューリング・アルゴリズムを 使いたいなら。 この待機 discipline はいくつかの物理的なデバイスの組合せを ひとつの仮想デバイスにできる。 net/sched/sch_teql.c [CONFIG_NET_SCH_TBF] (TBF 待機) いくつかのネットワーク・デバイスや CBQ スケジューリング・アルゴリズム に leaf discipline として Simple Token Bucket Filter (TBF) パケット・スケジューリング・アルゴリ ズムを使いたいなら。 net/sched/sch_tbf.c --- network devise --- [CONFIG_DUMMY] (ネットワーク用ダミードライバのサポート) IP アドレスを設定できるヌルデバイス (このデバイスに送られたデータは忘却の大海に流される)。 このデバイスは機能していない SLIP アドレスを実際のアドレスに見 せかけるのによく使う。SLIP や PPP を使う場合, この機能を使えるようにしておいた方がよい。 ftp://metalab.unc.edu/pub/Linux/docs/LDP Network Administrator's Guide この機能は便利 for module, dummy0 dummy1... [CONFIG_ETHERTAP] mknode tap0 c 36 16 特殊ファイルで生のイーサネット・フレームを読み書きする ユーザ・プログラムを持てるようになる。 ifconfig と route で設定可。 ユーザが /dev/tap0 に書き込んだすべてのことは, あたかも LAN からデバイス tap0 に来たようカーネルで処理されます。 デバイス tap0 に送信するためにカーネルに必要なすべてのことは, 代りに /dev/tap0 からユーザによって読まれる。 ユーザのプログラムは普通のイーサネット・デバイスに接続された LAN を置き換えます. Documentation/networking/ethertap.txt