第13回 データグラム通信を実現するUDPプロトコル:基礎から学ぶWindowsネットワーク(1/4 ページ)
データグラム指向のトランスポート層サービスを実現する、高速・軽量なUDPプロトコルの機能を知る。
■連載目次
第1回 Windowsネットワークの舞台裏
第2回 レイヤ・モデルとファイル共有
第3回 NetBIOSを理解する(1)
第4回 NetBIOSを理解する(2)
第5回 NetBIOSの通信の実際
第6回 TCP/IP始めの一歩
第7回 IPアドレスとネットマスク
第8回 アドレス・クラスとIPアドレス
第9回 IPルーティング
第10回 IPパケットの構造
第11回 MACアドレスを解決するARP
第12回 TCP/IPを支えるICMP
第13回 データグラム通信を実現 UDP
第14回 信頼性を実現するTCP(1)
第15回 信頼性を実現するTCP(2)
第16回 信頼性を実現するTCP(3)
第17回 LLCとNetBEUI
第18回 NetBIOS over TCP/IP(1)
第19回 NetBIOS over TCP/IP(2)
第20回 ファイル共有SMB/CIFS(1)
第21回 ファイル共有SMB/CIFS(2)
第22回 ファイル共有SMB/CIFS(3)
第23回 ブラウザ・サービス
前回までは、IPプロトコルやICMPプロトコルについて解説した。今回からは、いよいよTCP/IPプロトコルの核心である、TCPやUDPについてみていく。TCP/IPでは、セッション指向の通信方式とデータグラム指向の通信方式の両方をサポートしているが、まずは単純で理解しやすいプロトコルであるUDPについて解説する。
UDP(User Datagram Protocol)とは、TCP/IPにおける、データグラム通信を実現するためのトランスポート層プロトコルである。TCPが、セッション指向で信頼性の高い通信機能を提供しているの対し、UDPでは「信頼性はない」ながらも(「信頼性がない」の意味については後述)、軽量で高速なプロトコルを目指して設計されている。具体的には、下位のネットワーク層であるIPプロトコルをほとんどそのまま利用したプロトコルになっており、その機能も特徴も、IPプロトコルとほぼ同じである。UDPを使うことにより、セッションのセットアップや終了処理などに煩わされることなく、最大64Kbytesまでの任意のサイズのデータを、アプリケーション間でやりとりすることが可能になる。ただし通信が失敗した(パケットが途中で破棄されたり、壊れたりした)場合の検出や、その再送処理などの機能は用意されていないので、必要ならばアプリケーション側でこれらを検出し、対応する必要がある。だがこれらの検出を行わない分、軽量、高速なプロトコルに仕上がっているのがUDPである。
UDPプロトコルを使ったパケットの構造
UDPは、IPプロトコル上に実装された、トランスポート層プロトコルである(プロトコルの階層構造については「連載第12回―TCP/IPプロトコルを支えるICMPメッセージ」を参照)。IPプロトコル(ネットワーク層プロトコル)はネットワーク上に存在する2台のマシン間での通信を担当するのに対し、UDPやTCPというトランスポート層プロトコルは、それぞれのマシン上で動作しているアプリケーション間での通信を担当する。つまりコンピュータ上のアプリケーションは、TCPかUDPを使ってお互いに初めて通信できるようになる。IPヘッダ中にはコンピュータを区別するための「IPアドレス」が含まれているが、UDPヘッダ中には、その上で動作しているアプリケーションを区別するための「ポート番号」が含まれている。
Copyright© Digital Advantage Corp. All Rights Reserved.