無線通信規格

通信規格

Generation
3G → 4G → 5G
世代が進むほど高速・安定に通信できる

携帯端末用

3G

第3世代
~14Mbps

4G

第4世代
LTEの10倍(予定)
2016年から真の4Gが利用される予定

LTE

LongTermEvolution
75Mbps~100Mbps
3Gの発展形通信規格
3G→4Gの間に設けられた橋渡し的規格
しかし現在、これが4Gと呼ばれる事が認められている

5G

開発中。利用時期未定。
4Gの10倍(予定)

無線種類

Wi-Fi

IEEE 802.11a:54Mbps
IEEE 802.11b:11Mbps
IEEE 802.11g:54Mbps
IEEE 802.11n:150Mbps
IEEE 802.11ac:433Mbps
Wi-Fiルータのアンテナ数に応じて数倍になる
近くのWi-Fiルータと電波をやり取りする
数メートルしか電波が届かない
有線LANを利便性向上の為に無線化したもの
屋内通信用
屋外設置も増加傾向

3G/4G/LTE

モバイル端末用無線通信規格
数Km離れた基地局と電波をやり取りできる
屋外通信用

HTTPプロトコル

HTTPプロトコルとは?

WEBサーバーとクライアント(ブラウザ等)が、相互に通信する為の仕組み
クライアントからの閲覧要求(HTTPリクエスト)
WEBサーバーからの応答(HTTPレスポンス)
から成る。
送信時はリクエストメッセージをWEBサーバーに送り、
受信時はレスポンスメッセージをWEBサーバーから受け取る。
ブラウザはレスポンスメッセージ内のHTMLデータを解釈して画面に表示する。

HTTPリクエスト

メッセージヘッダ リクエストライン メソッド
URI
HTTPバージョン
リクエストヘッダ ユーザーエージェント
リファラ
データ形式
クッキー
メッセージボディ ポストデータ

(1)リクエストライン
メソッドURIHTTPバージョン
(2)メッセージヘッダー
日付、クライアントが扱えるデータ種類、言語、圧縮方式、ソフトウェア名称、ソフトウェアバージョン、データの有効期限等、ブラウザによって異なる。
(3)メッセージボディ
POSTメソッドでデータを送る際のパラメーター等

HTTPリクエストライン

「何を」「どうする?」というメッセージを、クライアントからサーバーに送信する。
「何を」= URI
「どうする?」= メソッド(GET/POST等)
URL欄に直接アドレスを記入した場合は自動的に「GET」命令
ボタン押下等のプログラムが実行された場合は、多くの場合「POST」命令が実行される様にプログラムされている。

メソッド

GET
WEBサーバーからデータを取得する
この時、メッセージボディにはデータ無し
パラメータをWEBサーバーに送る場合はURLの末尾に付加される。
(例)https://office-yone.com/~?prm1=100&prm2=AAA

POST
WEBサーバーへデータを渡す
この時、メッセージボディにサーバーに渡すデータが設定される

URI

OSI参照モデル プレゼンテーション/アプリケーション層/URI」参照

HTTPバージョン

HTTP 1.0
HTTP 1.1
HTTP 2.0(予定)

HTTPリクエストヘッダー

ユーザーエージェント

(User-Agent)
ブラウザの種類やOSの情報。
多くの場合ブラウザ

リファラ

Referer
(※英語としてReferrerが正しいが↑を用いる)
リファラ例(1)
ページAのリンクをクリック

ページBへ遷移
ページBへのHTTPリクエスト
リファラ=ページAのURI

リファラ例(2)
ページCを表示(画像有り)

内部で画像のみ再リクエスト
リファラ:ページCのURI

クッキー

Cookie
セッション情報を表すテキストデータ
過去ではIDやパスワード、
現在ではセッションID

データ形式

画像の種類、言語、文字コード

HTTPレスポンス

メッセージヘッダ ステータスライン HTTPバージョン
ステータスコード
レスポンスヘッダ コンテンツタイプ
再利用期限
データの最終更新日時(Last-Modified)やエンティティ情報(ETag)
移動先
メッセージボディ HTML、JSON、CGI・WEBアプリ実行結果

(1)ステータスライン
HTTPバージョンステータスコード、レスポンスフレーズ(ステータスの説明文)
(2)レスポンスヘッダー
リクエストメッセージにおけるメッセージヘッダーと同じ
(3)メッセージボディ
(レスポンスボディ)
HTML文、CGIアプリケーションの出力結果、画像・映像データ等

