VNETプラスの詳細情報

現実のネットワークとVNETプラスの関係

現実のネットワークには様々な制約があります.
これは現実のネットワークがIPv4グローバル,IPv4プライベート,IPv6アドレス空間が混在しているためです.
例えばIPv4グローバル空間からIPv4プライベート空間への通信開始はできません(NAT越え問題).
IPv4とIPv6に互換性がないので直接の通信ができません.
通信中にネットワークが切り替わるとIPアドレスが変わるので通信を継続できません.
エンド通信デバイスにVNETプラスアプリケーションをインストールすることにより,
このような制約を一切気にすることなく,自由な通信を可能とするVNETプラスの世界に移行できます.
インターネット上にVNETサポート装置群が必要ですが,ユーザはこれらの装置群を意識する必要はありません.

VNETプラスの特長

    • グローバル空間からプライベート空間への通信開始や,異なるプライベート空間どうしのP2P相互通信を可能とします.
    • 相手のVNET IDを指定するだけで通信経路を確立します.
    • エンド通信デバイス間の認証と暗号化を行います.
    • 通信中にネットワークを切り替えても通信を継続できます.
    • 最も遅延の少ない通信経路を選択します.
    • 通信デバイスをグルーピングし閉域通信網を構築できます.
    • 独自のDoS攻撃対策を行います.
    • 通信用暗号鍵はネットワーク管理者にも秘匿されます.
    • NAT配下のネットワーク構成は隠蔽されます.
    • 専門的な知識がなくても簡単にグルーピングの定義ができます.
    • 既存のアプリケーションを変更することなくそのまま利用できます.
    • 既存のネットワーク構成を変える必要がありません.
    • VNETプラスを利用した通信と通常の通信をいつでも切り替えることができます。

通信装置はTCP/IPネットワークに接続されていなければなりません.

ファイアウォールが存在する環境では,UDPポート4330を通過させる必要があります.

VNETプラスの仕様

黒字は初期リリース、赤字は2次リリース以降で実現されます.

  • 通信機能

    NATの存在に関わらずIPv4空間内での自由な相互通信
    IPv4/IPv6混在環境での自由な相互通信
    移動透過性

  • 通信経路

    基本的にP2Pの直接通信.ただし以下の場合はTS経由の通信.

    • 一方の通信デバイスがIPv4,もう一方がIPv6に接続されている場合
    • 両エンド通信デバイスがともにSymmetricNAT配下に接続されている場合
    • 特殊な多段NAT構成の場合
  • セキュリティ

    Peer to Peerのパケット認証と暗号化
    (AES256ビット,SHA256)
    DoS攻撃対策,リプレイ攻撃対策あり
    通信グループの実現
    通信用暗号鍵は管理者にもわからない

  • 通信デバイスの利用認証

    拡張パスワード方式(乱数を利用した多要素認証)

  • スケーラビリティ

    DCの分散配置
    TSの分散配置

  • 一般通信との共存

    可能

VNETプラスの安全性

VNETプラス通信は以下の理由で極めて安全です.

  • VNETプラスに係るすべてのパケットは暗号化されます.
  • VNETプラスに係るすべてのパケットに改ざん防止のための認証コードがついています.
  • エンドユーザ間の通信パケットを暗号化する暗号鍵は管理者にもわからないようになっていて管理者から情報が漏洩する心配がありません.
  • 同一グループのメンバでないと相互通信ができない仕組みを提供します(グループ通信).
  • 不正パケットを高速に検出して廃棄する独自のDoS攻撃対策を有します.
  • リプレイ攻撃対策も万全です.
  • 現時点での安全性が保証されている暗号アルゴリズムAES CBCモード鍵長256ビット,ハッシュアルゴリズムSHA256を採用しています.

製品レパートリ

1VNETプラスアプリケーション

以下のOSに対応しています.

  • Linux(Ubuntu20.04lts以降、Raspbian64ビット)
  • Windows10
  • Android
  • iOS

2VNETプラスアダプタ

左記以外のOSによる通信デバイスを使う場合,または一切通信デバイスを変更したくない場合,VNETプラスアダプタを設置することにより機能を代行させることができます.
具体的には利用方法の欄を参照ください.

  • VNETプラスアダプタ・タイプC
    通信を開始する側の通信デバイスの横に設置.
  • VNETプラスアダプタ・タイプS
    通信を待ち受ける側の通信装置の横に設置.

VNET IDの付与方法

FQDN (Fully Qualified Domain Name)について

