第4回 TCP/IP による通信の詳細 / る通信 詳細 佐藤周行、中山雅哉、西村腱 先週のおさらい • Web に関する技術 する技術 その2 – 「情報」へのアクセスの詳細 情報」 アク 詳細 → HTTP の実際 実際 今週の内容 • TCP/IP 技術あれこれ – アクセスに関するより詳細な技術 「情報」にアクセスするとは? • Web クライアントに「情報」の場所 b クライアントに「情報 の場所 (URI) を指定す ( ) を指定す る • URI から、「情報」を提供する 「情報 提供 Web サーバ バ を抽出 し、アクセスすべきWeb サーバを探す • Web クライアントが Web サーバに「情報」を要求 (request) する • Web サーバから Web クライアントに「情報」の内 容が提供 容 提供 ((response) される p )さ る • Web クライアントが「情報」の内容を解釈して表 示する Web サーバを探す Web サーバを探す • 「Web サーバにアクセス」の詳細 「 バ 詳細 – 何気なく 「web サーバにアクセス」 サ アク 」 と言ってきた 言 きた が、実際の web サーバはどこにある? – Web クライアントも Web クライアントも telnet コマンドも、意識しない telnet コマンドも 意識しない で済んだのはなぜ? • Web サーバの探し方 W b サ バの探し方 – DNS (Domain Name System) RFC1034, RFC1035 • 名前(ドメイン名)-IPアドレスの変換 • FQDN (Fully Qualified Domain Name) と IP address を対 応させる仕組み DNS の仕組み DNS の仕組み • 名前(ドメイン名) 名前 ド 名 ― IP アドレスの変換 ド 変換 – 主なリソースレコード (RR: Resource Record) ( ) • • • • • • A : ドメイン名を IPv4 アドレスにマップする AAAA : ドメイン名を IPv6 アドレスにマップする PTR : IP アドレスをドメイン名にマップする NS : Name Server のドメイン名を指定する MX : メールを配信するドメイン名を指定する CNAME : 別名とするドメイン名を指定する DNS を用いたアドレス検索 DNS を用いたアドレス検索 • DNS を用いて を Web サーバのアドレスを検索し バ ド を検索 てみよう – Terminal アプリケーションを起動 – dig コマンドを使い dig コマンドを使い web サーバのアドレスを検索 web サーバのアドレスを検索 % dig –t A www‐sato.cc.u‐tokyo.ac.jp …………………….. (DNS サーバからの検索結果) % dig –t AAAA www‐sato.cc.u‐tokyo.ac.jp …………………….. (DNS サーバからの検索結果) Web サーバへのアクセスの詳細 Web サーバへのアクセスの詳細 • Web サーバにアクセス中の様子を調べる バ 中 様 を る – Terminal アプリケーションを起動 ア リケ ションを起動 – dig コマンドを使い web サーバのアドレスを検索 – telnet コマンドを使い telnet コマンドを使い web サーバにアクセス web サ バにアクセス – (別の Terminal アプリケーションで) netstat コマ ンドを用いて web サーバへのアクセス状態を調 b サ バ のアクセス状態を調 べる • どれが Web サーバへのアクセス状態なの? • 他の行は何を表わしていることになるの? TCP/UDP の役割 TCP/UDP の役割 • 1台のコンピュータで複数のサービス(アプリ 台 ピ タ 複数 サ ビ ( プ ケーション)を利用することがある – 例: 電子メール、Web など • 複数のサ 複数のサービスを利用するには、各々の ビスを利用するには、各々の サービスを識別する必要がある → サービスの識別子(port 番号)を利用 – TCP: Transmission Control Protocol (RFC793) – UDP: User Datagram Protocol (RFC768) サービスの識別子(port番号) • サービスが異なると、プロトコル(通信規約) が異なる。 – 例えば http と smtp は全く異なるプロトコル → サービス識別子 (port 番号)は、一意に識 別できる必要がある。 が – 割当が調整される必要があるが、それはどこ? 割当が調整される必要があるが、それはど Port 番号の割り当てについて Port 番号の割り当てについて • • • • Port 番号の一意性はIANAで保証される 番 意性 保証される 1~1023: 1 1023: IANA well known port IANA well known port 1024~49151: IANA 登録済み port 49152~65535: IANA動的 or Private 1023 49151 5000 512 32768 IANA BSD Solaris TCP/IP参照モデル(参考1) 第5層 インタフェース 第4層 アプリケーション・プロトコル トランスポート・プロトコル 第5層 アプリケーション層 ア リケ ション層 第4層 トランスポート層 第3層 第3層 第3層 第3層 ネットワーク層 第2層 第2層 第2層 第2層 データリンク層 デ タリンク層 第1層 第1層 第1層 第1層 物理層 ホストA ルータ ルータ ホストB 情報の流れ(参考2) 第5層プロトコル M 5 H4 4 H3 3 H4 第4層プロトコル M M M1 M H3 M2 2 第3層プロトコル H4 M M H3 H4 M1 H3 H4 M1 T2 H3 M2 2 H3 M2 第2層 プロトコル 2 H2 H3 H4 M1 T2 H2 H3 M2 T2 H2 H2 1 送信元コンピュータ 宛先コンピュータ T2
© Copyright 2024 Paperzz