タグ

routingに関するyukimori_726のブックマーク (4)

  • C++/Rubyで基数木をつかって高速なHTTPルーティングを実現する - Qiita

    はじめに 数年にわたり、PadrinoやGrapeといったWebアプリケーションフレームワークのルーティングを改善してきた自分が、今年の11月頃から、従来とは異なるアプローチでHTTPルーティングの高速化について検証したので、その結果について解説する。 なおこの記事では、その過程でC++で基数木を実装し、それを用いることにより、Rubyで高速なHTTPルーティングを実現した事例について、順を追って解説する。 tl;dr C++で基数木(Radix Tree)を表現するr2reeというライブラリを書いた。 r2reeのRuby向けバインディングであるr2ree-rubyを書いた。 r2ree-rubyを用いてRuby上でHTTPルーティングを行う pendragon-radixを書いた。 多分、Rack準拠のルーティングライブラリでは最速。 結果、Sinatraなどで用いられる正規表現+線形

    C++/Rubyで基数木をつかって高速なHTTPルーティングを実現する - Qiita
  • ロンゲストマッチ

    ロンゲストマッチ 前回はルーティングの選択基準について解説しました。 ちょっとで簡単におさらい。 RTAのルーティングテーブルが以下のような場合、図のように新しい ルータRTEをRTAと接続し、RTAのルーティングテーブルにデフォルト ルートを設定しました。 さてこの場合、PC-B(192.168.2.2)へのパケットは、経由するルータの数は 気にしないので、RTBを経由します。 それはなぜか? ルーティングの動作は、 ルータはパケットをルーティングする際に、ネットワークアドレスのそ れに対するネクストホップにパケットを送り出します。 つまり経由するルータの数なんてまったく気にしていないってことでしたね。 ここまでが前回のおさらい。 さて今回はロンゲストマッチについて解説していきます。 ロンゲ? 「ルータはどっちが近道かなんて考えないということは分かりましたよ」 「でもRTAのルーティング

    ロンゲストマッチ
  • ルーティングの設定は正しいか?~route/traceroute(tracert)~

    実際にはもう少し多くのエントリーを含むのであくまで例として見ていただきたいが、図1で示したネットワークであれば、以上の3エントリーがあってようやくルーティングは正常に機能するようになる。 それぞれのエントリーが、実際の物理ネットワーク(サブネット)への経路情報を示していることは理解していただけるだろう。ルーティングテーブルとは、宛先IPアドレスへパケットを送るには、どのインターフェイス(NICなど)を用いて、どのルータ(ホスト)へ送ればよいのかを示す対応表だ。 ルータAからホストYに対するIPパケットを渡された際の動作を考えてみよう。ホストYのアドレスは「192.168.20.12」なので、ルータBはルーティングテーブルから該当する経路を探す。「192.168.20.0/24」(サブネットマスクからネットワーク番号は24ビット目までと分かる)はネットワークを示すIPアドレスだが、「192.

    ルーティングの設定は正しいか?~route/traceroute(tracert)~
  • 「route」コマンドでWindows OSのルーティングテーブルを操作する

    対象OS:Windows 8.1/Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019/Windows Server 2022 Windows PCの「ルーティングテーブル」を変えたい! TCP/IPでは、IPアドレスに基づいてネットワークパケットのルーティングを行っている。このルーティング処理において重要な役割を持つのが「ルーティングテーブル」(ルートテーブル)である。 ルーティングテーブルには、宛先となるネットワークアドレス(とネットマスク)と使用するネットワークインタフェースなどを記録した情報(エントリ)が多数格納されている。 IPパケットのルーティング処理では、パケットの宛先IPアドレスがどのルーティングテーブルのエントリに合致

    「route」コマンドでWindows OSのルーティングテーブルを操作する
  • 1