VNETプラスを利用するためには適用するすべての通信デバイスにVNET IDをつける必要があります.
FQDNはインターネット上のサーバにつけられる名前のことで、
FQDNの規則に従えば世界中で名前が重複しないことが保証されます.
VNETプラス利用デバイスにつけるVNET IDはFQDNに準拠し、名前の最後が.ntm200.comで終わるものとします.
例えば、以下のようにしてデバイスにVNETプラス対応のVNET IDをつけてください.
VNETプラスのVNET IDの例: aaa.abc.ntm200.com
WebサーバはすでにFQDNを持っている可能性があります.
WebサーバのFQDNの例: aaa.abc.acompany.co.jp
この場合、従来のFQDNはそのままとし,さらにVNET用のFQDNを付与してください.
次に、クライアントとして使っていたデバイスはFQDNを持っていないのが普通です.
この場合もVNETプラス用のFQDNをクライアントに付与してください.
クライアントはブラウザのURL欄にこれまでと同じ要領でWebサーバ名とファイル名を入力し,
サーバの内容を閲覧できます.
例えば、これまでURL欄に以下のように入力してサーバをアクセスしていた場合、
http://aaa.abc.acompany.co.jp/document.html
同じファイルをVNETプラスでアクセスする場合以下のように入力します.
http://aaa.abc.ntm200.com/document.html

サブドメイン名

VNETプラスのVNET IDの例のabcの部分はユーザ組織を識別するためのドメイン名で,
ここではサブドメイン名と呼びます.
代表ユーザの方は,“ユーザ登録”画面から希望するサブドメイン名を獲得する必要があります.
代表ユーザの方はエンドユーザにVNET IDを割り振るとき,必ず獲得したサブドメイン名を指定してください.
aaaの部分にエンドユーザごとに異なるVNET IDを割り振ってください.
aaaの部分がaaa.bbbのようにさらに階層化されていてもかまいません.

通信グループ

通信デバイスにはVNET IDとともに通信グループ名を付与します.
グループ名は文字通り通信デバイスをグループ化するもので,
1台の通信デバイスに最低1個以上のグループ名を割り当てる必要があります.
グループ名が同じ通信デバイスでないと相互に通信することはできません.
グループ名称は自由に決めることができます.
通信デバイスは複数の通信グループに帰属することが可能です.


以下の図は社内用に利用していたWebサーバを内部のPCや外部のPCが
安全にアクセスできる例を示しています.
社内のPCは,従来の名前とVNET IDのどちらを使ってもアクセスが可能です.
VNET IDでアクセスした場合はP2P通信セキュリティが保証されます.
自宅などの社外のPCはVNET IDを利用して,社内のWebサーバへのアクセスができます.
このときNATの存在を意識する必要はなく,内部PCと全く同じ手順でアクセスできます.

新しい通信アプリケーションの開発

VNETプラスを使うと新しい発想の通信アプリケーションを開発できます.
これまではNATの存在を意識して,クライアント/サーバ型のような限定した形でシステムを実現してきました. VNETプラスを導入するとネットワークに係る制約を一切考慮する必要がなくなります.
通信デバイスから見ると,VNETプラスが提供する仮想IPネットワークは,世界をまたぐ巨大なLANに見えます.
エンド通信デバイスどうしがサーバを介することなく自由にP2Pで情報を交換できます.
クライアント/サーバ型が適したシステムであっても,サーバをプライベート空間に設置することができます.
プライベート空間のサーバどうしも自由に情報を交換できます.
通信デバイスをグループ化して他と隔離されたセキュアシステムを実現することができます

以下の手順で開発と検証を行うことができます.
①新しいアプリケーションをLAN上で構築し動作検証する.
②VNETプラスアプリケーションを通信デバイスにインストールすることによりインターネットを跨る広域のシステムに移行できる.
すでに実績のあるLAN内システムはそのまま広域のシステムに転用できます.


アプリケーション開発時は以下のことに留意してください.
ネットワークの制約はVNETプラスがすべて除去しますので,
アプリケーションはネットワークの制約を一切意識しないでください.
VNETプラスがNAT越え通信を実現しますので,NATの存在は意識しないでください.
既存のNAT越え技術としてSTUN/TURNがありますが、
これらはVNETプラスのNAT越え技術と競合しますから併用しないでください.
VNETプラスは実IPアドレスをアプリケーションから隠蔽しています.
アプリケーション がIPアドレスを意識すると、仮想IPアドレスと実IPアドレスの関係が混乱し動作を保証できません.
VNETプラスではDNSによる名前解決をトリガとして動作を開始します.
LANのブロードキャストを用いた名前解決(Multicast DNSなど)は利用できません.

通信性能

VNETプラスは高い通信性能を備えています.
TCPスループットは以下のとおりです.
Linux PC対向の場合:220Mbps
Raspberry pi 4対向の場合:67Mbps
測定条件:
1000BASE-TX有線直接接続
PC仕様 Core i5, 2.7GHz Ubuntu20.04LTS
測定ツール iperf

ネットワーク切り替え時、通信が再開するまでの時間は1秒以内です.
新たなネットワークに移行するとき、ネットワーク環境によっては、
DHCPによる 新IPアドレス取得に数秒を要することがあり、この間通信が止まることがあります.
スマートフォンの場合は、IPアドレス取得中は別インタフェースで通信を継続してくれるため、
ネットワークの切り替えが気になることはほとんどありません.