SlideShare a Scribd company logo
ネットワーク基礎
WEBページが表示されるまで
Flutter大学勉強会 2021/05/05 21:00~
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
の前に自己紹介と何故勉強するか
・とっく(30歳)
 本業インフラエンジニア、オンプレミスでの
 サーバー構築を主にやっています
 ネットワークスペシャリスト保有
・本講義のモチベーション
 IT技術の中で最も重要かつ普遍的
(フロントエン
 ド、バックエンド、PM、など関係なく
 という意味で)な分野であるので教養として
 身に着けていただきたいため
 NWのことを少し理解して、「勉強してみようかな」
 という気になってもらうことを目的としてお話します
Twitter:
https://twitter.com/tokkuu
鬼ロク:
https://angless-production.web.app/
全体の構成図
https://www.slideshare.net/taijitsuchiya5/wakamonog6-tsuchiya-public
前提知識~OSI参照モデルとTCP/IPの階層モデル~
・コンピューターの通信を役割に分けて、
 仕様を定義したもの。
・左がOSI参照モデル
 右がTCP/IPの
 階層モデル
第7層 アプリケーション層 アプリケーション層
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層 トランスポート層
第3層 ネットワーク層 インターネット層
第2層 データリンク層 ネットワークインターフェース層
第1層 物理層 (ハードウェア)
TCP/IPによる通信
・TCP(Transmission Control
Protocol)、IP(Internet Protocol)は
インターネット環境の通信を実現する
ためのプロトコル
・プロトコルとは決めごと。
RFC(Request For Comments)とい
うドキュメントに内容が書かれてお
り、誰でもインターネット上で閲覧す
ることが出来る。
RFCってなに? - JPNIC : https://www.nic.ad.jp/ja/rfc-jp/WhatisRFC.html
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
機器を繋いで通信する~L2での通信~
・図は私の家のNW環境
機器を繋いで通信する~L2での通信~
・MACアドレス:NIC(Network Interface Card)に紐づいたアドレス。
 物理アドレスとも言う
・IPアドレス:IPv4とIPv6がある。ここではv4のみの話をする。
 8bit×4の数字で表すアドレス。192.168.1.1のような形式。
・ARP:Address Resolution Protocol。
 IPアドレスからMACアドレスを得るためのプロトコル。逆はRARP
 基本的にハブに繋いだ端末同士はそれぞれのARPテーブルを持っている。
機器を繋いで通信する~L2での通信~
・PC①とNAS②の通信を考える
・スイッチ①とスイッチ②は所謂ハブ
・ハブは同一ネットワークの通信を担う
・L2SWで接続された同一ネットワーク内の
機器はIPアドレスとMACアドレスを変換してARPテーブルに保持しておく
・スイッチはそれぞれのLANポートの先に
 どのMACアドレスの端末がいるかを把握している。
機器を繋いで通信する~L2での通信~
・PC ①からNAS②への送信要求を
 スイッチ②に投げる
・スイッチ②が全てのポートへ転送
・スイッチ①が全てのポートへ転送
・NAS②からスイッチ①へ応答が返ってくるので
 スイッチ②へ転送
・スイッチ②はさっきの要求で
PC①がつながっているポートが分かっているので、
 PC①に転送。
・スイッチ①はスイッチ②に行けばその先に
PC①がいることを覚え、スイッチ②はスイッチ①
 に行けばその先にNAS②がいることを覚えたので、今後は全てのポートへ転送しなくなる。
→自己学習する
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
IPアドレス
・IPアドレスは32bitの整数値
11000000 10101000 00000010 00000001 →192 . 168 . 2 . 1
・ネットワーク部とホスト部からなる。セットでネットワークアドレスが存在
 通常はネットワークアドレスそのものではなく、サブネットマスクで示す
 11111111 11111111 11111111 00000000 → 255 . 255 . 255 . 0
 サブネットマスクと論理積(AND)をとる
 11000000 10101000 00000010 00000000 → 192.168.2.0
第1オクテット
第2オクテット 第4オクテット
第3オクテット
先頭からのビット数で
/24 とも表す
IPアドレスでの通信~L3~
・ネットワークアドレスが同じ機器同士はお互いのMACアドレスが
 分かっているのでARP、RARPを用いて通信可能
