今回はTCP/IPモデルのトランスポート層についてまとめました。
信頼性のある通信を提供するプロトコルで、エンドツーエンドで通信を行います。
エンドツーエンドとは通信を行う両端の端末という意味になります。
どういうことかというと、端末同士でアプリケーションにデータを送る際にアプリケーション内にある機能にしっかりとデータを届けるためのプロトコルになっています。
さらに詳しく!笑
データを届けるには「ポート番号」という番号を使用してアプリを識別行なっています。
IPアドレスとポート番号は何がちがうの?
IPアドレスはネットの住所ですが、
ポート番号はアプリケーションに入るマンションの部屋番号を指定する番号のようなものです。
トランスポート層のプロトコルの種類
TCP:Transmission Control Protocol
信頼性がある通信だが処理が複雑で、
データを送る際はコネクションの確率をおこなったり、再送制御といってデータが届いてなければ再送するとすることで確実にデータを届けようとする。また効率を上げるために細かく分割することも行っている。
Webサービスや電子メールなどに向いている
UDP:User Datagram Protocol
軽量さがあり多対一の通信が可能
コネクションの確立は行いません。
音声通話やLive中継などに向いていいる
TCPセグメントの構成
TCPでつくられるパケットはTCPセグメントと呼ばれます。
TCPヘッダ詳細のフラグの部分に、
URG・ACK・PSH・RST・SYN・FIN
と呼ばれるパケットを使用し仮想的な通路の確立(確実にデータを届けるための仕組み)を行う。
NAPT
ポート番号を含めた変換を行いプライベートアドレスと外のWebにつながるグローバルアドレスを多対一で変換する機能が「NAPT」です。
つまりルータを使用して、1つのグローバルアドレスで複数台のプライベートアドレスを持つホストがインターネットに接続できるようになります。
イメージするなら電話の外線と内線です。
まとめ
言葉足らずの部分があったと思いますが、
TCP/IPモデルのトランスポート層についてまとめると
・ポート番号を使いアプリケーションを指定してデータを届ける
・端末同士で確実な通信を行うための
ということです。
まだまだ追記必要なところがあるのでで追って更新をしていきます。
最後までお読みいただきありがとうございました。
駆け出しエンジニア けいこ♂
コメント