技術情報に関して更新します。(月1更新予定)

2017年5月1日月曜日

~SNA通信構成の必要性~
IBM i でのSNA通信(構成編)

0 件のコメント :
例えば、1)本番機と開発機、あるいは業務Aと業務B、C用など、1拠点に複数のIBM iを導入するような場合、または、2)拠点毎にIBM iを導入して、拠点サーバとして運用したり、負荷分散/障害対策の目的で拠点毎にIBM iを導入して、拠点ごとに同じアプリケーションを運用するような場合、あるいは、3)メイン・フレームの周辺ノードとして、IBM iを利用するような場合など、複数のIBM iを導入して運用するケースがあると思います。いずれの場合もIBM iを連携させて運用するには、それぞれを通信回線を通して接続し、何らかの情報交換の仕組みを準備して運用されることと思います。


複数のIBM iを接続する場合、専用WAN回線を準備してメッシュ型に配置、あるいは分岐WAN回線や、パケット交換/フレームリレー等の多チャネル交換WAN回線で接続することもできます。しかし、回線維持費用の観点から、IBM i をLANに接続し、LANセグメント同士を比較的安価なIPルータを介して、相互接続して運用されるケースが多いのではないかと思います。ただし、メイン・フレームの周辺ノードとしてIBM i を運用する場合は、メイン・フレームとIBM i を専用線で接続し、複数セッションを構成して運用するケースもあるかもしれません。IBM i のメイン・フレームとのSNA通信は豊富にあって、メイン・フレームの種類や使用目的で選択する必要があるので、ここでは触れず、主に1)、2)のような、IBM i同士の連携運用に関して触れることにします。

IBM i 同士の接続に関しては、1)、2)共に、IBM i をLANセグメント(多くはEthernet)に接続して、IBM i にプライベートなIPアドレスを割り振って、TCP/IPプリケーションを使用されることになると思います。IBM i の「TELNET」、「FTP」に代表される豊富なTCP/IPアプリケーションで事足りる事が多いかもしれません。また、従来はSNAアプリケーション(APPCアプリケーション)であった「DDM」や「DRDA」もTCP/IP対応になっていますので、これらを利用することもあるかと思います。残念ながら、オブジェクト配布機能に関しては、トランスポートとしてTCP/IPが使用できませんので、従来どおりSNA(APPC)通信構成が必要になります。

特に、2)の同じ業務の相互運用に関して障害対策目的で運用する場合、障害発生時の業務停止時間を最短にするには、相互間でのデータの同期に加えて、相互の情報の同期の必要が発生します。A拠点で障害が発生して、IBM i サーバは使用できなくなった、あるいは定期メンテナンスでB拠点のIBM i サーバが停止するが、業務はそのまま続行する…、と言ったケースで、それぞれ他方の拠点にクライアントを接続して業務を継続するには、a)正常稼働時の相互に同期する機能b)障害/計画停止発生後、復旧して、停止時間中のデータを処理して他方に追い付く機能などが求められます。これらはハードウェアのクラスタ化などでも達成できると思いますが、IBM i に標準で準備されているいくつかの機能を組み合わせて使用し、それぞれのIBM i の情報を通信プログラムでやり取りしてあげることで、要件に合ったシステムをきめ細やかに作りこんであげることもできます。。

IBM i の標準の機能と通信プログラムの組み合わせで、このような高可用性を実現しようとしようとした場合、ほとんどのケースではIBM i のTCP/IPアプリケーションと、ソケットを使用した通信プログラムを利用すれば解決できると思います。しかし、ソケット通信プログラムには、その手順の中に相手システム内でソケット通信プログラムを起動する機能はありませんので、相手システム内でプログラムの起動が必要な時は、rexecなどの他のTCP/IPアプリケーションと組み合わせて使用することになります。SNA(APPC)通信プログラムでは、その通信手順の中に「遠隔システムでのプログラムの起動」を行う機能がありますので、TCP/IPの接続待ち受け型(デーモン型)アプリケーションを起動しておくといった必要はありません。

また、例えばオブジェクト配布機能などのAPPCアプリケーションを利用する場合は、SNA通信構成(APPC/APPN通信構成)が必要になります。APPC/APPN通信構成もTCP/IP同様にアプリケーションとは独立しているため、拠点間に1つだけ構成してあげれば、複数のAPPCアプリケーションで使用することができます。また、APPC/APPN通信構成1つで複数セッションをサポートするので、1つの構成で同時に複数のAPPCアプリケーションを、拠点の双方から利用することができます。

APPC/APPN通信構成は非交換/交換2地点間、非交換分岐等のWAN回線、EthernetなどのLAN回線を使用して構成することも可能ですが、多くはLAN回線で構成されたTCP/IPに追加する形で構成されることが多いと思います。その方法としては、1)IP上のSNA(以下、ANYNET),、2)エンタープライズ・エクステンダー(以下、EE)の2種類があります。どちらも、経路制御層以下のパケット転送に関してはTCP/IPの「IP」を使用し、アプリケーション・プログラムに対するインターフェースはSNA(APPC)を利用します。2台のIBM i のみであれば、SNA通信でのネットワーク機能である「APPN」を使用しませんので、「ANYNET」と「EE」のどちらを使用しても、ほんの少しの構成上の違い程度しかありませんが、複数のLANセグメントにある3台以上のIBM i をANY TO ANYで接続できるようにするためには、APPNの制御点セッションがサポートされ 「EE」を利用した方が便利です。

APPC/APPNとひとまとめにして呼んでいますが、APPC→エンド・ポイントで活動する、APPC手順で書かれた通信プログラムに対するインターフェースAPPN→ネットワーク層以下で、SNAフレームを転送する機能の意味で、APPCはTCP/IPのTCPに相当する部分のプログラム・プロトコル(規約)、APPNはTCP/IPのIP部分に相当するネットワーク機能の提供と、ざっくりと言い換えることもできると思います。
「EE」のAPPNネットワーク機能の一部はTCP/IPのUDPで動作するので、厳密に言うときれいに分離しているとは言い切れませんが…。

0 件のコメント :

コメントを投稿