そもそもネットワークでどんななんだ?みたいな疑問を解決できそうなスライド
ネットワークアーキテクチャの話がメインです。
ネットワークの基本の「き」mina
View Slide
自己紹介minaTwitter: @silmin_Birth: 1999/04/04
ネットワークってなに?
ネットワークってなにコンピュータ同士を繋げた網の目のようなもの←こんなの● LAN(Local Area Network)部署内や建物内、敷地内などの狭い範囲をカバー● MAN(Metropolitan Area Network)都市や市街地の一部または全体をカバー● WAN(Wide Area Network)地理的に離れたLAN同士を結ぶLANやMANより広い範囲をカバーネットワークの規模による分類
インターネットってなにネットワークのネットワーク多数のLANが共通の決まり(プロトコル)に従って、緩やかに繋がり合っている。LANLANLANLANLANプロトコルプロトコルプロトコルプロトコルプロトコルプロトコル
互いの繋がりは意識しなくていい
プロトコルの話
プロトコルについてコンピュータ同士が通信するための、共通のルールHTTP, IP, FTP, DNS あたりはよく見そう通信の手順、データの形式、言語、送信元や宛先の情報.... 通信するにはたくさんの決め事が必要これらは階層構造(レイヤ)で整理する
階層構造(レイヤ)で管理各層のプロトコルは独立しているその層の変更が、他層に影響を与えない同じ階層同士別のプロトコルに入れ替えても通信は成立する第 N 層第 N+1 層第 N-1 層PC1第 N 層第 N+1 層第 N-1 層PC2プロトコルプロトコルプロトコル
携帯電話を使う日本語を使う想像してること(解釈)が同じ
携帯電話を使う英語を使う想像してること(解釈)が同じ入れ替えても通信(会話)は成立
階層構造(レイヤ)で管理各層のプロトコルは独立しているその層の変更が、他層に影響を与えない同じ階層同士別のプロトコルに入れ替えても通信は成立する● 拡張性や柔軟性が上がる● 実装が容易● 修正が容易第 N 層第 N+1 層第 N-1 層PC1第 N 層第 N+1 層第 N-1 層PC2プロトコルプロトコルを階層構造で体系化ネットワークアーキテクチャプロトコルプロトコル
ネットワークアーキテクチャは各層が独立している同じ階層の別プロトコルに入れ替えても影響なし
ネットワークアーキテクチャの各層
OSI参照モデル7. アプリケーション層 アプリケーション同士の通信に必要な固有の部分を規定6. プレゼンテーション層 ネットワーク上で扱うデータの形式を規定5. セッション層 通信形式の規定や通信のタイミングの制御4. トランスポート層 アプリケーションの識別とデータの品質の保証3. ネットワーク層 終端ノード間(End-to-End)の通信(アドレス体系・経路制御 )2. データリンク層 隣接ノード間(Link-by-Link)の通信(フレーム生成)1. 物理層 物理信号とビット列変換 ケーブルやコネクタ等の規定
プロトコルとパケット7. アプリケーション層6. プレゼンテーション層5. セッション層4. トランスポート層3. ネットワーク層2. データリンク層1. 物理層データ ヘッダ7データ ヘッダ7 ヘッダ6データ ヘッダ7 ヘッダ6 ヘッダ5データ ヘッダ7 ヘッダ6 ヘッダ5 ヘッダ4データ ヘッダ7 ヘッダ6 ヘッダ5 ヘッダ4 ヘッダ3データ ヘッダ7 ヘッダ6 ヘッダ5 ヘッダ4 ヘッダ3 ヘッダ20100101001...メッセージデータグラムフレームセグメント・データグラムコネクション型↓ コネクションレス型↓
アプリケーション層アプリケーション間の通信に必要な固有の部分を規定メッセージ・ヘッダリクエスト・ラインリクエスト・ヘッダフィールド一般ヘッダフィールドエンティティヘッダフィールドその他空行 (CR+LF)メッセージ・ボディHTTPリクエストフォーマット
プレゼンテーション層データの表現形式を規定ネットワーク全体で統一された形式OSやアプリケーション固有の形式相互変換アプリケーション層プレゼンテーション層アプリケーション層プレゼンテーション層UTF8 EUC-JPISO2022-JP変換 変換
セッション層通信方式の規定・通信タイミングの制御● 通信の開始・終了のタイミング● コネクション(論理的な通信路)の確立・切断● 通信順序トランスポート層に指示もしもーし?smtp.example.comさん?はーい。なんでしょう。[email protected]から~ほうほう[email protected]に送りたいですメール送信の例了解です!データを下さい!これです~DATA受け取りました~ありがとうございました~ノシはーい!smtp.example.comセッション一連の通信期間全体
トランスポート層セッション層からの指示によって、通信方式とかタイミング制御を実際にやるアプリケーション間通信を実現する- パケットを適切なアプリケーションに届けるアプリケーションに適したデータの品質を保証1bitの誤りも許されないデータを扱う → コネクション型通信連続して高速に通信し続けるデータを扱う → コネクションレス型通WebサーバメールサーバFTPサーバFTPWeb Email Web Email適切なアプリケーションに振り分け
相手の存在を確認するかどうか● コネクション型通信コネクションを確立(相手の存在を確認)してから通信を行う品質は高いが速度は遅い場面:1bitも誤りのない信頼性が必要な時 (メール等)● コネクションレス型通信コネクションを確立(相手の存在を確認)せずに通信を行う品質は低いが速度は速い場面:連続した高速な通信が必要とされる時 (動画配信等)
ネットワーク層終端ノード間(End-to-End)の通信を実現するノード:PCやサーバ等の通信をになうネットワーク機器経路制御 どの経路を使うのか選択するアドレス体系の規定 ネットワーク全体で統一されてる (IPアドレス)
データリンク層隣接間ノード(Link-by-Link)の通信を実現する隣接間ノード:実際に直接繋がってるノードデータリンク:ノードを繋げる具体的な手段(Ethernet, 無線...)Ethernet Ethernet無線これら以外にも様々なデータリンクを経由するフレームの作成 伝送データの最小単位を作成MACアドレスの管理 ノードを一意に識別するための アドレス
物理層フレームを構成するビット列と物理信号との相互変換ケーブルやコネクタの形式等を規定0100101001... 0100101001...変換 変換
TCP/IPネットワークアーキテクチャの1つ現在の標準がこれ● 実際に動く使えることを重視● 仕様決定は誰でも参加可能OSI参照モデルと違い4階層構造4. アプリケーション層3. トランスポート層2. インターネット層1. ネットワーク インターフェース層
OSI参照モデルとTCP/IP7. アプリケーション層6. プレゼンテーション層5. セッション層4. トランスポート層3. ネットワーク層2. データリンク層1. 物理層4. アプリケーション層3. トランスポート層2. インターネット層1. ネットワーク インターフェース層ソフトウェアに任せる→ソフトの自由度を優先TCP/IPが厳密に規定ハードウェアに任せる→ハードの自由度を優先変化が激しい変化が激しい
各層には明確な役割があるお互いに利用し合って通信が成り立つ
ネットワーク機器の話
ネットワーク機器の話各層にはそれに対応する機器がある● 物理層:リピータ● データリンク層:ブリッジ● ネットワーク層:ルータ
物理信号(電気とか光とか)の増幅・整形物理信号はケーブル長が伸びれば伸びるほど劣化していく(ノイズ乗ったり弱くなったり)伝送距離を延長するため、LANを延長するために用いる物理信号を変換(電気→光)できるやつもいる接続段数に制限あり(コリジョン(衝突)検出云々の事情)リピータハブって呼ばれるリピータ(物理層)
ブリッジ(データリンク層)フレームを認識して機能的な転送● 宛先の識別(MACアドレスの学習)● フレームのエラー検出● 媒体・速度が違うデータリンクを接続可(バッファがある)● 実際の機器はスイッチングハブ(スイッチ)ともいうMAC:A MAC:B MAC:C MAC:Dport1 port2B宛だから流さないよ!
ルータ(ネットワーク層)LAN同士を接続する(LANを分断する)● 経路制御:パケットを適切なルータ・宛先へ転送● 異なる規格のデータリンク同士を接続(Ethernet → 無線LAN等)LAN1LAN2LAN3ルータルータ
経路制御送信者LAN2LAN1ルータALAN3LAN4ルータBLAN5ルータC受信者
経路制御送信者LAN2LAN1ルータALAN3LAN4ルータBLAN5ルータC受信者宛先 転送先LAN1 -LAN2 -LAN3 ルータBLAN4 ルータBLAN5 ルータB宛先 転送先LAN1 ルータALAN2 -LAN3 -LAN4 -LAN5 ルータC宛先 転送先LAN1 ルータBLAN2 ルータBLAN3 ルータBLAN4 -LAN5 -ルータAルータBルータC
経路制御送信者LAN2LAN1ルータALAN3LAN4ルータBLAN5ルータC受信者宛先 転送先LAN1 -LAN2 -LAN3 ルータBLAN4 ルータBLAN5 ルータB宛先 転送先LAN1 ルータALAN2 -LAN3 -LAN4 -LAN5 ルータC宛先 転送先LAN1 ルータBLAN2 ルータBLAN3 ルータBLAN4 -LAN5 -データ LAN5宛
ネットワークアーキテクチャ各層に対応した機器がいる
MACアドレスとIPアドレス
MACアドレスとIPアドレスIPアドレス(IPv4)ネットワーク上での住所のようなもの例:192.168.1.100/24アドレスが X.X.X.X の32bit(Xを2進数に変換)ネットワーク層の管轄MACアドレスネットワーク機器を一意に識別する機器すべてに最初から刻印されてる例:A0:B2:D5:7F:81:B3アドレスがX:X:X:X:X:Xの形式でXは2桁の16進数データリンク層の管轄
なんでアドレス2つも?
例ルータA ルータBIP: aaMAC: AAIP: bbMAC: BBIP: raMAC: RAIP: rbMAC: RBPC1からPC2へパケットを送るPC1 PC2
例ルータA ルータBIP: aaMAC: AAIP: bbMAC: BBIP: raMAC: RAIP: rbMAC: RBPC1 PC2データ aa → bb AA → RAデータ 送信元IP→宛先IP 送信者MAC→宛先MAC
ルータA ルータBIP: aaMAC: AAIP: bbMAC: BBIP: raMAC: RAIP: rbMAC: RBPC1 PC2データ aa → bb AA → RAデータ aa → bb RA → RBデータ 送信元IP→宛先IP 送信者MAC→宛先MACデータ aa → bb RB → BB例
通信するときはIPアドレス → 保持MACアドレス → 更新
まとめインターネットの通信はプロトコルってのに支えられてるプロトコルは階層構造で管理することで嬉しいネットワーク機器は色々あって、働きがそれぞれ違うIPアドレスとMACアドレスはどっちも大事