HTTPステータスコード

分類 番号 メッセージ 説明
情報 100 Continue 処理を継続しています。続きのリクエストを送信してください。
101 Switching Protocols Upgrade ヘッダで指定したプロトコルに変更して再要求してください。
成功 200 OK 成功しました。リクエスト受信成功。レスポンス送信済み
201 Created Location ヘッダで指定した場所に新しいコンテンツが作成されました。
202 Accepted 要求は受理されました。ただし処理は完了していません。
203 Non-Authoritative Information 応答ヘッダはオリジナルサーバーが返したものとは異なりますが、処理は成功です。
204 No Content コンテンツはありませんが、処理は成功しました。
205 Reset Content 要求を受理したので、現在のコンテンツ(画面)を破棄してください。。
206 Partial Content コンテンツを一部のみ返却します。
転送 300 Multiple Choices コンテンツ入手方法について複数の選択肢があります。
301 Moved Permanently Location ヘッダで指定された別の場所に移動しました。
302 Found Location ヘッダで指定された別の場所に見つかりました。そちらを見てください。
(リクエスト先サーバーで移動先を指定している場合)
303 See Other Location ヘッダで指定された他の場所を見てください。
304 Not Modified 更新されていません。If-Modified-Since ヘッダを用いた場合に返却されます。
305 Use Proxy Location ヘッダで指定したプロキシを使用してください。
306 (Unused) 未使用。
307 Temporary Redirect 別の場所に一時的に移動しています。
クライアントエラー 400 Bad Request 要求が不正です。
401 Unauthorized 認証されていません。
ユーザー認証失敗
402 Payment Required 支払いが必要です。
403 Forbidden アクセスが認められていません。
アクセス禁止
404 Not Found 見つかりません。
リクエストされたURIが無い(アクセス権限が無い)
405 Method Not Allowed 指定したメソッドはサポートされていません。
406 Not Acceptable 許可されていません。
407 Proxy Authentication Required プロキシ認証が必要です。
408 Request Timeout リクエストがタイムアウトしました。
409 Conflict リクエストがコンフリクト(衝突・矛盾)しました。
410 Gone 要求されたコンテンツは無くなってしまいました。
411 Length Required Content-Length ヘッダを付加して要求してください。
412 Precondition Failed If-… ヘッダで指定された条件に合致しませんでした。
413 Request Entity Too Large 要求されたエンティティが大きすぎます。
414 Request-URI Too Long 要求された URI が長すぎます。
415 Unsupported Media Type サポートされていないメディアタイプです。
416 Requested Range Not Satisfiable 要求されたレンジが不正です。
417 Expectation Failed Expect ヘッダで指定された拡張要求は失敗しました。
サーバーエラー 500 Internal Server Error サーバーで予期しないエラーが発生しました。
内部エラー
(CGIエラー、.htaccess等設定ファイル記述ミス)
501 Not Implemented 実装されていません。
502 Bad Gateway ゲートウェイが不正です。
503 Service Unavailable サービスは利用可能ではありません。
サービス提供不可(サーバーメンテナンス時、過負荷時等)
504 Gateway Timeout ゲートウェイがタイムアウトしました。
505 HTTP Version Not Supported このHTTPバージョンはサポートされていません。

HTTPレスポンスヘッダー

コンテンツタイプ

(Content-Type)
データがHTMLなのか画像なのかや、文字コードなどの情報。

ファイル形式 拡張子 MIME
テキストファイル .txt text/plain
HTML .htm,.html text/html
CSVファイル .csv text/comma-separated-values
TSVファイル .txt, .tsv text/tab-separated-values
XMLファイル .xml text/xml
Microsoft Wordファイル .doc, .docx application/msword
Microsoft Excelファイル .xls, xlsx application/msexcel
Microsoft PowerPointファイル .ppt, pptx application/mspowerpoint
PDFファイル .pdf application/pdf
ビットマップファイル .bmp image/bmp
GIFファイル .gif image/gif
JPEGファイル .jpg image/jpeg
PNGファイル.png .png image/png
ZIPファイル .zip application/zip
LZHファイル .lzh application/lha
スタイルシートファイル .css text/css
JavaScriptファイル .js text/javascript
VBScriptファイル .vbs text/vbscript
実行ファイル .exe application/octet-stream
再利用期限

(Expires)
取得したデータを再度サーバーに問い合わせなくてもブラウザが再利用して良い期限

