LPICレベル3技術解説セミナー に参加してきました
先週ですが、
LPI-Japan主催のLPICレベル3 300技術解説セミナー に参加してきました
300試験を受けるつもりは全くないんですが、
休日に開催で参加費が無料だったので行ってみました
講師の方の説明がとても分かりやすくて、
受験するかはともかく参加できてよかったです
LPIC をご存知ない方もいるかもしれませんのでサクっと説明します
LPIC は Linux技術者認定試験 というもので Linux の構築や管理に関する資格です
レベル1〜3まであり レベル3は1番上のレベルです
ちょうど今年から出題範囲と試験の体系が変わりレベル3は以下の区分に分かれています
- 300 Mixed Environment
- 303 Security
- 304 Virtualization & High Availability
上記のうちどれか1つでも合格すればレベル3の認定がもらえます
※詳しくは LPI-Japan 公式サイトへ
IT資格といえば LPI-Japan | LinuC/OSS-DB/HTML5/ACCEL/OPCEL/LPIC
今回のセミナーでは300試験の以下の3つのトピックについて解説をして頂きました
- Sambaの基礎
- Sambaの共有の設定
- Sambaのユーザとグループの管理
300試験ではこの3つのトピックだけで全体の半分を占めるそうです
※60問中29問がこの範囲からの出題
勉強になった内容を復習も兼ねてまとめます
今後この知識を使うときが来るかは分かりません
※たぶん、つkw…
この記事では、
1.ファイル共有プロトコルについて
2.SMB と CIFS
3.NetBIOS ってなにもの?
4.最後に
について説明します
1.ファイル共有プロトコルについて
会社などでファイルサーバーを利用していると思いますが、
ファイルはサーバー上にあっても 自分のPC内の他のファイルと同じように
エクスプローラーでフォルダを開いて中を見たりコピペしたりできますよね?
こんな便利なファイル共有
Linux では
- NFS (Network File System)
Windows では
- SMB (Server Message Block)
- CIFS (Common Internet File System)
というプロトコルを利用して実現されています
Linux と Windows ではファイル共有に利用されるプロトコルが違いますが、
Samba を使うことで Linux サーバーを
Windows 環境のファイルサーバーとして利用することができます
Samba の名前は SMB をちょっとモジっているような感じですが、
商標の問題があってこの名前に落ちついたそうです
2.SMB と CIFS
SMB は
- NetBEUI + NetBIOS
- TCP/IP + NetBIOS (NBT)
CIFS は
のプロトコルが通信に利用されています
SMB では NetBIOS が利用されているという点が SMB と CIFS の大きな違いです
また、SMB ではトランスポート層の通信に NetBEUI か TCP/IP が利用されており、
NetBEUI を利用する方式の方はよりレガシーなものです
2つの SMB にどんな違いがあるかというと、
NetBEUI で通信できる範囲は同一ネットワーク内のみでルーターを跨いだ通信ができない
という致命的な弱点があります
昔はそれでも特に問題がなかったようですが、
時代が変わり大規模ネットワークでの通信が当たり前になりこの部分が問題となりました
そこで TCP/IP で通信ができるように NetBIOS を改良し 大規模ネットワークやインターネットを介した通信に対応したそうです
特にこれは NBT (NetBIOS over TCP/IP) と呼ばれています
※昔の Microsoft は TCP/IP を完全に無視していて、
各ベンダーが独自に Windows 用の TCP/IP を実装していたらしいです
SMB で利用される NetBIOS は Microsoftが独自に開発したAPIなので
SMB 自体は Microsoft の事情だけで作られています
これを Windows 以外のOSでも利用できるように SMB を拡張し、
仕様をオープンにしたプロトコルが CIFS です
3.NetBIOS ってなにもの?
SMB の中核をなす NetBIOS って一体なにものなんでしょうか?
NetBIOS は
アプリケーションから NIC へアクセスするためのAPIを指すもので、
通信プロトコルではないそうです
なので、下位の通信プロトコルに何が利用されているかによらず、
アプリケーションからは同じ NetBIOS のAPIのままどちらでも利用することができます
NetBEUI → TCP/IP への移行がアプリケーションに影響しないよう、こういった仕様になっているんだと想像できますね
ちなみに、当然ですが通信するノード間でのプロトコルは同じでないといけないです
NetBIOS を使っているからといって
NetBEUI ⇔ NBT で通信できるわけではありません
なんだか複雑な感じですね
そんな NetBIOS は Windows ネットワークに利用されています
ついでに、NetBIOS がどんな通信をしているのか?
というのを調べてみました
NetBIOS を利用した通信では
通信先の特定に NetBIOS名 という名前で
それぞれのコンピューターを識別します
自分の名前が他のコンピューターと被っては困るので
ネットワークにつないだ時に自分の NetBIOS 名を
ブロードキャストでネットワーク全体に送って重複がないか確認します
通信を行う際は
相手の NetBIOS 名を同じようにブロードキャストでネットワーク全体に送って
通信相手を探すということをします
そして各コンピューターがシャットダウンするときに、
NetBIOS名を解放したことをネットワーク全体に送ります
解放された NetBIOS名は他のコンピューターが利用できるようになります
なんだかすごいですね
いちいち全員にパケットが送られるので
ネットワークがパケットだらけになりそうなのが想像できますね
実際に、パケットの量が多くなりすぎて
性能が低下するという問題もあるそうです
こういった通信の流れになるので
コンピューター自身が名前の管理を自律的にやってくれます
別の管理用のサーバーから割り振るという手間がかからないのがメリットらしいです
また、WINS という名前解決サービスを利用することもでき、
実際の SMB 運用環境では WINS を利用することで
ブロードキャストのパケットを送らないように対策しているようです
そんな NetBIOS という仕組みはちょっと独特すぎますよね
なので、NetBIOS を使わない CIFS が作られました