・異なるネットワークの通信はL3SW(所謂ルーター)を通して通信する。
PC-A PC-B
L3SW
.1 .1 .10
192.168.2.0/24
.10
192.168.1.0/24
IPアドレスでの通信~L3~
・ネットワークアドレスが同じ機器同士はお互いのMACアドレスが
 分かっているのでARP、RARPを用いて通信可能
・異なるネットワークの通信はL3SW(所謂ルーター)を通して通信する。
PC-A PC-B
L3SW
.1 .1 .10
192.168.2.0/24
.10
192.168.1.0/24
NWアドレスを
示す
ホスト部のみを表
記
192.168.1.10/24
ルータは複数のネットワーク
につながるLANポートを持っ
ている
IPアドレスでの通信~スタティックルーティング~
・右図のようなネットワークでPC-Aから
 PC-Cに通信することを考える
・PC-Aには自分のIPアドレス(192.168.1.10)と
 デフォルトゲートウェイ(192.168.1.1)を
 設定する
・PC-Aは自分のルーティングテーブルにない
 ネットワークへのパケットは全て
 デフォルトゲートウェイに
 送信するようになる PC-A
L3
SW
-B
.1
.1
192.168.3.0/24
.10
L3
SW
-C
PC-B
PC-C
L3
SW
-A
192.168.2.0/24
192.168.1.0/24
192.168.11.0/24
192.168.10.0/24
.10
.10
.1
.1
.2
.2
.1
IPアドレスでの通信~スタティックルーティング~
・L3SW-Aは192.168.1.1/24と192.168.10.2/24
 のIPアドレスを持っている
・自分の所属するネットワークのルーティング
 とは別に、192.168.3.0/24のNWに行くときは
 192.168.10.1(L3SW-Bの下の足)に
 行けばよいと教える
PC-A
L3
SW
-B
.1
.1
192.168.3.0/24
.10
L3
SW
-C
PC-B
PC-C
L3
SW
-A
192.168.2.0/24
192.168.1.0/24
192.168.11.0/24
192.168.10.0/24
.10
.10
.1
.1
.2
.2
.1
route next hop interface
192.168.1.10/32 192.168.1.10 eth1
192.168.10.0/24 192.168.10.1 eth0
192.168.3.0/24 192.168.10.1 eth0 eth0
eth1
L3SW-A
IPアドレスでの通信~スタティックルーティング~
・L3SW-Bにも同様に192.168.3.0/24への
 ルーティングを設定してやる
・自分の所属するネットワークのルーティング
 とは別に、192.168.3.0/24のNWに行くときは
 192.168.11.1(L3SW-Cの下の足)に
 行けばよいと教える
PC-A
L3
SW
-B
.1
.1
192.168.3.0/24
.10
L3
SW
-C
PC-B
PC-C
L3
SW
-A
192.168.2.0/24
192.168.1.0/24
192.168.11.0/24
192.168.10.0/24
.10
.10
.1
.1
.2
.2
.1
route next hop interface
192.168.11.0/24 192.168.11.1 eth0
192.168.2.10/32 192.168.2.10 eth1
192.168.10.2/32 192.168.10.2 eth2
192.168.3.0/24 192.168.11.1 eth0
eth0
eth1
eth2
L3SW-B
IPアドレスでの通信~スタティックルーティング~
・L3SW-Cは192.168.3.0/24への足を
 持っているので、PC-Cへ到達できる
・帰りのルーティングを設定する必要がある
 192.168.1.0/24のNWに行くときは
 192.168.11.2(L3SW-Bの上の足)に
 行けばよいと教える
PC-A
L3
SW
-B
.1
.1
192.168.3.0/24
.10
L3
SW
-C
PC-B
PC-C
L3
SW
-A
192.168.2.0/24
192.168.1.0/24
192.168.11.0/24
192.168.10.0/24
.10
.10
.1
.1
.2
.2
.1
route next hop interface
192.168.11.2/32 192.168.11.2 eth0
192.168.3.10/32 192.168.3.10 eth1
192.168.1.0/24 192.168.11.2 eth0
eth0
eth1
L3SW-C
IPアドレスでの通信~スタティックルーティング~
・L3SW-Bにも同様に192.168.1.0/24への
 ルーティングを設定してやる
・192.168.1.0/24のNWに行くときは
 192.168.10.2(L3SW-Aの上の足)に
 行けばよいと教える
