![見出し画像](https://assets.st-note.com/production/uploads/images/73734452/rectangle_large_type_2_3a48ec56194d48c259b379ab918e3c3c.jpeg?width=1200)
QoSの基礎を学ぶ:TCP/UDPの上位層で動作するRTP/SIPの活用
IP電話の音声通信、インターネット経由の遠隔会議、Webサイトの閲覧など、そんな日常的な行為は常に通信パケットの行き来に関わっている。どのトラフィックを先に転送するのか、帯域幅の配分に問題があるのかという帯域の制御・管理に働きかけるのはQoSである。
TCPとUDP、それぞれの意味
QoSによる帯域の制御はトラフィックの種類に関連する:
通信プロトコルは大まかコネクションレス型のUDPとコネクション型のTCPに分けられる。
UDPとTCPは共に同じくトランスポート層(TCP/IPモデルの第3層)に位置する。その上位層にはUDPを利用する音声・映像トラフィックとTCPを利用するFTPトラフィックが存在する。
上述したように、QoSにより音声・映像トラフィックの転送を優先させ、FTPトラフィックを遅らせることがある。
![TCPとUDP、構造の違い](https://assets.st-note.com/img/1646031923994-48SpEYZZHx.jpg?width=1200)
UDPとは
UDPとは、User Data Protocolの略語で、高速通信を重視する通信プロトコルである。
UDPはコネクションレス型通信プロトコル(事前のやり取りなしで通信を開始させる)として、動画配信、音声通話、モニター監視などのリアルタイム的な分野で活用される。
TCPとは
TCPとは、Transmission Control Protocolの略語で、高い信頼性で安定した通信を重視する通信プロトコル。
TCPはコネクション型通信プロトコル(事前のやり取りを確認した上で通信を開始させる)として、ウェブサイト閲覧、ファイル転送などのデータ完全性が求められるアプリケーションで実用される。
![図表でTCPとUDPの違いを説明](https://assets.st-note.com/img/1646032115374-Vwkz1tmWEL.png?width=1200)
TCP/UDPの上位層で動作するSIPとRTP
TCPとUDPの上位層に位置するRTPとSIPは、それぞれリアルタイムファイルの転送と呼制御を行う通信プロトコルである。両者の違いを詳しく解説する。
RTPとは
RTP(Real time Transport Protocol)とは、音声や映像のデジタルデータによって構成されたIPパケットで、受信側で音声や映像の再生を実現させるためにUDPの上位層で動作するプロトコルである。
![RTPに基づくストリーミング配信](https://assets.st-note.com/img/1646032301980-6ody8knLMN.jpg?width=1200)
RTSP:Real Time Streaming Protocolの略で、メディア(音声、動画など)の再生・早送り・停止などの機能を制御する。
RTCP:Real Time Control Protocolの略語で、通信状況(遅延時間、パケット損失率、送出と受信のパケット数など)を含む管理パケットを通信参加者に提供するプロトコルである。常にRTPとセットで使用される。
SDP:Session Description Protocolの略で、セッションに必要な接続情報(接続方法、伝送方式、メディアの種類など)を記述したデータである。
SIPとは
SIP(Session Initiation Protocol)とは、事前に相手との通信伝送路(セッション)を確立・切断し、音声や動画のやり取りがスムーズに進むよう機能するプロトコルである。
QoSとは
QoSとは、Quality of Service(サービスの品質)の略で、通信時の速度や品質を保証する技術である。つまり、ネットワーク内の通信が低遅延で高速に行われるように、帯域制御・輻輳管理に働きかけるのはQoSである。
![QoSによるパケット処理](https://assets.st-note.com/img/1646623272278-JEdhZAefhL.jpg?width=1200)
QoSによるトラフィックの制御方法
通信サービスの高品質を保証するために、「帯域幅の確保」と「送信の優先順位を決める」という2種類の手法が設けられた。
1、優先制御(DiffServ / Differentiated Services)
通信トラフィックの種類次第で優先順位を決め、優先順位に従ってパケットを送り出す手法である。
![QoSの動作原理](https://assets.st-note.com/img/1646623292735-i95S2Pz1qR.jpg?width=1200)
1、クラス分け(Classification):トラフィックを分類
2、マーキング(Marking):分類されたトラフィックの優先順位づけ
3、キューイング(Queuing):優先度ごとにキューを用意して、異なるトラフィックをそれぞれのキューに振り分ける
4、スケジューリング(scheduling):キューの優先度に応じてパケットを送信
注釈:キュー(queue):データのリスト構造で、待ち行列の意味
2、帯域制御(IntServ / Integrated Services)
特定のアプリケーションに必要な帯域を確保しておく。他の通信に干渉されないまま、関連のデータ転送がスムーズに進行できる。
ただし、受送信の優先順位を決めるわけではないので、設定された帯域制限を超えたら遅延が発生しかねない。
![帯域占有によるパケットロス](https://assets.st-note.com/img/1646623317256-vHPcNE8NRX.jpg?width=1200)
![QoSによる帯域確保](https://assets.st-note.com/img/1646623527718-7az15WWlNz.jpg?width=1200)
この記事が気に入ったらサポートをしてみませんか?