TCP/IP
コンピュータネットワーク発展の7つの段階
年 | --- |
---|---|
1950 | バッチ処理(処理するプログラムやデータなどをまとめて一括で処理する方式) |
1960 | タイムシェアリングシステム(TSS):一台のコンピュータに複数の端末を接続し、複数のユーザーが同時にコンピュータを利用できるようにしたシステム |
1970 | コンピュータ間通信 |
1980 | コンピュータネットワーク |
1990 | インターネット普及 |
2000 | インターネット技術中心 |
2010 | TCPIP |
プロトコル
例、IP TCP HTTP
- コンピュータとコンピュータがネットワークを利用して通信するために作られた約束事
日本語英語 プロトコル 言語によるコミュニケーション 通信 話の内容 データ
通訳 ゲートウェイ
- パケット交換とは 大きなデータをパケットと呼ばれる単位に分割して送信する方法
小包の荷札=パケットのヘッダ
OSI
ISOが国際標準としてOSIと呼ばれる通信体系を標準化 OSI:開放型システム間相互接続
上位層と下位層の間でサービスのやりとりをするときの約束事=インターフェイス 同じ階層=プロトコル
各層で何をするかという役割を定義 各層の役割を定義しているのがプロトコル
OSIの用語 ノード=通信を行うコンピュータ TCP/IPの用語 ホスト=ネットワークに接続されたコンピュータ
上位層から渡されたデータに自分の階層のプロトコル処理に必要な情報をヘッダという形で受け付ける。
コネクション型 tcp データの送信を開始する前に送信ホストと受信ホストの間で回線の接続をする 必ずしもパケットにはならない 電話みたいな感じ
コネクションレス型 ip パケットが多い 郵便 通信相手がいるかどうかの確認はない
回線交換 交換機がデータの中継処理、交換機を通して回線を設定、回線接続=コネクションの確立、一度コネクションを確立するとその回線は占有利用(デメリット) 通信の速度が一定
パケット交換(蓄積交換) パケット交換機(ルーター) ルーター、バッファと呼ばれる記憶領域、キュー(行列)を作りながら、バッファに格納 回線は一つ、共有利用、遅くなったりする
ユニキャスト:電話
ブロードキャスト:TV
マルチキャスト:テレビ電話
エニーキャスト:DNSのルートネームサーバー
ネットワーク構成要素
コンピュータ機器の外部インターフェイス=ポート
パケットin データリンク層=フレーム
リピーター(物理層) 減衰して変形した信号の波形を増幅、整形して流す装置、速度を変換することはできない
ブリッジ(レイヤ2、物理層) ネットワークとネットワークを結ぶ橋、どのネットワークにどのフレームを流すか
レイヤ4−7スイッチ 4−7層の内容を分析して、特定の処理を行う。 ロードバランサー:複数のサーバーに負荷を分散する 帯域制御:電話を優先して、メールとかを後回しにする
ゲートウェイ トランスポート層からアプリケーション層までの階層でデータを変換して中継する装置のこと プロトコルの翻訳 中継
実際のネットワーク
バックボーン,コア:大量のデータを高速に送受信することを目的にして、構築。 例、道路網の高速道路
エッジ 高速なレイヤ3スイッチ 例、インターチェンジ
アクセス・アグリゲーション レイヤ2スイッチ、レイヤ3スイッチで、エッジを越えてやりとりする情報とネットワーク内に留まる情報を制御している 例市街地
データセンター 巨大なサーバーとストレージ、ネットワーク
DNS(ネットワーク層)
ホスト名→hostsファイルを参照(ホスト名とIPアドレス)→IPアドレスに変換 hostsファイルはネットワークインフォメーションセンターで一括管理
DNS:ホストを管理している組織がホスト名とIPアドレスの関係を表すデータベースを管理できる 通信をしたいユーザーがホスト名(ドメイン名)を入力すると自動的にホスト名やIPアドレスが登録されているデータベースサーバーが検索され、そこからIPアドレスの情報を得るようになっている。
$ nslookup コマンド名
ipアドレスがわかるドメイン名:ホストの名前や組織の名前を識別するための階層的な名前、サブドメインはホスト名とドメイン名の間に入る kusa.ac.jp pepper.kusa.ac.jp piyo.kusa.ac.jp
kusa: くさ大学固有のドメイン名 ac: 高等教育機関 jp: 日本 pepper, piyo: ホスト名
階層構造を取っているため、各組織単位で自由にホスト名を ネームサーバーとは、ドメイン名を管理しているホストやソフトウェアのこと、そのネームサーバが設置された階層のドメインに関する情報を管理する。 管理する階層のことをzoneと呼ぶ リゾルバ:DNSに問い合わせを行うホストやソフトウェア(自分のパソコン)
DHCP(ネットワーク層)
面倒なIPアドレスの設定の自動化や、一括管理を行うことができる プラグアンドプレイ
DHCP○○パケットを送信するときは、IPアドレスは決まっていないので、送信元が0.0.0.0で送信先が255.255.255.255になっている。
複数のDHCPサーバーの設定を行ってくれるもの=DHCPリレーエージェント
ポート番号(トランスポート層)
- データリンク→macアドレスは同一のデータリンクに接続されたコンピュータを識別するためのもの
- IP→IPアドレスはTCP/IPネットワーク上に接続されているホストやルーターを識別するためのもの
- トランスポート→ポート番号は同一のコンピュータ内で通信を行なっているプログラムを識別するためのもの 送信元IPアドレス・宛先IPアドレス・プロトコル番号・送信元ポート番号・宛先ポート番号 で通信が識別される
ポート番号の決め方 - 標準→ウェルノウンポート番号(サーバー側)1024~49151 - ダイナミック→クライアントのOSが決める(クライアント側)複数のプラウザを開いたときとか
遠隔ログイン(5,6,7)
遠隔ログインはTSSのような環境を実現するアプリケーション。メインフレームと端末の関係をコンピュータネットワークに応用 - telnet:tcpのコネクションを一つ利用、この通信路を通して、相手のコンピュータでコマンドが実行される。ルーターや高機能スイッチなどのネットワーク機器にログインしてその機器の設定を行うときによく使われる。自分のログイン名とパスワードがその機器に登録されている必要がある。
- ssh:通信内容が暗号化された遠隔ログインシステム
ftp - コンピュータ間でファイルを転送するときに使われるプロトコル。相手先コンピュータにログインする必要がある。 (インターネット上にある誰でもログインできるanonymous ftpサーバー) 二つのTCPコネクションを利用 - 制御用(ログイン、転送するファイル名、転送の方法)ポート番号21 - データの転送用 ポート番号20 要求コマンドにASCII文字列が使われる
www(5,6,7)
- wwwは、インターネット上のハイパーテキスト形式で参照できる情報提供システム
wwwの情報を画面に表示するクライアントソフトウェアを webブラウザと呼ぶ
情報へのアクセス手段と位置の定義 URI
- 情報の表現フォーマットの定義 HTML
- 情報の転送などの操作の定義 HTTP
- ホスト名 ドメイン名やIPアドレス
ポート番号 トランスポート番号
$ telnet サーバー名・もしくはアドレス 80
CGIはwebサーバーが外部プログラムを呼び出すサーバーサイドアプリケーションの仕組み
- RSSはwebサイトの更新内容に関する要約情報をやり取りするためのデータフォーマット(ページの要約を表示、検索の精度が高くなる)