PC-A
L3
SW
-B
.1
.1
192.168.3.0/24
.10
L3
SW
-C
PC-B
PC-C
L3
SW
-A
192.168.2.0/24
192.168.1.0/24
192.168.11.0/24
192.168.10.0/24
.10
.10
.1
.1
.2
.2
.1
route next hop interface
192.168.11.0/24 192.168.11.1 eth0
192.168.2.10/32 192.168.2.10 eth1
192.168.10.2/32 192.168.10.2 eth2
192.168.3.0/24 192.168.11.1 eth0
192.168.1.0/24 192.168.10.2 eth2
eth0
eth1
eth2
L3SW-B
・L3SW-AはPC-Aの場所を知っているので
 追加設定なし
IPアドレス自体を動的に設定~DHCP~
・ところでそもそもPCやPS4に
 IPを設定した覚えはないのに、
 通信できるのは何故か?
・DHCP(Dynamic Host Configuration
 Protocol)といって、動的に端末に
 IPアドレス、ネットワークマスク、
 デフォルトゲートウェイの設定を
 行うサーバーがいて、勝手に設定を
 行ってくれる
・自宅環境の場合はルーターが
 その機能を担っている場合が多い
DHCP
機能
ルーターの
管理画面
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
IPアドレスでの通信~スタティックルーティング~
・L3SW-Aは192.168.1.1/24と192.168.10.2/24
 のIPアドレスを持っている
・自分の所属するネットワークのルーティング
 とは別に、192.168.3.0/24のNWに行くときは
 192.168.10.1に行けばよいと教える
PC-A
L3
SW
-B
.1
.1
192.168.3.0/24
.10
L3
SW
-C
PC-B
PC-C
L3
SW
-A
192.168.2.0/24
192.168.1.0/24
192.168.11.0/24
192.168.10.0/24
.10
.10
.1
.1
.2
.2
.1
route next hop interface
192.168.1.10/32 192.168.1.10 eth1
192.168.10.0/24 192.168.10.1 eth0
192.168.3.0/24 192.168.10.1 eth0
eth0
eth1
L3SW-A
IPアドレスでの通信~スタティックルーティング~
・L3SW-Aは192.168.1.1/24と192.168.10.2/24
 のIPアドレスを持っている
・自分の所属するネットワークのルーティング
 とは別に、192.168.3.0/24のNWに行くときは
 192.168.10.1に行けばよいと教える
PC-A
L3
SW
-B
.1
.1
192.168.3.0/24
.10
L3
SW
-C
PC-B
PC-C
L3
SW
-A
192.168.2.0/24
192.168.1.0/24
192.168.11.0/24
192.168.10.0/24
.10
.10
.1
.1
.2
.2
.1
route next hop interface
192.168.1.10/32 192.168.1.10 eth1
192.168.10.0/24 192.168.10.1 eth0
192.168.3.0/24 192.168.10.1 eth0
eth0
eth1
L3SW-A
一つ一つ設定するのは面倒くさい
インターネットに出る前に~ダイナミックルーティング~
・今までの話はスタティックルート(静的ルーティング)
 動的にルーティングを行うプロトコルが存在する。
・OSPF(Open Shortest Path First)
 エリアという範囲内でルーター同士がリンク情報を交換し合い、
 ルーティングを実現する。隣同士(ネイバー)でルーティングテーブルを
 交換していき、最終的にはエリア内のルーティング情報がいきわたる。
 DC内などの閉じたネットワークのルーティングに使われる
インターネットに出る前に~ダイナミックルーティング~
・BGP(Border Gateway Protocol)
 IANA(Internet Assigned Numbers Authority)という機関が管理している  
 AS(Autonomous System)番号をもとに経路制御を行う。
 日本ではJPNICという機関がASを割り当てている
・通信ができる相手のことをピアと呼ぶ
・インターネット上ではBGPでルーティングが行われていると思ってよい
参考:インターネット10分講座:BGP - JPNIC
https://www.nic.ad.jp/ja/newsletter/No35/0800.html
インターネットに出る前に~プライベートIPとNAT~
・基礎的な知識に戻るが、IPアドレスにはグローバルIPアドレスと
 プライベートIPアドレスがある。
 クラスA:10.0.0.0~10.255.255.255 (10.0.0.0/8)
 クラスB:172.16.0.0~172.31.255.255 (172.16.0.0/12)
 クラスC:192.168.0.0~192.168.255.255 (192.168.0.0/16)