データの最終更新日時(Last-Modified)やエンティティ情報(ETag)

いつ更新されたものかの情報
サーバー上のファイルの場所ID
ファイルのサイズ
更新日時などから算出した更新チェック情報。
次回同じデータをリクエストする際に、これらの情報を使って更新されているかどうかを確認

移動先

(Location)
リクエストと違う場所からデータを取得するように示す指示。
リダイレクト先URI

タイムアウト

要求時
(=コネクション)

種類 内容 ステータス
コネクション
タイムアウト
接続時 408
リクエスト
タイムアウト
408
リード
タイムアウト
要求~応答まで
セッション
タイムアウト
同一セッションを維持できる時間
ゲートウェイ
タイムアウト
504

プロバイダを通じてインターネットを利用する仕組み

概要

privider
インターネット利用者はプロバイダの認証を受ける事でインターネットへ接続する。
プロバイダ同士は経路情報をやり取りし、ユーザーからの送受信リクエスト/レスポンスを転送する。
プロバイダ間にIXを挟む事で経路の情報交換を少なくしている。

プロバイダ

何らかのサービスを提供する業者
・ASP(ApplicationServiceProvider)
インターネット上のアプリケーションサービスを提供する業者
・ISP(InternetServiceProvider)
インターネット接続サービスを提供する業者
に分類される。
単にプロバイダと呼ぶ場合はISPを指す。

アクセスポイント

通信ネットワークの末端でコンピュータなどからの接続要求を受け付け、ネットワークへの通信を仲介する施設や機器
BAS(ブロードバンドアクセスサーバー)
ISPにおいて利用者がISPのネットワークを利用する為の中継地点
利用者はここにPPP/PPPoA/PPPoEを通じてIDとパスワードを送り、
プロバイダから認証される事で以後インターネットの利用が可能になる。

RAS(リモートアクセスサーバー)
PPPにおいて認証を行うサーバー
電話回線、ISDN回線によって接続される。

無線LANアクセスポイント
無線LAN(Wi-Fi)利用時の有線LANとの接続機器。

IX

Internet eXchange
プロバイダ同士を接続するアクセスポイント
「インターネット相互接続ポイント」と呼ばれれる。

NOC

NetworkOperationCenter
ISPが地域毎に設ける施設
ネットワークを構成する回線や機材、遠隔地の設備などを監視・管理するための機器などを設置し、
専門のスタッフが常駐して監視や運用、保守などを行う。
他の複数のアクセスポイントと接続し、他のNOCに中継する役割も担う。

PPPプロトコル

Point to Point Protocol
ユーザー認証機能を持つ。
ネットワーク上の2つの機器間で仮想的に専用のコネクションを確立し、
データを相互に送受信するプロトコル。
接続時、クライアントはIDとパスワードをサーバーに送り、
認証が成功するとグローバルIPが割り当てられる。
以後、接続中、クライアントはこのIPを使用する。
ISP(インターネットサービスプロバイダ)に接続する際に利用される。
光回線等の高速回線では、発展形であるPPPoE(PPP Over Ethernet)が利用される。
PPPoEではPPPoEヘッダとPPPヘッダが付加される。
・Ethernetフレーム
プリアンプル + Ethernetヘッダ + IPヘッダ + TCPヘッダ + データ + FCS
・PPPoEフレーム
プリアンプル + Ethernetヘッダ + PPPoEヘッダ + PPPヘッダ + IPヘッダ + TCPヘッダ + データ + FCS
ルーターにおけるPPPoE機能の利用については「ルーター」参照

OSI参照モデル 物理層/データリンク層

概要

物理層
・デジタルデータ → 電気信号
・デジタルデータ ← 電気信号
の変換を行う。
・コネクタ・ケーブルの形状
・電圧の規定
に関する仕様を規定。

データリンク層
ネットワーク上で直結されている機器同士の通信方式に関する仕様。
電気信号のエラー検知・修正・再送が行われる。
この際、MACヘッダーに記載されたMACアドレスのみで相手を識別する。

イーサネット

Ethernet
LANで最も普及している物理層/データリンク層における規格。
ネットワーク上のどの端末も、ネットワークを利用するに当たって対等の権利を持つ。
アクセス制御にはCSMA/CDを採用し、
ケーブル等のハード面でも使用できる種類が定められている。

CSMA/CD

