新・闘わないプログラマ No.11

ネットワークにまつわる無知と誤解と・・・


何やらエラソーなサブタイトルになってしまいました。今回のサブタイトルは結構悩みましたけど、いいタイトルが思い付きませんでしたのでこれで許してください(^^;)
あ、ここで言う「ネットワーク」はコンピュータネットワークのことです。

私は会社に入って以来、「ネットワークの専門家」というとちょっと語弊がありますけど、コンピュータネットワークに関係する仕事を随分やってきました。いわゆるアプリケーション開発には直接的には一度も関わったことがありません。
最近はクライアント・サーバー・システムやインターネット等の普及もあって、アプリケーション開発者の人たちにもネットワークに関する知識が必要になって来ましたが、昔(といってもせいぜい数年前まで)は、業務システムの開発に携わるアプリケーション開発者は、対象業務に関する理解とCOBOLの知識さえあればいい、と思われていたフシがあります。ですから、コンピュータネットワークの知識はおろか、コンピュータ自体の仕組みに関する知識すらきわめて怪しいSEやプログラマがうじゃうじゃいたものです(今でもいっぱいいるかも(^^;))。

私が入社した当時は、コンピュータネットワークと言えば、IBMのSNA(Systems Network Architecture)をはじめとする、メインフレームと端末を結ぶネットワークが花盛りでした。LANやTCP/IPという単語も社内のごく限られたところでささやかれていたに過ぎず、とても業務システムを任せられるような技術としては見られていませんでした。
SNAによるネットワークの特徴の一つは、メインフレームによるネットワークの集中管理が挙げられます。メインフレームにあるネットワーク管理機能(SNAではSSCPって言ったっけ?)がネットワーク全体を知っていて、その構成要素をすべて管理します。端末を1台増やそうすると、その端末がどんな種類で、どこにあって、どのように接続されていて、どのような経路でメインフレームと通信するか、といったことをメインフレームに登録してあげる必要があります。この作業はだれでも簡単に行うことは出来ませんから、そういったことを行う専門家が必要で、結果として分業体制が出来上がり、開発者の方はネットワークのことをよく知らない、ということにもなってしまったのです。でも、この頃はある意味では平和だったのかもしれません。アプリケーションプログラマにとっては、ネットワークを完全にブラックボックス化出来た訳ですから。
当時、端末としては「ダム端末(dumb terminal)」というものが使われていました。これは、メインフレームとの通信を行うことしか能の無い、単機能の端末でした。IBMの3270などが有名です。その後、パソコンの性能が上がるにつれて、パソコン上でこのダム端末の機能を実現するソフト(端末エミュレータ)が作られるようになり、こちらに取ってかわられるようになってきました。今では、純粋なダム端末はほとんど見かけません。

そんな頃、私は社内のある人から質問を受けたことがあります。

「パソコンにEhternetインターフェースを3枚挿したいんだけど、うまく行かないんだよね」
「え?なんで3枚も??」
「だってホスト(メインフレーム)通信用に1つでしょ、それから、NetWare接続に1つでしょ、それから○○のUNIXワークステーションとファイル転送(FTPのことらしい)に1つでしょ。全部いっしょにやりたいから、3つ必要なの」

私はどこから説明してよいやら、困ってしまいました。彼の持ってきたネットワーク構成図を見ると、Ethernetを回線のように(point to pointで)使っている。(^^;)
でも、彼はまだいい方でした。社内にも、EthernetとTCP/IPの区別がついていない人(全然別物だと思うけど・・・)とか、LANで東京と大阪を結ぼうとした人(おいおい)とか、TCP/IPでファイル転送をしようとして一生懸命プログラムを作った人(ご苦労様でした)とか、私もいろんな人を見てきました。
これは今でも当てはまると思うのですが、ネットワークの階層モデルを全然理解していない人とネットワークの話をするのは大変疲れます。しかも、こういう人たちって、大概の場合、上司だったりするわけで、こちらも一生懸命説明するんですが、階層モデルの理解が無いととんちんかんな話になってしまいます。

今から10年近く前のことですが、社内で初めてTCP/IPを使った本格的な業務システムを構築することになりました。私は最初そのプロジェクトには関わっていなかったので、メンバーからの質問に答えたりしていただけなのですが、そのうちそのプロジェクトに巻き込まれてしまいました。
そこで一番困ったのが、LANやTCP/IPの知識もネットワークの階層モデルのこともほとんど何にも知らない上司(や、そのまた上司)が、昔(SNAネットワーク)の頭でいろいろ言ってくることでした。
「この『イーサーネット』とかいう回線は10Mbpsなんだろ。なんでファイル転送にこんなに時間がかかるんだ。1秒間に1MBは送れるはずじゃないか、おかしいだろうが」なんて言われたって・・・「いや、それはですね」とEthernetの原理を説明しようとすると「そんな細かいことここで言ったってしょうがないだろ、云々」ですから。
まぁ、ネットワーク技術者は、変なこと・非常識なことばかり言う奴等だ、という目でずっと見られてきたようです。

まぁ、最近はインターネットのブームもあって、ネットワーク技術者も結構日の当たるところに出てこれるようになってきました。
ただ、今度はエンドユーザーが直接ネットワークの管理を行う必要に迫られるようになって来ました。私もあちこちでネットワーク設定(Windows系のOSが主ですが)を手伝う(手伝わせられる)ことが多くなってきましたが、だいたい皆はまるのが、TCP/IP,Internet関係の設定、と、Windowsネットワーク(ファイル共有等)の設定でしょうか。
どこそこでネットワークにうまく接続できないので助けてほしい、ということで行ってみると、大概、初心者向けのパソコン雑誌かなんかを見ながら誰かが一生懸命設定している。で、この手のパソコン雑誌ってまず間違いなくウソを書いている。まぁ、いわゆる「パソコンライター」の人でネットワークに精通している人なんてそんなにいないでしょうから(詳しい人は初心者向けの雑誌なんかに書かないでしょうし)、ある面では仕方ないのかも知れませんが。
特にWindowsネットワークは、過去とのしがらみの関係で非常に複雑になっている、というか泥縄式の拡張を重ねているので、特に難しいところです(とエラソーに言う私も、全部は理解しきっていません)。WinSockとNetBIOSとNetBEUIとTCP/IPとNetBTの関係とか、ホスト名とNetBIOS名の違いとか、DHCPとWINSとDNSとhostsとlmhostsの使い分けとか、コンピュータブラウザの機能とか、もういくらでも出てきます。よくみんなが勘違いしているのは、NetBIOSとNetBEUIの混同、ルータ越えの資源共有、というあたりでしょうか。私も、説明するのが面倒になってきて、とりあえず設定だけして「あとは『Windows NT リソースキット』という本があるからそれを見て勉強してね」といって逃げてくることにしてます。まぁ、そんなことを言っても、誰も本気で読んだりしませんが。
NT5.0では、この辺がもっとややこしくなりそうなので、困ったもんです。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp