anchor.diff:  [[routing_process_overview]]
   = ルーティングプロセス概要
   
  -ルーターポートに進入するトラッフィックについて、ルーターは以下を行います。
  +ルーターポートに進入するトラッフィックについて、ルーターは下記動作を行います。
   
  -* 与えられたパケットの送信元と送信先に基づき、そのパケットのデスティネーションとルーティングテーブル内のルートをマッチします。
  +* 与えられたパケットの送信元と送信先に基づき、パケットとルーティングテーブル内のルートをマッチ
  +します。低いウェイトを持つルートが優先されます。
   
  -* マッチするルートがひとつ以上あるパケットに関しては、パケットを送るにあたってルートのウェイト値に基づいてランダムに選んだものを使用します。
  +* マッチするルートが一つ以上あるパケットに関しては、パケットを送るにあたってルートのウェイトに
  +基づいてランダムに選んだものを使用します。
   
  -* マッチするソースと、デスティネーションのルートとマッチしないパケットに関してはパケットをドロップします。
  +* 該当する送信元と宛先とを持つルートが存在しない場合、パケットをドロップします。
   
   ルーターはルーティングテーブル内の以下のフィールドの情報を使います。
   
  -* ソース: 直接接続されたネットワークとホストへのデリバリー、もしくは他のネットワークへのゲートウェイへ転送するため、IPアドレスとネットワークを定義してフィルターをかけて評価します。  
  +* ソース: パケット送信元IPアドレス・プレフィックスをフィルターします。
   
   * ルートタイプ: パケットに対してのアクションを決定します。
   
   * ネクストホップポートとネクストホップゲートウェイ: パケットをどこに送るか決定します。
   
  -下記は、テナントルーター上の２つのサンプルルートです(MidoNet CLIを使って表示されています)。
  +下記は、テナントルーター上の２つのサンプルルートです（MidoNet CLIを使って表示されています）。
   
   [source]
   route route2 type normal src 0.0.0.0/0 dst 172.16.3.0/24 port router0:port1 weight 100
  
positive.code: 
  == ソース
  
  ソースベースルーティングについては、ルートのソースプレフィックスを示します。どのルートがパケットに適用されるかを決めるアルゴリズムは簡単に述べると以下のようになります。
  
  . ソースプレフィックスがパケットのソースとマッチしない全てのルートは無視します。0.0.0.0/0というソースプレフィックスは全てにマッチします。/0は長さがゼロのビットマスクを意味するので、アドレス0.0.0.0は無視されます。
  
  . デスティネーションプレフィックスがパケットのデスティネーションとマッチし、最長マスク (別名・最長プレフィックスマッチング)をもつルートを見つけます。
  
  . もし（同じデスティネーションプレフィックスマスクの長さである）ルート候補がひとつ以上ある場合は、ルートのウェイトフィールドに基づき、重み付きランダムセレクションを使います。
  
  == タイプ
  
  ３タイプ: ノーマル、ブラックホール、リジェクトがあります。
  
  * ノーマル: パケットを転送するための通常タイプのルートです。パケットを送るために、ネクストホップゲートウェイとネクストホップポート情報を使います。
  
  * ブラックホール: パケットがこのルートにマッチしたときには通知を送ることなくパケットをドロップするべきであると示します。もし外部ネットワークにフローティングIPアドレスが存在しない場合には、トラフィックはブラックホールに送られそこでドロップされます。
  
  * リジェクト:パケットがこのルートとマッチする場合を除き、ブラックホールと同様ルーターはICMPエラーを返します(MidoNetはフローの最初のパケットを受信したとき、またはフローが再計算されたときにエラーを送ります)。エラーはタイプ3で (デスティネーションポートに届かなかったことを意味します)、ルートのデスティネーションプレフィックスが32ビットのマスクを持っている(すなわち、特定のホスト= コード10)、または32ビット以下のマスクを持っている(ネットワーク = コード9)ので、コードはコード9もしくはコード10(デスティネーションホスト/ネットワークが管理上禁止されているものです)です。詳しい情報についてはhttp://en.wikipedia.org/wiki/ICMP_Destination_Unreachable#Destination_unreachableをご参照ください。
  
  == 送信先
  
  ピアデバイス (ルーターやブリッジなど)に接続されているインターフェースのIPアドレスを示します。 これはデスティネーションピアに送られたパケットの放出ポートです。
  
  == ネクストホップゲートウェイ
  
  パケットに何を行うかに関してルートは３つのオプションを持っています。
  
  . パケットをドロップします。このケースの場合、ネクストホップゲートウェイは必要ありません。
  
  . パケットをデスティネーションに直接転送します。これはデスティネーションがルーターのポートのうちのひとつとして同じL2ネットワークにある場合にのみ発生します。通常これはパケットのデスティネーションアドレスがルーターのポートと同じネットワークプレフィックス内にあるということです。同じく、ネクストホップゲートウェイは必要ありません。
  
  . パケットをデスティネーションに送りますが、中間ルーターを使います。このようなルートは”ネクストホップゲートウェイ”として知られています。
  
  ネクストホップゲートウェイは、このルートを持っているルーターに向いた中間ルーターのポートのIPアドレスです。このIPアドレスはARP resolutionを行うため (IPアドレスをMACアドレスにマッピングします) と、中間ルーターにパケットを放つ前にどのようにそのデスティネーションMACアドレスを書き換えるのかを決めるためだけに使われます。
  
  通常のルーター（＝物理的なルーター）のルートはターゲット/デスティネーション仮想ポートを持っていない (MidoNetの'Normal'ルートは持っています。"タイプ"をご参照ください)という点において 、MidoNetの仮想ルーターとは違うということを留意してください。従って、通常のルーターはパケットを放つのにどのポートが使われるべきかを決めるために、ネクストホップゲートウェイIPアドレスを使います(ポートのプレフィックスはネクストホップゲートウェイのIPアドレスにマッチします)。
  
  == ネクストホップポート
  
  
negative.code: 
  == ウェイト
  
  複数のパスが存在する送信先へのパケットのロードバランシングに使われます。より低いウェイトを持つパスが
  優先されるパスとみなされます（例えば高帯域幅のパス）。デフォルトのウェイトは100です。BGPピアから
  学習したルート情報の場合は、BGPのAD値がルートのウェイトになります。"ソース" の項目もご参照ください。
  