イーサネットにおけるフレーム制御方法。
CS:道が塞がっていないか確かめる。
MA:道が塞がっていなかったら送る。
CD:ネットワーク上の機器と同時に送信を開始してしまったら(衝突する)送信を中断。後で送る。
送った後で衝突しているか否か、データが送信先に届いたか否か?の判定はしない。
TCPプロトコル等でデータが届いていない事が判明した際には再度、送信命令が来るので、
初めて送るかの様に再送する。

LANアダプタ

LANカード/NIC
デバイスドライバによって操作される。
以下で構成される。
・ROM:MACアドレスを保存
・バッファメモリ:送受信データを保存
・イーサネットコントローラー:衝突検出、再送等の制御を行う
・MAU:電気信号の送受信

制御用データ

LANアダプタが送信時に添付するデータ
プリアンプル
「10101010」×7
受信側が読み込みのタイミングを図る
開始フレームデリミタ
「10101011」
この次のビットからがイーサネット(MAC)ヘッダーである事を示す。
FCS(フレーム・チェック・シーケンス)
LANアダプタがデータ受信時にデータ破損をチェックするデータ

全二重/半二重通信

全二重通信
送信を行いつつ、受信もできる為、CSMA/CD方式は採らず自由に送信を行う。
現在の主流。
・スイッチングハブ
・ルーター
半二重通信
送信/受信、片方しかできない為、CSMA/CD方式で通信を行う。
なお送信/受信が高速で切り替わる為、全二重に見える。
スイッチングハブの流通によりあまり行われていない。
・リピータハブ
・無線LAN
オートネゴシエーション機能
ネットワーク上の機器間で自動的にどの通信方式で通信を行うか?が決定される。
・全二重/半二重通信
・転送速度
片側の機器が全二重、片側が半二重で通信すると通信が不安定になり、障害の原因となる。

リピータ

電気信号の整形・増幅を行う

リピータハブ

リピータ機能を持つハブ
受信したデータを接続されている全端末へ転送する。
転送中、接続先の端末同士がデータを送受信する事はできない(半二重通信)。

ブリッジ

受信したデータのMACアドレスから判断して、
送信先の端末にだけデータを転送するフィルタリング機能を持つ。

スイッチングハブ

リピータ、ブリッジ機能を持つハブ
宛先がMACアドレステーブルに無い場合は全端末にデータを送信する。
転送中、接続先の端末同士がデータを送受信する事が可能(全二重通信)

ストレート/クロスケーブル

PC←→スイッチ:ストレートケーブル
PC←→PC(ルーター):クロスケーブル

ツイストペアケーブル

より対線
外界からの電圧の影響を受けにくい構造になっている。
以下の規格がある。
・10BASE-T
・100BASE-TX
・1000BASE-T:1000MB/秒を転送できる。現在の主流。

OSI参照モデル ネットワーク/トランスポート層

概要

OSに組み込まれたTCP/IPソフト等により、
TCP/UDPプロトコル
IPプロトコル
ARPプロトコル
ICMPプロトコル
を利用して通信制御を行う層。
具体的には、
・コネクションの確立
・エラー制御
・フロー制御
・順序制御
を行う。
これらの情報はソケットに保存しておき、随時参照しながら処理を行われる。
OSI参照モデル セッション層」参照

ソケットの情報

・自IPアドレス
・自ポート番号
・通信先IPアドレス
・通信先ポート番号
・状態(接続待ち等)
・プログラムID
コマンド:netstatでソケットの内容を確認可能

TCPプロトコル

・接続フェーズ
・送受信フェーズ
・切断フェーズ
から成る。
相手にメッセージを送った後、
相手からその指示が届いた事を示す確認メッセージを受信するまでが1セット。
確認メッセージが届かなければ、こちらのメッセージが届いていないと見なして再送する。
指定の回数、送信した結果全て確認メッセージが届かなければ通信失敗として上位層にその結果を返す。

TCPヘッダー

TCPプロトコルで利用されるデータ
主な項目は以下の通り
・送信元ポート番号
・宛先ポート番号
・シーケンス番号:送信データの連番
・ACK番号:受信済みデータの連番
・チェックサム:送信完了後の誤り検知用数値
・コントロールビット:状態を表す数字。各桁(ビット)のフラグのON/OFFで状態を伝える。
 ACK:TCPヘッダー内の「ACK番号」フィールドが有効である事を示す。
 RST:障害発生時に強制的に通信を終了する際に使用。
 SYN:TCPヘッダー内の「シーケンス番号」フィールドが有効である事を示す。
 FIN:通信終了を表す。
