目次
概要
SDN(Software Defined Networking)を考えるにあたって、オーバーレイネットワークとアンダーレイネットワークという用語がよく出てきます。オーバーレイネットワークとアンダーレイネットワークについて解説します。
リンク
オーバーレイネットワークとアンダーレイネットワークについて、以下のWebページ(英語)もとても勉強になります。
オーバーレイネットワークとアンダーレイネットワーク
オーバーレイネットワーク(Overlay Network)と一緒によく利用される用語はアンダーレイネットワーク(Underlay Network)です。オーバーレイネットワークとは、見かけ上の論理的なネットワークを意味します。そして、アンダーレイネットワークは、実際にデータが転送されていく物理的なネットワークです。
ごく簡単にいえば、
「オーバーレイネットワークとは、物理的に通信可能なネットワーク(アンダーレイネットワーク)上に作る、論理的なお好みのネットワークのこと」
です。
オーバーレイネットワークを構築するためには、GRE、VXLAN、IPSecなどのトンネリングプロトコルを利用します。オーバーレイネットワークのデータをこれらのトンネリングプロトコルでカプセル化することで、見かけ上の論理的なネットワークを構築できます。
トンネリングプロトコルによって、オーバーレイネットワークとして構築できる見かけ上のネットワーク構成が決まります。GREを利用すると、ポイントツーポイントがデフォルトです。マルチポイントGREにすると、フレームリレー的なNBMAにもできます。VXLANを利用すると、見かけ上、イーサネットのブロードキャストネットワークにできます。
オーバーレイネットワークのデータは、実際にはアンダーレイネットワーク上で転送されます。アンダーレイネットワークとして、インターネットのようなオープンなネットワークを利用しても、プライベートなネットワークを利用してもOKです。インターネットとプライベートネットワークの両方を組み合わせてもOKです。オーバーレイネットワークを作りたい任意の機器間で物理的なデータの転送ができればいいです。
アンダーレイネットワークで利用する転送プロトコルとして、IPv4、IPv6、MPLSがあります。また、「物理的なネットワーク」なのでアンダーレイネットワークには、物理的な通信回線も必要です。アンダーレイネットワークの物理的な通信回線も何でもOKです。カッパー(銅線)でも光ファイバでも4G/5G携帯電話回線でも衛星回線でもOKです。
GREなどのトンネリングプロトコルでカプセル化したオーバーレイのデータは、アンダーレイネットワーク上を転送するために、さらにカプセル化します。たとえば、アンダーレイネットワークの転送プロトコルでIPv4を利用しているなら、さらに新しいIPv4ヘッダを付加します。新しく付加したアンダーレイの転送プロトコルヘッダによって、アンダーレイネットワーク内を転送されることになります。新しいIPv4ヘッダを付けたデータを物理的に転送するためには、さらにイーサネットなどの物理的な通信回線に応じたレイヤ2ヘッダも必要です。
GREによるオーバーレイネットワークの例
オーバーレイネットワークとアンダーレイネットワークの例として、以下のような構成を考えます。
オーバーレイネットワークのトンネリングプロトコル : GRE
アンダーレイネットワーク: IPv4ネットワーク
GREトンネルインタフェースによって、IPネットワークで通信可能なルータ間を仮想的にポイントツーポイント接続できます。つまり、GREトンネルインタフェースで直結している部分がオーバーレイネットワークです。実際には、ルータ同士が直結しているわけではないのですが、見かけ上、直接つながっているように見えます。ルータ同士がどんなに遠く離れていても問題ありません。
GREトンネルインタフェースを通じて送受信されるデータは、GREヘッダでカプセル化されます。GREヘッダでカプセルかすることで、ルータ間が見かけ上、直結しているようになります。
ただし、これは、便宜上の説明です。GREヘッダだけで見かけ上ポイントツーポイント接続しているようにみなせるわけではありません。アンダーレイネットワークの転送のために付加するIPヘッダと組み合わせて、ポイントツーポイント接続しているようにみなせます。
GREヘッダでカプセル化したオーバーレイネットワークのデータは、アンダーレイネットワークで転送します。アンダーレイネットワークの転送プロトコルとして、IPv4を利用しているなら、新しくIPv4ヘッダが付加されます。さらに、物理的な通信回線に応じたイーサネットなどのレイヤ2ヘッダも付加されてます。
GREのカプセル化の例(GRE/IP)
次のネットワーク構成例にして、どのようなカプセル化がされるかを具体的に見てみましょう。このネットワーク構成は、「GREトンネルインタフェースの設定例」の記事のものです。
関連記事
R11-R12間でGREトンネルインタフェースを設定して、見かけ上、R11-R12間が直結されているようにオーバーレイネットワーク(インターネットVPN)を構築します。そして、R11-R12間のGREトンネルインタフェース上でRIPv2を利用してルーティングテーブルを作成しています。
PC1からPC2宛てのデータがR11でどのようにカプセル化されるかを見ていきます。
- R11はPC1(10.1.100)からPC2(10.2.1.100)宛てのデータを受信します
- R11はルーティングテーブルから宛先IPアドレスに一致するルート情報を検索します。10.2.1.0/24のルート情報が一致して、ネクストホップ10.2.0.21、出力インタフェースTunnel0を得ます
- Tunnel0からデータを出力するために、GRE/IPヘッダを付加します。IPヘッダの宛先IPアドレスはtunnel destinationの100.2.2.1で、送信元IPアドレスはtunnel sourceの100.1.1.11です。
- Tunnel0から出力するデータは、実際にはアンダーレイネットワークを通じて転送します。そのために、新しく付加したIPヘッダの宛先IPアドレス100.2.2.1に一致するルート情報を検索します。デフォルトルート(0.0.0.0/0)に一致して、ネクストホップ100.1.1.00を得ます。そして、ネクストホップ100.1.1.00に転送するための出力インタフェースのEthernet0/0は、Directly Connectedのルート情報から得られます。
- イーサネットインタフェースから出力することになるので、ARPによって適切なMACアドレスを解決してイーサネットヘッダでカプセル化します。そして、物理的な信号としてEthernet0/0から出力します。
- あとは、アンダーレイネットワーク(インターネット)上をR21まで転送されていきます。
以上のように、GREトンネルインタフェースのオーバーレイネットワークでデータを転送するには、GRE/IPヘッダでカプセル化します。そして、カプセル化した新しいIPヘッダに基づいて、アンダーレイネットワークで転送します。その際に、ルーティングテーブルの再帰的な検索が行われています。
なお、この例は、アンダーレイネットワークとしてインターネットを想定したオーバーレイネットワーク(インターネットVPN)です。GREには暗号化機能がないので、インターネット上の悪意を持つユーザにデータが盗聴されるリスクがあります。そのため、暗号化できるIPSecと組み合わせたGRE over IPSecとしたほうがよいです。話を簡単にするために、GREカプセル化のみを考えています。
パケットキャプチャ
以下は、PC1からPC2宛てにPingを実行したときに、R11のEthernet0/0から送り出されるデータをWiresharkでキャプチャしたものです。
まとめ
ポイント
- オーバーレイネットワークとは、見かけ上の論理的なネットワークのことです。オーバーレイネットワークを構築するために、GRE/VXLAN/IPSecなどのトンネリングプロトコルを利用します。
- アンダーレイネットワークとは、実際にデータを転送する物理的なネットワークのことです。任意の物理回線を利用したIPv4/IPv6/MPLSの転送プロトコルによって、アンダーレイネットワークを構築します。
- オーバーレイネットワークのデータは、オーバーレイのトンネリングプロトコルでカプセル化して、さらにアンダーレイの転送プロトコルでカプセル化されます。
IPルーティング応用
- DNSラウンドロビン方式の負荷分散
- 負荷分散装置(ロードバランサ)の仕組み
- ルーティングプロセス ~実行中のルーティングプロトコル用のプログラム~
- 複数のルーティングプロトコルの利用
- 再配送(再配布) ~ルーティングドメイン境界で必須の設定~
- Cisco再配送(再配布)の設定 ~redistributeコマンド~
- Cisco 再配送の設定例 ~OSPFとRIPの双方向再配送~
- 再配送 設定ミスの切り分けと修正 Part1
- 再配送 設定ミスの切り分けと修正 Part2
- 再配送 設定ミスの切り分けと修正 Part3
- 再配送 設定ミスの切り分けと修正 Part4
- 再配送 設定ミスの切り分けと修正 Part5
- 再配送 設定ミスの切り分けと修正 Part6
- オフセットリスト(offset-list) ~ルート情報のメトリックを加算~
- オフセットリストの設定例 RIP
- オフセットリストの設定例 EIGRP
- ルートフィルタの概要
- ルートフィルタのポイント
- ディストリビュートリストによるルートフィルタの設定
- Ciscoディストリビュートリストによるルートフィルタの設定例
- プレフィクスリスト(prefix-list)によるルートフィルタの設定
- Ciscoプレフィクスリストによるルートフィルタの設定例
- Ciscoルートマップ(route-map)の概要 ~何をどう処理するか~
- Ciscoルートマップの設定
- Ciscoルートマップ(route-map)設定のポイント
- Ciscoルートマップによる再配送時のルート制御の設定例
- ポリシーベースルーティングの設定例
- GREトンネルインタフェース ~仮想的なポイントツーポイント接続~
- GREトンネルインタフェースの設定例
- GREトンネルの注意点 ~フラッピングしないように~
- オーバーレイネットワークとアンダーレイネットワーク
- ルート制御 ケーススタディ Part1
- ルート制御 ケーススタディ Part2
- ルート制御 ケーススタディ Part3
- VRF/VRF-Liteの概要 ~仮想的にルータを分割する~
- VRFの設定と確認コマンド [Cisco]
- VRF-Liteによるレイヤ3VPNの設定例 [Cisco]
- VRFルートリーク(スタティックルート)
- VRFルートリーク(スタティックルート)の設定例
- VRFルートリーク(MP-BGP)
- VRFルートリーク(MP-BGP)の設定例
- [FVRFの仕組み] FVRF(Front door VRF)とは
- [FVRFの仕組み] ポイントツーポイントGREトンネル:FVRFなし
- [FVRFの仕組み] ポイントツーポイントGREトンネル : FVRFあり(tunnel vrfコマンド)
- [FVRFの仕組み] IPSec VTI : FRVRFあり
- [FVRFの仕組み] IPSec VTI : FVRFあり 設定例
- [FVRFの仕組み] DMVPN : FVRFあり
- [FVRFの仕組み] DMVPN : FVRFあり 設定例 Part1
- [FVRFの仕組み] DMVPN : FVRFあり 設定例 Part2
- tunnel vrfコマンド
- tunnel vrfコマンドの設定例
- [演習] ルーティングループの防止
- [演習] 企業ネットワーク構築演習 Part1:拠点1の構築
- [演習] 企業ネットワーク構築演習 Part2:拠点2/拠点3の構築
- [演習] 企業ネットワーク構築演習 Part3:広域イーサネットの接続
- [演習] 企業ネットワーク構築演習 Part4:インターネット(AS1/AS2)の構築
- [演習] 企業ネットワーク構築演習 Part5:インターネットへの接続
- [演習] 企業ネットワーク構築演習 Part6:インターネットVPNの構築