そもそもインターネットとは何なのでしょうか?
はじめに
インターネットとは何か、どのような仕組みになってるか?
皆さんは上記の質問に答えられますか?
私は多数のコンピュータとサーバーが連結されて世界中で情報を共有できるようにするすごく大きいネットワークだと思います。
ですが、どんな仕様で構成されてどのようなメカニズムで通信が行われていてるか分かりませんでした🤯
今回はインターネットの仕組みについて勉強した内容をここに共有したいと思います。
インターネットとは?
まずは、インターネットについてウィキペディアで検索してみました。
インターネットはInternet Protocolを用いて接続されたコンピュータからなる、世界規模情報通信網である。ネットあるいはインターネットと呼ばれる。
どこかで聞いたことがあるプロトコルと情報通信網と言われるのでネットワークかなと思いましたが、もっと分からなくなりました🫠
もっと理解しやすくするために、資料を調査し、以下の動画を見つけました。
結構簡単な用語を使用して分かりやすく説明してくれるのでお勧めします。
上記の動画と私が勉強したことを改めて整理してみます。
改めてインターネットとは?
例えば、パソコンを利用してAからBに下記のメールを送るとします。
こんにちは👋🏻
この場合発生する段階は下記になります。
最初にパソコンはメールを送れる一連のルールに従って(大きさ、出発地、目的地など)分けます。
その後、パソコンは0と1しか処理できないため、二進データ(0と1で構成されたデータ)に変換します。
ちなみに、この0と1を数える単位がビットで0と1は1ビットになります。
変換されたデータは10101010
と01010101
みたいにパソコンのみ理解できるデータになります。
このデータを転送するためAとBを直接ケーブルで繋げないといけないです。
これでパソコンAとパソコンBは通信できる状態になりました。🙌🏻
このケーブルを利用してデータが転送されます。具体的にはデータは電波が波長を使用してケーブルを通じて転送されます。
簡単に0の場合は周波数を1個、1の場合は2個を送ると仮定しましょう。
その後受け取る方は周波が1個であれば0と解釈2個であれば1に解釈すれば問題なく内容を把握できます。
実際はもうちょっと複雑ですが理解するために飛ばしましょう😂
このような段階を踏んでAからBにメールを転送することができました。上記の例は直接ケーブル使って連結したので、何となく分かりました。
しかし、日本にいる私が韓国にいる友達にメール送るためにはどうすれば良いでしょうか?
私がケーブルを持って日本の家から海を渡って森を通じて韓国に着いてケーブルを連結することは想像するだけでも大変そうです。😇
それでは、どうやって他の国にデータを転送することができるのでしょうか?
とりあえず、小さく考えてみましょう。
どうやって東京から大阪までデータを転送できるのでしょうか?
私たちはデータを遠くに送るためルーターというものを使用します。
このルーターを利用して家からインターネットのサービスを提供してくれるプロバイダ(NURO、ソフトバンク光、JCONなど)まで転送します。
このようなインターネットを提供してくれる所をISP(Internet Service Provider)と言います。ISPは他のISPに繋がってもっと遠くデータを転送します。
図が複雑になってしまいましたが、このように細かい繋がりがあったため遠くまでデータを転送できるのだと思います。
また、海を渡ってすごく遠い所に送る時には海底ケーブル会社に依頼して大陸間連結をします。
この時にはかなり長くて薄い光繊維ケーブルを利用すると言われました。
この段階を通じて日本から送られたデータが韓国についに到着できました👏🏻
ここまで見ると、最初の例になるパソコンAとパソコンBのケーブルで直接連結したことと同じように見えるかもしれません。短いですが、これが全部です!
もちろん、他の方法でスペースXのスターリンク、ワンウェブ、Googleのプロジェクトルーンのように衛星を利用した方法もあります。
まとめ
結論的にはインターネットは世界を連結してデータを送受信できるように巨大なネットワークでした。
改めて要約するとデータをパケットに分離してバイナリに変換して複雑なケーブル、ルーターを通じて目的地に到着してデータを再度組み立てることでした。
この後はHTTPプロトコル、IPアドレス、DNSなどもうちょっと具体的に勉強したいと思います。
久しぶりに大学の課題にみたいに調査して楽しかったです。😂
皆さんにも分かりやすく説明できていればと嬉しいです。
Discussion
WEB開発の勉強を始めて、またInternetがなにか自分の中でも言語化されたなかったのですが、とても良い記事でした。時間ができれば、またこの記事や動画などを見ならがゆっくり勉強します!
とても素晴らしい記事でした!!!
まとめについて1つだけ話したいことがありますが、おそらくパケット➞バイナリではなく、バイナリ➞パケットに変換されるのではないかと思いました!
ネットワークのOSI参照モデルをざっくり調べてみましたが、データをバイナリに変換することがレイヤ1でそのデータをパケットに変換することがレイヤ3らしいので、私も勉強してみたいと思います!これからも記事を読んで勉強しますので、よろしくお願いいたします!!
コメントいただきありがとうございます。
分かりにくく書いてすみません。転送するときにパケット単位で分けて、そのパケットはバイナリデータで構成されてます。
ありがとうございます!!!とてもいい勉強になりました!
こらからもBellStoneさんの記事を読みながらこつこつ勉強していきます!!