・プライベートIPアドレスは企業内や家庭内で自由に割り当ててよいIPアドレス
・家庭用ルーターでは192.168.1.0や192.168.2.0のIPがDHCPによって
 勝手に割り振られる
インターネットに出る前に~プライベートIPとNAT~
・プライベートIPアドレスを持った端末たちは組織内のネットワークから
 外に出るときに、ISP(Internet Service Provider)から割り当てられた
 グローバルIPアドレスに変換されて出ていく。
 これがNAT(Network Address Translation)
・NATは送信元のIPアドレスを変換するSNAT(Source NAT)、
 宛先のIPアドレスを変換するDNAT(Destination NAT)がある。
・今は単にプライベートIPアドレスとグローバルIPアドレスを変換するもの
 と覚えてもらえればいいが、ポートも同時に変換するNAPTなど、
 用途や行うことによって様々な呼び方があるので注意
 (ポートフォワーディング、IPマスカレード など)
インターネットの世界
・組織内のネットワークからNATし
てグローバルIPとしてインターネッ
トの世界に出ていく
・インターネット上にはISP、IX、
CDN等の組織が存在し、それぞれ
AS番号を持っている。
・相互接続したピアをたどって目的
の場所へたどり着く
インターネットの世界
・ISP(Internet Service Provider)
 所謂プロバイダー。
 インターネットの契約を
 皆さんがする業者
・IX(Internet Exchange)
 AS間の通信や国家間の通信を 
相互接続する拠点。
 安全保障上の理由から
 所在地はあまり
 公になっていない
参考 jpix : https://www.jpix.ad.jp/jp/index.php
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
WEB3層の前に、TCPについて
・TCP/IPの通信ではIPアドレスによって場所を
 特定して通信を送り、TCP/UDPによって
 用途を特定する
・TCPではポート番号で用途を判別する。
 よく使われるポート番号のことを well-knownポート
 と呼ぶ
・またTCPはコネクション型プロトコルで、相手と
 のコネクションが確立したら初めて通信を開始する
 →3ウェイハンドシェイク
https通信で抑えておくべきプロトコル
・http(tcp80) Hyper Text Transfer Protocol
 HTMLでファイルをやり取りするためのプロトコル
 GET/POSTなどのコマンドと応答、データによる
 メッセージの送受信を行う
・dns(tcp/udp53) Domain Name System
 ドメインとIPアドレスの変換(これを名前解決
 という)を行う。DNS自体は超巨大な
 分散データベースのようなもの
・https(tcp443) Hypertext Transfer Protocol Secure
 実はこれ自体はプロトコルではなく、SSL/TLS
 の元で暗号化されたセキュアなhttp通信のこと
http - Hyper Text Transfer Protocol
・TCPの80番で通信を行う
・GETコマンド:URLの後に?を付けパラメータを渡す。
 YouTubeなんかがそれ
 https://www.youtube.com/results?search_query=KBOY
・POSTコマンド:URL内とは別にbody部に
 リクエストパラメータを含める。
 申し込みフォームとかで情報を送るとき等
 ※他の人から見えなくなるわけではない
http - Hyper Text Transfer Protocol
・右は先ほどの検索画面を
 Google Chromeの開発者ツールで
 見たもの(F12を押すと見れます)
・Status Codeが200となっているが
 200が正常に応答が返ってきた
 というしるし
・400番代がClient Error、500番代が
 Server Errorと区分けされている
dns - Domain Name System
・TCP/UDPの53番で通信を行う
・URLのドメインの部分をIPアドレスに変換する
 https://www.youtube.com/results?search_query=KBOY
 だったらwww.youtube.comのIPアドレスを調べる
・wwwをホスト部youtube.comをドメイン部と呼ぶ。
 併せてFQDN(Fully Qualified Domain Name)と呼ぶ
・特にcomの部分をTLD(Top Level Domain)と呼ぶ
dns - Domain Name System
・名前解決を行うDNSサーバーをフルサービスリゾルバーと呼ぶ
・ドメイン内のレコード(IPとホスト名のペア)を持っているサーバを
 権威サーバという。
 特にTLDの情報を持っている権威DNSサーバをルートサーバーといい、
 世界に13台存在する。
・フルサービスリゾルバは問い合わせを受け、再帰的に目的の名前解決を行う。
クライアント
ルートサーバ
権威DNS
サーバ
jp
kboy.jp/はどこ?
35.194.122.208
やで~
kboy.jp/はどこ?
kboy.jpは知らんけどjpの権威サーバはここやで~
WEB3層の話
・WEBアプリケーションを提供するのに必要な
 3つのサーバ
