Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【基本情報対策】TCP/IPとOSI参照モデル

 【基本情報対策】TCP/IPとOSI参照モデル

Avatar for 赤神青空

赤神青空 PRO

November 06, 2026

Video

More Decks by 赤神青空

Other Decks in Programming

Transcript

  1. ▪全部実行か全部取り消しか、が原子性 前回のクイズの答えは「A」 前回のクイズ トランザクションの中の処理を、全部実⾏するか、 全部取り消すかのどちらかにする性質は? 全部実⾏するか、全部取り消すかの どちらかにする性質が、原⼦性(atomicity)。 振替の引き出しだけが反映される、 ということが起きない 答えは

    A 今ココ おさらい A 原⼦性 全部実⾏か全部取り消しか、が原⼦性(atomicity) B ⼀貫性 決まりに合った状態を保つこと C 独⽴性 同時に動くトランザクションが互いに影響しないこと D 耐久性 コミットした結果が障害でも失われないこと 2/14
  2. ▪通信の階層と、Webページが届くまでの流れ 今回の話 ① 階層 OSI基本参照モデルと TCP/IP ② プロトコルと装置 TCP‧UDP‧ポート番号‧ルータ ③

    実務では Web ページが届くまで‧ping 今回いちばん持ち帰ってほしいこと どの層の話かが分かると、通信の仕組みもトラブルも切り分けられる 今ココ はじめに 3/14
  3. ▪ISO が決めた、7つの層 OSI基本参照モデル 第7層 第6層 第5層 第4層 第3層 第2層 第1層

    今ココ 階層 アプリケーション層 プレゼンテーション層 セション層 トランスポート層 ネットワーク層 データリンク層 物理層 アプリどうしのやり取りの決まり(HTTP‧DNS など) データの表し⽅をそろえる(⽂字コード‧圧縮など) 通信の始まりから終わりまでの、やり取りを管理する 端から端まで、データを届ける(TCP‧UDP) IP アドレスを⾒て、宛先までの経路を選ぶ(IP) 直接つながった機器どうしで届ける(イーサネットなど) ケーブルや電波で、ビットを信号にして送る 4/14
  4. ▪OSI基本参照モデルの7層との対応 TCP/IP の4階層 OSI基本参照モデル アプリケーション層 プレゼンテーション層 TCP/IP の4階層 主なプロトコル アプリケーション層

    HTTP‧DNS‧DHCP‧SMTP トランスポート層 インターネット層 TCP‧UDP IP‧ICMP ネットワークインタフェース層 イーサネット‧無線 LAN セション層 トランスポート層 ネットワーク層 データリンク層 物理層 今ココ 階層 (リンク層とも呼ぶ) 5/14
  5. ▪各層が、自分の情報をヘッダーに書いて渡す ヘッダーを付けて、下の層へ 送る側:上の層から順にヘッダーを付ける アプリケーション層 データ トランスポート層 インターネット層 TCP データ IP

    TCP データ IP TCP データ ネットワークインタフェース層 イーサネット TCP ヘッダー:ポート番号 IP ヘッダー:IP アドレス イーサネットのヘッダー:MAC アドレス 今ココ 階層 受け取る側:下の層から順に外していく アプリケーション層 データ トランスポート層 インターネット層 TCP データ IP TCP データ IP TCP データ ネットワークインタフェース層 イーサネット MAC アドレス → IP アドレス → ポート番号の 順に⾒て、上の層へ渡す 6/14
  6. ▪確かめながら届けるか、接続せずに送るか TCP と UDP TCP コネクション⽅式(コネクション型) トランスポート層 送る前に、相⼿と接続を確⽴する 届いたかを確かめ、届かなければ送り直す 順番をそろえて、アプリに渡す

    向いている使い⽅の例 Web ページ(HTTP/ . ‧HTTP/ ) メール、ファイル転送 今ココ プロトコル UDP トランスポート層 コネクションレス⽅式 接続せずに、すぐ送る 届いたかの確認や、送り直しはしない ⼿間が少ないぶん、速く送りやすい 向いている使い⽅の例 DNS の問い合わせ、DHCP、⾳声通話(VoIP) HTTP/ (UDP の上の QUIC で動く) 7/14
  7. ▪コンピュータの中の、どのプログラム宛てか ポート番号 あなたの ブラウザ 宛先 IP アドレス 203.0.113.10 宛先ポート番号 443

    送り元の番号は、OS が空いている 番号から選ぶ(例:50123) サーバー(IP アドレス 203.0.113.10) Web サーバー(HTTPS) 443 番 SSH 22 番 PostgreSQL 5432 番 IP アドレスでコンピュータを、ポート番号でその中のプログラムを決める 0〜1023 は、よく使うサービスに割り当てられた番号(ウェルノウンポート) 今ココ プロトコル 8/14
  8. ▪TCP やアプリケーション層のプロトコル UDP の上で動く、用途ごとの決まり プロトコル HTTP HTTPS DNS DHCP 何をするか

    Web ページなどをやり取りする HTTP を TLS で暗号化して送る ドメイン名から IP アドレスを調べる IP アドレスなどの設定を配る SMTP POP IMAP NTP メールを送る‧サーバー間で転送する メールを受け取る(⼿元に取り込む) メールを受け取る(サーバーに置いたまま⾒る) 時刻を合わせる 今ココ プロトコル トランスポート TCP TCP(HTTP/ は UDP) 主に UDP(TCP も使う) UDP ポート番号 67‧68 TCP TCP TCP UDP 9/14
  9. ▪どの層の情報を見て中継するか ネットワーク接続装置 OSI の層 装置 何を⾒て、どう中継するか 第4層以上 トランスポート層〜 ゲートウェイ 第3層

    ネットワーク層 ルータ‧L スイッチ IP アドレスを⾒て、宛先への経路を選ぶ 第2層 データリンク層 ブリッジ‧L スイッチ MAC アドレスを⾒て、宛先の機器がある側へ送る 第1層 リピータ‧ハブ 電気信号を増幅して中継する(中⾝は⾒ない) 物理層 今ココ 接続装置 プロトコルの違うネットワークどうしを、変換してつなぐ (宛先を覚えていれば) 10/14
  10. ▪名前解決URLを開いてから、ページが届くまで → TCP の接続 → TLS → HTTP ブラウザ ①

    名前解決(DNS) 主に UDP の 53 番 ② TCP の接続 宛先は TCP の 443 番 ③ TLS TCP の上で ④ HTTP TLS の上で 今ココ 実務では DNS サーバー Web サーバー example.com の IP アドレスは? .. . SYN SYN + ACK ACK 証明書を確かめ、暗号化の鍵を決める GET /(ページをください) OK + HTML 11/14
  11. ▪どこまで届いているかで、切り分ける 層ごとに確かめる道具 $ dig example.com 名前から IP アドレスを引けるか $ ping

    . . . 相⼿まで届いて、返事が来るか $ traceroute . . . 途中のどのルータまで届いているか DNS(アプリケーション層) ICMP(ネットワーク層) TTL と ICMP(ネットワーク層) ICMP を⽌めている所では、相⼿が動いていても返事が来ないことがある 今ココ 実務では 12/14
  12. ▪どの層の話かが分かると、通信の仕組みもトラブルも切り分けられる まとめ 通信は層に分かれ、各層がヘッダーを付けて渡す 階層 TCP は確かめながら届け、UDP は接続せずに送る プロトコル OSI基本参照モデルは7層。TCP/IP は4階層で説明されることが多い

    ポート番号でプログラムを決め、その上で HTTP や DNS が動く どの層の話かで、⽌まっている所を切り分ける dig で名前解決、ping で届くか、traceroute で経路を確かめる 今ココ まとめ 実務 13/14