LoginSignup
4
2

More than 1 year has passed since last update.

ポート番号とTCP/UDPの理解

Last updated at Posted at 2021-09-18

TCPとUDPについて深堀したので、いろいろなサイトとYouTube動画を参考に、まとめてみました。

参考記事
ネットワークエンジニアとして
ポート番号とは?と代表的なポート番号まとめ

目次
ポート番号とは?
ポート番号の種類
主なプロトコルとポート番号一覧
「TCP」とは?
-スリーウェイハンドシェイクとは?
-「TCP」関連知識
「UDP」とは?
「TCP」と「UDP」の違いまとめ

ポート番号とは?

通信をする際、送信側にも受信側にもたくさんのアプリケーションが入っている為、
どのアプリケーションからどのアプリケーションまで送るかを特定するための番号。
16ビットの整数(0~65535)で定義されます。

ポート番号の種類

主なプロトコルとポート番号


「TCP」「UDP」とは?仕組みと違いについて

TCP/UDPとは、OSI参照モデルのレイヤー4:トランスポート層の代表的なプロトコルです。
(OSI参照モデルについては、「ファイアウォールの役割/OSI参照モデルまとめ」を参照)
トランスポート層では、どのように通信をするかということを決めていきます。
(通信方法、通信状態の確認方法、異常発生時の対処方法など)

TCP や UDP を使うことで、ある1 台のサーバの 1 つの IP アドレスで、複数のサービス(http/dns/SMTP 等)を提供できるようになります。
また、この機能を「セッションの多重化」といいます。

TCPとUDPをそれぞれ深掘りしていきます。


TCP(Transmission Control Protocol)とは〜信頼性を重視〜

  • 信頼性の高い通信を実現するために使用されるプロトコルです。
  • 信頼性を高めるために、送信元&宛先双方で状況を確認し合いながら 通信を行います。(コネクション型と言います)
  • 送信データは、セグメント(パケット)という単位に分割されます。

合わせて覚えたい「スリーウェイハンドシェイク」

TCPは、通信する前、コネクション(接続)を確立する為に、必ず双方(送信元と宛先)で情報の確認のやりとりをします。これをスリーウェイハンドシェイクと言います。

3つのステップ
1. 送信側が受信側に、「SYN:1」でセグメント(パケット)を送信。(通信したいことを伝える)
2. 受信側が送信側に、「ACK:1、SYN:1」でセグメントを送り返す。(通信OKの意思と、受信側からも通信したいことを伝える)
3. 送信側が受信側に、「ACK:1」を送り返す。(送信側も通信OKの意思を伝える)

~関連知識~

◆制御ビット

ビット名 意味
URG(Urgent) 急ぎで処理すべきデータ
ACK(Acknowledgement) 確認応答番号のフィールドが有効(データが正常に届いたかを表す)
PSH(PUSH) 受信したデータを即時にアプリケーション層(上位)に渡す
RST(Reset) コネクションを強制終了する。異常の検出。
SYN(Synchronize) コネクションの確立を要求
FIN(Finish) コネクションの終了を要求

◆セッションとコネクションの違い

セッションは、通信の開始から終了までを管理する1つの単位のことで、コネクションは、セッションでデータ転送を行うための回線のこと。(道筋のようなもの)

◆PDUとは

Protocol Data Unit(プロトコル・データ・ユニット)の略で、通信におけるデータ単位のこと

◆データ単位:パケットについて

データを小分けにして送るという意味があるので、どの層のPDUなのか?に関わらず、データ単位をパケットと呼ぶことが多い。


UDP(User Datagram Protocol)とは〜スピードを重視〜

  • 信頼性を考慮せず、送信データの制御や管理といった概念が一切ないプロトコルです。
  • 指定されたポート番号に、何も考えずにデータを送ります。(コネクションレス型と言います。)
  • TCPとは扱うデータも異なり、データグラムという単位に分割されます。
  • 処理の不可が小さい為、スピードが速いのが特徴です。IP電話や動画ストリーミングなど小さいデータの転送で活躍します。

TCPとUDPの違いまとめ

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2