IFS

29. Samba とは ?

IBM i OS Ve7.1から搭載可能になったSamba(サンバ)とは何だろう?
SambaIBM i にどのような役に立つのだろうか?

Sambaとは Microsoft の共有通信プロトコルSMBをサポートを提供するソフトウェアである。

つまりWindowsの共有ファイルや共有プリンタなどをTCP/IPネットワークを
通じて共有して外部より扱いたい場合、それは共有するための
TCP/IP通信が必要となる。
Microsoft が提供している共有のためのTCP/IPサーバーを
SMBサーバーといい、この通信プロトコルのことをSMB(=Server Message Block)
という。
SMB はある時期、CIFSという名前で呼ばれたりもしたが現在では
元のSMBという名前に戻っている。

Samba はこのSMBプロトコルを提供するUNIXLinux でも使われている
オープン・ソースによるプログラムである。

Sambaは S・M・B の発音を含む名称として名づけられたようである。

それではなぜIBM iSambaは必要なのであろう?
IBM iSMBプロトコルを使用するものとして既に2つの機能を保有している。
それは NetServerQNTC である。

NetServer

: SMBサーバー : Windowsからの仮想ファイルや仮想プリンタをサポートする。

QNTC

: SMBクライアント: IBM i から Windowsの共有ファイルをアクセスする。

[適用業務の例]

・NetServer

: Windowsエクスプローラから IBM i のIFSフォルダーを表示/保守することができる。

・QNTC

: Windowsにある画像ファイルをIBM i からアクセスしてWebアプリケーションで
ブラウザ表示することができる。

なるほど IBM i は既にWindowsと通信する手順を持っていたことになる。
しかし実はこれは完全ではない。
例えば QNTC はWindowsの共有ファイルをアクセスすることはできるが
Windowsの共有プリンタにアクセスすることはできない。
 ( これは弊社で実際に試行したし IBMにも問い合わせたのだが不可能とのことであった)
SMBプロトコルに制約があるわけではないので
 IBM が意図的に共有プリンタにはアクセスできないように制約を加えているように
見える。
考えてもみたらIBM i が Windowsの共有プリンタを使うことができたら
高価な5577系のドット・インパクト・プリンタを使う人は誰もいなくなってしまうだろう。
IBM は解説の中で NetServer によってIBM i の5577系プリンタをWindowsのプリンタとして
共有して使うことができる、と力説しているが高価なプリンタをWindowsのプリンタとして
使うニーズはほとんどないだろう。
一方、IBM i がWindowsの共有プリンタを使用できるとなると多くのIBMユーザーは
さっさと安価で高機能なWindows ASCIIプリンタに切替えてしまうだろう。
これは IBM にとってマズい話になるので共有プリンタのサポートを避けたのだと
思われる。これは少し狭量な気もする。
使える技術に制約を加えるべきではないのだ。

時代は今、5577系の高価なドット・インパクト・プリンタを廃止したい方向にある。
Windowsプリンタは価格的に優れているだけでなく性能も向上し
複合機やスマホ用のモバイル・プリンタにも印刷したい要求が出てきているからである。

IBM はSMBプロトコルを否定するわけにもいかずSambaの提供によってWindowsとの共有の道を
開けておいたことにしたいのでろう。
ただし SambaNetServerは同じPORT番号:445を使用するため同時に共存はできない、と
している。

Sambaを使ってSMBプロトコルを利用してみようという猛者にはSambaを導入する価値は
あるかも知れない。

Samba のHPはこちらから