- 昔は、ネットワークの仕組みをある程度知らなければ、ネットワークを使えなかった
- ネットワークを使う側から、作る側になると感じる気持ちのハードルが高くなっている
- ネットワークを使える状態にするためのつなげる技術
- データを送るための技術
- 目的のサイトに正しくアクセスできる
- データが途中で壊れない
- 効率よく届く
- など
- ネットワークでやり取りしたデータを利用するための活用する技術
- 送られたデータを見るための技術
- 表示方法を工夫する
- 動画を組み込む
- 簡単に更新できるようにする
- ユーザーの投稿を受け付ける
- など
- ネットワークでは、ユーザーと配信側がコミュニケーションをしながら、双方向にデータをやり取りする
- ユーザー側が制御情報などのデータを送り、配信側はそれを活用してコンテンツをユーザーに届ける
- ネットワークを利用してサービスを提供する立場のコンピューターがサーバー
- サービスを受ける立場のコンピューターがクライアント
- プロトコル
- 問題なくデータをやり取りするための共通の決まりごと
- ネットワークに参加しているすべての機器、OS、ネットワークを利用するソフトウェアも同じプロトコルに対応しなければならない
- 標準プロトコル - TCP/IP
-
第7層 アプリケーション層 第6層 プレゼンテーション層 第5層 セッション層 第4層 トランスポート層 第3層 ネットワーク層 第2層 データリンク層 第1層 物理層 - ネットワーク機器の機能を表現するときに使われる
- 「レイヤー◯スイッチ」という危機がある場合、◯の階層のレイヤーから最下位のレイヤー(第1層)まで対応する
-
階層名 代表的なプロトコル アプリケーション層 HTTP、FTP、DNS、SMTP、POP3 トランスポート層 TCP、UDP インターネット層 IP、ICMP、ARP ネットワークインターフェイス層 イーサネット、PPP、ISDN
- ネットワークにおいて、サーバーは多くのクライアントとの間で同時にデータをやり取りするが、それぞれのクライアントをすべて把握する
- 相手を特定してデータをやり取りすることが、ネットワークの大きな特徴
- 識別子を元に、送り先を特定する
- 途中で複数のコンピューターや機器を経由してデータを送る
- なので、最終的に受け取る識別子とは別に、次に持っていくところの識別子も必要
- 次にデータを送る宛先は、途中で次々に変わっていく
- さらに、ソフトウェアの住所も付けなければならない
- データ1つにソフトウェアの住所、コンピューターの住所、次に送る住所
- データのやり取りで行われる作業は、レイヤーとして整理されている
- 送り主はレイヤーの上位から順に、送り先はレイヤーの下位から順に処理を行う
- トランスポート層
- ソフトウェア(アプリケーション層)にデータを渡す処理に必要な住所
- インターネット層
- 送り先のコンピューターや機器にデータを送る処理に必要な住所
- ネットワークインターフェイス層
- 次に送るコンピューターや機器にデータを送る処理に必要な住所
- ある範囲で閉じられたネットワーク
- ネットワーク全体を管理できる
- 機密情報を安心して扱える
- 許可なくLANやWANに参加することはできない
- 世界中のネットワーク同士をつないで地球規模の巨大なネットワークを作り上げたのがインターネット
- インターネットで使われる規格を決める団体はあるが、インターネット全体を管理している団体や、全体を管理しているサーバーはない
- イントラネットは、インターネットで使われている技術を使用したLAN
- プロトコルはインターネットと同じTCP/IPを採用している
- LANを使っているにで全体の管理はできる
- LANでTCP/IPを利用することで、インターネットで利用されているサービスに近いサービスを、LANに手軽に導入することができる
- 企業ネットワークの多くはイントラネット
- 企業ネットワークなどのLANに参加しているPCからは、インターネットを利用することができる
- LANの内部にインターネットを利用するためのサービスを提供するサーバーや機器があり、各PCの代わりにインターネット接続の役割を担っているから
- ケーブルなどで物理的につなぐ技術
- 複数のルートがあった場合に正しいルートを選ぶ技術
- ほかのコンピューターや機器を経由する技術
- データをやり取りする相手を特定する技術
- お互いが確認しながらデータをやり取りする技術
- お互いがデータを正しく扱う技術
- データをどのように扱えばいいかの情報をつける技術
- ヘッダー
- データ全体を扱う前に知っておきたい情報が入っている
- 宛先、データの種類、識別番号など、データを適切に処理するための情報
- トレーラー
- データを全部受け取ったあとに確認するための情報
- データが正しく送られたかどうかを確認するための情報
- 同じデータをレイヤーの数だけ4回処理することになる
- アプリケーション総出の処理 → トランスポート層 → データはパケットに分割され、ヘッダーが付けられる
- トランスポート層で処理されたデータ → インターネット層 → さらに分割され、ヘッダーが付けられる
- インターネット層で処理されたデータ → ネットワークインターフェイス層 → さらに分割してヘッダーとトレーラーをつける → ケーブルを通して他のコンピューターや機器へ送られる
- カプセル化
- あるレイヤーで付けられたヘッダーやトレーラーに含まれる制御情報は、他のレイヤーではデータ本体なので利用されない
- プロトコルによって、セグメント、データグラム、フレームと呼ぶ
- データを分割してヘッダーやトレーラーをつけるのは同じ
名称 | プロトコル |
---|---|
セグメント | TCP |
データグラム | UDP、IP |
フレーム | イーサネット |
- ユニキャスト
- 1つの相手にデータを送ること
- 自分たちが利用しているネットワークサービスのほとんどがユニキャストでデータを送り合っている
- マルチキャスト
- 複数の相手にデータを送る
- データはネットワークの途中にある機器で複製され、マルチキャストアドレスを持つ各コンピューターや機器に送られる
- ビデオ会議システムやライブ中継などで使われる
- 送る作業が1回で済むので、負担が軽い
- ブロードキャスト
- ネットワーク全体に送る
- 1つのネットワークの中にいるすべてのコンピューターや機器に送る
- DHCPサービスなどで使われる
- IPv6では廃止される
- 他のネットワークには送られない
- エニーキャスト
- 「どちらかよい方」に送る
- 同じサーバーが複数あって、そのうちどれかにデータを送るときに使う
- DNSサービス出使われるルートサーバーへデータを送るときに使う
- IPアドレス、MACアドレスには「◯◯キャストにするときはこのアドレスを使う」というルールがあるので、決められたアドレスを使うことで送る方式をはっきりさせる
- IETF(Internet Engineering Task Force)という団体が作成し、公開している
- TCP/IPの決まりごとの採用、見直し、修正などの議論をして、決定したものをRFCとして公開する
- TCP/IPを実装すること
- コンピューターや機器に、TCP/IPの決まりごとに従って処理を行うTCP/IPプロトコルスタックを組み込むこと
- TCP/IPに対応したハードウェア、TCP/IPプロトコル・スタック、TCP/IPにに対応したソフトウェアを揃えば、TCP/IPを採用したネットワークが利用できる
- 制御情報を追加、データ形式を変換など
- データをやり取りする相手と届いたかどうかを確認する
- データを利用するソフトウェア(アプリケーション層)への経路を管理
- 識別子で相手を特定する
- 最終目的地までの道のりを選択する
- 隣り合ったコンピューターや機器との間のデータのやり取りを管理する
- その他のコンピューターや機器を経由するよう、次の目的地までを担当する
- トランスポート層
- アプリケーション層のソフトウェアを区別するために識別子として、ポート番号を使う
- インターネット層
- 最終的にデータを受け取る相手を特定するために識別子として、IPアドレスを使う
- ネットワークンターフェイス層
- 直接データをやり取りする相手を特定するために識別子として、MACアドレスを使う
- ネットワークで、1台のコンピューター出同時に複数のソフトウェアとサーバーを使ってサービスを利用できる
- トランスポート層がソフトウェアごとに仮想的なデータの通路を作って管理しているから
- トランスポート層は、複数の仮想的なデータの通路を区別するために、ポート番号を使う
- 送り手のトランスポート層でやっていること
- 送り手と送り先のポート番号をヘッダーの情報としてデータ本体に追加する
- それぞれのポート番号を指定することによって、どのソフトウェアとの間でデータをやり取りするかの指定ができる
- どうやって相手のポート番号を知るのか
- トランスポート層では、自分のポート番号を49152~65535の中から1つ選んでヘッダーに追加する
- 49152~65535は「動的/プライベートポート番号」
- 送り先のポート番号は、利用するサーバーソフトの種類によって決められている
- よく使われるポート番号は「ウェルノウンポート番号」
- クライアントはこの範囲のポート番号を使わない
- サーバー側で適切な処理をした後、トランスポート層からクライアントにデータを返す際
- ヘッダー情報にはクライアントのポート番号を宛先のポート番号として追加する
- 送り主はサーバーソフトのポート番号
番号 | 種類 | 用途 |
---|---|---|
0~1023 |
ウェルノウンポート番号 | サーバーソフトが使用する |
1024~49151 |
予約済みポート番号 | 特定のネットワークサービス、ソフトウェアに割り当てられている サーバーもクライアントも使用できる |
49152~65535 |
動的/プライベート番号 | 自由に使える クライアントが使用する |
- TCPが、確実にデータをやり取りするために持っている仕組み
- 確認応答
- 応答を、ACK(ACKnowledgeの略)
- 再送
- ACKが届かなかった場合、同じデータを再度送る
- シーケンス番号
- やり取りするデータに番号を付けて確認する
- 確認応答
- トランスポートのプロトコルとしてTCPを使う場合、仮想的なデータの連絡を作る際に、3ウェイハンドシェイク方法をとる
- 接続を要求するパケットをクライアントからサーバーへ送る(SYN)
- サーバーで要求に応じられる場合は、応答確認をする(SYN、ACK)
- クライアントから応答確認を送る(ACK)
- IP(Internet Protocol)
- IPは最終的にデータを受け取る相手とのデータのやり取りに関する決まりごとを定める
- 最終的にデータを受け取る相手を特定するためのIPアドレス
- 相手のコンピューターまでの道のりを選択するルーティング
- IPアドレスはTCP/IPネットワークに参加しているコンピューターや機器には必ず付けられている
- IPv4において、IPアドレスは32ビットのデータ
- 2進数が32個並ぶ
- 8ビットずつ分けて、10進数とする
- IPアドレスの構成要素
- ネットワークアドレス
- どのネットワークかを表す
- ホストアドレス
- そのネットワークのどのコンピューターや機器かを表す
- ネットワークアドレス
- AからEクラス
-
クラス ビット(2進数) ネットワークアドレス(先頭から) ホストアドレス IPアドレス範囲 クラスA 0xxxxxxx.・・・
8ビット 24ビット 0.0.0.0 ~ 127.255.255.255
クラスB 10xxxxxx.・・・
16ビット 16ビット 128.0.0.0 ~ 191.255.255.255
クラスC 110xxxxx.・・・
24ビット 8ビット 192.0.0.0 ~ 223.255.255.255
クラスD 1110xxxx.・・・
4ビット 28ビット 224.0.0.0 ~ 239.255.255.255
クラスE 1111xxxx.・・・
5ビット 27ビット 240.0.0.0 ~ 255.255.255.255
- 第8回 アドレス・クラスとさまざまなIPアドレス:基礎から学ぶWindowsネットワーク(1/3 ページ) - @IT
-
- ネットワークで使うのはA~C
- Dはマルチキャストアドレス
- Eは実験用のアドレス
- ブロードキャストアドレス
- ホストアドレスのビットがすべて1のIPアドレス
- ネットワークアドレスが多ければ、それだけ表せるネットワークの数が増える
- しかし、ホストアドレスが減って、つなげられるコンピューターや機器の数が少なくなる
- ネットワークに参加するコンピューターや機器の数に応じて、IPアドレスのクラスを使い分ける
-
ネットワークアドレス ホストアドレス クラスA 126個 約1600万個 クラスB 約1600万個 約65000個 クラスC 約200万個 254個
-
- 同じネットワークに参加しているコンピューターや機器は、同じネットワークアドレスを持っている
- ネットワークが異なれば、異なるネットワークアドレスが必要
- IPアドレスをクラスで分ける仕組みでは、使わないIPアドレスが出てしまって、効率がよくない
- サブネットマスクという仕組みが必要になった
- ホストアドレスの一部をサブネットワークを表す部分として使うことで、1つのネットワークアドレスを異なるネットワークで利用できる
- サブネットの分、ホストアドレスが減るので、表せるホストアドレスが減る
- サブネットマスクを使う方法でも、クラスに分けるやり方に変わりなく、効率が良いとは言えない
- クラスに分けること自体をやめるクラスレスアドレッシングが登場する
- 先頭からどこまでがネットワークアドレスかをCIDRという表記で表す
- 任意の単位でアドレスを区切ることができて、IPアドレスを効率的に利用できるようになった
172.16.10.125/24
→ 先頭から24ビットまでネットワークアドレス
- IPアドレスの種類
- グローバルIPアドレス
- インターネットで通用するIPアドレス
- ICANN(日本ではJPNIC)が重複しないように管理している
- プライベートIPアドレス(ローカルIPアドレス)
- 1つのネットワークの中だけで有効なIPアドレス
- 別のネットワークに同じIPアドレスがあることもある
- グローバルIPアドレス
- IPアドレスには「この範囲はプライベートIPアドレスとして使う」という範囲が決められている
- プライベートIPアドレスの範囲
-
クラス名 範囲 クラスA 10.0.0.0 ~ 10.255.255.255
クラスB 172.16.0.0 ~ 172.31.255.255
クラスC 192.168.0.0 ~ 192.168.255.255
-
-
インターネットの普及にともなって、グローバルIPアドレスが足りなくなる問題が発生した
- そこで、IPバージョン6(IPv6)が策定され、IPアドレスの仕組みが大きく変更される
-
IPv4
- 32ビットのデータ
- IPアドレスの数は約43億個
-
IPv6
- 128ビットのデータ
- IPアドレスの数は約43億x約43億x約43億x約43億個
- 16ビットずつ「:」で区切って16進数で表す
- インターネットは1つの企業や団体が管理しているわけではない
- そのため、ある日を堺にすべてをIPv6へ切り替えることができない
- 当面はIPv4とIPv6を共存させ、徐々にIPv6に切り替えていくことになる
- カプセル化などの技術を使うことでIPv4とIPv6を共存させている
- 一般的に使われているPCやスマホはIPv4とIPv6の両方に対応している
- IPv6では、IPアドレスを節約するための仕組みは必要なくなる
- IPv6に機能として盛り込まれたことで必要なくなる仕組みもある
- NAT、NAPT
- ARP
- DHCP
- IPv6では、IPアドレスの数を気にせず、さまざまなものに割り当てることができる
- 最終的にデータを受け取る相手にたどり着くために、どのルートを通ればいいのかを選択する
- ルーティング(経路選択)
- ほかのネットワークに参加しているコンピューターや機器との間でデータをやり取りするときに使われる
- データを送りたい相手にたどり着くためにどのルートを選べばいいかを把握する
- ルーターによって管理される
- ルーターは、送るデータに付いているIPアドレスとルーティングテーブルを見て、どのルートを選べばいいかを判断する
- ルーティングテーブル
- 「該当するネットワークに参加しているコンピューターや機器に送る上で、どのネットワークのルータに送信するか」の指示が書かれている
- スタティックルーティング
- ネットワーク管理者が手作業でルーティングテーブルを作る方法
- 作業は面倒
- 人間が作るからルーターとネットワークの負担が少ない
- 小規模のネットワークやルートが決まっているネットワークで使われる
- ダイナミックルーティング
- ルーター同士が「ルーティングプロトコル」を使って情報を交換し、目的地にルーティングテーブルを作る方法
- 作業が簡単
- ルーターとネットワークの負担が大きい
- 大規模のネットワークで使われる
- 登録する情報が多いし、変更があったら登録し直す手間がかかるから
- ルーティングプロトコル
- ルーター同士がルーティングテーブルに必要な情報を交換するときの決まりごと
- IGP
- AS(自律システム)内で利用される
- EGP
- AS間で利用される
- AS
- インターネットのように大規模で全体の管理が難しいネットワークを、プロバイダーや企業などの単位で分けたもの
- ディスタンスベクター型
- 隣のルーターとルーティングテーブルの情報を交換する
- 距離と方向をもとにルートを決める
- リンクステート型
- すべてのルーターと接続情報を交換して、その情報を元にルーティングテーブルを作る
- 接続の状態をもとにルートを決める
- ルーターは、ルーティング以外にもネットワークの出入り口(ゲートウェイ)の役割をしている
- あるネットワークと他のネットワークをつなぐ出入り口の役割を果たすコンピューターや機器
- ネットワーク間のデータのやり取り時に必ずゲートウェイを経由する
- ゲートウェイは、自分のネットワークとほかのネットワークの両方に参加している
- 採用しているプロトコルが違う場合は、両方に対応する必要がある
- ゲートウェイとして機能するコンピューター
- プロキシーサーバー
- アプリケーションレベルゲートウェイ
- 家庭、企業のネットワークとも、参加しているコンピューターや機器にはプライベートIPアドレスを割り当てるのが一般的
- しかし、このままではグローバルIPアドレスが必要なインターネットは使えない
- そこで、ゲートウェイにグローバルIPアドレスとプライベートIPアドレスの両方を割り当てる
- 家庭、企業のネットワークとゲートウェイ間ではプライベートIPアドレスでやり取り
- インターネットとゲートウェイ間ではグローバルIPアドレスでやりとり
- これで、プライベートIPアドレスしか持っていないコンピューターは、プライベートIPアドレスとグローバルIPアドレスの両方を持っているゲートウェイに頼んで、インターネットを利用する
- コンピューターがインターネットなど他のネットワークのコンピューターとデータをやり取りする場合
- まずゲートウェイにデータを送るためには、コンピューターにゲートウェイのIPアドレスが設定されている必要がある
- 通常は自動的に設定される仕組みが用意されている
- デフォルトゲートウェイ
- 「他のネットワークに送る時、まずここにい送る」と設定されたゲートウェイ
- Macの環境設定で確認する方法
システム環境設定 > ネットワーク > (接続するネットワークの)詳細 > TCP/IPタブ
ルーター
にデフォルトゲートウェイのIPアドレスが記載されている
- Macのターミナルで確認する方法
netstat -nr | grep default
コマンドで確認する
- NAT(Network Address Translation)
- デフォルトゲートウェイがクライアントから送られてきたパケットのヘッダーにかかれている送り主のプライベートIPアドレスを、デフォルトゲートウェイ自身のグローバルIPアドレスに書き換える
クライアント -パケット(送り主のプライベートIPアドレス)→ デフォルトゲートウェイ(グローバルIPアドレスに書き換える) → ほかのネットワーク
- この仕組がNAT
- デフォルトゲートウェイは、どのクライアントから頼まれたてIPアドレスを変換したかの記録をとっておく
- 最終的にデータのやり取りをする相手からゲートウェイが宛先とされているデータが届いたら、記録を参照してデータを頼んだクライアントのプライベートIPアドレスに宛先を変更してデータを送る
- しかし、この方法では同時に行われるデータのやり取りの分だけグローバルIPアドレスが必要になる
- NAPT(Network Address Port Translation)
- NATでは効率が悪い
- そこでグローバルIPアドレスとポート番号を組み合わせて使う
- これで、同じグローバルIPを使ってポート番号の違いで複数のデータのやり取りができる
- プロキシーサーバー(アプリケーションレベルゲートウェイ)じゃ、トランスポート層からアプリケーション層までのデータが扱えるゲートウェイ
- ゲートウェイとしての役割とセキュリティ効果と利便性を高めることを目的として設置されることが多い
- イーサネット
- ネットワークインターフェイス層のプロトコルとして広く普及している
- 有線のネットワークで使われる
- ノートPCやスマホには無線LANを採用するケースも多く見られる
- ネットワークインターフェイス層
- 隣り合った機器の間でデータをやり取りする際の決まりごとを定める(データリンク層)
- ケーブルや端末、電気信号など、ネットワークの物理的な部分に関する決まりごとを定める(物理層)
- デジタルデータとアナログデータの変換を行う
- イーサネット
- ケーブルで接続する有線のネットワークで使われるプロトコル
- 有線で接続する機能を持ったコンピューター、機器などで備わっているもの
- イーサネットの決まりごとに沿ったハードウェア
- イーサネットで行う処理を実行するソフトウェア
- イーサネットをLANと呼ぶこともある
-
無線LAN
- 電波を使ってデータをやり取りするネットワーク
-
IEEE 802.11
- 無線LANのネットワークインターフェイス層のプロトコルとして広く普及している
- 通信速度などが異なるいくつかの種類に分かれている
- 末尾に
ac
、n
、a
、d
などのアルファベットを付けて区別している - 無線LANで採用されているプロトコルの名前
- Wi-Fi
- Wi-Fi Allianceというハードウェアの業界団体が定めるブランド名
- Wi-Fiの認証を受けている機器同士は、メーカーや種類が違っていても、IEEE 802.11を採用した無線LANで問題なく使用できることを保証している
- 認証の有無にかかわらず、IEEE 802.11を採用した無線LANでインターネットを利用することをWi-Fiと呼ぶケースも多く見られる
- MACアドレス、物理アドレス
- イーサネットやIEEE 802.11などがデータをうアリ取りする相手を特定するために使うアドレス
- EUI-48
- 現在広く使われている全48ビットのMACアドレス
- 先頭から24ビットは、OUI(製造メーカー)を表す
- 残りの24ビットは、製造メーカーが個々の機器につける
- 16進数で表す
- EUI-64
- 64ビットのMACアドレス
- ネットワークインターフェイス層のプロトコルが作るパケットのヘッダーには、データをやり取りする相手の住所としてMACアドレスが書かれている
- ネットワークの機器を経由するごとに経由する機器のネットワークインターフェイス層の処理で直接データをやり取りする相手の宛先が指定される
- 直接データをやり取りする相手が変わっていくので、やり取りする相手を特定するMACアドレスも変わる
- 中継するごとにMACアドレスが変わって、最終目的地については、別のレイヤーが担当する
- はじめてネットワークに参加したPCやネットワーク機器は、データをやり取りする相手のMACアドレスを知らない
- ARPというインターネット層のプロトコルを使って、MACアドレスを調べる
- ARP
- 最初に知りたいIPアドレスを持っている機器からMACアドレスを教えてもらうように、ネットワークに参加しているすべての機器にブロードキャストで問い合わせる
- ブロードキャストアドレスは、48ビットがすべて1の「FF-FF-FF-FF-FF-FF」
- 指定されたIPアドレスを持つ機器だけが返信する
- 最終的にデータをやり取りしたい相手が同じネットワーク内にいない場合、デフォルトゲートウェイが直接データをやり取りする相手となる
- デフォルトゲートウェイのIPアドレスを指定して、知りたいIPアドレスを持っている機器からMACアドレスを教えてもらうように、問い合わせをする
- DHCP
- ネットワークを利用するために必要な情報を自動的に取得して設定するためのアプリケーション層のプロトコル
- TCP/IPを採用しているネットワークでは、参加しているすべてのPCやサーバー、機器に、識別子としてIPアドレスが付けられる
- しかし、ネットワークに接続しているユーザーが個別にIPアドレスを設定することはない
- 接続に必要なIPアドレスなどの情報を自動的に割り当てるDHCP(Dynamic Host Configuration Protocol)というサービスを利用しているため
- はじめてネットワークに参加するクライアントは、そのネットワークにあるDHCPサーバーから、自身のIPアドレスやデフォルトゲートウェイのIPアドレスなどの情報をもらって、自動的に設定する
- DHCPからもらう情報
- クライアントが使うIPアドレス
- サブネットマスク
- デフォルトゲートウェイ
- DNSサーバー(フルサービスリゾルバー)のIPアドレス
- など
- DHCPサーバーとクライアントがデータのやり取りをお始めるときは、お互いのIPアドレスがわからない
- そこで、ブロードキャストを使ってDHCPサーバーを探す
- DHCPサーバーは、クライアントのMACアドレス宛にユニキャストで返事する
- あらかじめ指定されたIPアドレスの範囲「アドレスプール」から使っていないIPアドレスを1つ選んでクライアントに割り当てる
- 割り当てられたIPアドレスにはいつまでつかえるかの期限が決められている
- 期限が切れると、クライアントは再度DHCPサーバーに連絡して新しいIPアドレスをもらう
- 期限がある理由
- 割り当てたのに使っていないIPアドレスがあると、非効率的だから
- ユーザーは面倒な設定を行うことなくネットワークを利用できる
- ネットワーク管理者も管理の手間が省ける
- 固定でIPアドレスを付けておきたいサーバーや機器の場合
- DHCPサーバーの設定できる
- DHCPサーバーを使わず、サーバーや機器にIPアドレスなどの情報を直接指定することもできる
- 家庭のネットワークで使われているルーターは、一般的にDHCPサーバーとしての機能も併せ持っている
- ユーザーが入力したデータやネットワーク経由で受け取ったデータを適切に処理して、ユーザーが活用できるようにする役割を持つ
- アプリケーション層のプロトコルに対応したクライアント側のソフトウェアがそのプロトコルに沿ってデータを適切に処理し、ユーザーが利用するもの
- サーバー側でもアプリケーション層プロトコルに対応したソフトウェア(サーバーソフト)が動作している
- Webサービス
- HTTPを採用している
- WWWの仕組みで表現している
- Webサービスのアプリケーション層のプロトコル
- HTTPを使う
- クライアントはHTTPリクエストを送り、サーバーは受け取る
- サーバーはHTTPレスポンスを送り、クライアントは受け取る
- HTTPレスポンス
- クライアントに送るデータ本体
- データのやり取りの状況を知らせるステートコード
- データ本体の種類や更新日時などの情報を知らせるヘッダー
- などが含まれている
- WWW(World Wide Web)
- ネットワークを買入してドキュメントを公開するための方法を定めたもの
- 公開したいデータを用意する
- ソフトウェアでWebページを作る
- Webサーバーの所定のフォルダーに保存する
- Webサイトとして公開する
- Webサービスを利用するためのソフトウェア
- データを送ってほしいWebサーバー宛にHTTPリクエストを送る
- 送られてきたデータをHTML/CSSなどの決まりに沿って表示する
- CMSを利用することで、Webサイトを作成した後の管理が簡単になる
- CMSをWebサーバーに導入
- CMSを使ってWebサイトのデザインや構成を決めて公開
- CMSを使ってWebサイトを更新
- SNS
- ユーザー同士のコミュニケーションをはかるのに便利な機能を持ったWebサービス
- ユーザー同士のコミュニケーションの場としての役割を持っている
- Webサイト
- ユーザーに情報を伝えたい
- SNS
- コミュニケーションの場として使ってほしい
- SNSの機能
- ユーザーが情報を手軽に発信する機能
- 短い文章や絵文字でコミュニケーション
- 見た人がコメントを残す
- 引用できる機能
- 発信した情報に対する反応がわかる機能
- 相手が見たかわかる
- 誰が見たかわかる
- 交友関係を表示
- ユーザーが情報を手軽に発信する機能
- ほかのユーザーが発信した情報やニュースサイトの記事など、自分が興味を持ったコンテンツを引用できるのもSNSの特徴
- 動画配信の形式
- ダウンロード
- ストリーミング
- プログレッシブダウンロード
- 動画ファイルをネットワーク経由でダウンロードして保存してから再生する方法
- ダウンロード完了まで再生ができない
- 使用するプロトコル
- HTTP
- 動画のデータをダウンロードしながら再生する
- ダウンロードが完了する前に再生を始められる
- 専用のプロトコルを使う
- サーバーとクライアントでストリーミングプロトコルに対応したソフトを用意する必要がある
- RTSP、MMS、RTMP、HLSなど
- 再生したデータは順次破棄される
HTTP Live Streaming, HLSのまとめ 概要・仕組み・課題など | Agora 開発者ブログ | ブイキューブ
- プロトコルにHTTPを使いつつも、ストリーミングのように届いたデータから順次再生していく形式
- 再生した動画はクライアント側にファイルとして残る
- 検索結果のもとになる情報を集める方法によって分かれる
- ディレクトリ型
- 人間が手動で情報を収集
- ロボット型
- ロボット、クローラーなどと呼ばれるプログラムが、自動で情報を収集
- ディレクトリ型
- 現在はネット検索サービスの大半がロボット型
- ロボット型
- インターネットで公開されているデータをプログラムによって自動で収集し、整理する
- 内容を収集して、リンクをたどって、他のページに移動する
- さらに収集して移動することを繰り返す
- 収集・整理したデータをもとに検索結果をユーザーに提供する
- ロボットが収集した情報を解析する
- インデックスを作成してDBに保存する
- ユーザーが検索したキーワードをもとにどのコンテンツを検索結果の上位にするかを決めるアルゴリズムに沿って処理する
- ロボットが収集した情報を解析する
- インターネットで公開されているデータをプログラムによって自動で収集し、整理する
- クラウドの由来
- インターネットを図で表すときに雲の形の絵を使うことから来ている
- クラウド
- インターネットの側にあるものを活用すること
- 画像をサーバーに保管して共有するサービスが挙げられる
- インターネットの側に画像を保管することで、複数の端末、複数のユーザーからその画像を活用することができる
- 画像の保管・共有サービスを応用して、インターネット側で画像を加工することもできる
- 画像加工ソフトをインストールする必要もなく、使用する機器を選ばない
- 画像加工の指示のみ行い、処理自体はサーバーに任せる
- 仕事で必要なファイルサーバーに保管して、外出先で利用したり、同じ仕事をしている人たちで共有したりできる
- SaaS
- クラウドを通してさまざまなサービスを提供することを目的としたクラウドの活用法
- IaaS
- 技術者に向けてハードウェアやネットワークを提供するクラウドの活用法
- PaaS
- 技術者に向けてハードウェアやネットワーク、開発環境を提供するクラウドの活用法
- 必要なデータやデータを処理する機能はインターネットの側にある
- インターネットに接続できる機器と接続環境があれば、いつでもどこでもそのデータや処理機能を活用できる
- インターネットに接続していないと利用できない
- 利用しているクラウドサービスが将来的に利用できなくなる可能性もある
- 重要なデータは手元の機器にコピーしておいて、クラウドが使えなくなった場合のことも考えた対策が必要
- ファイアウォール
- ゲートウェイに、危険なデータかどうかを判断して処理するセキュリティ機能をもたせたもの
- 内部から外に出ていくデータも危険と判断したらストップ
- 不正侵入対策の基本
- インターネットに接続しているLANには、必ず必ずファイアウォールを設置する
- マルウェア対策の機能を持ったファイアウォールを設置している企業ネットワークもよく見られる
- OSI参照モデルのどのレイヤーまでチェックするかで分かれる
- ネットワーク層まで
- パケットフィルタリング
- イーサネット、無線LANとIPまで
- データの中身はチェックしない
- トランスポート層まで
- サーキットレベルゲートウェイ
- アプリケーション層まで
- アプリケーションレベルゲートウェイ
- データの中身もチェックして通す/通さないを判断できる
- プロキシーサーバーとも言う
- ネットワーク層まで
- ゲートウェイをファイルウォールとして機能させるには、ファイアウォール用のソフトウェアを導入する
- あらかじめ導入されたものもある
- 家庭用のルーターには、パケットフィルタリングのソフトウェアが組み込まれていることが多い
- インターネットに公開するサーバーを設置する場合、DMZ(DeMilitarized Zone)を設ける
- 社内ネットワークから隔離されたセキュリティ上のエリア
- インターネットに公開するサーバーは、DMZの中に設置する
- プロキシー
- 代理という意味
- クライアントの代理となる通常のプロキシー
- サーバーの代理となるリバースプロキシー
- ネットワークサービスの1つ
- クライアント、サーバーの代理としてデータをやり取りする
- Webサービスのデータを代理でやり取りするのが一般的
- プロキシー機能は、さーばーとして導入される
- プロキシーサーバーの特徴
- 代理として売っけ取ったパケットを、いったんデータに戻して、パタパケットにして送り出す
- 代理でパケットからデータに戻したときに、データの中身を確認して安心かどうか判断する
- クライアントが危険な相手と直接データをやり取りしなくて済む
- 危険な相手からすると、攻撃対象の情報を集めたいのにプロキシーサーバーの情報しかわからない状態になる
- SSL/TLSプロトコルを使って、データをやり取りする
- 暗号化、ハッシュ、サーバー証明書の仕組みを使う
- 盗み見、改ざん、なりすましを防ぐ
- インターネットをはじめとしたネットワークでは、VPNなどのセキュリティを高める対策を講じない限り、データは暗号化されない
- データのやり取りの途中で盗み見などの被害に遭う可能性がある
- SSL/TLSはOSI参照モデルのセッション層にある
- アプリケーション層の下の層、TCPもしくはUDPの上の層になる
- 盗み見を防ぐ暗号化
- 公開鍵、秘密鍵を使ってデータを暗号化
- 改ざんを防ぐハッシュ
- データを元に計算したハッシュ値を一緒に送る
- 受け取った側でも計算してハッシュ値が同じならデータは改ざんされていないと判断する
- なる済ましを防ぐサーバー証明書
- サーバー証明書があるかどうかで、偽サーバーではないことを確認する
- 電波の届く離れた場所から勝手にネットワークを使われたり、機密データを盗まれたりする危険性がある
- 無線LANで採用されているセキュリティ規格
- IEEEが策定
- WEP
- 脆弱性があり、採用すると危険
- IEEE 802.11i
- IEEEがWEPの後続として策定
- WEP
- Wi-Fi Allianceが策定
- WPA
- 脆弱性があるWEPの代わりとしてWi-Fi Allianceが作ったセキュリティ規格
- WPA2
- 完成したIEEE 802.11iを反映したもので、仕組みはIEEE 802.11iと基本的に同じ
- WPA
- 使っている機器がWPA2もしくはIEEE 802.11iを使っているかを確認する
- 規格によって利用する仕組みを選べるため、どの仕組みを使うかを規格名と一緒に表記する
WPA-PSK(AES)
だと、PSKがユーザー認証、AESが暗号化の仕組みを表す- WPA2の暗号化、改ざん防止の仕組みは「CCMP」
- CCMPが使っている暗号化の仕組みがAES
- WPA2では、ユーザー認証の仕組みとしてPSKまたはIEEE 802.1Xを使う
- PSKはパーソナル、IEEE 802.1Xはエンタープライズとも呼ぶ
- 一般的に使われているPC、スマホはIEEE 802.1Xに対応している
- SSID
- アクセスポイントの識別子
- 他のアクセスポイントと区別するための名前
- 会社の情報やネットワークの構成がわかるような名前を付けないようにする