・WEBサーバ
 httpリクエストを受けとりAPサーバに処理を流す
 静的コンテンツ(htmlとcssやJavaScriptのみ)なら
 そのまま返したり、キャッシュしているページを
 返却したりする。
 apacheやnginx、IISなどが有名
WEB3層の話
・APサーバ
 アプリケーションの実行環境(ランタイム)を
 搭載しているサーバ。JavaならJVMを動作させ
 WEBサーバから処理を受け取り、DBを操作して
 WEBサーバにレスポンスを返す。
 有名なのはtomcat、WebLogic、Pumaなど
WEB3層の話
・DBサーバ
 APサーバから処理を受け取ってデータを処理する
 サーバ
 WEB3層においてはRDB(Relational Database)が
 主流でRDBを管理するソフトウェアをRDBMS
 という。
 主要なRDBMSはOracle、MySQL、PostgreSQLなど
WEB3層システムであるあるなDC内の他サーバ
・外部からの通信を直接受け付けるための
 ネットワークをDMZ(DeMilitarized Zone)と呼ぶ。
 内部のサーバとは別のサブネットに配置することで
 セキュリティを高める
・Reverse Proxy
 外部からのアクセスを代理で受けるサーバー。
 WEBサーバーが複数いても1つのIPアドレスで
 受けることが出来る
・LB(Load Balancer)
 負荷分散を行うサーバ。複数のWEBサーバーに
 処理を振り分けることが出来る
WEB3層システムであるあるなDC内の他サーバ
・その他管理系のサーバ
 WEBアプリケーションを実現するための
 サーバとは別に、管理系のサーバを準備することが
 多い。ログを見たり、ping(IPアドレスによる
 死活監視)を飛ばしたりして監視するサーバー、
 バックアップを行うためのサーバー、バッチ処理を
 行うサーバー、ジョブを管理するサーバーなどなど
・またDCでは踏み台サーバーを用意して
 そこからsshやRDPで接続する
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
SSL/TLSとは~共通鍵暗号方式~
・お互いに共通の鍵を使って暗号化と復号を行う
・大量のデータであっても暗号化と復号のスピードが早いのがメリットだが、
 事前に鍵を共有しておく必要がある
クライアン
ト
サーバー
共通鍵 共通鍵
※余談:平文を暗号文にすることを 暗号化といい、その逆を復号という。
    復号化とは言わないので注意
SSL/TLSとは~公開鍵暗号方式~
・公開鍵と秘密鍵のペアを作って暗号化、復号を行う。
・公開鍵で暗号化したデータは秘密鍵でしか復号出来ない
・南京錠(公開鍵)とそのカギ(秘密鍵)のイメージ
クライアン
ト
サーバー
暗号化 復号
SSL/TLSとは~共通鍵を公開鍵暗号方式で送る~
・公開鍵暗号方式は遅いので、共通鍵で通信したい!
・共通鍵を公開鍵暗号方式を使って渡してそれ以降共通鍵で通信する
クライアン
ト
サーバー
共通鍵を公開鍵で
暗号化
復号して共通鍵
を得る
SSL/TLSとは~共通鍵を公開鍵暗号方式で送る~
・公開鍵暗号方式は遅いので、共通鍵で通信したい!
・共通鍵を公開鍵暗号方式を使って渡してそれ以降共通鍵で通信する
クライアン
ト
サーバー
共通鍵を公開鍵で
暗号化
復号して共通鍵
を得る
でもこの公開鍵って
ホントに通信しようとしている
サーバのもの?
SSL/TLSとは~認証局(CA局)~
・あらかじめサーバー側が認証局に証明書を発行してもらう
クライアン
ト
サーバー
共通鍵を公開鍵で
暗号化
復号して共通鍵
を得る
CA局
証明書発行してく
れー
サーバ証明書を
発行
SSL/TLSとは~認証局(CA局)~
・サーバーは公開鍵と一緒にサーバ証明書をクライアントに送る
・クライアントはあらかじめPC内やブラウザに内蔵されている
 ルート証明書を使って、サーバから送られてきた証明書を検証する
