Getting Started with Pervasive PSQL (v11)

IPv6

Pervasive がサポートするアクセス方法を使用した Pervasive PSQL Client は、IPv4 の場合と同様に IPv6 を使用して Pervasive PSQL データベース エンジンを実行している IPv6 ホストへ接続します。つまり、Pervasive PSQL Client はサポートされるアクセス方法の 1 つを介してサーバーを指定し接続します。サーバーの指定は、Pervasive PSQL Server または Workgroup が実行されているマシンのマシン名または IP アドレスのどちらを用いても可能です。

Pervasive PSQL では ActiveX を除くすべてのアクセス方法で IPv6 接続をサポートします。 いくつかのアクセス方法は Windows のみのものですが、Windows と Linux の組み合わせによるクライアント/サーバーで使用することができます。

このセクションでは IPv6 の以下の点について説明します。

IPv6 アドレス

未加工の IPv6 アドレスは、コロンで区切られた 8 個のセグメントで構成されます。各セグメントは 4 桁の 16 進数値として記述できます。たとえば、「1234:5678:90ab:cdef:1234:5678:90ab:cdef」と表記されます。このフレームワーク内では、IPv6 名のいくつかの形式が利用可能です。

数値 による IPv6 アドレスに対する推奨事項

一般に、数値の IPv6 アドレスは IPv4 アドレスよりも複雑で扱いが困難です。 数値によるリンク ローカル アドレスには問題があり、特にゾーン ID に関しては顕著です。

そのような理由から、特に実稼働環境では、アドレス解決に DNS サーバー、LLMNR、ホスト ファイル、または他の手段でホスト名を使用することをお勧めします。 Pervasive PSQL による数値の IPv6 アドレスのサポートは、主に開発環境での使用を目的としています。IPv6 数値アドレスは状況によって角カッコ([ ])が必要となることが多いので、数値のアドレスが必要な場合、かっこが不要と確信できないかぎりは追加するようにしてください。

ユニキャスト アドレス

Pervasive PSQL がサポートするのはユニキャスト アドレスのみです。Pervasive PSQL で使用できるユニキャスト アドレス形式は以下のとおりです。

表 4 Pervasive でサポートする IPv6 ユニキャスト アドレス形式
ユニキャスト アドレス形式
説明
ループバック
IPv6 でローカル ループバック アドレスは 0:0:0:0:0:0:0:1 と表記されます。このループバック アドレスは ::1 と省略表記することができます。
IPv6 のループバック アドレスは、IPv4 のループバック アドレス 127.0.0.1 に相当します。
グローバル
グローバル アドレスは 64 ビット プレフィックスを持ちます。先頭から 3 ビットは常に 001 で、次の 45 ビットはグローバル ルーティング プレフィックス、その次の 16 ビットにはサブネット ID が設定され、最後の 64 ビットはインターフェイス ID となります。
例:2001:db8:28:3:f98a:5b31:67b7:67ef
リンク ローカル
リンク ローカル アドレスは、同じリンク上の近隣ノードと通信を行う際にノードによって使用されます。 リンク ローカル アドレスは 64 ビット プレフィックスを持ちます。先頭から 10 ビットには 1111 1110 10、次の 54 ビットには 0 が設定され、最後の 64 ビットはインターフェイス ID となります。 このリンク ローカル アドレスのプレフィックスはたいてい FE80::/64 と表します。
例:fe80:0:0:0:713e:a426:d167:37ab(fe80::713e:a426:d167:37ab と指定することもできます)。

IPv6 アドレスの修飾子

IPv6 にはアドレス修飾子が含まれています。この修飾子はショートカットとして機能したり、また詳細な宛先の指定に用いたりすることができます。 Pervasive PSQL は IPv6 に以下の修飾子をサポートします。

修飾子
説明
::
1 つ以上のゼロがコロンで区切られていることを表します。 たとえば、::1 は 0:0:0:0:0:0:0:0:1 に相当します。 この修飾子 :: は IPv6 アドレス内で 1 回のみ使用できます。
%
宛先ノードのゾーン ID またはインターフェイスを表します。 Windows の場合、ゾーン ID は IPv6 トラフィックの宛先のゾーンを指定する整数値です。ゾーン ID は主にリンク ローカル アドレスで使用され、そのアドレスを明確にします。
Linux ディストリビューションでは、リンク ローカル アドレスのテキスト形式のゾーン ID のみをサポートします。 たとえば、eth0 fe80:0:0:0:713e:a426:d167:37ab というように ゾーン ID の "eth0" 形式を使用する必要があります。制限と条件も参照してください。

アドレスの表記

