今まで何度かこんな会話や議論を経験した。
「SQL Serverの接続ライセンス数(CAL数)とWindows のCAL数」についてだ。SQL Server のCALだけ Windows のライセンス数もユーザー数だけ要る、という話がされていることがある。
なお、SQL Server とは Microsoft が出しているデータベースであり、Windos OS上で稼働するものだ。
これ、実に馬鹿らしい話なのである。
製品としてどういう者があるか。SQL Server はCAL数の上限があるものとCPUライセンス(接続数の制限なし)のものがある。一方、Windows は CPU ライセンスというものがない。
そうなると、Windowsサーバーでは CAL 数の制限でWebシステムなんか構築できない、ということになりはしないか?じゃあ世の中のWindowsを使ったWebサーバーはすべてライセンス違反なのか?んなことはない。
そのあたり、つたないながらも解説してみよう。
サーバーへの接続方法としていくつかある。
telnet というものがある。OSでの標準のログインID/パスワードでログインできるものである。telnetは一般的に23番ポートを使う。
同じサーバーでも、
・ブラウザで閲覧できる http は一般的に80番ポート。
・メールの送信のSMTP、受信のPOP3はそれぞれ一般的に 25番ポートと110番ポート。
なお、smtp、http、smtp、pop3などを「サービス」と呼ぶことにする(概ねいいのだけれど、ちょっと違うので)。
ここで注意すべき点は「httpで接続する際にはログインID/パスワードを要求しない」「メールの送受信時はそれ用のID/パスワードを使っている」ということで、サーバー自体のID/パスワードを必要としない点である。
つまり「同一のサーバーで提供していてもサービスによって認証方法が違う」ということである。なお、ポート番号は一般的なものであり、変更可能である。
もう少し言えば、同じサーバー上のサービスごとに入り口があり、それぞれ独自の認証を行っている、ということである。
SQL Server のポートは忘れたが、SQL Server への要求はあくまでも SQL Server の CAL 数に依存するのであり、OSのCAL数に依存しないのである。
参考まで。ポートは「入り口」なのでこれが少なければ少ないほど、認証も厳しいほど、平文より暗号文、の方が侵入されるリスクは減る。この辺もそのうち取り上げられればと思う。
【まとめ(になっているだろうか・・)】
・サーバーはいろいろなサービスを提供する(Server という名前からしてそもそもそうなのですけど)。
・サービスごとに認証を管理している。
・ポート番号は任意に変更できる。
・サーバーにアクセスにはポート番号と認証の関門を通過しなければならない。