作成後、ヘッダーをIPプロトコルに渡して後の処理は任せる。

UDPプロトコル

TCPプロトコルと違い、送信後に確認メッセージを受け取らない通信方式。
受信した側も確認メッセージを送らない。
不確実だが高速にデータを送信したい時に利用。
DNSへの問い合わせ、時刻サーバーへの問い合わせ、リアルタイムでの動画や音声のストリーム再生時等。

UDPヘッダー

・送信元ポート番号
・宛先ポート番号
・パケット長
・チェックサム:送信完了後の誤り検知用数値
から成る。
作成後、ヘッダーをIPプロトコルに渡して後の処理は任せる。

IPプロトコル

異なったネットワーク間で、指定された宛先(IPアドレス)までデータを送る為のプロトコル
・アドレッシング(住所付け)
・ルーティング(通信経路の選定)
を行う事でネットワークを超えてデータを転送できる。
アドレッシング(住所付け)
ネットワークに接続しているノードの中から、通信を行う宛先(アドレス)を指定する
ルーティング
アドレッシングで決まった宛先のまでパケットを届けるのにどのような経路を使うか決める
IPヘッダー
MACヘッダー
を付与し、LANアダプタ(LANカード、イーサネットコントローラー)に渡す。
受信時は、宛先IPが自分宛てか否か?を判定して取捨選択、
分割されていれば結合等の処理を行う。

IPヘッダー

IPプロトコルで利用されるデータ
主な項目は以下の通り
・IPヘッダー長
・データ長
・ID:個々のパケットを区別する通し番号。IPフラグメントにより分割されても全て同じID。
・生存期間(TTL)
・プロトコル番号:TCP(06)/UDP(11)/ICMP(01) ※16進数
・宛先IPアドレス
・送信元IPアドレス

MTU

MaximumTransmissionUnit
送信可能なパケットの最大サイズ
・IPプロトコルで規定されているパケットの最大サイズ
・イーサネットで規定されているパケットの最大サイズ
・ケーブルで規定されているパケットの最大サイズ
はそれぞれ違う。
物理的なネットワーク機器(ハブ、ルーター等)毎に数値を持っている。

IPフラグメンテーション

IPプロトコルの機能
MTUに合わせてパケットを分割する
分割するパケットサイズは均等になる様には分けず、
先頭のパケットサイズがMaxになる様に分ける。
分割対象はTCPヘッダー以降のデータ。
結果的に分割した場合、
・先頭パケットにはTCPヘッダー+データの一部
・次パケットにはデータの一部
という構成になる
分割を行うのはIPソフトウェアを持つ機器。
具体的にはコンピューター、ルーター、サーバー等に限定される。
分割されたパケットはバッファメモリに保持され、
・フラグメントフラグ
・フラグメントオフセット
の値を参照の上、IPソフトウェアによって結合される。

MACヘッダー

イーサネットはIPアドレスではなく、MACアドレスで宛先を判断している為、
イーサネットの仕様に合わせた情報を付与する必要がある。
イーサネット上の通信に必要な情報は以下の通り。
・宛先MACアドレス:ARPで調べて付与する。
・送信元MACアドレス:自LANカードのROMから読みだして付与する。
・イーサネットタイプ:IP/ARP等

ARPプロトコル

宛先IPアドレスだけを指定してネットワーク全体にMACアドレスを問い合わせるプロトコル。
受け取った端末は、宛先IPが自分ならMACアドレスを返信する。
宛先IP外の端末はパケットを捨てる。

ICMPプロトコル

・問い合わせ機能(ping/traceroute)
・エラー通知機能
から成るプロトコル。
エラー通知機能においては、
宛先IPアドレスを元にデータが届いた後、
TCP/IPソフトウェアにおけるIP処理部でチェックサムの判定を行い、
データの欠損があった場合等に送信元にエラー通知を出す。

tracerouteコマンド

宛先IPまでに経由するルーターのIPを調べるコマンド
TTL:1でIPを送信→1つ目のルーターでTTL:0になるのでICMPメッセージが返ってくる。
その際、ICMPメッセージのIPヘッダーを見ると、1つ目のルーターのIPアドレスが分かる。
TTL:2でIPを送信→2つ目のルーターでTTL:0になるのでICMPメッセージが返ってくる。
その際、ICMPメッセージのIPヘッダーを見ると、2つ目のルーターのIPアドレスが分かる。
という仕組みで、宛先IPに到達するまで順にTTLを増やして送信し、それまでのルーターIPを表示する。