Pervasive PSQL は IPv6-literal.net 名(Windows の場合)、および角かっこ([])で囲まれた IPv6 アドレス(Windows および Linux の場合)をサポートします。

IPv6-literal.net 名

ipv6-literal.net 名は以下に示す 3 つの変更を施した未加工の IPv6 アドレスです。

例:

当初のアドレス
fe80::713e:a426:d167:37ab%4
2001:db8:28:3:f98a:5b31:67b7:67ef
変更されたアドレス
fe80--713e-a426-d167-37abs4.ipv6-literal.net
2001-db8-28-3-f98a-5b31-67b7-67ef.ipv6-literal.net


メモ

IPv6-literal.net 名は Windows XP および Windows 2003 オペレーティング システムではサポートされないか、またはサポートされても大きな制限があります。

Linux ディストリビューションは IPv6-literal.net 名をサポートしていません。


かっこ付き IPv6 アドレス

かっこ付き IPv6 アドレスとは角かっこで囲まれた未加工の IPv6 アドレスです。この形式は UNC(Uniform Naming Convention)で正しく動作するアドレスとしても参照されます。

例:

当初のアドレス
fe80::713e:a426:d167:37ab%4
2001:db8:28:3:f98a:5b31:67b7:67ef
変更されたアドレス
[fe80::713e:a426:d167:37ab%4]
[2001:db8:28:3:f98a:5b31:67b7:67ef]


メモ

UNC パスにおけるかっこ付きの IPv6 または UNC で正しく動作するアドレスは Windows XP および Windows 2003 オペレーティング システムではサポートされません。

Linux ディストリビューションは UNC パスや UNC で正しく動作するアドレスをネイティブにはサポートしません。 ただし、ファイル パス、数値アドレス、またはその両方を入力として受け付ける Pervasive PSQL インターフェイスは、Linux 上で UNC パスおよび UNC で正しく動作するアドレスをサポートするので Windows との互換性を保つことができます。


IPv6 とトランザクショナル インターフェイス

Pervasive PSQL でトランザクショナル インターフェイス用に IPv6 を使用する際の制限事項を次の表に示します。

表 5 Pervasive PSQL でのトランザクショナル インターフェイス用 IPv6 の制限事項
制限事項
説明
UNC パスでは、(IPv6 アドレスでは使用可能な)コロンなど特定の文字を使用することはできなし
未加工の IPv6 アドレスを使用しないようにします。可能な場合には、ホスト名を使用してください。アドレスの表記および数値 による IPv6 アドレスに対する推奨事項を参照してください。
URI または UNC で未加工の IPv6 アドレスを使用する場合、その IPv6 アドレスには角かっこが必要です。
未加工の IPv6 アドレスは、URI または UNC で使用する場合は角かっこで囲む必要があります。これはその IPv6 アドレスが省略表記されているかどうかにかかわらず必要です。
例:
  • btrv://czjones@[2001:b1::23]/demodata
  • btrv://abanderas@[2001:12:34:56:78:90:12:23]/demodata
  • ¥¥[2001:12:34:56:78:90:12:23]¥acctsvr1¥Domestic¥file.mkd
IPv6 アドレスを角かっこで囲まなかった場合、URI を使用した Btrieve 呼び出しにはステータス コード 3014 または 3103 が返され、UNC を使用した Btrieve 呼び出しにはステータス コード 11、94 または 170 が返されます。
URI で、サーバー アドレスにゾーン ID を含める場合、ゾーン ID 文字 "%" は "%25" でエスケープされます。
IPv6 アドレスを含めた btrv:// 接続を使用する場合、ホスト名に対するゾーン ID をエスケープする必要があります。通常、ゾーン ID は数値による IPv6 リンク ローカル アドレスで必要です。
例:
UNC で正しく動作するアドレスは次のように表記されます。
btrv://@[fe80::20c:29ff:fe67:2ee4%4]
このアドレスは、次のように変更されます
btrv://@[fe80::20c:29ff:fe67:2ee4%254]
オペレーティング システムに応じた制限
Windows XP および Windows 2003 の場合、IPv6 経由の Microsoft SMB ファイル共有はサポートされないか、またはサポートされても大きな制限があります。制限と条件も参照してください。

IPv6 とリレーショナル インターフェイス

IP アドレスにポート番号を含める必要があるのは、デフォルトのポートを上書きする場合のみです。一般に、ポート番号はコロン(:ポート番号)またはドット(.ポート番号)を用いて IP アドレスに追加されます。

UNC で正しく動作する名前(アドレスの表記を参照)は、ポート番号の追加をサポートします。

Linux での IPv6

これまでに述べた IPv6 に関する内容は、すべて Linux ディストリビューションにも適用されます。 このサブセクションでは、IPv6 を Linux で使用した場合に限り適用される情報について説明します。

