2012-02-17 5 views
17

ルータ(IPv4)のネットワーク:

Destination    Interface 
0.0.0.0/0    m0 
172.58.128.0/17   m1 
172.58.128.0/19   m2 
172.58.160.0/19   m3 

に一致する最長のプレフィックスは、私が正しいとするインターフェイスを選択する必要があります。 私はそうしました:

172.58.218.80 m2 
172.58.165.90 m3 
172.58.124.36 m1 
172.58.169.18 m3 
172.58.155.112 m2 
172.59.12.142 m0 

誰でもこの権利をしましたか? Beacuse私は「最長プレフィックスマッチ」を本当に理解していません。

アドレスがルーティングテーブルで「一致」していることを確認するにはどうすればよいですか?

おかげ


感謝。 resmon6

だから、ステップ1をバイナリに変換します。

10101100.00111010.10000000.00000000 172.58.128.0/17 
10101100.00111010.10000000.00000000 172.58.128.0/19   
10101100.00111010.10100000.00000000 172.58.160.0/19 

ステップ2プレフィックスを取得するためにサブネットマスクを使用します。

10101100.00111010.1 is the prefix for 172.58.128.0/17 
10101100.00111010.100 is the prefix for 172.58.128.0/19 
10101100.00111010.101 is the prefix for 172.58.160.0/19 

ステップ3

10101100.00111010.11011010.01010000 172.58.218.80 
10101100.00111010.10100101.01011010 172.58.165.90 
10101100.00111010.01111100.00100100 172.58.124.36 
10101100.00111010.10101001.00010010 172.58.169.18 
10101100.00111010.10011011.01110000 172.58.155.112 
10101100.00111011.00001100.10001110 172.59.12.142 

-------------------------------------------------------- 
10101100.00111010.1 
10101100.00111010.100 
10101100.00111010.101 

だから、

172.58.218.80 m1 
172.58.165.90 m3 
172.58.124.36 m0 
172.58.169.18 m3 
172.58.155.112 m2 
172.59.12.142 m0 

を意味しますが、私はそれをチェックするために助けることができる、今正しいのですか?あなたは、ルーティングテーブルを有する場合

おかげ

+0

今すぐ私に見えます。 –

答えて

18

接頭辞は、それ自体がサブネットマスク内のビット数のみをマッチング、バイナリに変換する経路です。ですから、このルーティングテーブルに

192.168.100.0/24 
192.168.0.0/16 

を取ると、あなたは、あなたが接頭辞を取得するためにサブネットマスクを使用

11000000.10101000.01100100.00000000 192.168.100.0/24 
11000000.10101000.00000000.00000000 192.168.0.0/16 

を取得バイナリにそれを変換する場合。サブネットマスクのビット数を左から順に使用します。

11000000.10101000.01100100 is the prefix for 192.168.100.0/24 
11000000.10101000   is the prefix for 192.168.0.0/16 

目的地のルートを選択すると、目的地のIPがバイナリに変換され、一致する最も長いプレフィックスを持つルートが選択されます。

あなたはそれが私がサブネット最初は混乱することができます知っている192.168.100.0/24

192.168.100.50/32 11000000.10101000.01100100.00110010 
----------------------------------------------------- 
192.168.100.0/24 11000000.10101000.01100100 
192.168.0.0/16 11000000.10101000 

の長い接頭辞を選択しますので、192.168.100.50の送信先は、両方のルートプレフィックスと一致していることを見ることができますが、私はしないでくださいあなたのためにあなたの仕事をしたい。それが正しいとは言えません。

+0

こんにちはresmon6。私はそれが今正しいかどうかを確認するために私を助けることができます。ありがとうございました。 – Jimmy

+1

今すぐすばらしいですね! – resmon6

+0

サブネット全体と一致する必要がありますか?たとえば、あなたのサンプルの目的地が '192.168.101.50'だった場合は、より長い接頭辞' 192.168.100.0/24'にも一致するのでしょうか、それとも '192.168.0.0/16'を選ぶでしょう最初のプレフィックスの全プレフィックスに一致しませんか? – Mo2

4

簡単なイントロ:

ルータに到着する各パケットは、宛先IPアドレスを持っています。ルータは、アドレスをルーティングテーブルエントリのリスト(通常はサブネットプレフィクスと呼ばれます)と照合することによって、特定のインターフェイスでパケットを転送します。

IPアドレスが複数のそのようなプレフィックスと一致すると、挑戦になります。この場合、最も長い一致接頭語が選択されます。

最長プレフィックスは、ルーティングテーブルの階層的アプローチと、異なる宛先へのパケットを一意に処理する柔軟性を組み合わせています。


上記の手順は正しいです。しかし、必ずしもバイナリで作業する必要はありません。これには簡単なアプローチがあります。

ステップ1:インターフェイスごとに、次のようにアドレス範囲を指定します。

M1:172.58.128.0/17

が右から15(32から17)ビットを考えてみましょう、それらすべて0が 開始IPアドレスを取得するために作ります。終了IPアドレスを取得するには、すべて1にします。最後のオクテットにある 1は255(8 1)を生成します。 > 172.58.255.255 - > 172.58.128.0

  • エンディング - 第三オクテットの1つのは、我々は255

    • 開始が得る127(7 1の)& が128のネットマスクにこれを追加し得
  • 平方メートル:172.58.128.0/19

    が右から13(32-19)ビットを考えてみましょう、を取得するためにそれらをすべて0にしますこの範囲のIPアドレスを開始&それらすべて1が終了 IPアドレスを取得するために作る(第3オクテット:[5 1の〕= 159 + 31 128)

    • 開始 - > 172.58.128.0エンディング
    • - > 172.58.159.255

    立方メートル:172.58.160.0/19

    • 起動 - > 172.58.160.0
    • エンディング - > 172.58.191.255

    ステップ2:次のようにインターフェイス範囲で単純なテーブルを構築します。

    nterface range description table

    注 より具体的な(M2 & M3の場合のように)水平分割

    • 長い接頭辞は&の範囲が重複する場合に選択されるべきです。
    • m2の範囲は独立している(すなわち、重複していない)が、両方ともm1の範囲と重複している。
    • m1、m2 & m3は、デフォルトの範囲m0(すべてのIPアドレスを含む)と重複しています。

    ステップ3:指定されたIPアドレスを正しい範囲と照合します。

    172.58.218.80 -> m1 
        172.58.165.90 -> m3 
        172.58.124.36 -> m0 
        172.58.169.18 -> m3 
        172.58.155.112 -> m2 
        172.59.12.142 -> m0 
    
    +1

    徹底的な文書をお寄せいただきありがとうございます。明らかにあなたのものは分かります:) –

    +0

    明確で正確です。ありがとう:) –