コンピュータネットワーク入門(前期の復習+α)
インターネットの起源
アメリカ国防総省・高等研究局(ARPA: Advanced Research Project
Agency )が、いくつかの拠点が壊滅しても全体としての通信ネットワー
クを確保するための実験としてアメリカ国内の4大学
を接続しました。
⇒ARPANET := 1969年12月 に誕生、とされています。
インターネットの特徴
-
大学、企業、プロバイダなどの(組織)ネットワークがお互いに結ばれて
全体として1つのネットワークのように振舞います。
- 接続経路は複数 ⇒ 一部が切れても大丈夫(接続性が高い)
- ネットワークを流れるデータは
小さな塊(パケット) に分けて送られます ⇒ 転送エラーが起こっ
ても、そのエラーがおこったところだけ再送すればよいわけです。
大きな塊のままデータを送ると、途中でエラーがおこった場合、全部送り直し
になってしまい、効率が悪くなってしまいます。
-
インターネット全体を管理運営する組織はないですが、 最低限
必要な調整を行う組織 は存在します(後述)。機関に割り当てる
ドメイン名(電子メールのアドレスや、WWW の URL などのベース)
や、 インターネットに接続するIPアドレス(計算機=ホストマシン
のネット上での登録番号) が かち合わないように調整してくれています。
- とはいえ、近年インターネットの肥大化および社会的重要度が増すにし
たがい組織もどんどん整っており、実質的に組織的に管理運営されている、と
言ってもいい状況になりつつあります。
ネットワークの論理的接続
-
コンピュータ間の通信を行うためには、 単に電気信号を送り合えればいいと
いうわけではなく、それを情報として解釈するための共通の約束(プロト
コル)が必要 です。
- この点に関しては、今日のインターネットは必ず TCP/IP とい
うプロトコルを使うことになっています。言い方を変えると
TCP/IP でつながっている世界中のコンピュータのネットワークが
「インターネット」だ、ということです。
- つまり TCP/IP は、(学術界での英語と同様?)いわば世界中
のコンピュータが会話をかわす時の共通語なわけです。
ネットワークとプロトコル
そもそもプロトコルとは何か、ということですが、(コンピュータに限らず)
通信をする際の 約束事(通信規約) のことです。
通信のための約束事というのは実はコンピュータネットワークにかぎったこと
ではなくって、例えば、人と人がコミュニケーションをとる際にも、音声
(空気の振動) により、日本語という文法 (これも規約と考え
ることができる)により通信(?コミュニケーション)が可能となっているる
わけです。みんながてんでんばらばらに、フランス語とかアラビア語をしゃべっ
たんではコミュニケーションはなりたちません。
別の例でいうと、我々が葉書(封書でも一緒)を出す場合に、ちゃんと約束事
に従ってます、よね。これも勿論通信です。つまり相手の郵便番号をちゃんと
7桁書いて(それも決まった場所=上に!)住所と名前もおおよそ決まった場
所(郵便番号の下)に書いて、切手も決まったところ(左上)にはって、ポス
トに入れる、という手順をふむわけです。これも立派なプロトコルです。この
約束を破ると、例えば住所を書かないと何処に届けていいかわからないし、切
手を貼らないと郵便は届けてもらえない、ということです。
くどいようですが、プロトコルすなわち約束事をまもらないと、情報は伝
わらない(伝えようがない) ということをここでしっかりと押えておい
てください。
プロトコルの階層
プロトコルといっても決めることは沢山あって、例えばケ−ブル・コネクタの
形状の決まりがないとそもそもお互いに差し込めるようにできないし、あとア
プリケ−ションレベルのデ−タフォ−マットも約束事=プロトコル
です。もしこういった規格が全て1つの約束事になってたら、ということを仮
に考えてみましょう。そうすると、もしケーブルでつないでたコンピュータを
無線にしようとしたら、無線LANの規格を含むプロトコルに総入れ換えしない
といけなくなります。手紙の例で言うと、郵便屋さんが乗ってるのが自転車か
バイクか車かによってあて先の書き方を変えなければいけない、という感じで
す。これは非常に面倒でかつ無駄なわけです。
もし自転車なら舗道のある道順を指定しないといけないけど畔道を通ることに
なっても大丈夫、とか、車なら高速道路のルートを教えてあげないといけない、
といった感じでしょうか?
そこで、ネットワ−クプロトコルを階層的に定義 して整理(モデリ
ング)する方法が一般的です。これをネットワークアーキテクチャ
といいます。
要点として;
- 「通信ができる」とは、プロトコルにしたがってデータ交換ができる 、
ということである。
- ある階層以上でプロトコルが一致していれば、それより下の層は一致してい
なくても通信は可能 である。
例えば、電話線でダイアルアップしようが、LAN
経由であろうが WWW は同じようにアクセス出来る。
- 逆に、如何に下の階層が全く同じでも、上の層が異なれば通信はで
きない 。というよりも、出来ると困る。
例えば、メールの情報とWWW
のデータが混ざって届くとわけがわからなくなる、というイメージ。
ということを押さえておいてください。
OSIの7階層について
ネットワークアーキテクチャの中で標準的なものが、ISO (Internatinal
Standardisation Organisation) が 1983 年 に示した OSI
(Open System Interconnection) の参照モデル です。
このモデルは Internet において実際に実装されているというわけではありま
せんが、ネットワークの階層性を理解・説明するのに便利で非常によく利用さ
れますので、ここでも述べておきます。
これは7つの階層からできています。
基本参照モデル | 上位層 | 第七層 | 応用層
| 応用プログラムや端末利用者にデータ通信機能を提供 |
---|
第六層 | プレゼンテーション層 | 異機種間のデータの
タイプや符号を変換する |
---|
第五層 | セション層 |
全二重、半二重、優先データ、送信機能、同期、再送機能などを提供 |
---|
下位層 | 第四層 | トランスポー
ト層 | データ転送品質(誤りの検出・回復)を保証 |
---|
第三層
| ネットワーク層 | 通信ルートの確立し、データを中継・転送す
る機能を提供 |
---|
第二層 | データリンク層 | 高信頼
の透過的なビット伝送を保証 |
---|
第一層 | 物理層 |
通信回線を介してビット単位の伝送を提供 |
---|
物理媒体
| 電気的な回路、回線、交換機など |
---|
|
それぞれの層の主な機能は、以下の通りです。ちなみに第1〜4層を下位層、
第5〜7層を上位層と呼びます。
- 応用層(Application Layer)
応用プロセスや端末利用者にデータ通信機能を提供する層です。
- プレゼンテーション層(Presentation Layer)
データの表現形式の制
御、、セキュリティの管理などを行う層。応用層が扱う情報をいかに効率的に
相手に伝えるかが重要となる。
- セッション層(Session Layer)
全二重や半二重という通信モードの管理、通信に必要な同期・非同期、障害からの
復旧などを管理する層です。
- トランスポート層(Transport Layer)
下位層の通信機能が充分でない時、独自に誤り検出/回復による高信頼化や
多重化・分流によるコストの低減、高スループット化などを行うための、
いってみれば上位層とのインタ−フェ−スの役割をはたす層です。
TCP, UDP がこの層に対応します。
- ネットワーク層(Network Layer)
目的の層までの経路選択と中継機能
により経路を設定、データを透過的に転送する、等の相互接続のための規定で
す。ネットワーク層のプロトコルの例としてはX.25の呼制御手順などがありま
すし IP もこの層と考えられます。
- データリンク層(Data Link Layer)
物理層から提供されるビット伝送
機能を用いて、高信頼の透過的なビット伝送を提供する機能を持ち、この中に
は多重化、フラグシーケンス、順序制御、誤り制御、フロー制御などがありま
す。データリンク層のプロトコルの例としては HDLC(High-Level Data Link
Control)ハイレベルデータリンク制御手順や CSMA/CD などがあります。
- 物理層(Physical layer)
物理層は、電線は当然として、マ
イクロ波や衛星、光ファイバなどの各種物理媒体を介して、ビット単位の伝送
を行うためのプロトコルで、信号レベルや伝送スピ−ド、あるいはコネクタ形
状なども含まれます。IEEE 802 シリ−ズ等もこれに含まれます。
ちなみに、インターネットの世界の標準プロトコル TCP/IP に上の7層をむり
やり(?)対応付けると、1,2 層目はごっちゃになって(代表として)データ
リンクの層として扱うことが多く、 3 層目がIP、4層目がTCP,UDP 、
5〜7層もまた併せて(代表として)アプリケーションの層として考えることが
多いです。
RFC
Internet 上の約束事(規則といってもいいが、強制する組織は無いのは前述の
通り)の多くは、RFC (Request For Comments) という形でまとめら
れて、公開されています (原語は英語)
。
RFC 以外にも、特に下位層については
ISO ,
IEEE などで標準化されたものがいくつ
か使われています (IEEE 802, ISO の文字コードなど)
たとえば、電子メールのプロトコルと型式に関しては、比較的最近(と
いっても2008 年)更新された
RFC5321 と RFC5322
で規定されています。
その前にあったメールに関する RFC としては821/822, 2821/2822 がありまし
たが、これらは5321/5322 に上書きされた形で 無効 (obsolete) と
なっています。このように、RFC は旧来のものを改善したものが出てきたとき
に、バージョン管理ではなく新しい番号をふって古いのを無効にする、という
習慣があります。
ちなみに一部は日本語に翻訳されています。それらについては、例えば
JPNIC の RFC のページ などを参照してください。
物理層 (Physical Layer) について
通信をするには、まずはなんらかの手段でコンピュータ同士をつながないとい
けないわけで、さらにその場合、電圧とかいろいろ事前に決めておかないと当
然データ通信は出来ないです。その「なんらかの手段」の規約がすなわち物理
層のプロトコルとなります。
通信路の種類と通信速度
下のものほど新しく、大体高速になってます。
- RS232C (いわゆるシリアル)…9600bps 位でよく使ってました。
- (公衆)電話回線…V90 で 56kbps
- 同軸ケ−ブル: イーサネット (Ethernet, IEEE 802.3) :
10Base-5/2 (10Mbps)
また、いわゆる ADSL や CATV もこの方式でデータ
通信を(音声通信やビデオ信号と混在させて)行っている場合があります。
ちなみに IEEE 802.3 は単なる(OSIでいうところの)物理層の規定だけではな
く、実際にはデータリンク層に対応するところの規定も含まれています(後述)。
- ツイストペア線: これも Ethernet : 10Base-T (10Mbps),
100Base-TX (100Mbps)
RJ-45 (厳密には 8P8C) コネクタでつなぎます。
最近はギガビットイーサも普及しています。
- 光ケ−ブル: 10Base-F も一応ありますが、今ではギガオーダー(以上)
の高速通信に利用されています。B-Flets などの俗にいう FTTH (Fiber To
The Home) もこれです。
- その他
- 赤外線…スピードというより利便性です。
- 無線LAN (IEEE 802.11a/b/g/n/ac) は今ではあたりまえのイ
ンフラになっています。
- bluetooth は無線LANほどの到達性は必要としない簡便な無線
通信として登場しましたが、普及は今一歩でした。しかし、スマートフォンに
ほぼ標準で搭載されるようになり、イヤフォンなど周辺機器との接続に利用さ
れています。
伝送の方式(種類)
-
全二重 (同時に双方向通信が可能)
半二重 (同時
には片方向の通信しかできない。昔のトランシーバとか糸電話はこれ。一方が
話しおわると「どうぞ」と言って相手に番をまわす)
ちなみに Ethernet は元々の規格としては上にもあるよう同軸ケーブルだった
ので半二重(ある一瞬には、あるコンピュータからあるコンピュータに一方向
で通信していて、他の通信は出来ないというか、待たされている)なのですが、
ツイストペアの場合には上りと下りで別の線を使えるので、全二重通信が可能
です。
- 直列伝送 (シリアル:RS 232C, Ethernet, USB,.. 要するに
転送路が1本ということ)
並列伝送 (パラレル:プリンタ等)
- 同期 (網でタイミングを合わせて通信する。計算機内部
(マザーボード上とかCPUチップ内とか)はこちら)
非同期 (送
信したい時に送信する。衝突などがおこるとパフォーマンスが落ちるが自由度
は高い。Ethernet はこちら)
- ベースバンド (ビットの0/1を電気の On/Off 等に対応させ
て、そのまま流す。のろしはこっち(煙の有無))
ブロードバンド
(モデム等…変調をすることで、情報を伝送)
接続の方式
- バス型 : 同じケーブル(?)に複数のコンピュータが接続されます。
- リング型: 1つのコンピュータは2つ線をもち、それぞれ両隣と
接続することで、全体が輪になって継っています。通信は回覧板のよう
に直ぐ隣の人にメッセージを渡して伝えてもらいます。
- スター型: 中心になるコンピュータ(ハブ)に、他のコンピュー
タすべてが継っています。なので、通信は常にハブ経由となります。
物理的な接続と、論理的な接続が違う場合があるので注意してください。例えば
スイッチングハブにつないだ複数のPCによる Ethernet のネットワークは、物
理的(見た目)にはスター型ですが、論理的(プロトコル的?)にはバス型です。
(以下参照)
データリンク層 (Data Link Layer) について
データリンク層の役割
- 誤りの検出と回復
パリティ、CRC…詳細は略
- 多重化と分流
- 多重化
- 分流
- フロー制御、順序制御…も詳細は略
Ethernet (IEEE 802.3) のデータリンク層プロトコル
-
Ethernet のフレーム
MAC アドレス =6オクテット (octet)
により識別しています。6のうち前半3オクテットはメーカー毎に決まっていて、
(以下16 進数で)例えば Intel なら 00:07:E9,他(複数もってます)
RealTek なら 00:40:33 という感じです。この制約により、原則としてあらゆ
るネットワークインターフェース器機は世界中で一意の MAC アドレスをもつ
ことになっています。
octet とは 8 ビットのことです。コンピュータのハードウェアで言う byte とほ
ぼ同じ意味ですが、何故か(歴史的事情で?)通信やさんはオクテットという言
葉を好んで使います。
-
有線LANの制御方式: CSMA/CD (carrier sense multiple access
with collision detection) : データが衝突すれば再
送