推奨されるディストリビューション

オペレーティング システムにおける IPv6 の完全サポートは比較的最近の機能です。 このような理由から、最新の Linux ディストリビューションを使用することをお勧めします。 Pervasive PSQL Web サイト(http://www.agtech.co.jp/products/db.html)で、Pervasive PSQL でサポートされる Linux ディストリビューションの一覧を参照の上、最新バージョンのディストリビューションを使用してください。

制限と条件

IPv6 を Linux で使用する場合は、以下の制限事項や条件に留意してください。

最良実施例

IPv6 を Linux で使用する場合は、次のような方法をお勧めします。

IPv6 についてよく寄せられる質問

次の表では、IPv6 のサポートと Pervasive PSQL についてよく寄せられる質問(FAQ)の回答を記載しています。

表 6 IPv6 サポートと Pervasive PSQL についての FAQ
質問
回答
IPv4 と IPv6 が共存するネットワーク環境は Pervasive PSQL ユーザー カウントに影響がありますか?
いいえ。 Pervasive PSQL Server または Workgroup は、同じクライアント コンピューター セッションから受信する一意のプロトコル(TCP/IP および SPX など)ごとに 1 つのユーザー カウントを使用します。IPv4 および IPv6 はアドレス形式は異なりますがいずれも TCP/IP です。
PSQL クライアントが IPv4 と IPv6 の両方のアドレスを持つので、ライセンスがいくつ必要か混乱を招きませんか?
いいえ。これは新しい状況ではありません。これまでにも、クライアントが複数の IPv4 アドレスを持つことがありました。 Pervasive PSQL は識別する 1 台のマシンのすべてのアドレスを認識することで、その状況を処理しています。 Pervasive PSQL は複数の IP バージョンを使用する複数のアドレスを同じロジックに従って処理します。
IPv6 と License Administrator の使用でなにか制限がありますか?
はい。 Pervasive ライセンス サーバーはまだ IPv6 をサポートしていません。 このため、IPv6 上で License Administrator を使用しライセンスを管理することができます。 ただし、License Administrator でライセンスを認証するには、IPv4 を使用するマシン上でその License Administrator ユーティリティを実行して Pervasive ライセンス サーバーと通信する必要があります。
IPv6 を使用することで、DSN の使用に何らかの変更がありますか?
いいえ、DSN は今までどおり使用できます。 DSN の作成時、IPv6 数値アドレスはかっこの有無に関係なく使用できます。『SQL Engine Reference』の「DSN と ODBC アドミニストレーター」を参照してください。
Pervasive System Analyzer では今後も接続をテストできますか?
はい、IPv6 アドレスをテストできます。 トランザクション エンジンのテストでは、マップされたドライブ、または samples フォルダーへの UNC パスが必要です。 UNC パスで使用する IPv6 数値アドレスはかっこで囲む必要があります。『Pervasive PSQL User's Guide』の Pervasive System Analyzer(PSA)を参照してください。
自動再接続機能の Pervasive Auto Reconnect(PARC)を IPv6 で使用できますか?
はい。『Advanced Operations Guide』の Pervasive Auto-Reconnectを参照してください。
仮想マシン環境で Pervasive PSQL は IPv6 をサポートしますか?
はい。
[リッスン IP アドレス]設定に複数のアドレスを設定することはできます?
はい。『Advanced Operations Guide』の「リッスン IP アドレス」を参照してください。
どのようなユーティリティで IPv6 がサポートされますか?1
DDF Builder、Function Executor、License Administrator、Monitor、PCC、PSA、および Rebuild。
どのようなコマンド ライン インターフェイス(CLI)ユーティリティで IPv6 がサポートされますか?1
bcfg、bmon、butil、clilcadm、clilcadm64、pvdbpass、pvddl、pvnetpass、rbldcli2、および w64clilcadm。
1 ユーティリティによっては UNC パス形式を受け付けるものもありますが、そのパス形式は、オペレーティング システム、ファイル システム、またはファイル共有プロトコルに対して有効ではない可能性があります。
2 rbldcli の適切な操作のため、その一部は直接ファイル アクセスに依存します。 rbldcli コマンドで指定されたファイル パスは、オペレーティング システムのファイル システムから、または Windows のファイル共有、NFS、Samba などのファイル共有プロトコルからも直接アクセスされる必要があります。 rbldcli 用の有効なファイル パスを検証する方法の 1 つは、"dir" または "ls" などのオペレーティング システム コマンドでそのパスが動作するかどうかを確認することです。


Pervasive リクエスターでサポートするネットワーク パスの形式

TCP/IP を使用した Windows サーバーへの接続