はじめに
案件を通じて、サーバーを0から構築することや、WARファイルをデプロイすることで、ブラウザからアプリ利用を実現するやり方をいくつか学ぶことができました。
しかし、そもそも0と1の並びであるデータをどのように2つの機器間で受け渡ししているのかという疑問がありました。
具体的にはLANケーブルで繋いでる場合は、電気的な移動等が行われ、結果としてデータの受け渡しが可能であることは想像できます。
しかし、構築したサーバーと私のPCは直接LANケーブルで接続されているわけではありませんでした。それにも関わらずデータのやり取りが可能である点に疑問を持ちました。
そこで、TCP/IPの最下層にあたるネットワークインターフェース層(OSI基本参照モデルの物理層・データリンク層に相当)や、無線、有線等について調査しました。
結論
結論として全ての機器は、有線もしくは無線によって繋がっていることを知りました。(もちろんルーターやスイッチを介してる部分もあります)
有線では、主にLANケーブルや、光ファイバーが使われ、無線には、主にWifiとモバイル通信(4G・5Gなど)が使われているとのことです。
有線で繋がっていない様に見えていた箇所は、無線又は海底ケーブル(光ファイバーの束)によって繋がっていました。
(手書きですみません…🙇)
歴史・背景
そもそも以下の様な歴史・背景があるみたいです。
- 昔は会社ごとに通信方式が違ったので、A社ネットワーク ↔ B社ネットワークが繋がらなかった。
- 異なるシステム間でも通信できる共通プロトコルの必要性が高まり、TCP/IPが考案された。
- 現在は、TCP/IPという共通の通信規格で接続された複数のネットワークが集まった巨大なネットワークの集合体「インターネット」が形成されている。
- つまりTCP/IPを話せる機器だけがインターネットに参加できるという状態。
- TCP/IPは4つの階層のプロトコルが正常に機能して初めて通信が可能。
今回の調査を通じて
サーバー構築後は、データの送受信の為に、既に存在するインターネットに接続することがほとんどで、そのインターネットではTCP/IPというルールが既に使われているので、構築したサーバーもTCP/IPに沿うようにする必要があり、具体的には4つの階層のルールを満たす必要がある。
ネットワークインターフェース層(物理層・データリンク層)
有線なら0と1を電圧の高低にして、ケーブルの中を通じて相手に伝え、
無線なら0と1を電波の周波数・位相・振幅の変化にして、空気中を通じて相手に伝えるので、その道が必要。
その道を作るためのルールが定義されている。
TCP/IPで通信することが標準化して以降、ベンダはTCP/IPの仕様が定められたRFCを元にハードやソフトの実装をしているため、こちらがすることは、構築したサーバーをすでに存在する社内LAN(主にスイッチ)や家庭内のLAN(主にルーター)に有線又は無線で繋ぐくらい。
相手に届いたとしても、それが誰から来たのか、何の意味なのか、壊れてないかは分からない等、現実世界でも道と交通ルールはセットなので上位層が必要になる。
インターネット層
物理的な道だけでなく論理的な道も作るイメージ。
IPアドレスを設定する(DHCPでネットワークから自動取得又は静的IPを手動設定)
トランスポート層
TCPとUDPがあります。
アプリケーション層
目的ごとHTTP、HTTPS、SMTP(送信)、POP3、IMAP(受信)など複数あります。
まとめ
一旦の現在の理解をまとめてみました。
間違っている箇所があった際は、教えて頂けますと幸いです。よろしくお願い致します。🙇