クライアン
ト
サーバー
共通鍵を公開鍵で
暗号化
復号して共通鍵
を得る
ルート証明書
サーバ証明書
SSL/TLSとは~認証局(CA局)~
・サーバーは公開鍵と一緒にサーバ証明書をクライアントに送る
・クライアントはあらかじめPC内やブラウザに内蔵されている
 ルート証明書を使って、サーバから送られてきた証明書を検証する
クライアン
ト
サーバー
共通鍵を公開鍵で
暗号化
復号して共通鍵
を得る
ルート証明書
サーバ証明書
これらの仕組みで
・盗聴
・なりすまし
・改ざん
を防げる
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
全体の構成図
https://www.slideshare.net/taijitsuchiya5/wakamonog6-tsuchiya-public
www.test.co.jp
https://www.test.co.jp/が表示されるまで
<設定>
・企業内のクライアントPCで
 ブラウザにhttps://www.test.co.jp/
 と入力してエンターを押す
・企業内はOSPFでルーティング さ
れており、DHCPで設定され
 ているISPのDNSサーバーに
 名前解決を要求
OSPF エリア0
NATされて外の世界へ
・クライアントから要求を受けて
 ISPのDNSサーバが
 再帰問い合わせを行う
・testドメインは目的のDCの
 DMZにあるので、そいつがwwwの
 IPアドレスを返却する
 (LBのグローバルIPアドレス)
ISPのDNS
サーバー
ルートサーバ
権威DNS
サーバ
jp
www.test.co.jpはど
こ?
<LBのグローバルアドレス >や
で~
https://www.test.co.jp/が表示されるまで
権威DNS
サーバ
co
test.co.jpの権威サーバはここやで~
https://www.test.co.jp/が表示されるまで
・目的のIPアドレスが分かった
 ので、改めて企業内ネットワー
 クからインターネットを飛び出
 し、目的のグローバルIPに通信
 を求める
・TCP 3 Way handshakeで通信を
 確立した後はTLS Sessionを
 開始する
SYN
SYN + ACK
ACK
・サーバーは公開鍵と一緒にサーバ証明書をクライアントに送る
・クライアントはルート証明書を用いてサーバ証明書を検証
・共通鍵を共有
 *実際には共通鍵を公開鍵で暗号化して送るのではなく、
 Diffie Hellman鍵交換方式を使って共通鍵を交換する
クライアン
ト
サーバー
(LB)
共通鍵を公開鍵で
暗号化*
復号して共通鍵
を得る*
ルート証明書
サーバ証明書
https://www.test.co.jp/が表示されるまで
・サーバーは公開鍵と一緒にサーバ証明書をクライアントに送る
・クライアントはルート証明書を用いてサーバ証明書を検証
・共通鍵を共有
 *実際には共通鍵を公開鍵で暗号化して送るのではなく、
 Diffie Hellman鍵交換方式を使って共通鍵を交換する
クライアン
ト
サーバー
(LB)
共通鍵を公開鍵で
暗号化*
復号して共通鍵
を得る*
ルート証明書
サーバ証明書
https://www.test.co.jp/が表示されるまで
TLSセッションが確立したら、 WEB
サーバーにリクエストを
流し、WEBサーバーはindex.html
をレスポンスとして
返却する
1.前提知識
2.機器を繋いで通信する~L2での通信~
3.IPアドレスとルーティング基礎
4.インターネット概要
5.WEB3層とは
6.SSL/TLS
7.httpsでの通信
8.まとめ
最後の要点
要点を 1 行で説明します
 
まとめ
・ネットワークの仕組みが少しだけイメージできるようになって
 いただけたらこのスライドの目的は達成です
・興味がありましたら、スライドを立ち返ってキーワードを調べて
 みるなどして、知識を深めてください
・書籍で勉強するのであれば”マスタリングTCP/IP―入門編―”という 本
がお勧めです。NWエンジニアにでもならない限り必要十分な
 内容かと思います。
ご清聴ありがとうございました
このスライドの作成者:@tokkuu
https://tokku-engineer.tech/profile/
参考
・インターネットの裏側の仕組み
https://www.slideshare.net/taijitsuchiya5/wakamonog6-tsuchiya-public
・【図解】https(SSL/TLS)の仕組みとシーケンス,パケット構造 〜暗号化の範囲,
Encrypted Alert, ヘッダやレイヤについて~
https://milestone-of-se.nesuke.com/nw-basic/tls/https-structure/
・JPNIC
https://www.nic.ad.jp/ja/

More Related Content

