$30 off During Our Annual Pro Sale. View Details »

ネットワークの基本の「き」改版

mina
May 21, 2019

 ネットワークの基本の「き」改版

そもそもネットワークでどんななんだ?みたいな疑問を解決できそうなスライド

ネットワークアーキテクチャの話がメインです。

mina

May 21, 2019
Tweet

More Decks by mina

Other Decks in Technology

Transcript

  1. ネットワークの基本の「き」
    mina

    View Slide

  2. 自己紹介
    mina
    Twitter: @silmin_
    Birth: 1999/04/04

    View Slide

  3. ネットワークってなに?

    View Slide

  4. ネットワークってなに
    コンピュータ同士を繋げた網の目のよ
    うなもの
    ←こんなの
    ● LAN(Local Area Network)
    部署内や建物内、敷地内などの
    狭い範囲をカバー
    ● MAN(Metropolitan Area Network)
    都市や市街地の一部または全体
    をカバー
    ● WAN(Wide Area Network)
    地理的に離れたLAN同士を結ぶ
    LANやMANより広い範囲をカバー
    ネットワークの規模による分類

    View Slide

  5. インターネットってなに
    ネットワークのネットワーク
    多数のLANが共通の決まり(プロトコル)に従っ
    て、緩やかに繋がり合っている。
    LAN
    LAN
    LAN
    LAN
    LAN
    プロトコル
    プロトコル
    プロトコル
    プロトコル
    プロトコル
    プロトコル

    View Slide

  6. 互いの繋がりは
    意識しなくていい

    View Slide

  7. プロトコルの話

    View Slide

  8. プロトコルについて
    コンピュータ同士が通信するための、共通のルール
    HTTP, IP, FTP, DNS あたりはよく見そう
    通信の手順、データの形式、言語、送信元や宛先の情報.... 通信するには
    たくさんの決め事が必要
    これらは階層構造(レイヤ)で整理する

    View Slide

  9. 階層構造(レイヤ)で管理
    各層のプロトコルは独立している
    その層の変更が、他層に影響を与えない
    同じ階層同士別のプロトコルに
    入れ替えても通信は成立する
    第 N 層
    第 N+1 層
    第 N-1 層
    PC1
    第 N 層
    第 N+1 層
    第 N-1 層
    PC2
    プロトコル
    プロトコル
    プロトコル

    View Slide

  10. 携帯電話を使う
    日本語を使う
    想像してること(解釈)が同じ

    View Slide

  11. 携帯電話を使う
    英語を使う
    想像してること(解釈)が同じ
    入れ替えても通信(会話)は成立

    View Slide

  12. 階層構造(レイヤ)で管理
    各層のプロトコルは独立している
    その層の変更が、他層に影響を与えない
    同じ階層同士別のプロトコルに
    入れ替えても通信は成立する
    ● 拡張性や柔軟性が上がる
    ● 実装が容易
    ● 修正が容易
    第 N 層
    第 N+1 層
    第 N-1 層
    PC1
    第 N 層
    第 N+1 層
    第 N-1 層
    PC2
    プロトコル
    プロトコルを階層構造で体系化
    ネットワークアーキテクチャ
    プロトコル
    プロトコル

    View Slide

  13. ネットワークアーキテクチャは
    各層が独立している
    同じ階層の別プロトコルに
    入れ替えても影響なし

    View Slide

  14. ネットワークアーキテクチャ
    の各層

    View Slide

  15. OSI参照モデル
    7. アプリケーション層 アプリケーション同士の通信に必要な固有の部分を規定
    6. プレゼンテーション層 ネットワーク上で扱うデータの形式を規定
    5. セッション層 通信形式の規定や通信のタイミングの制御
    4. トランスポート層 アプリケーションの識別とデータの品質の保証
    3. ネットワーク層 終端ノード間(End-to-End)の通信(アドレス体系・経路制御 )
    2. データリンク層 隣接ノード間(Link-by-Link)の通信(フレーム生成)
    1. 物理層 物理信号とビット列変換 ケーブルやコネクタ等の規定

    View Slide

  16. プロトコルとパケット
    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 ヘッダ2
    0100101001...
    メッセージ
    データグラム
    フレーム
    セグメント・データグラム
    コネクション型↓ コネクションレス型↓

    View Slide

  17. アプリケーション層
    アプリケーション間の通信に必要な固有の部分を規定
    メッセージ・ヘッダ
    リクエスト・ライン
    リクエスト・ヘッダフィールド
    一般ヘッダフィールド
    エンティティヘッダフィールド
    その他
    空行 (CR+LF)
    メッセージ・ボディ
    HTTPリクエストフォーマット

    View Slide

  18. プレゼンテーション層
    データの表現形式
    を規定
    ネットワーク全体で
    統一された形式
    OSやアプリケーション
    固有の形式
    相互変換






































    UTF8 EUC-JP
    ISO2022-JP
    変換 変換

    View Slide

  19. セッション層
    通信方式の規定・通信タイミング
    の制御
    ● 通信の開始・終了のタイミング
    ● コネクション(論理的な通信路)の確
    立・切断
    ● 通信順序
    トランスポート層に指示
    もしもーし?smtp.example.comさん?
    はーい。なんでしょう。
    [email protected]から~
    ほうほう
    [email protected]に送りたいです
    メール送信の例
    了解です!データを下さい!
    これです~
    DATA
    受け取りました~
    ありがとうございました~ノシ
    はーい!
    smtp.example.com
    セッション
    一連の通信期間全体

    View Slide

  20. トランスポート層
    セッション層からの指示によって、通信方式とかタイミング制御を実際にやる
    アプリケーション間通信を実現する
    - パケットを適切なアプリケーションに届ける
    アプリケーションに適したデータの品質を保証
    1bitの誤りも許されないデータを扱う 
     → コネクション型通信
    連続して高速に通信し続けるデータを扱う
     → コネクションレス型通
    Webサーバ
    メールサーバ
    FTPサーバ
    FTP
    Web Email Web Email
    適切なアプリケーションに振り分け

    View Slide

  21. 相手の存在を確認するかどうか
    ● コネクション型通信
    コネクションを確立(相手の存在を確認)してから通信を行う
    品質は高いが速度は遅い
    場面:1bitも誤りのない信頼性が必要な時 (メール等)
    ● コネクションレス型通信
    コネクションを確立(相手の存在を確認)せずに通信を行う
    品質は低いが速度は速い
    場面:連続した高速な通信が必要とされる時 (動画配信等)

    View Slide

  22. ネットワーク層
    終端ノード間(End-to-End)の通信を実現する
    ノード:PCやサーバ等の通信をになうネットワーク機器
    経路制御
     どの経路を使うのか選択する
    アドレス体系の規定
     ネットワーク全体で統一されてる
     (IPアドレス)

    View Slide

  23. データリンク層
    隣接間ノード(Link-by-Link)の通信を実現する
    隣接間ノード:実際に直接繋がってるノード
    データリンク:ノードを繋げる具体的な手段(Ethernet, 無線...)
    Ethernet Ethernet
    無線
    これら以外にも
    様々なデータリンクを
    経由する
    フレームの作成
     伝送データの最小単位を作成
    MACアドレスの管理
     ノードを一意に識別するための
     アドレス

    View Slide

  24. 物理層
    フレームを構成するビット列と物理信号との相互変換
    ケーブルやコネクタの形式等を規定
    0100101001... 0100101001...
    変換 変換

    View Slide

  25. TCP/IP
    ネットワークアーキテクチャの1つ
    現在の標準がこれ
    ● 実際に動く使えることを重視
    ● 仕様決定は誰でも参加可能
    OSI参照モデルと違い4階層構造
    4. アプリケーション層
    3. トランスポート層
    2. インターネット層
    1. ネットワーク
     インターフェース層

    View Slide

  26. OSI参照モデルとTCP/IP
    7. アプリケーション層
    6. プレゼンテーション層
    5. セッション層
    4. トランスポート層
    3. ネットワーク層
    2. データリンク層
    1. 物理層
    4. アプリケーション層
    3. トランスポート層
    2. インターネット層
    1. ネットワーク
     インターフェース層
    ソフトウェアに任せる
    →ソフトの自由度を優先
    TCP/IPが厳密に規定
    ハードウェアに任せる
    →ハードの自由度を優先
    変化が
    激しい
    変化が
    激しい

    View Slide

  27. 各層には明確な役割がある
    お互いに利用し合って通信が
    成り立つ

    View Slide

  28. ネットワーク機器の話

    View Slide

  29. ネットワーク機器の話
    各層にはそれに対応する機器がある
    ● 物理層:リピータ
    ● データリンク層:ブリッジ
    ● ネットワーク層:ルータ

    View Slide

  30. 物理信号(電気とか光とか)の増幅・整形
    物理信号はケーブル長が伸びれば伸びるほど劣化していく(ノイズ乗ったり弱く
    なったり)
    伝送距離を延長するため、LANを延長するために用いる
    物理信号を変換(電気→光)できるやつもいる
    接続段数に制限あり(コリジョン(衝突)検出云々の事情)
    リピータハブって呼ばれる
    リピータ(物理層)

    View Slide

  31. ブリッジ(データリンク層)
    フレームを認識して機能的な転送
    ● 宛先の識別(MACアドレスの学習)
    ● フレームのエラー検出
    ● 媒体・速度が違うデータリンクを接続可(バッファがある)
    ● 実際の機器はスイッチングハブ(スイッチ)ともいう
    MAC:A MAC:B MAC:C MAC:D
    port1 port2
    B宛だから
    流さないよ!

    View Slide

  32. ルータ(ネットワーク層)
    LAN同士を接続する(LANを分断する)
    ● 経路制御:パケットを適切なルータ・宛先へ転送
    ● 異なる規格のデータリンク同士を接続
    (Ethernet → 無線LAN等)
    LAN1
    LAN2
    LAN3
    ルータ
    ルータ

    View Slide

  33. 経路制御
    送信者
    LAN2
    LAN1
    ルータA
    LAN3
    LAN4
    ルータB
    LAN5
    ルータC
    受信者

    View Slide

  34. 経路制御
    送信者
    LAN2
    LAN1
    ルータA
    LAN3
    LAN4
    ルータB
    LAN5
    ルータC
    受信者
    宛先 転送先
    LAN1 -
    LAN2 -
    LAN3 ルータB
    LAN4 ルータB
    LAN5 ルータB
    宛先 転送先
    LAN1 ルータA
    LAN2 -
    LAN3 -
    LAN4 -
    LAN5 ルータC
    宛先 転送先
    LAN1 ルータB
    LAN2 ルータB
    LAN3 ルータB
    LAN4 -
    LAN5 -
    ルータA
    ルータB
    ルータC

    View Slide

  35. 経路制御
    送信者
    LAN2
    LAN1
    ルータA
    LAN3
    LAN4
    ルータB
    LAN5
    ルータC
    受信者
    宛先 転送先
    LAN1 -
    LAN2 -
    LAN3 ルータB
    LAN4 ルータB
    LAN5 ルータB
    宛先 転送先
    LAN1 ルータA
    LAN2 -
    LAN3 -
    LAN4 -
    LAN5 ルータC
    宛先 転送先
    LAN1 ルータB
    LAN2 ルータB
    LAN3 ルータB
    LAN4 -
    LAN5 -
    データ LAN5宛

    View Slide

  36. ネットワークアーキテクチャ各
    層に対応した機器がいる

    View Slide

  37. MACアドレスとIPアドレス

    View Slide

  38. 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進数
    データリンク層の管轄

    View Slide

  39. なんでアドレス2つも?

    View Slide


  40. ルータA ルータB
    IP: aa
    MAC: AA
    IP: bb
    MAC: BB
    IP: ra
    MAC: RA
    IP: rb
    MAC: RB
    PC1からPC2へパケットを送る
    PC1 PC2

    View Slide


  41. ルータA ルータB
    IP: aa
    MAC: AA
    IP: bb
    MAC: BB
    IP: ra
    MAC: RA
    IP: rb
    MAC: RB
    PC1 PC2
    データ aa → bb AA → RA
    データ 送信元IP→宛先IP 送信者MAC→宛先MAC

    View Slide

  42. ルータA ルータB
    IP: aa
    MAC: AA
    IP: bb
    MAC: BB
    IP: ra
    MAC: RA
    IP: rb
    MAC: RB
    PC1 PC2
    データ aa → bb AA → RA
    データ aa → bb RA → RB
    データ 送信元IP→宛先IP 送信者MAC→宛先MAC
    データ aa → bb RB → BB

    View Slide

  43. 通信するときは
    IPアドレス → 保持
    MACアドレス → 更新

    View Slide

  44. まとめ
    インターネットの通信はプロトコルってのに支えられてる
    プロトコルは階層構造で管理することで嬉しい
    ネットワーク機器は色々あって、働きがそれぞれ違う
    IPアドレスとMACアドレスはどっちも大事

    View Slide