DEV Community

koki-takishita
koki-takishita

Posted on

1

TCP/IPとは

TCP/IPとは

はじめに

  • TCP/IPの理解があやふやで毎回調べているので、一度まとめてみます.
    この記事ではアプリケーション層に関して深堀ります.
    他の層に関しては簡略化します.

  • 図は参考サイトの図を使用しています.

参考サイト

TCP/IPとは

TCP/IPとは

インターネットを通してデバイス同士の通信を確立する際のルール(通信プロトコルともいう).
TCPがルール、IPがIPアドレスを示している.

なぜ必要か

  • 下記のようにデバイス同士の通信の際、個々のハードの構成、メーカー、OSが異なっていても通信できるようにするため. 通信の手順を統一することで、異なるデバイス同士の通信が可能になる.

【図引用】TCP/IPとは

Image from Gyazo

仕組み

  • TCP/IPは通信の際に4工程を経て、通信を確立している. 下記に工程の図を示す.

【図引用】TCP/IPとは

Image from Gyazo

  • 図の通り物理的なEhernet(有線接続技術)からアプリケーションでのデータのやり取りまでのルールが決まっている. 1層〜4層までの工程ひとつひとつに通信プロトコルがあり、これらの工程すべてを総称してTCPと言っていると思う.(自信なさげ) 今回は4層を詳しく見ていく.

4層を深ぼる

4層・アプリケーション層とは

  • webサーバー(アプリケーション・サーバー)とアプリケーション間の通信時の決まりごと(通信プロトコル)

【図引用】TCP/IPとは

Image from Gyazo

  • Railsを使用すると実際は下記の通りになる.

webサーバー ⇔ アプリケーションサーバー ⇔ Rack ⇔ Rails

アプリケーション層プロトコル

webサイト上のやりとりはHTTP・HTTPS

  • HTTPはwebサーバーとアプリケーションの通信時のプロトコル. ブラウザからのリクエストであるGET・POST・PUTCH・UPDATE・DELETEがこれに当たる. リソース取得はGETデータの送信はPOSTといったルールがある.

メールのやり取りはSMTP・P0P3

  • メールのやり取りを行う際はSMTP・P0P3というプロトコルになる.

    Railsでは使用する物によっては設定が必要.

    Mailer設定

DHCP・DNSはアプリケーション通信をするための準備を行うプロトコル

  • DNSはドメインサーバーへアクセスし、ドメインのIPアドレスを取得することが目的です.

    あくまでIPアドレスがなければ、webサイトへアクセスすることはできません.
    DNSサーバは目的のドメインが見つかるまで、各DNSサーバーへアクセスしますが、毎回行っていると時間がかかるのでアクセスした情報をキャッシュに保存しておき、キャッシュの情報から目的のDNSサーバーへ直接アクセスすることができる.

【図引用】TCP/IPとは
Image from Gyazo

終わりに

  • TCP/IPの理解度としては全体の20%程でしょうか. インフラを構築する際に知見が必要だと思うので、引き続き学習していきます.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up