-
無線LANの制御方式 CSMA/CA (carrier sense multiple access with collision
Avoidance) :もデータが衝突すれば再送、ただし送る前に間をあける
ネットワーク層 (Network Layer) について
ネットワーク層の機能 = IP (Internet Protocol)
IP とは
IP とは、OSI の7階層のネットワーク層(3層目)に対応する、複数のネット
ワークを繋げるためのプロトコルです。複数のネットワークをつなげられるよ
うになって、はじめてネットのネットである Internet が構成できるわけです。
1つ下の層である データリンク層 で、ある 1つの ネッ
トワークに継った複数のコンピュータがつながることが保証されます。細かく
言うと、MACアドレス というインターフェース(ネットワークの
出入り口であるハードウェア) が固有にもっている 6オクテット
( 48 ビット)の数値で識別され、 CSMA/CD(有線), CSMA/CA(無線)
等のプロトコル にのっとってフレーム(=データの小さな
塊)
単位でのデータ交換を可能としています。
IPアドレスの表現
住所の場合は前述のように数字、文字を
使って書くわけですが、IPアドレスはどうなってるかとい
うと、40 億くらいまでの単なる整数です。
細かくいうとIP(v4) アドレスは
32ビット = 4オクテット
で表現されます。つまり、0か1かが
10010110000010011010000000001010
のように32個並ぶわけですが(10 進数だと 2517213194) 普通は8ビットずつ区
切って、
10010110 00001001 10100000 00001010
とし、さらに各々を(なぜか16進数ではなく) 10進数に直して
150.9.160.10
のように書くのが普通です。つまり、10進数で 0〜255までの数の、4つ
組 でIP アドレスというものが成り立っていてるというわけです。
ネットワークアドレスとホストアドレス
Internet では、近くのコンピュータにデータを送るのに世界中
に問い合わせたり遠くのコンピュータを経由することは原則しません。
VPN 等の例外もあることはあります。
これを実現するのが「ネットワークアドレス」と
「ホストアドレス」です。IP アドレスというのは実は
-
最初の方が(その計算機がぶらさがってる)ネットワークアドレス、
-
下ののこりが(その計算機自体にふられている)ホストアドレス、
である、ということを理解してください。
先の例では、150.9. が阪南大学 (hannan-u.ac.jp) のネットワークアドレス
で、160.10 が puffin のホストアドレス、となるわけです。
ホストアドレスが全て1であるアドレスはブロードキャストアドレス
(そのネットワーク全体を示す)で、全て0であるアドレスはネッ
トワーク自身のアドレスになります。つまりこの2つにはホスト
(コンピュータ)を割り当てることは出来ません。
グローバルアドレスとプライベートアドレス
上でも少しのべたように、IP アドレスは不足気味でずっと推移しています。
実はサブネットで切るのも効果はあるのですが、1つの組織で全てのコンピュー
タに世界で一意のIP アドレス(これをグローバルアドレスといいま
す)を割り当てるのではなく、組織内は閉じたネットワークを構成し、そこで
は自由に世界中で一意ではない(つまり重複した)アドレスをふることで解決
することが考えられました。これがプライベートアドレス(RFC1918)
です。
RFC1918 で規定されているプライベートIPは以下の通りです。
- 10.x.x.x (クラスAに対応)
- 172.16.x.x - 172.31.x.x (クラスBに対応)
- 192.168.x.x (クラスCに対応)
これらは勝手に使ってよいのですが、当然使ってよいのはその閉じたネットワー
クの中だけで、重複してるので外部、すなわち The Internet では当然このア
ドレスは直接は 使えません。
ではどうするかというと、プライベートアドレスのマシンはグローバル
アドレスが振られているルータに接続され、そのルータ経由で、その時にグロー
バルアドレスに変換してから外部に接続する、ということをします。これには
NAT (Network Address Translation) や、 NAPT (Network
Address Port Translation) (別名 IP マスカレーディング
(masquerading) )といった技術をもちいます。
この変換を利用すると、1つのグローバルアドレスを多数のコンピュータで使
えるのでアドレスの消費を節約できるというわけです。また、結果として外部
から内部のアドレスを隠すことになっているので(不正アクセス等の)セキュ
リティ対策面でも有利です。現在ちまたで売られて使われている「ブロー
ドバンドルータ」なるものは、ほとんどがこの機能を使ってます。
サブネットとネットマスク
例えばクラスBのネットワークだと6万個以上のコンピュータが1つのネッ
トワークに継るわけですが、これは輻輳の可能性もありますし、ネット資
源として無駄が出る、等いろんな意味でよろしくないので、大抵の組織内
ネットワークでは、これを(もちろん論理的に)細かく切り刻んで使うこ
とが多いです。その場合の刻んだネットワークのことをサブネット
といいます。そして、具体的な個々の刻まれたサブネットのことを
セグメントと言うことがあります。CIDR とにたような動きで
す。
そして、サブネットがどのように刻まれているかを示すのに使われるのが
ネットマスクです。これとIP アドレスの ビット毎の論理積
(bitwise-AND) をとるとサブネットのアドレスがわかります。例えば本
学の場合だと、ネットマスクは 255.255.248.0 なので、例えば 150.9.160.10
の場合、150.9.160 までがネットワークアドレスとなります。つまり;
255 . 255 . 248 . 0
11111111 11111111 11111000 00000000
&
10010110 00001001 10100000 00001010 <= 150.9.160.10
=10010110 00001001 10100000 00000000 <= 150.9.160.0
同じネットワークアドレスを表すのに、150.9.160.0/21 という表記
をする場合もあります。これは、上位21ビット(=255.255.248.0) がネットワー
クアドレスである、という意味です。同じ 150.9.160.0 でも、/19 もありえ
るし、/24 もありえるわけです(上図参照)。
経路制御
経路制御 (routing, ルーティング) とは、上でいうネットワークを
またがって配送する場合に、どのようなルールで転送していくか、ということ
です。これがないと、ネットワーク間の情報伝達は出来ないわけです。たとえ
話でいうと、大阪府外に出す場合は、まずは中央郵便局に集配して、そこから
各都道府県の中央郵便局に送って…という感じです。
実際の制御を簡単な例え話でいうと、
-
送りたい場所が自分と同じ府県(=ネットワークセグメント)ならそ
のまま行ける。
- 自分と同じ府県に目的地がなければ、
-
その経路を教えてくれるところ(大抵は中央郵便局?)へまず送る。
-
そしてそこで次に送るべき場所(大抵は都道府県の大きな局)を教わって、それに従う。
-
これを目的地に到着するまで繰り返す。
という感じです。
ということで、本格的な解説です;
ルーティングテーブルの管理
ルーティングテーブルを静的、すなわち不変のものとして管理する場合は、上
述のようにテーブルを管理者が作っておけばいいわけです。しかし、障害対応
など接続状況が変化する場合は、その状況に応じて適宜動的に生成
する必要があります。その場合、RIP などのプロトコルを用いて生
成します。これこそが、Internet が Internet として成り立っている
(網の一部に障害がおこっても全体としての通信機能はたもたれる)主要
技術となっているわけです。
DNS (Domain Name System (Service))
名前と IP アドレス
IP アドレスは数字の羅列なので、コンピュータにとってはともかく、人間にとっ
ては覚えにくく、扱い辛いです。なので、分り易い名前をつけて、その名前と
IP アドレスの関連をつければよい、ということが考えられました。それがすな
わち DNS です。IE などのブラウザは、自動的に ドメイン名を
IPアドレスに変換 してアクセスしているわけです。

