class: title, smokescreen, shelf, no-footer # ルーティング <div class=footnote> <small><small> </small></small> </div> <div class=digest-begin-01></div> --- class: center,compact # たとえ話: 郵便の配送におけるルーティング <div class=footnote> <small><small> (脚注) くわしくは次頁 </small></small> </div> ![height560px](images/routing-image.png) --- class: compact # たとえ話: 郵便の配送におけるルーティング <div class=footnote> <small><small> (脚注) 本質は、これだけです。 現実的な設定は難しいですが、 ルーティング設定はバックボーン担当の醍醐味 </small></small> </div> ![height320px](images/routing-image.png) 1. 郵便物を投函すると、郵便局員さんが収集して最寄りの郵便局に集めます 1. 飛行場へ輸送しましたが、今日は天気が悪くて飛行機が飛びません 1. そこで鉄道輸送に切り替えます。 これが**動的経路選択(dynamic routing)** --- class: img-right,compact # 二種類のルーティング(経路選択) <div class=footnote> <small><small> (脚注) 今回は大域的な動的経路制御つまりインターネット側がメインテーマです。 インターネットの醍醐味 </small></small> </div> ![図](images/routing-overview.png) - **動的経路制御** (**dynamic routing**) - ルータ群が**自律**的に考え経路変更 - 図のインターネット部分 - **大域的な経路制御**はdynamic - **静的経路制御** (**static routing**) - 設定されたとおりに動作 <br> 障害時は人間が対応 - 大学敷地内はstatic - **大学敷地内は学外(インターネット側)も学内もstatic** (注:インターネットへの出口が一つではdynamic routingする理由も手段もない) --- class: col-2,compact # 図に登場する機器の説明 <div class=footnote> <small><small> (脚注1) L3スイッチとルータは似ていますが、 ルーティング機能(頭のよさ)に力点がある機材がルータ、 スイッチング機能(パケット転送能力)に力点がある機材がL3スイッチ (だと思う) (脚注2) cs,ds,asはCisco用語 (だと思う) </small></small> </div> <small> |機材|説明| |--------------------------|---------------------------------------| |ルータ | インターネットへの経路制御担当<br>この構成では仕事のしがい無し | |スイッチ(cs) | **core switch**<br>**L3スイッチ**<br>VLAN間ルーティングを行う | |スイッチ(ds) | **distribution switch**<br>建物の出口を担当する**L2スイッチ**<br>建物内のアクセススイッチ(as)群<br>への接続を集約する役目<br>coreまでVLANを中継 | |スイッチ(as) | **access switch (edge switch)**<br>末端に置く**L2スイッチ**<br>PCや無線LAN機器などをつなぐ先 | </small> <wbr> ![図](images/routing-overview.png) --- class: img-right,compact # 学内ルーティング(static routing) <div class=footnote> <small><small> (脚注1) 用語「学内」が曖昧です。 実際、図の大枠の中は<B>物理的に学内</B>です。 でも、ネットワーク的(or 論理的)には、 ファイアウォールの上(インターネット)側を<B>学外</B>と言うことが多いと思います。 このへん普段から文脈とあうんの呼吸で互いに理解している感じです <br> (脚注2) つまり異なるセグメント間の通信は一度coreまで行って戻ってきます </small></small> </div> ![図](images/routing-overview.png) <small> - 最初に設定したまま動作しつづけます - **学内**側:**そうそう学内の構成は変わらない**ので、これで問題ありません - 学外側:インターネット接続回線が一つなので**敷地内の学外側もstatic**です (注:複数のインターネット接続回線があるならdynamicを検討します) - **障害時は人間が対応**する必要あり - coreは**VLAN間ルーティング**をします - 異なるセグメント間(例:PC教室〜研究室)や、 学内セグメントとインターネット側とのパケットのやりとり <br> (学内 -> core -> ファイアウォール -> インターネット,DMZ) </small> --- class: img-right,compact # 学外(敷地内インターネット側)ルーティング <div class=footnote> <small><small> (脚注) さて、次頁ではISP内のdynamic routing(Internetの正体)へ進むことにしましょう </small></small> </div> ![図](images/routing-overview.png) <small> - ファイアウォール〜ルータ〜ISP - ファイアウォール〜ルータ <br> (ISP接続ルータ)間はstatic - ISP接続ルータ〜ISP間もstatic <br> (この図ではdynamicの必要が無い) - 図中一番上のインターネットの**ごく一部**がISP(大学の契約先ISP)に当たります </small> --- class: col-2,compact # インターネットは数万のプロバイダの集合体です <iframe width="480" height="270" src="https://www.youtube.com/embed/DdaElt6oP6w?rel=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <br> "The Internet: 1997 - 2021 (1m)" by Barret Lyon, CC-BY 3.0 ルーティング情報をもとに可視化したもの <br> (生物的なイメージ?生命の樹?) ![height480px](images/1069646562.LGL.2D.4000x4000.png) <br> The Internet 2003 by Barret Lyon, CC BY 4.0 <div class=digest-end-01></div> --- class: img-right,compact # インターネットは数万のプロバイダの集合体です ![height480px](images/1069646562.LGL.2D.4000x4000.png) $$インターネット = \sum_{AS} プロバイダ(AS)$$ - **インターネットは数万のISPの集合体** - **ISP** (**Internet Service Provider**, 単に**プロバイダ**とも言う) - ISPのほぼすべてが民間企業 - 大手ISPは**AS番号**を持っています - AS番号は**16ビット** - 32ビットAS番号というのもあります。 16ビットでは足りなくなったのでBGP4(後述)のオプションで拡張 --- class: img-right,compact # インターネットルーティングアーキテクチャ: IX <div class=footnote> <small><small> (脚注) BGPで渡す経路情報は、 自ASのIPアドレス一覧(と付随するAS情報) = いわば自ASの電話帳です </small></small> </div> ![](images/routing-isp-and-ix.png) $$インターネット = \sum_{AS} プロバイダ(AS)$$ - 大手ISP同士は**IX**という施設に各自のルータを持ち寄り相互接続しています - IX = Internet eXchange - IXの実態はL2スイッチの提供です - 各ISPはIXに自社設備を置き相互接続 (要:ルータ設置、IXまでの回線調達) - IXではルータ同士がBGP4で経路情報を交換します --- class: img-right,compact # インターネットルーティングアーキテクチャ: ISP間 <div class=footnote> <small><small> (脚注) BGPで渡す経路情報は、 自ASのIPアドレス一覧(と付随するAS情報) = いわば自ASの電話帳です </small></small> </div> ![](images/routing-isp-and-ix.png) $$インターネット = \sum_{AS} プロバイダ(AS)$$ - 大手ISPは互いのルータ間でBGP4を使い経路情報を交換します - **BGP** = Border Gateway Protocol - 4 は version 4 - ルータ間のBGP接続(179/tcp)を設定することを 「BGP **peerを張る**(**peering**する)」と言います (図の点線部分) - **パスベクトル型**: 基本戦略は目的地までに通過するASの数が少ない経路の選択 (後述するディスタンスベクトルの応用と考えてよい) --- class: img-right,compact # インターネットルーティングアーキテクチャ: ISP内外 <div class=footnote> <small><small> </small></small> </div> ![](images/routing-architecture.png) $$インターネット = \sum_{AS} プロバイダ(AS)$$ - ISP間のBGP peeringは比較的タイムスケールの長い処理と思ってよいですが - **ISP内**でのルーティングでは**高速な(秒単位の)障害回避**が必要です - ISP内のルーティングには **OSPF**や **IS-IS**を使うことが普通です。 ちなみにOSPFはIETF、IS-ISはOSIの規格です - 商用インターネット以前の古えの時代には **RIP** という単純なルーティングで運用できました <br> (例:かつて日本全体をRIPで運用:-) --- class: img-right,compact # インターネットルーティングアーキテクチャ: ISP内 <div class=footnote> <small><small> (脚注1)OSPFはstatefull (脚注2)雑なたとえをすれば、RIPはUDPぽくて、OSPFはTCPぽいイメージ </small></small> </div> ![](images/routing-architecture.png) - **RIP (Routing Information Protocol)** - **ディスタンスベクトル**型 - 複数経路がある場合、目的地までのルータの数が少ない方を選択(図右) - **OSPF (Open Shortest Path First)** - **リンクステート**型 - 参加している全ルータが定期的に情報交換し、 互いの**状態**や構成について知っています。 そのため障害時には高速な経路変更が可能(図左) - 基本的にfull meshを組んで情報交換するので、 ルータ数が増えると急激に計算量が増えます(O(N^2))。 巨大なネットワークでは使えません --- class: compact # インターネットルーティングまとめ <div class=footnote> <small><small> (脚注1) 実際の運用では、 会社間の力関係、 大域的なISPの接続関係、 回線やピアリングの費用など、 多くのファクタを考慮し、複雑な条件を満たすよう設定することになります (脚注2) 資格よりBGPの経験値のほうが重要 </small></small> </div> |ケース|ルーティングプロトコル| |----------------------------|----------------------------| |イントラネット|基本は静的(static)、大きな組織ではRIPやOSPFで動的経路制御あり| |ISP内|OSPFやIS-IS、ある程度大きいとBGP、小規模組織ならRIPもありうる| |ISP間|BGP| - OSPF(IETF)やIS-IS(OSI) - 賢くて高速な判断が出来るかわりに負荷は高い傾向があります。 よって巨大なネットワークでは使えません。 そのため大きなISPでは、 ISP内もBGPでミニインターネットのように運用することがあります (e.g. BGP confederation) - BGP - 基本戦略は簡単ですが、実際には... (脚注を参照) <br> -> いろいろあるけど、でも、ルーティング屋さんは楽しそうにみえる:-)?