What's hot

VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイントVPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
Takuya Takaseki
 
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころFargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
Yuto Komai
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
Yusuke Shirakawa
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
 
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Platform - Japan
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
 
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドFCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
Brocade
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
Kota Saito
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
 

What's hot (20)

VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイントVPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
 
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころFargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドFCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 

Similar to ネットワーク基礎 - WEBページが表示されるまで

データセンターネットワークの構成について
データセンターネットワークの構成についてデータセンターネットワークの構成について
データセンターネットワークの構成について
MicroAd, Inc.(Engineer)
 
IoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップ
IoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップIoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップ
IoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップ
Ryosuke Uematsu
 
HTML5から始まる技術革新
HTML5から始まる技術革新HTML5から始まる技術革新
HTML5から始まる技術革新
Wakasa Masao
 
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANInterop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
ShuheiUda
 
文系ITエンジニア育成教育におけるRubyの活用
文系ITエンジニア育成教育におけるRubyの活用文系ITエンジニア育成教育におけるRubyの活用
文系ITエンジニア育成教育におけるRubyの活用
Jun Iio
 
IoT用途で簡単に使えるWebRTC Engineを作った話
IoT用途で簡単に使えるWebRTC Engineを作った話IoT用途で簡単に使えるWebRTC Engineを作った話
IoT用途で簡単に使えるWebRTC Engineを作った話
ToshiyaNakakura1
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
Yukio Saito
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
Yusuke Naka
 
Lesson01
Lesson01Lesson01
Lesson01MRI
 
【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!
【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!
【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!シスコシステムズ合同会社
 
20060520.tcp
20060520.tcp20060520.tcp
20060520.tcp
Ken SASAKI
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
Yuya Rin
 
ネットワーク 全体像
ネットワーク 全体像ネットワーク 全体像
ネットワーク 全体像
Kenichi Takeuchi
 
これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識
これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識
これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識
Yasuo Igano
 
TCP/IP完全理解
TCP/IP完全理解TCP/IP完全理解
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴OpenvSwitchの落とし穴
OpenvSwitchの落とし穴Takashi Naito
 
NW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよ
NW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよNW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよ
NW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよ
NHN テコラス株式会社
 
06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)
Study Group by SciencePark Corp.
 
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit..NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
Atomu Hidaka
 

Similar to ネットワーク基礎 - WEBページが表示されるまで (20)

Ssmjp20130925
Ssmjp20130925Ssmjp20130925
Ssmjp20130925
 
データセンターネットワークの構成について
データセンターネットワークの構成についてデータセンターネットワークの構成について
データセンターネットワークの構成について
 
IoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップ
IoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップIoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップ
IoTSecJP_Version5.0_LTEデバイスのセキュリティ診断3ステップ
 
HTML5から始まる技術革新
HTML5から始まる技術革新HTML5から始まる技術革新
HTML5から始まる技術革新
 
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANInterop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
 
文系ITエンジニア育成教育におけるRubyの活用
文系ITエンジニア育成教育におけるRubyの活用文系ITエンジニア育成教育におけるRubyの活用
文系ITエンジニア育成教育におけるRubyの活用
 
IoT用途で簡単に使えるWebRTC Engineを作った話
IoT用途で簡単に使えるWebRTC Engineを作った話IoT用途で簡単に使えるWebRTC Engineを作った話
IoT用途で簡単に使えるWebRTC Engineを作った話
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
Lesson01
Lesson01Lesson01
Lesson01
 
【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!
【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!
【Interop tokyo 2014】 ネットワークの高度な可視化〜企業向けSDNポリシー制御まで!
 
20060520.tcp
20060520.tcp20060520.tcp
20060520.tcp
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
 
ネットワーク 全体像
ネットワーク 全体像ネットワーク 全体像
ネットワーク 全体像
 
これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識
これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識
これだけは知っておきたい5Gのキホン - 5Gビジネスに必要な基礎知識
 
TCP/IP完全理解
TCP/IP完全理解TCP/IP完全理解
TCP/IP完全理解
 
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴OpenvSwitchの落とし穴
OpenvSwitchの落とし穴
 
NW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよ
NW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよNW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよ
NW-JAWS 勉強会#1 [LT] 閉域閉域もう飽きたよ
 
06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)
 
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit..NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
 

ネットワーク基礎 - WEBページが表示されるまで