トランスポート層 (Transport Layer) について
IP 層で世界中のコンピュータがつながるようになるとして、その上で、さて個々
のアプリケーションがどのようにそれぞれを 区別して個別に 通信が
できるか、については、もう少し細かい制御が必要となります。それがこの層
の役目になります。
TCP,UDP と並行処理のモデル
そもそもここで対象としている並行処理 とは何か、ということなので
すが、そもそも今どきのコンピュータはマルチプロセス
システムであることが本質であり、その各プロセスが個別に通信
を行えるようにするための仕組みを提供しています。つまり、同時にメー
ルの送信・受信も出来るし、WWW のサービスも提供できるし、ということです。
そこで、並行処理のために、ポートという概念を導入し、これを識別子として
個別の通信を区別できるようにしています。
IP 通信では、2者(通信の主体、ノード ということがあります)
間で通信をする場合には、まず通信したい、即ち何かサービスを受けたい方
(これをクライアント といいます)から通信される、即ち何かサー
ビスをする側(これをサービスする者という意味でサーバ といいま
す)にたいして接続要求をし、サーバが要求を受け付けた時点で通信が開始さ
れます。これをサーバ・クライアント型通信 といいますが、サーバ/
クライアントといった種類を問わず、かならずポートを割り振ります。
例えば、SMTPサーバは通常25 番を使用しますし、HTTPサーバは
80 番です。つまりサーバの場合は、クライアントからのアクセス時
にどのサービスを受けたいかを指定しないといけないので、必然的にポートを
指定する必要があります。そして、一般的なサービスについては25や80のよう
に一般的な固定化された番号を定義しています。これはウェルノウンポー
ト(well-known port) と呼ばれます。
unix 系マシンの場合はたいてい
/etc/servicesというファイルにそのポートが記されています。以下、
/etc/services からの抜粋です。
ftp-data 20/tcp
ftp 21/tcp
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp # SSH Remote Login Protocol
telnet 23/tcp
smtp 25/tcp
www 80/tcp http # WorldWideWeb HTTP
www 80/udp # HyperText Transfer Protocol
pop-3 110/tcp pop3 # POP version 3
pop-3 110/udp
同時に、これらのサーバに接続するクライアント側のアプリケーションでも、
実はポート番号が割り振られています。そうしなければ、要求元、すなわちサー
ビスを受けたいクライアントノード上のアプリケーションが見分けられないか
らです。とはいえ、クライアント側のポートは何でもよいため、通常は使用さ
れていないポート (1024 より上)からOSが 自動的に割り振ります。
TCP の通信モデル
- ストリーム機能(データが順番通りに流れていく)
- バーチャルサーキット(コネクションを張った通信…
あたかも個別に回線が引かれているように使える)
- バッファ付き転送(緩衝領域をもっておくことでスムーズにデータを流す)
- 全二重(同時に双方向で通信が出来る)
- 非構造化ストリーム…詳細は略
これらをIP層の上で構成して、信頼性をもたせているわけです。言い替えると、
TCP は多少パフォーマンスはおちることがあっても、高信頼性の双方向通
信を確立させるためのプロトコルと言うことができます。ちなみに
コネクションを張る、とは、データを流す前に繋ぎ元と繋ぎ先をお互い
に確認することで、その後は安心して通信できるようにする、ということです。
UDP …コネクションレス型プロトコル
-
UDP とは TCP より効率を重視したプロトコルで、ポート番号とチェッ
クサム以外のエラー処理を行わないため、パケット自体が小さくてすみ、格段
に処理が簡単になります。
-
UDP の使い道はどのようなものかというと;
- DNS のように、 そもそも送るべきデータ量が少な
く て、 送信失敗すればまた送りなおせばよい という開き直り
(?)で素早く情報を伝えたいものや、
- ファイル共有 等、効率を重視し、かつ通常同じセグメントで使
われるためエラー処理などをさほど必要としないものや、
- ストリーミング のように、エラーになった時は再送するのでは
なくその部分のデータは諦めて 実時間性 を重視するものに使われま
す。
言い替えると、UDP はパフォーマンス重視の(ほとんど)一方向の通信といえ
るでしょう。
おまけ:「サーバ」とは何か?
上にも「サーバ」という言葉が使われていますし、今後も頻繁に出てくるので
すが、ここでまとめとしてサーバについて改めて説明しておきます。
「サーバ」とは、第一義としては Webサーバやメールサーバといった
ソフトウェア がインストールされて、動作している コン
ピュータ すなわちハードウェア です。サーバと言うと
なにか難しいものに思えるかもしれませんが、細かな違いを除けば、普段
使っているPCと特に変わりありません。そのソフトウェアが24時間動い
ていて、サービスを要求されるのを待っていて、要求されればそれに応え
る、ということです。
PCにブラウザやオフィス(ワープロ他)のようなソフトウェアをインストール
して使うのと同様に、Webサーバやメールサーバといったソフトウェアをイン
ストールして必要に応じて設定することで、それらの機能を使うことが可能に
なります。
ここで改めて確認しておいて欲しいのは、「サーバ」と呼ばれるものには、ソ
フトウェアがインストールされて稼働しているハードウエア をあら
わす場合と、Webサーバなどの ソフトウェア をあらわす場合の2通
りあるということです。文脈に応じてどちらのことを言っているかを考えない
といけません。さらに、場合によってはハード・ソフト併せて言うこともある
ので気をつけてください。
講義用スタイル
印刷用スタイル
(開いてから、ページを再度更新してください)