Untitled

Part 1 UNIXコミュニケーション
Lesson 5 の課題
Topics
1.ネットワークの種類を知る.
基礎知識
UNIXコミュニケーション
2.ネットワーク参照モデル.
第7層
基礎知識
アプリケーション層
第6層
プレゼンテーション層
スに関するプロトコル
データの表現形式の変換・分割・統
合に関するプロトコル
第5層
通信の制御やコネクションの確立・
セッション層
開放・同期などに関するプロトコル
第4層
通信の品質やデータの転送を保証す
トランスポート層
第3層
ネットワーク層
第2層
データリンク層
第1層
物理層
90
アプリケーションが利用するサービ
るためのプロトコル
ネットワーク間のコネクションの制
御や経路(ルーティング)に関する
プロトコル
ビット列のデータをパケット化して
他のネットワークに転送するための
制御に間するプロトコル
データを電気信号に変えて物理的な
ケーブルなどを介して送受信するた
めのプロトコル
Lesson 5 ネットワークの基礎
Topics
3.ネットワーク装置の設定情報を調べる.
基礎知識
UNIXコミュニケーション
Ethernet
4.パケットの通信状況を調べる.
ビット1
クラス A
0 ネットワーク
クラス B
1 0
クラス C
1 1
0
クラス D
1 1
1
0
クラス E
1 1
1
1
ビット32
ホスト
IPv4
IPアドレス
ネットワーク(14bit) ホスト
ネットワーク(21bit)
ホスト
マルチキャスト用
実験
5.ネットワークの識別と分割.
IPアドレスの仕
ネットワークアドレス部
サブネットアドレス部
11000000.10101000.00001010 . 0000
ホストアドレス部
.
組み
0001
6.次世代のアドレス.
IPv6
f480 : 0000 : 0000 : 0000 : 0200 : f4ff : fe90 : c46e
ネットワーク部(プレフィックス) ホスト部(インターフェースID)
91
Part 2 UNIXコミュニケーション
Essentials
ネットワーク(Network)
1 ネットワークの種類
複数台のコンピュータをケーブルで接続し,互いに情報をやり取り
できるようにしたものをコンピュータネットワーク
(あるいは単にネッ
トワーク)
と呼ぶ.ネットワークは,コンピュータの台数や接続の方法,
範囲によって,さまざまな種類がある.
UNIXコミュニケーション
単純に複数のコンピュータを接続する
LAN(Local Area Network)
WAN(Wide Area Network)
同じ敷地内にあるコンピュータを接続する
(LAN:Local Area Network)
ISO(International
Organization for Standards)
OSI(Open System
Interconnection)
ネットワーク参照モデル
TCP(Transaction Contorol
Protocol)
IP(Internet Protocol)
離れた場所にある LAN 同士を接
続する(WAN:Wide Area Network)
92
Lesson 5 ネットワークの基礎
2 ネットワーク参照モデル
Scratch Pad
コンピュータやコンピュータ同士を接続するための機器,通信を行
うためのアプリケーションなどには,
さまざまな種類のものが考えられ
る.複数のコンピュータを接続するには,あらかじめどのような機器を
用いてどのような方法で接続するのかを決めておく必要がある.
そうし
UNIXコミュニケーション
た約束事をプロトコル(Protocol:通信規約)と呼ぶ.
プロトコルには,ケーブルなどの物理的な規約から使用するサービ
スに関する規約までさまざまなものがあり,ISOでは,つぎのようなレ
ベルに区分するネットワーク参照モデル(OSI基本モデル)が提唱され
ている.
第7層
アプリケーション層
第6層
プレゼンテーション層
アプリケーションが利用するサービ
スに関するプロトコル
データの表現形式の変換・分割・統
合に関するプロトコル
第5層
通信の制御やコネクションの確立・
セッション層
開放・同期などに関するプロトコル
第4層
通信の品質やデータの転送を保証す
トランスポート層
第3層
ネットワーク層
第2層
データリンク層
第1層
物理層
るためのプロトコル
ネットワーク間のコネクションの制
御や経路(ルーティング)に関する
プロトコル
ビット列のデータをパケット化して
他のネットワークに転送するための
制御に間するプロトコル
データを電気信号に変えて物理的な
ケーブルなどを介して送受信するた
めのプロトコル
また,インターネットでは,4層に区切ったネットワークモデルが提
唱されている.
第4層
アプリケーション層
第3層
トランスポート層
第2層
インターネット層
第1層
ネットワークインターフェース層 93
Part 2 UNIXコミュニケーション
Essentials
ネットワーク装置(デバイス)
NIC(Network Interface Card)
3 ネットワーク装置の設定情報を調べる
パソコンをネットワークに接続するには,
Etherポートが装備されて
いて正常に機能しているか調べると良い.Etherポートは,現在ほとん
どのパソコンに内蔵されているが,NIC(Network Interface Card)を装
備したり,増設したりすることができる.
UNIXコミュニケーション
通常パソコン
本体に内蔵さ
れている.
Let’s Touch
NIC の設定を調べよう.
[takai]$ /sbin/ifconfig
eth0
Link encap:Ethernet
HWaddr 00:A0:24:6D:02:1F
inet addr:192.168.0.3
Bcast:192.168.0.255
UP BROADCAST RUNNING MULTICAST
(/sbin/)ifconfig
MTU:1500
Mask:255.255.255.0
Metric:1
RX packets:84145 errors:0 dropped:0 overruns:0 frame:0
TX packets:48377 errors:0 dropped:0 overruns:0 carrier:0
collisions:2934 txqueuelen:100
eth0
Interrupt:10 Base address:0x210
Ethernet
MAC アドレス
lo
Link encap:Local Loopback
メーカーコード
inet addr:127.0.0.1
Mask:255.0.0.0
製品コード
UP LOOPBACK RUNNING
MTU:3924
Metric:1
RX packets:1210 errors:0 dropped:0 overruns:0 frame:0
ブロードキャストアドレス
ネットワークに接続されたすべて
の機器にデータを送信するためのアド
TX packets:1210 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
レス
ネットマスク
■ ifconfig ・・・ ネットワークインターフェースの設定・情報の表
示
書式:ifconfig
94
-オプション
パラメータ
Lesson 5 ネットワークの基礎
オプションを指定せずに ifconfig を実行すると,現在使用可能な
Scratch Pad
ネットワークインターフェースの情報が表示される.
パソコンに装備さ
れた Ether ポートは,eth0 という装置(デバイス)名で認識される.装
置名が lo となっているのは,自分自身(ローカルホスト)を表す.
Link encap 欄の Ethernet とは,データを電気信号に変えて送受信
するための規格であり,IEEE802.3として標準化されている第1層物理
UNIXコミュニケーション
層の規格である.Ethernet では,NIC などの個々の機器に MAC アドレス
(ハードウェアアドレス)を割り当てることによって,ホストを識別す
る.
MACアドレス(HWaddr)は,NICひとつひとつにあらかじめ登録されて
いる.MACアドレスは,ネットワークに接続されている装置を識別する
ために用いられ,ネットワーク参照モデルの第2層データリンク層で必
要となる.
MACアドレスは,24ビットのメーカーコードと同じく24ビットの製
品コードからなり,8 ビットごとに区切られ,16 進数で表される.
メーカーコード
製品コード
24 ビット
24 ビット
00:A0:24
6D:02:1F
TCP/IPを用いてネットワークに接続されている場合は,
inetと表示
され,ネットワーク参照モデル第3層のネットワーク層で用いられるIP
アドレスやブロードキャストアドレス(Bcast),
ネットマスク(Mask)な
どの情報も表示される.
RX,TX 行は,装置が機能し始めてからの通信状況を表す.RX 行は,
ネットワークから受け取ったパケット(データの束,次節参照)数や発
生したエラー数などが,
TX行にはネットワークへ送信したパケット数や
発生したエラー数が示される.
Tips & Techniques
MAC アドレスのメーカーコードは,IEEE で管理されており,メー
カーコードからそのNICのメーカーが分かるようになっている.メー
カーコードとメーカーの対応は,
つぎのWebページで調べることがで
きる.
http://standards.ieee.org/regauth/oui/index.shtml
95
Part 2 UNIXコミュニケーション
Essentials
4 パケットの通信状況を調べる
ネットワークに接続された装置やコンピュータを識別するには,
MAC
アドレスの他に IP アドレスが用いられる.IP アドレスは,ネットワー
クモデルの第3層ネットワーク層で使用されるIP(Internet Protocol)
で使用される.ネットワークに接続された装置やコンピュータには,
固
UNIXコミュニケーション
有の IP アドレスが付与される.
IP アドレスは,32 ビットの数値で表され,通常 1オクテットごとに
10 進数で表し,”.”
(ドット)で区切って表現する,
11000000 . 10101000 . 00000000 . 00000001
192 . 168 . 0 . 1
IP アドレス
クラス(A ∼ E)
IP アドレスは,ネットワークアドレス部とホストアドレス部から
なっており,
ネットワークアドレスで1つのネットワークを,ホストア
ドレスで1つの装置やコンピュータを一意に表現し識別できるように
なっている.
ネットワークアドレスの上から数ビットは,クラス識別子
と呼ばれ,この数ビットの値によって IP アドレスは 5 つのクラスに区
プライベートアドレス
プライベートアドレスに対して,
インターネットで使用する IP アドレ
スをグローバルアドレスと呼ぶ.
分されている.
ビット1
クラス A
0
ビット 32
ネットワーク(7bit)
ホスト(24bit)
ホスト(16bit)
パケット
クラス B
1
0
ネットワーク(14bit)
ping
クラス C
1
1
0
クラス D
1
1
1
0
クラス E
1
1
1
1
ネットワーク(21bit)
ホスト(16bit)
マルチキャスト用
実験用
クラス A の IP アドレスでは,上位 1 桁が 0 で,1 つのネットワーク
アドレスにつき,ホストアドレス部分の24ビット分つまり16,777,216
から上述の 2 つの予約アドレスを引いた 16,777,214 台の装置やコン
ピュータを接続することができる.同様にクラス Bでは,65,634台,ク
ラスCでは254台の装置やコンピュータを接続できることになる.なお,
クラス D とクラス E は,特別な用途に用いられる.クラス A からクラス
C までの IP アドレスは、よってつぎのように割り当てられている.
96
クラス A
1.0.0.0 ∼ 126.0.0.0
クラス B
128.0.0.0 ∼ 191.255.0.0
クラス C
192.0.0.0 ∼ 223.255。255.255
Lesson 5 ネットワークの基礎
ただし、ホストアドレスがすべて 0 のアドレス(たとえば、
Scratch Pad
202.236.112.0 など)は,ネットワーク全体を表すものとして,装置や
コンピュータに割り当てることができない.また,ホストアドレスがす
べて 1 となるアドレス(たとえば、202.236.112.255 など)は,ブロー
ドキャストアドレスとして予約されているので,
これもコンピュータに
割り当てることができない.
UNIXコミュニケーション
また、つぎのアドレスは、プライベートアドレス(LAN 内でのみ使
用可能なアドレス)
として予約されているのでインターネット上では用
いることはできない。
クラス A
10.0.0.0 ∼ 10.255.255.255
クラス B
172.16.0.0 ∼ 172.31.255.255
クラス C
192.168.0.0 ∼ 192.168.255.255
他のホストとのデータのやり取りには,このIPアドレスが用いられ
る.
Let’s Touch
目的のホストにパケットが送信されていることを確認しよう.
[takai]$ ping
192.168.0.10
PING 192.168.0.10 (192.168.0.10): 56 data bytes
64 bytes from 192.168.0.10: icmp_seq=0 ttl=128 time=0.8 ms
64 bytes from 192.168.0.10: icmp_seq=1 ttl=128 time=0.7 ms
64 bytes from 192.168.0.10: icmp_seq=2 ttl=128 time=0.7 ms
64 bytes from 192.168.0.10: icmp_seq=3 ttl=128 time=0.8 ms
64 bytes from 192.168.0.10: icmp_seq=4 ttl=128 time=0.7 ms
^c
--- 192.168.0.10 ping statistics --5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.7/0.7/0.8 ms
■ ping ・・・ ホスト間の接続を確認する
書式:ping IP アドレス(またはドメイン名)
ネットワーク層では,送信されるデータを分断し,先頭に送信先の
ホストの IP アドレスと送信元のホスト(自ホスト)の IP アドレスを付
して,パケットと呼ばれるデータの束にする.
97
Part 2 UNIXコミュニケーション
Essentials
ICMP(Internet Control
Message Protocol)
パケットがIPアドレスに基づいて正しく相手のホストに届いている
かどうかを確認するには,IP ネットワーク診断プロトコルであるICMP
(Internet Control Message Protocol)を利用する.ping は,ICMP の
「ECHO_REQUEST」パケットを相手ホストに送信し,その応答を調べるこ
とによって接続を確認するコマンドである.
pingの診断結果は,
送信パケット,相手ホストからの応答パケット,
UNIXコミュニケーション
応答パケットが届くまでの時間,
送信したパケット数,受信できなかっ
たパケット数などの統計情報が示される.
IP アドレスと MAC アドレスの対応を調べよう.
[takai]$ /sbin/arp
arp(Address Resolution
Protocol)
arpキャッシュテーブル
Address
HWtype
bluemountain
00:90:CC:A2:09:88
mocha
HWaddress
00:90:CC:A0:BF:BA
Flags Mask
C
Iface
eth0
C
eth0
[takai]$
■ arp ・・・ IP アドレスと MAC アドレスの変換テーブルの表示
書式:arp (ホスト名)
第3層のIPと第2層のEthernetの変換は,arp(Address Resolution
Protocol)によって行われる.初めて通信するホストの場合,IPアドレ
スと MAC アドレスの対応がわからない.そこで,ある IP パケットをブ
ロードキャストを用いてネットワークのすべてのコンピュータに対して
送信する.
パケットを受け取ったホストが,自分当てのパケットである
ことを認識すると,送信元のホストに対して MACアドレスを返信する.
返信されたMACアドレスは,IPアドレスとMACアドレスの対応表である
arp キャッシュテーブルに登録され,次回からはこの arp キャッシュ
テーブルを参照してパケットを効率よく送信することができるようにな
サブネット
る.arp コマンドは,arp キャッシュテーブルの調査と変更を行うコマ
サブネットアドレス
ンドである.
サブネットマスク
98
Lesson 5 ネットワークの基礎
Scratch Pad
5 ネットワークの分割
ひとつのLANには,少なくとも1つ以上のネットワークアドレスを
用いることになる.たとえば,いまクラス C のネットワークアドレス
192.168.10.0が割り当てられたLANがあったとしよう.このネットワー
クをさらに複数のネットワークに分割(サブネット化)したい場合,
UNIXコミュニケーション
ネットワークアドレスを延長することによって,
複数のネットワークに
分割することができる.延長したネットワークアドレス部分を「サブ
ネットアドレス部」と呼ぶ.
ネットワークアドレス部
サブネットアドレス部
11000000.10101000.00001010 . 0000
ホストアドレス部
.
0001
今,ホストアドレス部の上位4ビットをサブネットアドレスとした
としよう.
するとネットワークアドレスとブロードキャストアドレスを
除いた 0001 から 1110 までの 14 個のサブネットワークを作ることがで
き,それぞれのサブネットにはホストアドレスが0001から1110までの
14台の機器を接続できることとなる.
どこまでをネットワークアドレスとして用いたかは,ネットマスク
によって表される.ネットマスクは,ネットワークアドレス部をすべて
1 とし,ホストアドレス部をすべて 0 としたものである.クラス A から
クラスC のネットマスクはつぎのようになる.
クラスA 11111111.00000000.00000000.00000000=255.0.0.0
クラスB 11111111.11111111.00000000.00000000=255.255.0.0
クラスC 11111111.11111111.11111111.00000000=255.255.255.0
Let’s Touch
クラスCのアドレスで,
4ビットのサブネットアドレスを設定した場
合のネットマスクを計算しよう.
ネットワークアドレス部を 4 ビット延長したと考えると,上位 28
ビットを 1,残り 4 ビットを 0 としたものがネットマスクとなる.
なお,サブネットアドレス部とホストアドレス部のみのマスクをサ
ブネットマスクと呼ぶ.ネットマスクが28ビットのホストのIPアドレ
スはつぎのように表現される.
192.168.10.30/24 末尾に/ネットマスクのビット数を付す
99
Part 2 UNIXコミュニケーション
Essentials
基本操作
IPv6
6 IPv6
これまで主流だったIPはバージョン4(IPv4)であるが,アドレスに
限りがあるため,新たにバージョン6(IPv6)が策定され,使われ始めて
いる.IPv6 では,128 ビットのアドレスが用いられる.
IPv6 では,128 ビットを 16 進数で表記し,4 桁ごとに「:」で区切っ
て表記する.
f480 : 0000 : 0000 : 0000 : 0200 : f4ff : fe90 : c46e
プレフィックス
インターフェースID
ネットワーク部(プレフィックス) ホスト部(インターフェースID)
少しでも短く表記するために,
各ブロックの上桁の0は省略すること
ができる.また、0000のブロックは,ブロックの区切りごと省略するこ
とができる.
f480 : : 0200 : f4ff : fe90 : c46e
IPv6では,アドレスの有効範囲(スコープ)に応じて,3種類のユニ
ユニキャストアドレス
キャストアドレスが用意されている.
最初
・グローバルアドレス・・・インターネット上で有効なアドレス.
グローバルアドレス
サイトローカルアドレス
リンクローカルアドレス
のブロックが「2」または「3」となる.
最初のブ ・サイトローカルアドレス・・・組織内で有効なアドレス.
ロックが「fec0」となる.
・リンクローカルアドレス・・・ルータで区切られたネットワーク内で
有効なアドレス.
プレフィックス全体でが
「fe80::」となる.
さらに,マルチキャスト用のアドレス,ループバックアドレスなど
が用意されている.
.
Let’s Touch
使用しているシステムのIPv6のアドレスを調べよう.
[takai ]$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:00:F4:90:C4:6E
inet addr:192.168.0.40 Bcast:192.168.0.255
Mask:255.255.255.0
inet6 addr: fe80::200:f4ff:fe90:c46e/64 Scope:Link
IPv6が設定されていれば,ifconfigの結果に表示される.
100
Lesson 5 ネットワークの基礎
Using Your Skills
Hints
基本操作
①つぎの用語の意味を説明せよ.
1)Ethernet 2)LAN 3)TCP/IP 4)ネットワーク参照モデル
②現在利用しているホストに装着されているNICの設定を調べよ.
③ホストが使用しているNICのメーカーを調べよ.
p.95コラム参照
④ arp キャッシュテーブルを参照し,他のホストの MAC アドレスと装
置のメーカー名を調べよ.
⑤arpキャッシュテーブルに登録されている他のホストにパケットが
送信可能であることを確認せよ.
⑥現在利用しているホストのネットマスクが30ビットであった場合の
ホストのサブネットマスクとネットワークアドレス,
ブロードキャ
ストアドレスをそれぞれ計算せよ.
ヒント:あるIPアドレスのネットワークアドレスは,IPアドレス
とネットマスクの論理積によって求めることができる.
192.168.10.115/28の場合
11000000.10101000.00001010.01110011
AND)
11111111.11111111.11111111.11110000
192.168.10.112
11000000.10101000.00001010.01110000 =192.168.10.112
また,そのサブネットのブロードキャストアドレスは,ホスト
アドレスのみをすべて1としたアドレスとネットワークアドレスの
論理和で求めることができる.
11000000.10101000.00001010.01110000
OR)
00000000.00000000.00000000.00001111
192.168.10.127
11000000.10101000.00001010.01111111 =192.168.10.127
⑦IPv6のマルチキャストアドレス,ループバックアドレスをそれぞれ
インターネットを使って調べなさい.
101