サーバーにどうやってアクセスするの? ~IT系の仕事を全く分からない人がプログラミング出来るまで ~

初めに

前回は、webブラウザの基本的な仕組みについて解説しました。今回は実際にどのようにサーバーにアクセスしているか、TCP/IP方式について説明できればと思います。

TCP/IPとは?

TCP/IPとは「Transmission Control Protocol」と「Internet Protocol」とよばれるプロトコル(方式・お作法)を組み合わせたものになります。ほぼ全てのコンピューターに実装されている通信プロトコルになります。

インターネットで通信する際のお作法という認識で問題ありません。

TCP/IPの階層モデル

TCP/IPは4つの層に別れて構成されています。OSI参照モデルという7階層で分けるモデルも一般的ですので、両方覚えておくといいと思いますが、階層が多くなってしまうので、今回はTCP/IPの階層モデルを採用します。

なんで階層で分けるの?と思った人も多いと思いますが、階層にすることによって問題が起こった際に問題の切り分けがしやすくなります。例えば第一階層で問題があれば、第一以外の階層に関しては考慮しなくていい のように各階層で独立して切り分けが可能です。また、複雑な仕組みも段階で分けることによってシンプルに考えられることができます。

第四階層からユーザーの目に触れていく階層ですので、アプリケーション層から説明したいと思います。

アプリケーション層

ユーザーが一番目に触れる階層になります。具体的な役割は、

「ユーザーに具体的な通信サービスを提供すること」
「データの表現方法を定めること」
「通信を行うプログラムの開始と終了の手順」

になります。もう少し具体的に言うと、ユーザーが通信を開始しアプリケーションを利用できるようにする層だと思えば大丈夫だと思います。

代表的なプロトコルは以下になります。
自分は以下のプロトコルさえ理解しておけば、業務に支障はないと思います。
- HTTP (Webサーバーとデータのやりとりを行うプロトコル)
- HTTPS (HTTPをより安全利用するため、暗号化方式を取り入れたプロトコル)
- POP3 (メールを受信、送信するプロトコル)
- FTP(ファイルのやりとりを行うプロトコル)
- SSH (サーバーを遠隔で操作するためのプロトコル)

トランスポート層

コンピューター間の通信をより高品質に担保する層になります。

具体的な役割は
「データが届かなかった時に再送を行う制御」
「データを送る際にデータの大きさを決める制御」
「データを分割して送る順序制御」
「データが届いたかを確認する制御」
があります。

データがきちんと届いたかを確認し、届いていなかったら再送を行う。また、データの大きさや分割を行い、相手に届きやすいデータを作成するを行い、通信の質を高めていると理解すれば十分だと思います。

ネットワーク層

データを送信する層になります。
異なる機種間でのデータのやりとりを実現する層になります。

代表的なプロトコルはIP(Internet Protocol)になります。とても大事なプロトコルなので、次回解説しましょう。

ipアドレスという言葉は聞いたことがない人はいないぐらい有名ですので、しっかりと理解しましょう。

ネットワークインターフェース層

osi参照モデルでは、物理層とデータリンク層に当たる層になります。

ネットワークケーブルの形の定義や、信号の送信の仕方を定義する層になります。

ただ、ユーザーではあまり意識しないところかつ、TCP/IPでは特にプロトコルを定義してませんので、もっとネットワーク自体の根本的な層もあるんだぐらいの認識で問題ないです。

TCP/IPで定義されていない理由は、データの送る媒体はなんでもいいからです。無線でもよしケーブルでもよし、データが送信できれば問題ありません。

まとめ

以上、TCP/IPの解説でした!

TCP/IPでは、データの送信の仕方が決められかつ、通信の質の担保されてる方法が定められています。

ネットワークを使ってデータのやり取りをするやり方が階層的に扱われ、標準化されてるんだ、と理解してもらえれば幸いです。
基本的なプロトコルの話はエンジニア同士であれば、理解して当然な部分なので言葉だけでも覚えて損では無いと思います。

次回は!

次回はプロトコルの中でも特に大切なIPについて解説できればと思います。
ではまた!

#初心者 #IT #インターネット #TCP #IP #エンジニア  #WEB業界
#ITを全く知らない人が開発出来るまで

この記事が気に入ったらサポートをしてみませんか?