OSI参照モデル セッション層

概要

Socketライブラリ
UNIXで使われているネットワーク系ライブラリ
WindowsではWinSock
を用いて、通信相手、対象アプリケーションとの接続~切断までを行う層。

リゾルバ

Socketライブラリにおける名前解決を行う機能。
DNSへの問い合わせを実行する。
ブラウザはWEBサーバーにリクエストを送る際、リゾルバを用いて対象IPを取得する。

ソケット

ネットワークにおけるセッション毎に作成されるセッション情報。
SocketライブラリにおけるSocketを用いてメモリ領域に生成する。
ホテルで例えるとアカウント(顧客情報)。
・自IPアドレス
・自ポート番号
・通信相手IPアドレス
・通信相手ポート番号
・プログラムID
等の情報を保持する。
コマンドライン:netstatで内容を確認する事ができる。

ディスクリプタ

ホテルのアカウント(顧客情報)に対する番号札に当たるユニークな数字
ネットワークにおけるセッションを区別する。
SocketライブラリにおけるSocketを用いてソケットを生成すると、Socketライブラリから返される数値。
コマンドライン:netstatにおいて何行目か?に当たる数値。
以後、通信相手にこの数値を渡して他の通信と区別する為に使用する。

流れ

socket_library

Socket
Socketライブラリにおけるソケットを作成する機能。
成功すると各ソケットを区別する為に、ディスクリプタが返される。

Connect
クライアントからWEBサーバーに対してセッションを作成する機能。
生成したディスクリプタをサーバーに送信する事で、サーバー側でも他通信と区別でき、通信経路が確保される。

Bind
サーバー側にて、通信を許可するIPアドレスとポート番号を設定する機能。
通常WEBサーバーでは全IPに対してデータを送信する為、ここでは(0)=全相手を指定する。

Listen
Bindの設定をTCP/IPソフトに通知し、クライアントからの受信を可能にする機能。

Accept
クライアントからの通信を受け付ける機能。
結果として新しいディスクリプタを作成し、
以後、受け付けた通信相手(クライアント)との通信にはこのディスクリプタを使用する。
ここで使用していたディスクリプタは、「空き」となり別の通信に使用される。

Write
通信が確立された後、相手にデータを送信する機能。
クライアントからでも、サーバーからでも利用する。

Read
通信が確立された後、相手にデータを受信する機能。
クライアントからでも、サーバーからでも利用する。

Close
通信を遮断する機能。

タイムアウト

Connect Timeout
接続時

Read Timeout
リクエスト時

OSI参照モデル プレゼンテーション/アプリケーション層

概要

アプリケーション層
利用するアプリケーションにおける通信が実現できる様な固有の規定を定義。
・Webページを閲覧する為のアプリケーション:ブラウザの為のhttpプロトコル
・電子メールを送受信する為のアプリケーション:メーラーの為のSMTPプロトコル、POP3プロトコル
等、アプリケーションごとにプロトコルがある。
この層は、ユーザが直接に接する部分の層。
プレゼンテーション層
・圧縮方式
・文字コード
・データの暗号/複合
を管理。
アプリケーション層、プレゼンテーション層は通常、それぞれブラウザ・メーラーが兼ねる。

httpプロトコル

HTTPプロトコル」参照

HTTPメッセージ

プロトコル名://WEBサーバー名.WEBサーバーコンピュータ名/ファイル名
https://www.google.com/index.html
https://www.google.com/
https://www.google.com
は同じ。
ファイル名が無い場合にどのファイルを送るか?はWEBサーバーで設定される。
多くの場合はindex.htmlかdefault.html
「/」さえ無い場合も同じ。

URI

UniformResourceIdentifier
場所やアクセス方法に関するルール。
WEB上で一意。
URLやURNを含む。
正式にはURI。

URL

UniformResourceLocator
アクセス方法と場所の定義
http://testserver.com/testfolder/testfile.html
file://testserver/testfolder/testfile.txt
ftp://testserver/testfolder/testfile.txt

URN

UniformResourceName
名前で識別する方法の定義
ファイルの場所が移動してもアクセス可能。
urn:isbn:1234567890

UNCパス

UniversalNamingConvention
ネットワーク上のリソースを表すパス
\\TestHost/test.txt

SMTPプロトコル

