SRv6~ネットワークプログラミングとは?①~
突然ですが、美味しいレバーを死ぬほど食べたいと思ったことはないですか?
レバーが好きな人、嫌いな人、肉なら何でもいいという人もいると思いますが、そんな方々におすすめな店が東京神保町にある食肉センター!
なんと、その日の朝取れたレバーを昼のランチから食べ放題で頂けてしまうお店です。
もちろん、レバーだけじゃなくてハツやモモもあるし、ネックピートロも!さらに当然のことながらごはんとスープも食べれるし、玉ねぎのスライスサラダも食べ放題。
私は、朝取れレバーのプリプリ具合が美味しくて大好きなのでたまに食べに行ってしまいます。
食肉センターですが、ランチは11時30分~14時30分までなのですが、とにかく大人気で行列が絶えません・・・
11時30分に現地につくと10‐20人ぐらい並んでいたりすることもざらにあるので1時間~1時間30分ぐらいは待たないといけないことも。
さらには、最近Twitterで少しバズッたらしく、その日は10時30分ごろ並びに行きました。
すると、もう並んでる人たちが数人・・・大人気ですね。
開店の11時30分には私から見て後ろは10-20人ぐらいは並んでたような気がします。
もし食べに行くなら、1時間ぐらい前に並べばすぐ入れますよ。
後、注意なのが・・・朝取れなのでレバーの数に限りがあるんです・・・日によって変わりますが大体100人前前後。
前来たときは、レバー頼むともう品切れしちゃったよーんと言われたこともあるので、レバー食べたい!という人は早めに行きましょう。
さて、十分こってりしておなか一杯になったと思いますが、今回のNoteはSRv6のネットワークプログラミングについてです。
1.SRv6とは?
SRv6(Segment Routing v6)は、IPv6ネットワーク環境でSegment Routingを利用するプロトコルです。
IPv4環境で利用していたSRは、MPLSで利用されていたラベルをセグメントのSIDとして用いていましたが、SRv6のSIDはラベルではありません。
え、じゃあどうやってルーティングするの?
2.ソースルーティング
SRの特徴の一つにソースルーティングがあったことを覚えているでしょうか?
SRであれば、LSPをヘッドエンドのルーティングを始めに行うルータが計算して、SIDをスタックしてパケットを送信して以降のルータはそのSIDに従ってパケットを転送していくスタイルでした。
これと比較すると通常のIPによるルーティングは、ソースルーティングではありません。
ソースルーティングとは、入口のルータが網内に複数あるルータのどれを経由して宛先まで届けるを把握してコントロールしてルーティングすることを指します。
通常のIPルーティングは、Source/DestinationのIPアドレスだけで、ルータはDestのアドレスを見て出先のIFを決めていくだけです。
通常のIPルーティングするルータはあくまでトラフィックの道案内をするだけで、どのルータを経由するかというコントロールはできません。
3.IPv6のルーティングヘッダー
しかし、IPv6はソースルーティングも対応できるようにプロトコルが策定されています。
IPv6内のヘッダーには、ルーティングヘッダーというものがあり、このヘッダーを用いることによりIPv6のヘッダー内に経由するIPv6アドレスを記載することができてしまいます。
SRv6はこの機能に目を付けて開発されました。
RFC2460:IPv6 Header Format
RFC2460:Routing Header
SRでは、LSPパスをSIDのラベルを多段にして表現していましたが、SRv6では、IPv6のヘッダーの後にRouting Headerを多段にしてSIDを表現します。