見出し画像

IP上で動作する仮想トンネル「GRE」:PPTPフレーム構成

はい、こんにちは~。専用線を使ったかのように、仮想的なプライぺーと回線を実現する「VPN」技術について、連続記事で紹介しています。

前回は、VPNプロトコル「PPTP」の概要と、通信手順について紹介しました。認証にMS-CHAPを使い、暗号化アルゴリズムにRC4を使います。いずれも脆弱性が指定されていてセキュリティ上、問題があるのでしたね。

PPTPの全体像が見えてきてきたところで、今回は、PPTPのフレーム構成を見ていくことにしましょう。果たして、どのようにIPパケットをカプセル化(トンネル化)するのでしょうか?IPsecのフレームとどう違うでしょうか?

さっさくいってみましょう!

IPパケットを順にカプセル化

まずは、例によって処理される前のIPパケットを確認しましょう。

IPパケットの構成

これにいろいろヘッダーを追加してカプセル化していきます。まずはPPPヘッダを先頭につけましょう。PPPフレームの出来上がりです。

PPPフレームの構成

PPPと同じく第2層のイーサネットなら、MACヘッダーなどをつけて、「MACフレーム」を作るところですが、こちらは「PPPフレーム」です。

PPPヘッダの構成がどうなっているかも気になりますが、ここでは割愛します。「PPTPは、PPPをベースにしているから、IPパケットをカプセル化してPPPフレームを作るんだな」くらいの理解にとどめておきましょう。

GREヘッダとは?

続いて、PPPフレームをGREでカプセル化します。GRE?聞きなれないですね。

GREは、Generic Routing Encapsulationの略です。訳すなら、「汎用的なルーティング・カプセル化」でしょうか…。いまいち理解の参考にならないですね。

絵にすると次の通りです。

PPTPフレームの構成

最終的に新たなIPアドレスも加わります。もとのIPアドレスは暗号化されていますから。この点、IPsecのESPトンネルモードと似ていますね。

では、果たしてGREはどんな役割があるのでしょう?

GREは、IPトンネルの中に、さらにGREトンネルという通信路を生み出します。

GREは、任意のパケット(ここではPPPフレーム)をカプセル化します。「任意の」というところが、Genericの意味するところかもしれません(推測です)。そのGREパケットをIPトンネルで送るわけですね。

1つ注意したのは、ポート番号がフレーム内に存在しないことです。これにより、NATトラバーサル(NAT越え)が難しくなります(詳細は別途解説でき、、たらいいな)。

※余談ですが、「トンネル」といっていますが、送信機器でヘッダを貼り付け、受信機器でヘッダを剥がしているという動作から、あたかも専用道路をデータが走っているようにイメージすると分かりやすいかと思います。

PPTPのまとめ

最後にPPTPのポイントを簡単にまとめておきましょう。

  • 古いプロトコルであり、現在は積極的に利用されていない。

  • 第2層で動作するプロトコル(IPsecは第3層)である。

  • 暗号化、認証いずれについても、IPsecと比べてセキュリティ上、脆弱な点が多い(RC4やMS-CHAPの利用)。


はい、本日はここまで。2回にわたり、古いVPNプロトコル「PPTP」について紹介しました。

IPsec、PPTPと来ました。なら、次回はせっかくですからあともう一つのVPNプロトコル「L2TP」について紹介しましょう。

では。





いいなと思ったら応援しよう!