メーラーの送信時に使用されるプロトコル。
SMTP(SimpleMailTransferProtocol)
メール送信時、メールサーバーと、
・送信元のメールアドレス
・送信先のメールアドレス
・メール本文
をそれぞれ個別に確認する。
それぞれにエラーがあれば受信側はエラーメッセージを返信する。

POP3プロトコル

メーラーの受信時に使用されるプロトコル。
POP3(PostOfficeProtocol)
メール受信時、メールサーバーと、
・ユーザー名
・パスワード
・メール数と容量
・1件目のメール受信
・1件目のメール削除依頼
・2件目のメール受信
・2件目のメール削除依頼
・n件目のメール受信
・n件目のメール削除依頼
を個別に確認する。
それぞれにエラーがあれば受信側はエラーメッセージを返信する。

Telnetプロトコル

TCP/IPネットワークを通じて別コンピュータを操作するアプリケーション層プロトコル。
サーバ、ルータ等のネットワーク機器には通常telnetサーバがインストールされている。
Telnetプロトコルを使用して遠隔操作するクライアントアプリケーションもTelnetと呼ばれる
telnetサーバーへの操作メッセージは全て暗号化されない為、
現在では暗号化されるSSHの利用が推奨される。

XML-HTTPインターフェイスを利用した通信

SOAPプロトコル

SOAP通信」参照

RESTプロトコル

RepresentationalStateTransfer
SOAPのXML-HTTP通信プロトコル
・ネットワーク上のコンテンツ(リソース)を一意なURLで表す
・リクエスト:各リソース(URL)に対してのGET、POST、PUT、DELETE
・レスポンス:XML、JSON等
入力パラメータが少ない情報配信や検索サービス等に用いられる

ルーター

概要

異なるネットワークを中継する機器。
IPヘッダーを識別、自身の経路情報(ルーティングテーブル)を参照してデータを転送するルーティング機能を持つ。
昔はコンピューターにこの機能を持たして中継していたが、転送機能の高速化に特化したハードが開発されて現在に至る。

TTL設定

ルーターはパケットを転送する毎にIPヘッダーのTTLを1減らして書き換える。
0になった時、IPヘッダーには転送元のIPが記載されているのでそこに対してICMPメッセージを送る。
TCPプロトコルはICMPメッセージを受信すると再送する。
何度か再送して結果が同じならアプリケーションに通知する。

パケットフィルタリング

不要なパケットを遮断する機能
IP、TCPヘッダー等に記載された、
・プロトコル
・送信元アドレス
・送信先アドレス
・ポート番号
等の情報を元にパケットを遮断する機能。

DHCP

DynamicHostConfigurationProtocol
IPアドレス自動割り当て機能
設定された範囲のIPアドレスをクライアントの起動時等、ネットワーク接続時に自動で割り当てる。
会社のネットワーク等ではサーバーがこの機能を持つ事が多いが、
家庭用ネットワークではブロードバンドルーターがこの機能を使用する。

NAT

NetworkAddressTranslation
プライベートアドレスとグローバルアドレスを変換する機能
インターネット側とプライベート側2つにIPアドレスを設定する。

認証機能

PPPoEの利用機能
家庭からブロードバンドルータを用いずに直接インターネットに接続する場合、
(プロバイダのPPPoEサーバーへ認証を行う場合)
専用の接続ツールやOSの機能を用いてIDとパスワードを送信する。
この方法だと、家庭で1台しかインターネット利用ができない。
(1台しかグローバルIPが付与されない)
ルーター(ブロードバンドルーター)がPPPoEクライアントの機能を持つ場合、
ルーターにIDとパスワードの送信設定をしておくだけで、
ネットワーク内の全台、インターネットの利用が可能になる。
(グローバルIPとプライベートIPの変換はNAT機能を利用して自動で行われる)
PPPoEについては「プロバイダを通じてインターネットを利用する仕組み PPPプロトコル」参照

パケットの分割

IPフラグメンテーションを行う。
OSI参照モデル ネットワーク/トランスポート層:IPフラグメンテーション」参照

DNSサーバー

概要

DomainNameSystem
ホスト名に対してIPアドレスをレスポンスするサーバー
自サーバーに回答するデータが無ければ、
リクエストされたホストの属する、ルートサーバー=TLD(TopLevelDomain)サーバーに問い合わせ、
そこから下位のDNSサーバーに順番に、対象ホストが見つかるまで問い合わせを繰り返す。
クライアントは1度のリクエストだけでIPアドレスを得る事ができる。

優先DNSサーバー

