IT用語解説というタグで、IT分野の色々な疑問を出来るだけ簡単に書いてみることにしました。
因みに、前回はこんな感じ。
http://maxminkun.hatenablog.com/entry/2016/06/09/180935maxminkun.hatenablog.com
結構、関心を持っていただけてるみたいで、ちょっとうれしい(*´ω`*)
ちゃんと解説できているか心配ですけど・・・;
「こういうの解説して!」という要望がなかったので、今回は独断と偏見で、いんたーねっつについてお話しいたいと思います。
コンピュータは独りだった
最初のコンピュータというのは、主に電気計算機と呼ばれていました。
ですので、科学者達がよってたかって、「この計算してよ!!」と1台のコンピュータに列を作るという感じだったのです。
つまり、コンピュータは独りで一生懸命頑張っていたわけです。
ですが、そのうちコンピュータはより多くの科学者たちに浸透していきます。
そして、各々で計算をさせていたのですが、当然ながら他人が計算した結果のデータを見たい!と思うわけです。
紙に印刷する?それとも、何か記憶媒体に記録させる?
そういった方法もありましたが、ある実験が行われます。
それは、コンピュータ同士をケーブルでつなげてしまおう!!という計画です。
そして、そのケーブルを通してデータを送ってあげればいいじゃない!というわけです。
まさか、これが世界中をつなぐケーブルに進化するなんて想像していなかったでしょうね。
この計画はDARPA(アメリカ国防高等研究計画局)の前身の組織で開発が進められました。
インターネットの誕生
インターネットが普及していくためには、幾つもの技術が必要でした。また、それは今でもしっかり利用されていて、皆さんが見ているこのブログ等にも関係があるのです。
お話のルール(TCP/IP)
さて、コンピュータ同士をつなげておしゃべりをするには、幾つかのルールが必要でした。
例えば、日本人とアメリカ人とロシア人がいるとして、互いにコミュニケーションを取ろうと思ってもなかなか難しい。そこで、とりあえずは英語で話をしようってなりますよね。
コンピュータの世界でもまさしくそのようなことが起き始めたのです。コンピュータ同士をネットワークでつなげる機能をいち早く実装したのはUNIXというOSでした。
そのUNIXで採用したコミュニケーションのルール(通信プロトコルと呼ばれます)は、TCP/IPと呼ばれる技術でした。
コンピュータ同士がお話するときの決まり事の例としては、
- 挨拶の仕方
- 互いの身分の証明の仕方
- データの渡し方
などなどです。
このUNIXで採用されたTCP/IPは、徐々にコンピュータをネットワークにつなげる時のルールとして浸透していき、今ではデファクトスタンダード(浸透していき世界基準になってしまったもの)となりました。
ですから、UNIXの発展形であるMacOSは当然のこと、WindowsもLinuxもこのTCP/IPというルールで、互いにお話をすることになっています。
ネットワークにつなげるためには住所が必要(IPアドレス)
今や、あらゆるコンピュータがインターネットにはつながっています。
では貴方のコンピュータが、誰か特定の人のコンピュータとつながってお話がしたい時、どうやって相手を探したら良いのでしょう?
これもTCP/IPというルールの中で決まっていることですが、それぞれのコンピュータを特定できるようにIDを振りましょうとなっています。
それがIPアドレスというものです。
このIPアドレスが個々のコンピュータに割り振られているので、特定のコンピュータに接続するときにはIPアドレスさえ分かっていれば通信(お話すること)が出来ると言うわけです。
では、ちょっとハッカーちっくなことやってみましょうか。
Windowsの場合は、Win + R を押して以下を打ち込みましょう
cmd
するとコマンドプロンプトが起動すると思います。(黒い画面のウィンドウが開きましたか?)
そこで、以下を打ち込みます。
ipconfig
Linuxの場合は以下です。
ifconfig
するとずらずらずら~と文字の羅列が出てくるはずです。
Windowsならこんな感じ。
Wireless LAN adapter Wi-Fi: 接続固有の DNS サフィックス . . . . .: リンクローカル IPv6 アドレス. . . . .: ****::****:****:****:******* IPv4 アドレス . . . . . . . . . . . .: ***.***.***.*** サブネット マスク . . . . . . . . . .: ***.***.***.*** デフォルト ゲートウェイ . . . . . . .: ***.***.***.***
ここで出てくるIPv4アドレスというのが、貴方のコンピュータに割り当てられたIPアドレスです。
このIPアドレスというのは、インターネットの世界の住所のようなものです。この住所さえ分かれば、世界中のどのコンピュータともお話が出来ます。*1
住所を知っている交番(DNSサーバ)
ブラウザというアプリケーションは、インターネットの通信を行いやすくするためのツールですが、大体はその上の方にURLを入力できる場所があります。
もちろん、その部分にIPアドレスを打ち込めば、知り合いのコンピュータと通信することが出来ます。
でも、そもそもIPアドレスを直接打ち込んだりすることってないし、だいたいは英語が並んでいますよね?
実は、その英語はIPアドレスを表しているのです。
うん?どういうこと?
IPアドレスは暗記するのは大変です。人間にとっては、ただの数字ですから;
なので、それに対して英語名をつけるのです。例えばこのブログは「http://www.milkmemo.com/」となっていますが、「www.milkmemo.com/」の部分はIPアドレスを表しています。
では、IPアドレスと、この英数文字の対応付けはどこでしているのでしょう。
それは、世界中にDNSサーバというコンピュータがいるのです。これはちょうど交番のようなものだと思ってください。
まず、貴方のコンピュータは「www.milkmemo.com/」ってところに行きたいんですけど、どう行ったらいいのですか?とDNSサーバに尋ねます。
すると、DNSサーバはタウンページらしきもので調べて「あー。Milkさんのパソコンか。その住所はこれだよ。」と教えてくれるのです。
後は、行く先々のルーターという道案内役の機械に「この住所ってどっちに行ったらいいの?」と聞いていきます。そして、教えてもらった道をたどって、その目的のコンピュータにたどり着くのです。
インターネットの世界
では、これまではインターネットを構築するために必要ないろいろな技術を見てきました。
例えば皆さんが書いたりするブログ。こういうのってどういう仕組みなんでしょう?
みんな自分のお庭を見せている
インターネットに接続したコンピュータは、互いにお話し出来ると言いました。
確かにそうです。では、ブログやホームページってどうなっているのでしょうか?
それは、自分のコンピュータの特定のフォルダをみんなに公開するということで成り立っているのです。
インターネットのケーブルは道だとします。その道はあちこちのお家(コンピュータ)につながっているのです。
お家の人に許可をもらえれば、お庭は見せてもらえますよね。
でも、お家の中まで入らせてよ!って言うと、それには「え?さすがにそこまでは無理だよ。」となります。
インターネットで見えている、ブログやホームページと言うのは、そのコンピュータで公開設定された特定のフォルダ(お庭)のことなんです。
ブラウザにURLを入れると、そのお庭を家主が見せてくれているということなんです。
そして、実際のお家には鍵を掛けているので、普通は入れてくれませんし入れません。
ですが、無理矢理にこじ開けて中に入ろうとする・・・これがクラッカーと呼ばれる犯罪行為を行う人です。(ハッカーとはIT技術に長けている人を指します。決して犯罪を行う人を指すのではありません。)
人のお庭を借りる
本気で一からお庭(ブログやホームページ)を造るぞ!!という場合、自分のパソコンにサーバーOSというのを入れて、公開するフォルダの設定を行わなければなりません。
そして、ファイアーウォールと呼ばれる、お家に入られないようにするためのセキュリティーを構築しないといけないのです。
でも、「はてなブログ」とかは、自分のパソコンにそんなことしてないですよね?
これは、はてなブログさんのコンピュータを間借りしているからなのです。
この、はてなブログさんのコンピュータのお庭は大きく、ここからここまでの範囲はあなたのお庭として使っていいよってしてくれているのです。
セキュリティ関係も、コンピュータがはてなブログさんの持ち物なので、そちらの方で設定してくれているというわけです。
こうやって、私などの初心者もブログやホームページを開設出来るということです。
最後に
さて、どうやってインターネットはつながっていて、そして貴方のコンピュータはどのようにして他のコンピュータと通信しているのかが何となく理解いただけたでしょうか。
本当は通信を行うためにはもっとコアな技術が動いていますが、だいたい大まかなインターネットの世界というのはご説明した感じになります。
少しはもやもやが解決したでしょうか?
皆さんのIT関連もやもやを募集しています。こういうのってどういう意味?というのがあればご連絡ください。
初心者ですが、出来るだけ解説を頑張ってみたいと思います!!気軽にコメント下さいね。
あと、twitter等もやっているので、興味あればフォローをどうぞ。
それでは。adios!!
*1:実際には、グローバルIPアドレスとプライベートIPアドレスというものが存在します。IPv4という4つで区切られているアドレスは、割り当てられる数の上限に達しつつあります。そのため様々な方法でIPアドレスの枯渇問題を解決しようとしています。その一つがIPマスカレードという方法です。インターネットに接続できるのはグローバルIPアドレスだけです。しかし、1つのグローバルIPアドレスだけで、例えば家庭内のパソコンや仕事場のパソコンの複数台にプライベートIPアドレスを割り当てて、インターネットにつなげるときにグローバルIPアドレスに疑似変換する仕組みがあります。