どうも。エンジニアをやっていると必ず耳にするであろうTCP/IP。正直私もなんぞやということで、調べて見ました。
ざっくりとした理解を目指していますので、詳細を確認したい方は別の記事を参考にしてください。詳しい話がいっぱい出てきます。正直わかりませんでした。
TCP/IPとは?
結論
TCP/IPとは、通信プロトコルのことです。通信プロトコルとは、通信を行うときのルールのことです。
例えば、おはようと挨拶されたら、おはようと返す、みたいなルールありますよね?
もしこれがおはように対して、おやすみだったら、会話が成り立ちません。このように会話にはルールがあります。
それと同じように、通信する際に、これはこういう意味だよというルールを作っておかないと、受け取った側や送信側に意味が伝わらなくなってしまいます。
結果として、通信できなくなってしまうということにつながります。
なので通信する際にTCP/IPというルールを使って通信しましょう、という取り決めをしておいてるというわけですね。結果、通信がスムーズにできるということです。
ちょっと詳しく
TCP/IPは通信プロトコルの一種で、OSI参照モデルと比較してよく説明されます。
TCP/IPにはアプリケーション層、トランスポート層、ネットワーク層、ネットワークインターフェース層の4層があります。各層は以下のような感じです。
アプリケーション層
利用者が使うアプリケーションが通信できるようにするためのルールを設定する場所。HTTPとかSMTPとかFTPなどがここで使われる
トランスポート層
通信する際の信頼性を高める役割がある。ここではTCPやUDPといったものが使われる
ネットワーク層
ここではIPを使って目的地までデータを届ける役割がある。郵便屋さんが住所を目的地にして荷物を届けるのと同じように、PCではIPアドレスを目的地にして、データを届ける
ネットワークインターフェース層
ここでは物理的に隣接するコンピューター間の通信を可能にするなどの役割がある。より物理側