dns1
※Windowsの場合
最初に問い合わせるDNSサーバー
WEBクライアントはここに1度問い合わせるだけで、結果が返ってくる。
実際は、優先DNSサーバーにデータが無ければ、DNSサーバーが複数回の問い合わせを行う。

ドメイン

ネットワーク上でのグループ
1つのドメインは上位のドメインに属し、そのドメインは更に上位のドメインに属する。
最終的に全てのネットワーク上のコンピューターはTLDに属する。
dns3

名前解決

dns2

(1)優先DNSサーバーは自身にデータが無ければ、TLD(TopLevelDomain)サーバーに問い合わせる。
(2)TLDは、co.jpドメインを管理する、下位のDNSサーバーのIPを優先DNSサーバーにレスポンスする。
(3)優先DNSサーバーは、co.jpドメインを管理するDNSサーバーに問い合わせを行う。
(4)co.jpドメインを管理するDNSサーバーは、yahooドメインを管理する、下位のDNSサーバーのIPを優先DNSサーバーにレスポンスする。
(5)優先DNSサーバーはWEBクライアントにレスポンスする。

DNS移管

=DNS切り替え
ドメインが参照しているサーバー(IPアドレス)を変更する事

旧:「https://office-yone.com/」←→「123.456.789.001」
新:「https://office-yone.com/」←→「123.456.789.002」

1つのDNSサーバーに対して切り替え処理を実施するとその変更情報は他のDNSサーバーへ伝播され、各参照情報も書き換えられる
数週間必要

通常、サーバー業者はDNSサービスを提供している
DNSサービス:DNS情報の変更等
例:さくらインターネット

ドメイン移管

ドメイン管理業者を変更する手続き
WEBサイトのIPアドレスは変更されず、DNS移管は不要
ドメイン契約とDNS契約がセットの場合除く

プロキシサーバー

概要

WEBサーバーとWEBクライアント(ユーザー)との間でデータを仲介するサーバー
【プロキシ無し】
WEBサーバー
↑↓
WEBクライアント

【プロキシ有】
WEBサーバ
↑↓
プロキシサーバー
↑↓
WEBクライアント

プロキシサーバーのメリット

キャッシュ

・コンテンツ取得の高速化
・サーバ負荷の軽減
・トラフィックの軽減
プロキシサーバーは全クライアントのキャッシュを持つ。
クライアントは自分が一度も見たことが無いサイトでも、
別のクライアントが見たサイトであればキャッシュを利用できる。

フィルタリング

・アクセス制限
・データ加工(文字コート変換、広告付加)
※HTTPS通信(暗号化)は不可

通信経路変更

・通信の高速化
※速度の遅い回線を避ける事ができる。

匿名性確保

・プライバシーの保護
・セキュリティの強化
・アクセス制限の回避
※クライアントの情報はプロキシで止める事ができる。

設定方法

ウェブブラウザの設定欄や、ネットワークと共有センターから
→「インターネットオプション」
→「接続」タブ
→「設定」ボタン
→「~プロキシサーバーを使用する」をチェック
→プロキシのアドレスとポート番号を入力

プロキシサーバーの種類

フォワードプロキシ

クライアント側のネットワーク内で、WEBサーバーとの通信を仲介するプロキシサーバー
クライアント←→プロキシ←——→WEBサーバー
キャッシュがあった場合、ユーザーへのレスポンスが速く、インターネット全体のトラフィックも減らせる。
WEBサーバーの所有ではないので、WEBサーバー管理者の都合によるキャッシュ容量の増加等の処置は不可能。

リバースプロキシ

WEBサーバー側のネットワーク内で、クライアントとの通信を仲介するプロキシサーバー
クライアント←——→プロキシ←→WEBサーバー
キャッシュがあった場合でもWEBサーバー近くまでパケットの往復が発生する為、レスポンスが遅く、インターネット全体のトラフィックもほとんど減らない。
WEBサーバーの所有なので、WEBサーバー管理者の都合によるキャッシュ容量の増加等の処置が可能。

コンテンツキャッシュサービス

インターネット内にキャッシュサーバーを複数台設置する業者による、キャッシュサーバーサービス。
・レスポンス改善
・トラフィック軽減
・管理可能。

透過プロキシ

transparent proxy
リクエストを透過的に扱うことができるプロキシサーバ
利用者に通知する事なく、設定を変更する事なく、Proxyの使用を強制させる事ができる
外部からはルータのように見える

代理応答

NAT同様、グローバルIPとプライベートIPを変換する機能