コンピュータネットワーク基礎
2003.5.23
先週の宿題でみなさんからいただいた転送速度の情報をまとめてみました.結果 は図1のようになりました.各時間帯の平均値のみを示していますが,分散が非 常に大きいので,優位な差があるかどうかは詳しい検定をする必要があります. しかし,一応傾向はあるので,データ転送に向いている時間,向いていない時間な どが判断できるのでは無いでしょうか.
図1 FTP転送速度の時間帯別推移
OSI参照モデルや5階層モデル (4章) ではトランスポート層とネットワーク層を 分離して説明してありましたし,8章でもトランスポート層について独立した章 として扱っています.現実には,TCP/IPと一くくりにされているように,ネット ワーク層と非常に密接な関係を持っています.ネットワーク層としてIPプロトコ ルを使用する場合をIP接続と言いますが,これは事実上TCP/IPの組合せ,もしく はUDP/IPの組合せで動いているネットワークのことです.
トランスポート層の上のアプリケー ション層はトランスポート層を窓口にして通信しますが,これは,図8.5にある ように,「ポート番号」を指定して,アプリケーション毎に独立した接続を確立 します.ここでは,ポートについて見てみましょう.
$ less /etc/services
とすると,ホストで提供されているネットワークサービスがポート番号つきで表 示されます.重要なものとして表1に上げてあるものを知っておきましょう.
サービス名 | ポート番号 | 説明 |
---|---|---|
ftp-data | 20 | FTPデータ転送 |
ftp | 21 | FTP制御 |
ssh | 22 | セキュアシェル |
telnet | 23 | リモート作業 |
smtp | 25 | メール送信 |
http | 80 | WWW |
pop3 | 110 | メール受信 |
ntp | 123 | タイムサービス |
snmp | 161 | ネットワーク管理 |
TCPを利用して送受信されるセグメントは図8.6に示されていますが,これを確認 する方法は一般ユーザでは出来ないようになっています.逆に言うと,管理者で あれば通信データを傍受して解析することも可能と言うことです.また,自分の 送受信データにパスワードなどの秘匿すべき情報が含まれている場合には注意が 必要です.
先週ホスト名とドメイン名について学習しました.それらは人間にとって理解し やすいように規則性を持って付けられている名前でしたが,コンピュータが実際 に通信を行なうときは,MACアドレスと,これから学習するIPアドレスの組合せ により相手先を決定します.IPアドレスについて,教科書に従って学習します. 教室では,これまで何度か使用して来た ifconfig コマンドで自ホス トのIPアドレスを確認することが出来ます.
クラス
基本的な仕組として「クラス」があります.組織,団体などが複数のIPアドレス を所有して内部でホスト毎に割り振るために,組織をひとまとめにして扱う必要 があります.その基本単位がクラスになります.
4バイトのデータにより構成されるIPアドレスの先頭付近のビットで識別します. クラスAはほとんど存在しないので気にする必要はありません.IP接続が始まっ た当初は学術機関や企業にはクラスBが割り振られていましたが,急速なIP接続 の普及にともないアドレスの枯渇が問題になったため,途中からクラスCごとの 配分に切替えられました.実際にどのクラスをその組織が有しているのか,先週 と同じ,nslookup コマンドで調べてみましょう.
クラス | 先頭ビット指定 | アドレス範囲 |
A | 0 | 0 - 127 |
B | 10 | 128 - 191 |
C | 110 | 192 - 223 |
クラスごとにネットワーク番号に割り当てられるビット長が異なっています.ク ラスAは7ビット,クラスBで14ビット,Cならば21ビットとなります.IPアドレス は8ビットずつに分けて10進表記するのが通常ですので,これにより,最初の一 つのブロックのみがネットワーク番号であるものがクラスA,二つでクラスB,三 つでクラスCとなります.残りはホスト部になり,ホストに割り振られます.と いうことは,クラスCではホスト部が8ビットの長さなので,256個が上限と言う ことです.実際には,0はネットワーク自身,255はブロードキャストアドレスに 割り当てられるので,254個が上限となります.
先ほど調べた各機関のIPアドレスのうち,どこまでが 組織のネットワークアドレスなのか考えてみましょう.
プライベートアドレス
IPアドレスは世界中のホストを識別するためのものですから,ホストごとにユニー クに割り振られなければなりません.しかし,LANの中のように外部とは接続し ていない場合であれば,通信上問題が無ければ独自にIPアドレスを割り振っても 問題ありません.その際に,あらかじめアドレス範囲が指定されていて,その範 囲であれば各組織で自由に割り振ることが可能になっているアドレスがあります. これをプライベートアドレスと言います.規則は表3のようになります.
クラス | アドレス範囲 | 2進表記 |
A | 10.0.0.0 - 10.255.255.255 | 00001010 |
B | 172.16.0.0 - 172.31.255.255 | 10101100 00010000 - 10101100 00011111 |
C | 192.168.0.0 - 192.168.255.255 | 11000000 10101000 |
サブネット
クラスCの分配でも枯渇や死蔵の問題が出ますので,さらに細かくIPアドレスを 分割する方式としてサブネットが利用されます.クラスAでは8ビットのネットワー ク番号,Bで16ビット,Cで24ビットのネットワーク番号が利用されますが,この 番号のビット数をさらに増やすことによりクラスCをさらに分割することが可能 です.また,クラスAのプライベートIPで構成されている島根大学のLANに関して も,1600万台のホストが存在するわけではありません.ホスト部の長さを短くし てより細かいネットワークに分割する方が,無用なトラフィックが広範囲に流れ てしまうことが防げるために有効です.
たとえば,このテキストの置いてあるサーバは 10.183.50.6 というア ドレスを持っていますが,クラスB相当のサブネット内に存在しています.また, プライベートLANを構築する際にも,192.168.10.16/28 という ような表現を使うことがあります.ネットワーク部の長さをビット数 で表して最後につけている形式です.この場合では,ホスト部は4ビッ トになりますから,接続ホストの最大数は14台になります.
ネットマスク
ホストが自分の属するネットワークを認識する方法としてネットマスクがありま す.これは,ネットワーク部のビットが2進表記ですべて1,ホスト部が0になっ たものです.実際には,表4に示すようになります.
クラス | 10進表記 | 2進表記 |
A | 255.0.0.0 | 11111111 00000000 00000000 00000000 |
B | 255.255.0.0 | 11111111 11111111 00000000 00000000 |
C | 255.255.255.0 | 11111111 11111111 11111111 00000000 |
ゲートウェイ
これまで何度か「ゲートウェイ」の話をしました.LANを接続するルータがこの 仕事を担当していますが,ホストが他のネットワークへの接続をネットマスクに より判断すると,そのデータはゲートウェイに送られます.すなわち,自分の所 属するネットワーク外へのデータはとりあえず全部ルータに投げて後は任せる方 式になっています.先ほどの netstat コマンド以外に route コマンドでもネットワークアドレスやマスクを知ることが出来ま す.
ドメイン名との関連
グローバルIPアドレスはFQDNと関連づけられます.それを知るのが, nslookup コマンドです.このとき,ネットワーク部に相当す る部分がドメイン名になります.サブネットを利用している場合には, サブネットの長さまで含んだ部分がドメインに対応します.総合理工学 部であれば,riko までがドメイン名になります.
授業の終了20分前くらいにAクラスと Bクラス別の小テストを実施します.アナウ ンスに注意してください.また,提出は電子メールにより行いますので,メール の送信準備は忘れないでいて下さい.
授業の終りに宿題(AクラスとBクラス)の説明をしますので,アナウンスに注意してください.