iTAC塾講義ノート
|
コース名
|
テクニカルエンジニア(ネットワーク)塾Aコース1回目(名古屋)
|
講師
|
mitsu先生
|
日時
|
2000年5月13日
9:30〜16:30
|
場所
|
名古屋市短歌会館
|
内容
|
基礎1(机上演習:ARPなど) |
(概要)
今回の講義は、初回ということでネットワークの基礎であるOSIの概要についての説明、続いてその下位3層(物理層、データリンク層、ネットワーク層)の役割について講義がありました。午後からは、TCP/IPプロトコルスイートについて触れ、各層での伝送単位の名称、ヘッダとしてつけられるアドレス、そして、その中でHA(ハードウエアアドレス)の名前解決のプロトコルであるARP(あ〜ぷと発音する)について、講義、机上演習をしました。以下にその内容をまとめます。
(OSI参照モデルと下位3層の役割)
関連リンク:大阪テクニカルエンジニア(ネットワーク)-Sコース一回目
|
例:webの場合
|
例:mailの場合
|
応用層
|
IE、ネスケ
|
ポストペット、outlook
|
プレゼンテーション層
|
HTML
|
MIME
|
セション層
|
HTTP
|
SMTP、POP
|
トランスポート層
|
TCP
|
ネットワーク層
|
IP
|
データリンク層
|
ダイアルアップ→PPP
|
物理層
|
V.90、Flex56
|
☆☆☆物理層☆☆☆
アダプタ形状、電圧特性(+5V)の取り決め
[ パソコン ] ------------ [ MODEM ]
28.8kbps モデム : V.34(という取り決め By OSI)
56KFlex モデム : V.90
RS-232C : V.24
|
☆☆☆データリンク層☆☆☆
伝送媒体で直接つながっているノード間の取り決め
(ポイント ツー ポイント、リンク バイ リンク)
[ PC ] ---------- [ ISP AP
(プロバイダのアクセスポイント)]
HDLC / PPP / SLIP
☆☆☆ネットワーク層☆☆☆IP
エンドツーエンドの取り決め(X.200で定義)
[ PC ] ---・---・---・---[ microsoft.com ]
<雑談 TCP/IP登場の背景とその歴史>
コンピュータは第2次大戦時は弾道軌道算出用など、専用のプログラムを計算するためのものでした。
1949年にノイマン型コンピュータが登場し、汎用型のコンピュータの時代が始まりました。
1950年代のバッチ処理の時代を経て、1960年代にはオンラインによる中央処理の時代を迎えました。
アメリカでは、ワシントンD.Cを中心として各都市と軍事情報を通信していました。
当時、冷戦状態にあったソビエトのミサイルがキューバに配置され、その通信の中心であるワシントンを攻撃されることにより、アメリカ軍は崩壊の危機に直面しました。
その危機を打開するために開発されたのが、ネットワーク構造であるTCP/IPの元であるARPANETです。
(OSI参照モデルとTCP/IPプロトコルスイート)(文書修正
00/8/6)
プロトコルスイート
|
TCP/IP |
プロトコルスイート |
OSI |
|
|
1960年代
(仕様決定は1982) |
年代 |
1978 |
|
|
アプリケーション |
階層 |
Ap |
|
|
Pr |
HTML |
HTTP |
Sess |
|
|
トランスポート |
T |
|
|
インターネット |
N |
|
PPP |
ネットワークインターフェイス |
D |
HDLC |
|
Ph |
|
|
RFC勧告 |
仕様書 |
ITU-TS勧告 |
|
|
TCP/IPは1982年に仕様決定しましたが、その前身であるARPANETは前述しましたようにキューバ危機の1960年代に開発されました。
TCP/IPはOSIを基本に仕様化されたように思われがちですが、実際はその逆のようです。
プロトコルスイートには、このようにTCP/IPとOSIが存在しますが、双方のプロトコルスイートに属するプロトコルが入り乱れて使われています。
また、TCP/IPといえば、狭義ではトランスポート層のTCP、ネットワーク層のIPプロトコルを指し、広義ではTCP/IPプロトコルスイート全体を指します。
その違いを頭において会話すると内容も変わってくるでしょう。
(TCP/IPで付けられるアドレスと各層の伝送単位名称)(マスタリングTCP/IP
P.71)←00/8/6追加
表
ダイアルアップによるメール送受信を例にした、パケット構造
S:Source(送信元) D:Distination (送信先)
|
|
ヘッダにつける
アドレス |
|
|
|
|
|
|
|
|
|
ユーザデータ |
|
各層の伝送単位 |
Outlook
Express |
アプリケーション |
メールアドレス |
|
|
|
|
|
|
S |
D |
データ |
アプリケーションデータ |
TCP |
トランスポート |
TCPポート番号 |
|
|
|
|
S |
D |
データ |
TCP:TCPセグメント
(マスタリングTCP/IP P.193)
UDP:UDPデータグラム
(マスタリングTCP/IP P.195) |
IP |
インターネット |
IP |
|
|
S |
D |
データ |
IP:IPデータグラム
(マスタリングTCP/IP P.158) |
PPP |
ネットワーク
インタフェース |
ハードウエア
アドレス |
D |
S |
データ |
フレーム
(マスタリングTCP/IP P.89) |
試験の解答では、この単位名称を使い分けましょう。
☆☆☆
ヘッダアドレスの順番が普通はS→Dなのに対して、ネットワークインタフェースではD→Sの順番です。なぜ?
☆☆☆
ネットワークインタフェース層ではデータはブロードキャストで流れます。
送信先アドレス(D)が自分宛てでなければすぐに無視できるようにDが先になっています。
Sが先だとSアドレス分48ビットを読む時間が無駄になるのでD→Sの順番になっています。
☆☆☆
各層のアドレスの役割 ☆☆☆(マスタリングTCP/IP P.78)←00/8/6追加
IPアドレス |
・・・ |
コンピュータ・ノードを識別する |
TCPポート番号 |
・・・ |
コンピュータのプログラムを識別する。
よく使われるポート番号はデフォルトで設定されている
・・・ウエルノウンポート番号
(マスタリングTCP/IP P.173)←00/8/6追加
FTP:21、Telnet:23、SMTP:25、ドメイン(DNS):53、
POP3:110、HTTP:80、NNTP:119
(マスタリングTCP/IP P.174) |
ハードウエアアドレス |
・・・ |
LANボードに48ビットのアドレスが焼き付けられている。 |
(フレーム内に入るアドレスについて・・・練習問題)
今、社内LANからitacのHP(www.itac.gr.jp)に接続しました。
あなたがコンピュータになったとして、このアドレスに何を入れたらいいか考えてみてください。
フレーム
HA |
IP |
ポート番号 |
|
D@ |
SA |
SB |
DC |
SD |
DE |
データ |
@:送信先のHA。この場合はルータのHAが入ります。
A:送信元のHA。自身のPCのNICに焼き付けられたHAが入ります。
B:送信元のIPアドレス。自身のPCのIPアドレスが入ります。
(【余談】Windowsでは
c:\>winipcfgでIPアドレスを知ることが出来ますよ)
図 c:\>winipcfg 実行結果
(修正しました。00/5/26)
C:送信先のIPアドレス。itac.gr.jpのIPアドレスが入ります。(DNSで調べて知る)
D:送信元のTCPポート番号。1025〜の数字がRandomにその都度割り当てられます。
(この値については大阪テクニカルエンジニア(ネットワーク)-Aコース二回目に詳しくまとめています。)
E:送信先のTCPポート番号。ブラウザ閲覧なのでHTTP:80が入ります。(00/6/17)
☆☆☆
Eを利用したセキュリティを高める方法 ☆☆☆
URLの一般的な書式は、 『スキーム://ユーザ名:パスワード@コンピュータ名:ポート番号//パス名』 で記述される。その中で、ユーザ名:パスワードは省略できる。
スキームは省略すると、自動的にhttpとして認識して送信される。
ポート番号は省略すると、自動的にスキームのウエルノウンポート番号(httpなら80番)
が代入されて送信される。 (日経ネットワーク5月号
P.61) 逆に、スキームに対するポート番号を変えて(httpのポート番号を8001にするなど)、
URLの中にポート番号を入れないと(http://www.itac.gr.jp:8001と入力しないと)
立ち上がらないようにして外部からの侵入を防ぎ、セキュリティを高めることが出来る。
|
☆☆☆ 名前解決 ☆☆☆
フレーム内にアドレスを入れるに当たって、A、B、D、EはPC自身で知ることが出来ますが、
@のルータのHAと、Cのitac.gr.jpは何らかの手段で調べなければなりません。
その作業のことをを名前解決と言います。
実社会でもし、相手の電話番号が分からなくて調べるにはどうしますか?
→@ 電話帳を見る。
→A104に電話して聞く
の2つが一般的に考えられます。ネットワークでも同じような手段があります。
<<< IPアドレスの名前解決
>>>
@hostsファイルで検索する。
電話帳のように、IPアドレス<=>URLを対応付けるファイルを作成し管理しておきます。
これは昔の方法。電話帳だけでは世界中の人の電話番号が分からないのと同じで、
対応付けれるアドレスにも限度があります。
ADNS(Domain Name System)サーバを使う。
DNSサーバを設置して、そこに問い合わせてIPアドレスを知ります。
(カラクリについては次回以降に説明)
<<<
HA(ハードウエアアドレス)の名前解決 >>>
HAの場合は、IPアドレスと違い、電話番号に相当するHAがコロコロ変わるので、
(PCのNICを変えるごとに変わる)@、Aの方法はやりにくいです。
HAの名前解決するための相手は電気的につながっているので、その都度、
「あなたは何番ですか?」
「何番だよ」
というやりとりで名前解決をして、送ります。
→この方法をARP(Address Resolution
Protocol)と言います。
|
(ARP・・・HAを問い合わせるプロトコル)
(マスタリングTCP/IP P.142)
←00/6/17
ARPはHAを問い合わせるプロトコルです。
では、
(たとえばルータのHAを)どうやって聞いたらいいの?
「ルータのHAは何番ですか?」
(ルータは)どうやって答えたらいいの?
「・・・番ですよ」
ARPも通信ですので、当然フレームが流れます。
では、「ルータのHAは何番ですか?」のD,Sにはなにが入りますか?
D(送信先)にはブロードキャスト(全部のビットが1。FF・・・F)、S(送信元)には自身のHAが入ります。
受け取り側のルータはどうやって、自分宛てってことを認識するんでしょうか?
→データ内のIPアドレスを見て判断します。
その返答、「・・・番ですよ」のD,Sにはなにが入りますか?
Dは問い合わせたPCのHAが入ります(ユニキャストになります)。Sはルータ自身のHAが入ります。 |
(Sunifferのダンプ結果を利用したARPの机上演習)
テクニカルエンジニア(ネットワーク)塾Aコース第1回演習問題
これはSnifferというプロトコルアナライザを,普通のHubの10BaseTポートに接続してLAN(Ethernet)内に
流れている実際の電文を採取(ダンプ)したものです。1行が1フレームを要約したものです。
このダンプリストを解析して以下の問題に解答してください。
|
DeltaT |
Destination |
Source |
Summary |
1 |
|
Broadcast |
Green |
ARP C PA=[210.163.128.3] PRO=IP |
2 |
0.0006 |
Green |
NameSvr |
ARP R PA=[210.163.128.3] HA=08002006B501 PRO=IP |
3 |
0.0016 |
NameSvr |
Green |
DNS C ID=3 OP=QUERY NAME=sv.arkweb.co.jp |
4 |
0.0026 |
Green |
NameSvr |
DNS R ID=3 STAK=OK NAME=sv.arkweb.co.jp |
5 |
0.0088 |
Broadcast |
Green |
ARP C PA=[210.163.128.1]PRO=lP |
6 |
0.0010 |
Green |
Router |
ARP R PA=[210.163.128.1]HA=000093EO807B PRO=IP |
7 |
0.0016 |
Router |
Green |
TCP D=23 S=3133 SYN SEQ=9947492 LEN=O WIN=1024 |
8 |
0.1081 |
Green |
Router |
TCP D=3133 S=23 SYN ACK=9947493 SEQ=80448000 LEN=O WIN=4096 |
9 |
0.0032 |
Router |
Green |
TCP D=23 S=3133 SYN ACK=80448001 WIN=1024 |
10 |
2.1818 |
Green |
Router |
Telnet R PORT=3133 IAC Do Terminal Type |
11 |
0.0029 |
Router |
Green |
TCP D=23 S=3133 SYN ACK=80448004 WIN=1021 |
12 |
0.0027 |
Router |
Green |
Telnet C PORT=3133 IAC Will Terminal Type |
13 |
0.1134 |
Green |
Router |
Telnet R PORT=3133 IAC SB… |
14 |
0.0070 |
Router |
Green |
Telnet C PORT=3133 IAC SB… |
15 |
0.1912 |
Green |
Router |
Telnet R PORT=3133 IAC Will Echo |
16 |
0.0053 |
Router |
Green |
Telnet C PORT=3133 IAC Do Echo |
17 |
0.2566 |
Green |
Router |
Telnet R PORT=3133 login: |
18 |
0.0033 |
Router |
Green |
Telnet C PORT=3133 IAC Do Suppress go-ahead |
19 |
0.1113 |
Green |
Router |
Telnet R PORT=3133 IAC Don't Echo |
20 |
0.2591 |
Router |
Green |
TCP D=23 S=3133 SYN ACK=80448057 WIN=968 |
1.各フレーム(1〜20)が何をしているのか,フレームごとに記述せよ。
2.このダンプリストから類推されるネットワーク構成は。
3.各装置の名前,各装置のIPアドレス,各装置のハードウェアアドレス(MACアドレス)。
4.Sniffer(プロトコルアナライザ)を,普通のHubからスイッチングHubの10Base-Tポートに
接続したらダンプを採取できなくなった。それはなぜか?
5.TCPにあって,UDPにない機能は?
6.ProxyARPを具体的に説明せよ。
7.RARPは,具体的にどんな時に使う?
8.1〜20フレームの中でUDPを用いているフレームをすべてあげよ。
9.TCPコネクションが確立するのは第何フレームの後か?
10.第7,第8,第9フレームの3フレームを総称して何と呼ぶか?
11.BOOTPとARP/RARPの違いを述べよ。
|
補足説明
・・・表中の単語について・・・ |
1,2,3 |
フレームの通し番号 |
|
DeltaT |
時間差 |
|
Destination |
送信先 |
Sunifferの方でIPアドレスを変換してくれる。 |
Source |
送信元 |
Summary |
フレームの要約内容 |
|
フレーム中のC |
コマンド(命令) |
|
フレーム中のR |
Response(応答) |
|
この問題について、今回はフレーム1〜6について問1〜3を解きます。
1.各フレーム(1〜20)が何をしているのか,フレームごとに記述せよ。
@ARPでGreenは210.163.128.3のHAを問い合わせます。
AARPでNamesvrはGreenに自分のHA『08002006B501』を返答します。
BDNSでGreenはNamesvrにsv.arkweb.co.jpのIPアドレスを問い合わせます。
CDNSでNamesvrはGreenにsv.arkweb.co.jpのIPアドレスを返答します。
DARPでGreenは210.163.128.1のHAを問い合わせます。
EARPでRouterはGreenに自分のHA『000093E0807B』を返答します。
☆☆☆内容 ☆☆☆
PC『Green』はsv.arkweb.co.jpと通信がしたいので、IPアドレスを知る必要がある。
そのためにDNSサーバに問い合わせたいが、DNSサーバのHAが分からない。
@、Aでまず、DNSサーバのHAを知る。
B、Cでsv.arkweb.co.jpのIPアドレスをDNSサーバに問い合わせて知る。
sv.arkweb.co.jpのIPアドレスは自分のネットワーク外だったので、ルータ経由でつながなければならないが、ルータのHAが分からない。
よって、D,EでルータのHAを調べている。
|
2.このダンプリストから類推されるネットワーク構成は。
|
|
|
|
|
Suniffer |
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
HUB |
・ |
--- |
---+--- |
--- |
---+--- |
--- |
-------+------- |
--- |
-----+----- |
--- |
・ |
|
|
|
| |
|
|
|
| |
|
| |
|
|
|
|
|
PC
『Green』 |
|
|
|
ルータ
『Router』 |
|
DNSサーバ
『Namesvr』 |
|
|
|
|
|
|
|
|
|
↓ |
|
|
|
|
|
|
|
|
|
|
|
sv.arkweb.co.jp |
|
|
|
|
3.各装置の名前,各装置のIPアドレス,各装置のハードウェアアドレス(MACアドレス)。
|
MACアドレス |
IPアドレス |
Green |
不明 |
不明 |
Namesvr |
08002006B501 |
210.163.128.3 |
Router |
000093E0807B |
210.163.128.1 |
☆☆☆ ポイント ☆☆☆
・ARP(Broadcast)の到達する範囲
→同一コリジョンセグメント内(ルータの外には出ません)
・セキュリティ対策
このように、LANにアナライザをつなげば、パスワードなど機密情報も見ることが出来ます。
NetscapeNavigatorなどで、「送信してもよろしいでしょうか?」と確認してくるのはそのためです。
クレジットカードNO.など、重要な情報では、セキュアなhttpsなどを使って通信しています。
|
|