タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

networkとkernelに関するdaisukebeのブックマーク (2)

  • ルーティングテーブル - Linuxカーネルメモ

    IPv4のルーティングテーブルに関するメモ 1. 概要 Linuxではルーティングテーブルのことをフォワーディングインフォメーションベース(FIB)と呼ぶ(以下でルーティングテーブルと呼んだ場合はFIBのことを指す)。また、パケットの送受信で参照されたルーティングエントリはルートキャッシュにキャッシュして次から素早くルーティングエントリを検索できるようになっている。 2. フォワーディングインフォメーションベース 2.1 FIBの構造 FIBの構造を図1に示す。 FIBはハッシュ構造をしている(*1)。 ルーティングエントリは宛先のプレフィクス長(サブネットマスク長)毎に分けて管理される。各プレフィクス長(0〜32)毎にZone(struct fn_zone)が存在し、プレフィクス長(Zone)毎にハッシュテーブル(fz_hash)を持つ。宛先のプレフィクス長が同じルーティングエントリは、

  • 第7回 ネットワーク処理はモジュール処理と上下が逆

    前回は,カーネルにモジュールを追加する処理をデバイス・ドライバを例に解説しました。デバイスに依存しない上位層の共通関数と,デバイスに依存する下位層の実関数を結び付けているのが構造体でした。今回は,下位に共通関数,上位に実関数がくる場合をネットワーク処理を例に見ていきます。 前回は,カーネルでよく使われている構造体の利用方法を紹介しました。デバイスに依存する処理を記述した「実関数」と,どのデバイスでも共通に使える「共通関数」を別々に定義しておき,構造体を使って,実関数と共通関数を同じものとして定義するというものでした。これにより,いかなるデバイスを使うときでも同じ共通関数名が使えるようになり,デバイスを物理的に差し替えたときも,上位層のプログラムのソース・コードを書き換えずに済みます。この方法はデバイス・ドライバだけではなく,カーネルのモジュール一般でよく用いられています。 今回も,同じよう

    第7回 ネットワーク処理はモジュール処理と上下が逆
    daisukebe
    daisukebe 2008/02/18
    IPのバージョンによる関数の使い分け。関数ポインタ
  • 1