高校「情報Ⅰ」単語帳 - 東京書籍「情報Ⅰ Step Forward!」 - 情報通信ネットワークの仕組みと役割
回線交換 ⭐⭐
通信回線の利用方式の一つで、通信を行っている間、通信相手までの物理的あるいは論理的な伝送路を占有する方式。いわゆるアナログ電話などがこの方式である。
最も古くから存在する方式の一つであり、比較的単純な設備で安定した通信が可能で、回線を占有するため品質の保証がしやすい(ギャランティ型)という特徴がある。
その後生まれた方式に比べると、回線の利用効率が悪い、複数の相手との交信や動的な経路選択などができない、通信の集中・混雑(輻輳)が生じるとほとんどの端末が接続不能に陥ってしまうといった難点がある。
一方、回線交換方式によらない通信方式として、信号やデータを中継局が一旦蓄えて順に送り出す方式があり、「蓄積交換」(store and forward:ストアアンドフォワード)、あるいは「パケット通信」「パケット交換方式」などと呼ばれる。
パケット通信 【パケット交換方式】 ⭐⭐
通信ネットワークにおけるデータの伝送方式の一つで、データを小さな単位に分割して個別に送受信する方式。通信を行う二者が伝送経路を占有せずに通信できる。
一定の大きさに分割されたデータのことを「パケット」(packet:小包)という。パケットには送りたいデータ本体(ペイロード)の他に、送信元や宛先の所在を表すアドレスなどの制御情報が付加される。
送信側の機器は送りたいデータを通信規格などで定められた長さごとに分割し、制御情報を付加して順番に送信する。通信経路上の中継機器は受け取ったパケットをいったん自身の記憶装置に格納し、次の中継装置へ順次送り出す。
これを繰り返して受信側の機器までパケット群を届け、受信側ではパケットからデータ取り出して順番に連結し、元のデータに復元する。このような伝送方式は「蓄積交換」(store and forward:ストアアンドフォワード)とも呼ばれる。
一方、回線網上の二地点間を結ぶ経路を交換機で中継し、両端の機器が通信中はこれを独占的に利用する通信方式を「回線交換方式」(circuit switching)という。歴史的には通信システムはアナログ電話回線など回線交換方式から発展したが、コンピュータネットワークやデータ通信の普及とともにパケット交換方式が一般的になっている。
主な特徴
パケット交換方式は回線交換のように通信中に伝送経路上の資源を占有しないため、中継機器などの設備、通信回線・電波などの伝送媒体を効率よく利用できる。中継時にデータを通信機器内に蓄積してから送り出すため、異なる通信速度や通信方式の機器間を接続しやすい。
制御情報に誤り検出符号や誤り訂正符号を付加して、伝送途上で生じたデータの破損・欠落を受信側で検知して修復したり、送信側へ再送要求を送ることもできる。制御情報で優先度を指定して、音声通話などリアルタイム性の高いデータを優先的に転送するといった制御もできる。
複数の経路から一つを選択したり別の経路に変更することも容易で、障害発生時に問題箇所を迂回して通信を続行するといった制御を行いやすい。経路の途中で混雑する機器や回線があると通信が遅延したり中断することがあり、通信速度や遅延時間の保証などは行いにくい。
応用
1960年代にインターネットの原型となる研究用コンピュータネットワークの通信方式として考案された。1990年代に構内ネットワーク(LAN)やインターネットが普及すると、コンピュータを始めとするデジタル機器の通信方式として浸透した。
一方、電話網などは伝統的に回線交換方式で運用されてきており、携帯電話では同じ無線ネットワークを用いて音声通話を回線交換、データ通信を蓄積交換で提供していた。このため、携帯電話では「パケット交換方式」という用語を(音声通話と対比して)データ通信を指す用語として用いる。
現代では、回線交換方式の通信網や通信方式は徐々に廃止され、音声通話などもパケット交換方式で実現するようになっている。例えば、メタル回線によるアナログ電話は光ファイバー回線によるIP電話(光電話)に、スマートフォンの通話機能は回線交換からVoLTEのようなパケット通信方式に移行が進んでいる。
パケット ⭐⭐⭐
「小包」という意味の英単語で、通信回線やネットワークを流れる情報のうち、データをある長さごとに区切り、送信元や宛先などの制御情報を付加した小さなまとまりのこと。
一つのパケットは制御情報が記述された先頭のヘッダ部(header)と、それに続く送りたいデータ本体であるペイロード部(payload)で構成される。大きなデータを送信する場合は一定の大きさごとに分割され、それぞれにヘッダ部が付加されて複数のパケットとして独立に伝送される。末尾にも制御情報やデータ長を調整するための埋め草データ(パディング)が連結されることがある。
大きなデータを複数のパケットに分解して送受信することで、一本の回線や伝送路を複数の通信主体で共有して効率よく利用することができる。パケットを利用した通信方式を「パケット通信」(packet communication)、パケットが流通する通信ネットワークを「パケット交換網」「パケット通信網」という。現代のコンピュータネットワークや通信サービスはほぼすべてパケット交換方式で実装されている。
また、狭義には、様々な通信方式で定められるデータの送受信単位(PDU:Protocol Data Unit)のうち、末端から末端(大本の送信元から最終的な宛先)まで送り届けられるものをパケットと呼ぶ場合がある。
途中の通信経路が複数の伝送媒体やネットワークにまたがる場合でも、中継機器によって転送を繰り返し、時にはより小さい伝送単位へ分解・再統合されながら相手先まで送り届けられる。インターネット上をIP(Internet Protocol)や上位のプロトコルで伝送されるデータなどが該当する。
より狭義には、末端から末端まで配送される伝送単位のうち、エラー検出と再送制御による確実な伝送、データ受信順の保証(送信順による並べ替え)などが行われる信頼性の高い通信プロトコルのPDUをパケットとする立場もある。これらが保証されないIPやUDPと対比した場合のTCPなどである。
規格上の呼称としてはIPとUDPは「データグラム」(datagram)、TCPは「セグメント」(segment)、より上位層のプロトコル(HTTPなど)では「メッセージ」(message)あるいは「リクエスト」(request)および「レスポンス」(response)などが正式あるいは一般的で、「パケット」はこれらの総称あるいは通称として用いられることが多い。
一方、下位のデータリンク層(リンク層)では、イーサネット(Ethernet)やWi-Fi(無線LAN)、PPPなどは「フレーム」(frame)、ATMなどでは「セル」(cell)などのPDUが用いられる。
パリティチェック 【奇偶検査】 ⭐
データの誤り検出方式の一つで、ビット列中に含まれる「1」の数が偶数か奇数かを表す符号を算出してデータに付加する手法。最も単純な誤り訂正符号で、1ビットの誤り検出しかできないが算出や検証が容易で高速なため広く普及している。
データはコンピュータ上では「0」と「1」が並んだビット列として表されるが、これを一定の長さのブロックごとに区切り、各ビットの値を足し合わせた値が奇数であるか偶数であるか(「1」の数が奇数か偶数か)を表す1ビットの値(パリティビット)を末尾に付加する。
パリティを含むデータを受け取った側は、各ブロックごとに同じようにパリティを算出し、付加されたものと比較する。両者が一致すれば、そのブロックには誤りが存在しないか偶数個あることが分かり、一致しなければ奇数個の誤りがあることが分かる。
実用上、短く区切られたブロック中に同時に複数の誤りが生じる確率は低いため、パリティが一致すれば誤りが無く、一致しなければ1ビットの誤りが生じたとみなしてデータの再送や破棄などの制御を行う。
偶数パリティと奇数パリティ
パリティビットの値は、ブロックの各ビットとパリティを足し合わせた時、その偶奇性が常に同じになるように設定される。
全体の和が偶数になるように決められる(ブロック中の1の数が奇数なら1、偶数なら0)ものを「偶数パリティ」(even parity)、奇数になるように決められる(1の数が奇数なら0、偶数なら1)ものを「奇数パリティ」(odd parity)という。
水平パリティと垂直パリティ
一定の長さのブロックごとにパリティを算出して末尾に付加する方式を「垂直パリティ」(vertical parity)と呼び、単にパリティチェックといった場合はこの方式を指すことが多い。
一方、連続する数ブロックごとに、各ブロックの同じ位置にあるビット群をグループ化してパリティを算出・付与する方式を「水平パリティ」(horizontal parity)という。
両者を併用した「垂直水平パリティ」が用いられる場合もあり、パリティ用の記憶容量は約2倍必要になるが、同じブロック中の偶数個の誤りを検出したり、1ビットの誤りの訂正を行うことができる。
bps 【ビット毎秒】 ⭐
通信回線などのデータ伝送速度の単位で、1秒間に伝送できるデータのビット数のこと。1bpsは毎秒1ビットのデータを伝送できることを表す。
コンピュータなどのデジタル機器では、ありとあらゆる情報を2進数の「0」と「1」の羅列であるデジタルデータとして表現し、2進数の1桁にあたる「0」または「1」で表される情報量を「ビット」(bit)と呼ぶ。デジタル信号を送受信できる伝送路で、1秒間に送ることができるビット数をbpsという単位で表す。
大きな値を表す場合には1000倍ごとに接頭辞を付加し、1000bpsを「1kbps」(キロbps)、100万bpsを「1Mbps」(メガbps)、10億bpsを「1Gbps」(ギガbps)、1兆bpsを「1Tbps」(テラbps)といったように表記する。
1kbpsを1024bps、1Mbpsを1024kbps…のように1024(2の10乗)倍ごとに区切る場合や、「k」と小文字で書いた場合は1000倍、「K」と大文字で書いた場合は1024倍などとする場合もあったが、IEC(国際電気標準会議)は1024倍を表す場合は「Ki」(キビ)、「Mi」(メビ、ミービ)など専用の接頭辞を用いて表記するよう勧告しており、このような混乱や使い分けは収束しつつある。
同じデジタル回線の伝送速度の単位に「Bytes/s」(B/s、バイト毎秒)があるが、1バイトは8ビットなので、1Byte/sは8bpsに相当する。厳密な使い分けの基準があるわけではないが、主にネットワーク回線など機器間を結ぶ比較的距離の長い通信ではbpsが、機器内部の回路間や装置間、コンピュータと周辺機器間など短距離の伝送路ではバイト毎秒がよく用いられる。
5G 【5th Generation】
2020年代に導入・普及が進んでいる、第5世代のデジタル携帯電話・移動体データ通信の技術規格。スマートフォンやIoTデバイスなどが屋外や移動中に通信事業者などのネットワークにアクセスして通信する方式を定めている。
2000年代に普及した第3世代(3G)、2010年代に普及が進んだ第4世代(4G)の後継にあたる通信方式である。3GのW-CDMAとCDMA2000、4GのLTEとWiMAX 2のように、これまでは当該世代の技術要件を満たす複数の規格が併存していたが、第5世代では完全に標準規格が一本化され、「5G」が世代名かつ規格名として扱われる。
主な特徴として、高速に大量のデータを送受信できる「高速大容量」(eMBB:enhanced Mobile Broadband)、途切れにくく遅延が短い「高信頼低遅延」(Ultra-Reliable and Low Latency Communications)、単一の基地局が大量の端末を収容できる「多数端末接続」(mMTC:massive Machine Type Communication)が挙げられる。
eMBB (enhanced Mobile Broadband)
前世代の4Gでは無線区間の通信速度が下り(基地局→端末)数百Mbps(メガビット毎秒)、上り(端末→基地局)数十Mbps程度が一般的だったが、5Gでは下り2Gbps(ギガビット毎秒)以上、上り100Mbps以上と大幅に高速化される。
これは光ファイバーによる加入者回線網(FTTH)に匹敵するか凌駕するほどの大容量であり、4Kクラスに及ぶ高精細な動画のリアルタイム伝送やこれを応用した各種のサービス(テレビ会議やクラウドゲーミングなど)を場所を選ばずに利用できる可能性を秘めている。
URLLC (Ultra-Reliable and Low Latency Communications)
5Gでは従来の移動体無線通信の大きな弱点であった伝送遅延(発信したデータが相手先に到達するのにかかる伝送時間)の大幅な短縮を目指している。
具体的には、無線区間(端末-基地局間)の遅延を1ミリ秒以下に短縮し、伝送符号やアンテナに冗長性を持たせることにより99.999%以上のパケット受信成功率を可能にしている。信頼性が向上し欠落したデータの再送が不要になる効果も合わせ、通信のリアルタイム性が大幅に向上した。
遠隔地間で遅延なく大容量の通信が可能になることで、自動運転や機械の遠隔操作、遠隔手術、クラウドゲーミング、テレイグジスタンスといった従来の移動体通信では遅延が大きく難しかった用途への展望が開けると考えられている。
mMTC (massive Machine Type Communication)
5Gでは、機器やセンサーなどをネットワークに大量に接続して遠隔からの制御や計測の自動化を図るIoT(Internet of Things:モノのインターネット)での利用を想定し、基地局が同時に接続可能な機器数を飛躍的に増加させ、機器側の消費電力を削減する仕様が盛り込まれる。
同じ周波数帯で複数の端末が同時に通信できるようにするマルチアクセス(多元接続)技術を高度化し、単一の基地局が数千や数万に及ぶ多数の機器を同時にカバーすることを目指している。スマートフォンのような人間の操作する端末だけでなく機器の遠隔制御装置や監視装置など多種多様な装置を5G通信網に収容できる。
周波数帯
5Gでは特性の異なる二種類の電波を利用する。一つは「サブ6」と通称される従来の移動体通信に近い6GHz以下の周波数帯で、主に3.5GHz帯や4.5GHz帯が用いられる。もう一つは「ミリ波」に近い極めて高周波の28GHz帯で、これまで通信に本格的には用いられてこなかった周波数帯である。
サブ6は従来の無線通信用の電波と特性が近いが、4G携帯電話などで主流の2GHz前後よりも高い周波数帯を使用する。伝送速度を高速化しやすいが端末の消費電力は増大しやすく、基地局のカバーする範囲も狭い。従来よりも高い密度で基地局を設置する必要がある。
一方、28GHz帯は性質が可視光に近く、直進性が強く減衰が大きいため基地局が直接見通せるくらいの近距離でなければ安定した通信は難しい。サブ6に比べ極めて高速な通信が可能で、一つの基地局が多数の端末と同時に通信することも可能なため、駅や繁華街、イベント会場といった多くの人が集まる場所で局所的に用いることが想定されている。
4Gからの移行
5Gでは既存の4G基地局に5Gの無線通信方式(5G NR:5G New Radio)を追加し、通信制御やバックボーンに4G用の資源を流用するNSA(non-standalone)方式と、新たに単体の5G基地局を導入するSA(standalone)方式がある。
当面の導入期には端末が4G/5G両対応であり、通信事業者が保有する既存の4Gネットワーク資源を活用して徐々にエリアを拡大するためNSA方式での展開が基本となる。いずれ5Gへの完全移行を見越してSAでの展開が進むと見られている。
ローカル5G
5Gは広域に展開する移動体通信事業者(携帯キャリア)による公衆網の他に、大学のキャンパス内や工場の敷地内といった狭い範囲で施設の管理者などが展開することができる「ローカル5G」の仕組みが提供される。
現在のWi-Fi通信網のように、施設の所有者などが施設内での通信のために5G基地局を敷設し、内部ネットワークでの相互の通信やインターネットへの接続などに利用することができる。5Gに割り当てられた周波数帯は無線免許が必要なため、専門の通信事業者以外が取得しやすい免許の枠組みが整備されている。
歴史と展望
5Gの技術規格の標準化は国際的な標準化団体の3GPPが担当しており、段階的に標準仕様を発行している。第1段階の5G Phase 1(フェーズ1)は2017年末に主要な仕様が策定され(標準化完了は2018年6月)、対応機器の開発や通信事業者による導入の準備が活発化した。
Phase 1はeMBBの実現を主眼としており、URLLCやmMTCの実現は2020年策定のPhase 2や2020年標準化開始のPhase 3で詳細に検討される予定となっている。
2018年末に米ベライゾン(Verizon)社や韓国の複数の大手通信会社(KTなど)が限定的な5Gサービスを開始したと発表し、2019年春にはこれらの事業者が相次いで一般向けサービスの開始を宣言した。日本では2020年3月末に携帯大手3社(NTTドコモ/KDDI・沖縄セルラー/ソフトバンク)がほぼ同時に5Gサービスを開始した。
テザリング 【Wi-Fiテザリング】
情報機器が自らをインターネットなどに接続するために内蔵する通信機能を、別の機器をネットワークに接続する中継に用いること。また、機器の持つそのような機能。
例えば、スマートフォンが移動体通信網に接続してインターネットを利用する機能を用いて、スマートフォンに繋いだノートパソコンやタブレット端末、携帯ゲーム機などをインターネットに接続して通信できるようにする。Wi-Fiなど無線接続を用いる場合は複数の機器を同時に接続できる。
テザリングに対応した機器が一台あれば、機器ごとに通信カードなどの装置を用意したり回線契約を個別に結ばなくてもインターネット接続を利用できる。出先などで一人で複数台の端末を使い分ける場合や、通信機能がWi-Fiしかない機器を外に持ち出して使用したい場合などに特に便利である。
ただし、一台で利用するよりもデータの送受信量は増えるため、一か月あたりのデータ通信量に制約がある場合は気をつける必要がある。機器によっては、テザリング接続の場合はシステムのアップデートなどの大容量通信を行わない設定が可能な場合もある。また、通信事業者やサービス品目によっては契約条件でテザリング利用を禁じていることもある。
テザリングの種類
テザリング対応機器と他の機器の接続にWi-Fi(無線LAN)を用いる方式は「Wi-Fiテザリング」(無線LANテザリング)、機器間をUSBケーブルで結ぶ方式は「USBテザリング」、近距離無線通信規格のBluetoothで結ぶ方式を「Bluetoothテザリング」という。
最も一般的なのは「Wi-Fiテザリングで、これを指して単にテザリングということも多い。複数台を同時に接続でき高速に通信できるが、インターネット接続を行う機器はWi-Fi機器を周囲のWi-Fi端末に対するアクセスポイントとして運用する形になるため、自らが外部のアクセスポイントにWi-Fi接続することはできなくなる。
USBテザリングはスマートフォンとノートパソコンなどのUSBポート同士をUSBケーブルで結んで通信する方式で、通信速度が高速でスマートフォンを充電しながら通信できる利点がある。ただし、USBケーブルを携帯しなければならず、両端末を近くに置かなければならない取り回し上の制約がある。
Bluetoothテザリングはコンピュータ本体と近くにある周辺機器などを無線接続するBluetoothをテザリングの無線回線に流用する方式で、Wi-Fiより電力消費が少ない利点があるが通信速度が低速で用途が制約される場合がある。Bluetooth自体には対応していてもテザリングには対応していない機器も多い。
WAN 【Wide Area Network】 ⭐⭐⭐
地理的に離れた地点間を結ぶ広域的な通信ネットワーク。建物内や敷地内を構内ネットワークと対比される用語で、通信事業者が設置・運用する回線網のことを指すことが多い。
また、通信事業者の回線網を通じて複数の拠点間のLANを相互に結び、全体として一つの大きなネットワークとした企業内ネットワークのことをWANと呼ぶこともある。
文脈によっては、世界の通信事業者、企業、各種組織などのネットワークを相互に結んだものという意味合いから、インターネットのことをWANと呼ぶ場合もある。
MAN (Metropolitan Area Network)
広域的な回線網のうち、一つの都市や市街地の内部を繋ぐ高速・高密度な回線網をMAN(マン/Metropolitan Area Network:メトロポリタンエリアネットワーク)と呼ぶことがある。
WANとLANの中間規模のネットワークの類型の一つで、通信拠点や施設間を光ファイバー回線などで結ぶ中長距離の高速な通信ネットワークと、建物内で末端のコンピュータや通信機器を結ぶLANを組み合わせて構築される。前者の拠点間ネットワークのみを指す場合もある。
CAN (Campus Area Network)
企業の大規模拠点や工場、大学、基地などで、広大な敷地内の建物や施設をまたいで敷設される構内ネットワークをCAN(キャン/Campus Area Network:キャンパスエリアネットワーク)と呼ぶことがある。
WANとLANの中間規模のネットワークの類型の一つで、複数の施設内のLANを地中などに敷設した高速な光ファイバー回線などで相互接続し、一体的に運用したものを指す。
概ね、単一の主体が所有・管理する地理的に連続した用地に敷設されたコンピュータネットワークをこのように呼ぶが、MANとの区別は必ずしも明確ではない。一つの街のように広大なアメリカの総合大学や大企業本社などでは構内ネットワークをMANと呼ぶ例も見られる。
プロトコル 【通信規約】 ⭐⭐⭐
手順、手続き、外交儀礼、議定書、協定などの意味を持つ英単語。IT分野では、複数の主体が滞りなく信号やデータ、情報を相互に伝送できるように定められた約束事や手順である「通信プロトコル」を指すことが多い。他分野や一般の外来語としては「規定の手順」などの意味で用いられることもある。
コンピュータ内部で回路や装置の間で信号を送受信する際や、通信回線やネットワークを介してコンピュータや通信機器がデータを送受信する際に、それぞれの分野で定められたプロトコルを用いて通信を行う。英語しか使えない人と日本語しか使えない人では会話ができないように、対応しているプロトコルが異なると通信することができない。
機器やソフトウェアの開発元が独自に仕様を策定し、自社製品のみで使用されるクローズドなプロトコルと、業界団体や標準化機関などが仕様を標準化して公開し、異なる開発主体の製品間で横断的に使用できるオープンなプロトコルがある。インターネットなどで用いられるプロトコルの多くは、IETF(Internet Engineering Task Force)などが公開している標準プロトコルである。
プロトコルの階層化
<$Img:TCP-IP-Layer-Model.png|right|TCP/IP階層モデル[PD]>人間同士が意思疎通を行う場合に、どの言語を使うか(日本語か英語か)、どんな媒体を使って伝達するか(電話か手紙か)、というように伝達の仕方をいくつかの異なる階層に分けて考えることができるが、コンピュータ通信においても、プロトコルの役割を複数の階層に分けて考える。
階層化することによって、上位のプロトコル(を実装したソフトウェア)は自分のすぐ下のプロトコルの使い方(インターフェース)さえ知っていれば、それより下で何が起きているかを気にせずに通信を行うことができる。電話機の操作法さえ知っていれば、地中の通信ケーブルや通信会社の施設で何が起きているか知らなくても通話できるのに似ている。
各階層のプロトコル群の機能や役割の範囲はモデル化して整理することがある。現在広く普及しているのはインターネット通信などで一般的な「TCP/IP階層モデル」(DARPAモデル)で、物理的な装置や伝送媒体に近い側から順に「リンク層」「インターネット層」「トランスポート層」「アプリケーション層」の4階層に分類している。
ネットワーク層 【インターネット層】 ⭐
プロトコルの機能階層の一つで、単一の、あるいは相互接続された複合的なネットワークの上で末端から末端までデータを送り届ける役割を担うもの。OSI参照モデルでは第3層、TCP/IP階層モデルでは第2層で、IP(Internet Protocol)が該当する。
ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。
プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」(DARPAモデル)がよく用いられるが、OSIでは第3層を「ネットワーク層」、TCP/IPでは第2層を「インターネット層」と呼び、いずれもデータリンク層(リンク層)とトランスポート層の中間に位置する。
この階層の主な役割は、物理ネットワーク同士を結びつけ、全体を一つの論理的なネットワークとして相互に通信可能な状態にすることである。具体的には、ネットワーク全体を通して整合的で体系的なアドレス(識別番号)の割り当て、データの伝送経路の管理や選択(ルーティング)、データの送受信単位の変換や調整、優先制御などである。
現代のコンピュータネットワークでは一部の特殊な用途を除いてこの階層のプロトコルに「IP」(インターネットプロトコル)を用いるのが標準となっており、IPにより各組織のネットワークを世界規模で相互接続した巨大なネットワークを「インターネット」という。現在はIPのバージョン4(IPv4)が標準的に用いられているが、アドレス長や機能を拡張した「IPv6」(IPバージョン6)への移行が進んでいる。
第3層/ネットワーク層という表記
TCP/IPはOSIモデルとは無関係に設計されたため、厳密には両モデルの機能・役割は似ているだけで同じではない。また、TCP/IPでは本来「インターネット層」(Internet layer)と呼ばれるが、OSIの用語にならって慣習的に「ネットワーク層」と呼ばれている。
TCP/IPではOSIモデルの物理層に相当する階層がなく、IPは最下層のリンク層から数えて第2階層のプロトコルとなるが、歴史的経緯でTCP/IPのプロトコル階層をOSIモデルにあてはめて分類・解釈する方法が広まったため、現在でもIPを指して「レイヤ3」「L3」のように表記することが多い。
トランスポート層 【第4層】 ⭐
プロトコルの機能階層の一つで、データの送信元と送信先の間での制御や通知、交渉などを行い、二者間のデータの運搬に責任を追うもの。OSI参照モデルでは第4層、TCP/IP階層モデルでは第3層にあたり、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)がよく知られる。
ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。
プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」がよく用いられるが、トランスポート層はいずれにも含まれ、OSIでは4番目の層でネットワーク層とセッション層の間、TCP/IPでは3番目の層でインターネット層とアプリケーション層の間に位置する。
トランスポート層のプロトコルは上位層から送信データを受け付けて制御情報などと共に下位層へ引き渡し、下位層から受信データを受け取って制御情報などを取り去って上位層へ引き渡す。この階層の制御情報は原則として発信元と送信先しか必要としないため、伝送途上で参照・改変されることは稀である。
この階層の主な役割としては、エラー検出・訂正と再送制御、コネクション(仮想的な専用通信路)の確立、データの並び順の整列(順序制御)、フロー制御、輻輳制御、アプリケーションの識別(OSIではセッション層の役割)などである。UDPのように、これらの一部をあえて実装しないことによって伝送速度の向上を図っているプロトコルもある。
プロトコルの例
インターネットを始め現代の通信システムの多くはTCP/IPモデルを採用しているため、インターネット層のIP(Internet Protocol)の上位層として機能するものがトランスポート層のプロトコルである。
最もよく用いられるのはコネクションや再送制御などで高い信頼性を実現する「TCP」(Transmission Control Protocol)で、信頼性よりも速度を重視する用途では最低限の制御しか行わない「UDP」(User Datagram Protocol)が用いられる。両者の中間的な特徴を併せ持つ「DCCP」(Datagram Congestion Control Protocol)や、ストリーミング通信向けの「SCTP」(Stream Control Transmission Protocol)なども用いられる。
第4層/レイヤ4という表記
TCP/IPはOSIモデルとは無関係に設計されたため、厳密には両モデルのトランスポート層の機能・役割は似ているだけで同じではない。また、TCP/IPにおいてトランスポート層は第3階層(インターネット層の上)に位置するが、TCP/IPのプロトコル階層をOSIモデルに従って分類・解釈する方法が広まったため、現在でもUDPやTCPなどを指して「レイヤ4」「L4」のように表記することが多い。
クライアントサーバシステム 【CSS】 ⭐⭐
通信ネットワークを利用したコンピュータシステムの形態の一つで、機能や情報を提供する「サーバ」(server)と、利用者が操作する「クライアント」(client)をネットワークで結び、クライアントからの要求にサーバが応答する形で処理を進める方式。
サーバはシステムで利用されるデータを保存・管理したり、接続された周辺機器などのハードウェアを管理したり、何らかのデータ処理機能を有するコンピュータやその上で動作するソフトウェアで、これらの機能や情報などをネットワークを通じて外部に提供することができる。
クライアントはサーバから機能や情報の提供を受ける機器やソフトウェアで、利用者が手元で操作し、画面表示や入力の受付などを担当する。クライアントはネットワークを通じてサーバに様々な要求を送り、サーバがこれに応えて処理を行い、応答を返す。
狭義には、企業などの情報システムの実装形態の一つで、機能や情報を提供するサーバソフトウェアと、これに対応する専用のクライアントソフトウェアにより役割を分担して処理を進める方式のことをクライアントサーバシステムと呼ぶことがある。
この文脈では、クライアントとしてWebブラウザなど汎用の製品を用いる「Webアプリケーション」(Web系システム)などは区別・対比される。広義には(あるいは、原理的には)、Webもクライアント-サーバ型のモデルで実現されるシステムであるため注意が必要である。
他の方式との違い
1980年代頃から普及し始めたシステム形態で、それ以前はメインフレームなどの大型コンピュータ(ホスト)などに通信回線を通じて入出力端末(ターミナル)を接続し、ホストが集中的に処理を行う方式が一般的だった。
クライアントサーバシステムと比べると、ホストとサーバ、ターミナルとクライアントの役割はそれぞれ似ているが、ターミナルにコンピュータとしての機能がなく表示や操作に単純な方式しか利用できない一方、クライアントは独立した一台のコンピュータやデジタル機器であり、サーバから受信したデータを用いて複雑な処理や表示、操作などを利用者に提供することができる。
ちなみに、サーバとクライアントのように非対称に役割を分担するのではなく、対等な機能や立場のコンピュータやソフトウェアがネットワークを通じて相互に要求や応答を送り合って一つの機能を実現する形態もあり、「ピアツーピアシステム」(Peer to Peer system、P2Pシステム)などと呼ばれる。
クライアント ⭐⭐⭐
顧客、依頼人、得意先、施主などの意味を持つ英単語。ITの分野では、他のコンピュータやソフトウェアから機能や情報の提供を受けるコンピュータやソフトウェアのことをクライアントという。
コンピュータシステムの構成のうち、機能や情報を提供する側である「サーバ」(server)と、機能や情報の提供を受けて利用する側である「クライアント」(client)に役割を分けた方式を「クライアントサーバシステム」(client-server model)という。
クライアントはサーバの機能や情報の提供を受け、自らは利用者への情報の提示や入力・操作の受け付けなどを担当することが多い。クライアントがサーバに処理要求(リクエスト)を送り、サーバがこれに応じて処理を行い、結果を返答(レスポンス)する、という形で一連の処理が進められる。
コンピュータ(ハードウェア)のことを明示的に指し示す場合は「クライアントコンピュータ」「クライアントマシン」「クライアント機」などと呼ばれ、ソフトウェアのことを指す場合は「クライアントソフト」「クライアントソフトウェア」「クライアントプログラム」などと呼ばれる。また、「メールクライアント」「DHCPクライアント」のように、システムや通信方式などの種類を冠して「○○クライアント」と称することも多い。
ファットクライアントとシンクライアント
企業の情報システムなどのクライアントコンピュータのうち、パソコンなど単体でも利用される汎用コンピュータを流用したものを「ファットクライアント」(fat client)、独立したコンピュータとしては機能せず、サーバへ接続して利用することに特化した特殊なクライアント専用機を「シンクライアント」(thin client)という。
シンクライアントは企業などで多数のクライアントが必要な場合に、管理コスト低減やセキュリティ向上のために導入される。自らはデータの処理・保存などの能力をほとんどまったく持たず、通信・入出力機能のみの構成としたものは「ゼロクライアント」(zero client)と呼ばれることもある。
ターミナルとの違い
大型コンピュータ(メインフレーム)などの分野では、コンピュータ本体など集中的に処理を行う機械を「ホスト」(host)、利用者が操作する端末装置を「ターミナル」(terminal)と呼ぶことがある。
これらはサーバとクライアントの役割分担に似ているが、ターミナルにはコンピュータとしての機能が(ほとんど)なく本質的には入出力装置のセットに過ぎない一方、クライアントは独立した一台のコンピュータとして、サーバから受信したデータを用いて複雑な処理や表示、操作などを利用者に提供することができる。
サーバ 【サーバー】 ⭐⭐⭐
コンピュータネットワークにおいて、他のコンピュータに対し、自身の持っている機能やサービス、データなどを提供するコンピュータのこと。また、そのような機能を持ったソフトウェア。
コンピュータ(ハードウェア)のことを明示的に指し示す場合は「サーバコンピュータ」「サーバマシン」「サーバ機」などと呼ばれ、ソフトウェアのことを指す場合は「サーバソフト」「サーバソフトウェア」「サーバプログラム」などと呼ばれる。「SV」「srv」「srv」などの略号で示されることもある。
一方、ネットワークを通じてサーバにアクセスし、その機能やサービス、データなどを受信したり利用したりするコンピュータやソフトウェアは「クライアント」(client)と呼ばれる。WebサーバにアクセスするためのWebブラウザなどが該当する。サーバとクライアントを組み合わせて構成するシステム「クライアントサーバシステム」という。
いわゆる大型汎用機(メインフレーム)などの分野では、実際の処理を担うコンピュータ本体や内部で動作するソフトウェアを「ホスト」(host)、ホストへ接続してデータ入力や画面出力を行なう装置やソフトウェアを「ターミナル」(terminal)と呼ぶ。
一般の外来語としては「ウォーターサーバー」のように末尾に長音記号「ー」を付す表記・発音が一般的だが、ITの分野では歴史的に3音以上の末尾にある “-r” 音の長音記号を省略する慣例があり、「サーバ」と表記することが多い。近年では一般的な表記にならって「サーバー」と表記する例も増えている。
サーバの種類
通常、個々のサーバ機やサーバソフトは外部に提供する機能やサービス、対応しているデータ形式やプロトコル(通信規約)が決まっており、「データベースサーバ」「Webサーバ」「ファイルサーバ」のように、提供する機能などの種類を冠して「○○サーバ」と呼ぶ。
サーバコンピュータは多数のクライアントからの処理要求に応えるため、内部の装置に高性能・大容量のものを搭載することが多い。タワー型サーバなどパソコンと同じような形態の機種と、ブレードサーバやラックマウントサーバなどサーバ専用の形態で提供される製品がある。
企業などの情報システムでサーバをクライアントと同じ建物に設置して自社運用する方式を「オンプレミス」(on-premise)という。一方、専門の事業者が運用するデータセンターに設置されたサーバを間借りしてインターネットや専用回線を通じて利用する方式を「クラウド」(cloud)という。
ストリーミング ⭐
通信ネットワークを介して動画や音声などを受信して再生する際に、データを受信しながら同時に再生を行う方式。データが完結していなくても配信・視聴を始めることができ、ライブ配信などで用いられる。
従来はデータ全体の受信(ダウンロード)を完了してから再生する方式が一般的だったが、ストリーミングではデータをある程度受信した時点で再生を開始し、受信処理と再生処理を並行して進めることにより、利用者は短い待ち時間で視聴を開始することができる。
ストリーミングにより、ダウンロード型では実現が難しい、始まりや終わりの決まっていない放送局型の配信サービスを実現することができる。テレビ放送やラジオ放送の生放送・生中継のように、撮影や録音を行いながら同時に配信・視聴できる配信方式のことは「ライブストリーミング」(live streaming)という。
技術的には、専用のデータ形式や通信方式(プロトコル)を用い、受信したデータが視聴者側でファイルとして残らない方式をストリーミングと呼ぶことが多く、動画ファイルなどをダウンロードしながら同時に再生する方式(利用者の使用感はほとんどストリーミングと変わらない)は「プログレッシブダウンロード」(progressive download)という。
ライブストリーミング (live streaming)
通信ネットワークを通じて映像・音声を配信する手法の一つで、撮影・録音しながら同時にデータを圧縮・変換して視聴者へ配信する方式。いわばネットワークを通じた「生放送」。
視聴者側が末尾まで受信の完了を待たずに受信しながら同時に再生することをストリーミング(再生)というが、ライブストリーミングではこれに加え、配信側も撮影・録音とデータ送信を並行して行い、収録したものをわずかなタイムラグでリアルタイムに配信する。テレビやラジオの生放送・生中継に相当する配信方式である。
インターネット上で大規模にライブストリーミングできる動画サービスも普及しており、開催中のイベントやスポーツの試合の様子をリアルタイムに伝えたり、視聴者とリアルタイムにやり取りしながら進行する生放送番組などが人気を博している。
ストリーミングサーバ (streaming server)
映像や音声のストリーミング配信を行うコンピュータをストリーミングサーバという。そのような機能を提供するソフトウェアのことを指すこともある。多数のクライアントからの接続を受け付け、同時にストリーミング方式のマルチメディアデータを配信する。
ストリーミング方式のデータは通常のWebサーバから配信することも可能だが、サーバや回線への負担が大きいため、ストリーミングサーバを利用するのが一般的である。また、録画した映像をリアルタイムに配信(ライブストリーミング)するような作業は、専用のストリーミングサーバでなければ行えない。
以前は専用のソフトウェアと高性能なハードウェアが必要とされていたが、パソコンの高性能化や光ファイバーなどの高速回線の普及によって、小規模なストリーミングサーバは個人でも構築できるようになった。
プログレッシブダウンロード (progressive download)
動画や音声などのファイルをダウンロードしながら、全体の受信完了を待たずに同時に再生(を開始)すること。
データを受信しながら同時に再生するストリーミング視聴に似ているが、技術的にはストリーミングとは異なり、あくまでファイルのダウンロードであるため、事前に再生時間を決めずに連続的に視聴することはできず、サーバ側に任意の位置からの再生(送信)開始を指示することもできない。
また、通信エラーなどでデータの一部が損なわれた際、ストリーミングではそのデータを飛ばして次のデータを送信し、再生時間が遅延しないよう制御するが、プログレッシブダウンロードではデータを再送して完全なデータが揃えようとするため、再生が一時停止することがある。
ストリーミングで視聴したデータは再生後すぐに破棄されるのが一般的だが、プログレッシブダウンロードの場合はキャッシュファイルの形で記憶装置に永続的に保管され、次に同じものを再生する際にそこから再生することができる。
LAN 【Local Area Network】 ⭐⭐⭐
限られた範囲内にあるコンピュータや通信機器、情報機器などをケーブルや無線電波などで接続し、相互にデータ通信できるようにしたネットワークのこと。概ね室内あるいは建物内程度の広さで構築されるものを指す。
銅線や光ファイバーなどを用いた通信ケーブルで機器間を接続するものを「有線LAN」(wired LAN)、電波などを用いた無線通信で接続するものを「無線LAN」(wireless LAN)という。
有線LANの通信方式としては「イーサネット」(Ethernet/IEEE 802.3)系諸規格が、無線LANの通信方式としては「Wi-Fi」(ワイファイ/IEEE 802.11)系諸規格がそれぞれ標準として普及しており、単にLANといった場合はこれらの方式を用いたネットワークを指すことが多い。他にも建物内に電気を供給するために張り巡らされた電力線を流用して通信する方式などがある。
主な用途
1980年代頃から企業や公的機関、大学、研究機関などで普及し始め、施設内にあるコンピュータを相互に接続し、高機能・高性能なサーバコンピュータでファイルなどの情報資源を一元的に管理したり、プリンタなどの機器を複数のコンピュータで共有するのに用いられてきた。
インターネットの一般への普及が始まると、構内の機器を外部への回線に接続する中継手段としても広く用いられるようになった。近年では一般家庭でもパソコンやスマートフォン、デジタル家電などを相互に接続したり、インターネットに接続するための通信ネットワークとして「家庭内LAN」が普及している。
他の分類
これに対し、通信事業者の回線網などを通じて地理的に離れた機器や施設間を広域的に結ぶネットワークを「WAN」(Wide Area Network:広域通信網、ワイドエリアネットワーク)と呼び、LANの対義語として用いられる。
LANとWANの中間規模のネットワークとして、一都市内などに収まる範囲の「MAN」(Metropolitan Area Network:メトロポリタンエリアネットワーク)や、大学のキャンパスや工場などで敷地内の複数の建物のLANを一つのネットワークに結んだ「CAN」(Campus Area Network:キャンパスエリアネットワーク)などの概念を用いることもある。
また、LANに似た概念として、個人の所有・利用するコンピュータや携帯機器、周辺機器などを無線通信などで相互に結ぶネットワークを「PAN」(Personal Area Network:パーソナルエリアネットワーク)、自動車などの(大型の)機器の内部で装置間を結ぶネットワークを「CAN」(Controller Area Network:コントローラエリアネットワーク)、これらをLANの一種に分類することもある。
MACアドレス 【Media Access Control address】 ⭐
通信ネットワーク上で各通信主体を一意に識別するために物理的に割り当てられた、48ビットの識別番号。装置に物理的に紐づけられるため「物理アドレス」(phycial address)とも呼ばれる。
リンク層(データリンク層)の通信規約(プロトコル)である「MAC」(Media Access Control:メディアアクセス制御)で用いられる識別番号で、ネットワークカードや無線LANチップなどのネットワーク接続装置・部品ごとに割り当てられる。
通信ポート(接続口)や通信インターフェースが一つの機器ではMACアドレスも一つだが、複数のポートがある機器や、有線LANポート(Ethernetポート)と無線LAN(Wi-Fi)機能の両方を内蔵した機器などの場合、それぞれのポートや通信装置に対して固有の(別の)MACアドレスが割り当てられている。
MACアドレスの形式
前半24ビットは「OUI」(Organizationally Unique Identifier)と呼ばれる製造者(メーカー)の識別番号で、IEEEが一元管理し全世界の通信装置メーカーなどへ割り当てを行っている。後半24ビットは各メーカーが装置一台ごとに重複しないよう割り当てた番号となっている。
先頭から16進数2桁(1バイト)ずつハイフン(-)またはコロン(:)で繋ぎ、「12-34-56-78-9a-bc」あるいは「12:34:56:78:9a:bc」のように表記することが多い。「1234.5678.9abc」のように4桁(2バイト)ずつピリオド(.)区切りで表記する場合もある。
固定アドレスとランダム化
元来、MACアドレスは製品の製造時に製造元によって割り当てられ、利用者側で任意に変更する使い方は想定されていなかった。同じ装置は常にMACアドレスで動作し続けるため、ネットワーク上での利用者の識別や認証(MACアドレス認証)、アクセス制御(MACアドレスフィルタリング)などにも利用された。
ところが、IPv6でIPアドレスの一部にMACアドレスが組み込まれたり、Wi-Fiの普及によって様々な場所で携帯機器をネットワークに接続するようになると、利用者が必ずしも信頼していない接続先へもMACアドレスが伝わるようになり、個人の識別や追跡に悪用される懸念が広まった。
そこで、近年の機器ではWi-Fiインタフェースに製造時に割り当てられたMACアドレスとは別に、接続先ごとにソフトウェアが自動生成したランダムなMACアドレスを用いる「MACアドレスのランダム化」が可能になっている。WindowsやmacOS、iOS、Androidなど主要なオペレーティングシステム(OS)に実装されており、ネットワーク設定で本来の固定MACアドレスを利用するかランダム化するかを選択することができる。
ハブ ⭐⭐⭐
車輪やプロペラなどの中心にある部品や構造のこと。転じて、中心地、結節点、集線装置などの意味で用いられる。IT分野では構内ネットワークなどで用いられる集線装置を指すことが多い。
電気通信や光通信では、機器間をケーブルで結んで通信する際に、複数のケーブルを接続して相互に通信できるようにする集線装置、中継装置のことをハブという。用途や通信方式の違いにより「イーサネットハブ」「USBハブ」など様々な種類がある。
ネットワークハブ
有線LAN(構内ネットワーク)の標準であるイーサネット(Ethernet)では、各機器からケーブルをハブに接続し、ハブが信号の中継・転送を行うことによって機器間の通信を行う。このような接続形態を「スター型ネットワーク」という。
ハブには銅線ケーブル(UTPケーブル)を差し込むためのRJ45ポートや光ファイバーケーブルを差し込むための光ポートが並んでおり、各機器から通じるケーブルを接続する。あるケーブルから流れてきた信号を他のケーブルに流すことで相互に通信できるようにする。
単純に受信したすべての信号を増幅してすべてのケーブルに再送出するハブを「リピータハブ」(repeater hub)、信号からイーサネットフレームを復元し、宛先のMACアドレスを解析して関係するケーブルにだけ選択的に転送するハブを「スイッチングハブ」(switching hub)という。
現在ではスイッチングハブが一般的になったため、ハブと呼ばずに「ネットワークスイッチ」(network switch)「イーサネットスイッチ」(Ethernet switch)「LANスイッチ」(LAN switch)「L2スイッチ」(Layer 2 switch)あるいは単にスイッチと呼ぶことが多い。
USBハブ
コンピュータと周辺機器や携帯機器の接続に用いられるUSBでは、複数の機器からの接続を受け入れてコンピュータ側に一つのUSBケーブルで接続する集線装置を「USBハブ」という。コンピュータ側は一つのUSBポートで複数の機器を接続することができる。
コンピュータ側のUSBポートに接続するためのUSBケーブルと、数個のUSBポートを備えた小型の機器で、ポートの数だけUSB機器を接続し、コンピュータへ信号を中継する。液晶ディスプレイなどにUSBハブの機能が埋め込まれて提供される場合もある。
データハブ
情報システムやソフトウェアの分野では、システム間でやり取りするデータを集積・中継する専門のシステムを「データハブ」あるいは単にハブと呼ぶことがある。SOA(サービス指向アーキテクチャ)などで用いられるミドルウェアで、データの出し手からデータを受け取って保管し、そのデータを必要とする受け手へ引き渡す役割を果たす。
無線LAN 【wireless Local Area Network】 ⭐⭐⭐
電波による無線通信により複数の機器間でデータの送受信を行なう構内ネットワークのこと。狭義にはIEEE 802.11規格に準拠した方式を指し、「Wi-Fi」(ワイファイ)の愛称で親しまれる。
LAN(Local Area Network)は室内や建物内、あるいはそれに準じる屋外の比較的狭い範囲内の機器を相互に接続するコンピュータネットワークで、機器間を通信ケーブルで繋いで電気信号や光信号を伝送するものを「有線LAN」(wired LAN)、直接繋がっていない機器間で電波などをやり取りするものを無線LANという。
通信ケーブルの取り回しがないことが最大のメリットで、同世代の技術や製品で比較すると有線LANに比べ通信速度や安定性、機密性などで劣ることが多いが、オフィスや家庭での日常的なネットワーク利用には十分な性能があるため、急速に普及が進んでいる。
単に無線LANと言えばほとんどの場合にIEEE 802.11シリーズの標準規格に準拠した機器で構成されるネットワークを指し、業界団体の推進する「Wi-Fi」の名称で普及している。広義にはBluetoothやZigBeeなど他方式によるネットワークを含むが、これらはWi-Fiよりも狭い範囲の通信が主な用途であるため無線PAN(Wireless Personal Area Network)と呼ばれることもある。
一方、同じ無線通信網でも通信事業者などが運用する広域的なネットワークは無線WAN(Wide Area Network)という。携帯電話網やそれを応用した移動体データ通信網などが該当する。スマートフォンは無線LANと無線WANの両方に対応しているのが一般的で、環境に応じて切り替えたり、両ネットワーク間を中継(テザリング/モバイルルータ)することができる。
Wi-Fi ⭐⭐
電波を用いた無線通信により近くにある機器間を相互に接続し、構内ネットワーク(LAN)を構築する技術。本来は無線LAN規格のIEEE 802.11シリーズの認証プログラムの名称だが、「無線LAN」の同義語のように扱われることが多い。
LAN(Local Area Network)は室内や建物内、あるいは屋外でそれに準じる数十メートル程度までの比較的狭い範囲内の機器を相互に接続するコンピュータネットワークで、屋内のコンピュータとインターネットの接続、オフィス内のコンピュータ間の接続、家庭内のデジタル機器間の接続などで広く普及している。
従来は集線装置を介して各機器を通信ケーブルで接続するイーサネット(Ethernet)などの有線LANが主流だったが、同じ機能を無線通信で実現する無縁LANが登場し、ケーブルを取り回す必要のない手軽さから広く受け入れられた。また、スマートフォンやタブレット端末など携帯型の情報機器のネットワーク接続手段の一つとしても標準的に用いられている。
無線LANの標準規格としてIEEE 802.11および後継の諸規格が発行されているが、機器の相互運用性を確保・保証するため、業界団体の「Wi-Fi Alliance」が接続試験を行い、認定された機器に「Wi-Fi」ブランドの利用を許可している。「Wi-Fi CERTIFIED」マークのある機器はメーカーが異なっても相互に通信することができる。
接続形態
<$Img:Wi-Fi-Access-Point.png|right|>Wi-Fiの通信は「アクセスポイント」(AP:Access Point)と呼ばれる据え置き型の中継装置を中心に各機器が接続され、機器間の通信はAPを介して行う接続形態が一般的となっている。これを「インフラストラクチャーモード」という。
無線はケーブル接続と異なり送受信対象を物理的に指定したり制限することが難しいため、周囲の機器は各APに設定されたSSIDと呼ばれる固有の識別名を用いてAPを識別する。利用者は近隣にあるAPのSSIDの一覧の中から適切なものを選択して(あるいはSSIDを直接入力・指定して)接続を申請する。
また、APが無くても少数の機器(通常は二台)間であれば相対で通信することができる「アドホックモード」および、改良版の「Wi-Fi Direct」も用意されており、携帯機器と周辺機器の接続などで用いられることがある。
屋内設置用のAPはWi-Fi通信機能の他にイーサネットケーブルの差込口(ポート)を持っているものもあり、インターネットなどに有線で接続することができる。APにルータ機能を統合した「Wi-Fiルータ」もあり、家庭用やモバイル回線中継用(モバイルルータ)としてよく用いられる。
伝送規格
<$Fig:wi-fi|right|true>無線によるデータ伝送の方式を規定した伝送規格には、標準化団体IEEEの802.11委員会が策定した規格が用いられている。これまで数年おきにより高速な新しい規格が発表されてきた。
1997年に発表された最初のIEEE 802.11標準は、2.4GHz(ギガヘルツ)帯の電波で2Mbps(メガビット毎秒)をデータ通信が可能だったが、本格的な普及が始まったのは1999年に発表されたIEEE 802.11a(5GHz/54Mbps)およびIEEE 802.11b(2.4GHz/11Mbps)からである。
2003年にはIEEE 802.11g(2.4GHz/54Mbps)、2009年にはIEEE 802.11n(2.4および5GHz/600Mbps)、2014年にはIEEE 802.11ac(5GHz/6.93Gbps)、2019年にはIEEE 802.11ax(2.4および5GHz/9.6Gbps)が策定され、近年は急激に通信速度が向上している。
実際の機器はこれらのうち前後数世代に対応しているものが主流で、製品パッケージの「Wi-Fi CERTIFIED」ロゴに「a/b」「b/g」「a/b/g/n」のように対応規格が記載されている。「ac」規格からは番号が導入され、「ac」が「Wi-Fi 5」、一世代前の「n」が「Wi-Fi 4」、一世代後の「ax」が「Wi-Fi 6」などとなっている。
セキュリティ
<$Img:Wi-Fi-Security.png|right|>機器や回線に物理的に接触する必要がある有線通信と異なり、無線では電波が壁を透過するなどして利用場所の外にまで広がり、それを誰が受信しているか直接知る手段は無いため、一般的な使用法でも傍受や不正接続への備えが不可欠となる。
Wi-Fiでは利用者の認証や通信の暗号化についての技術仕様として「WPA」(Wi-Fi Protected Access)および後継の「WPA2」「WPA3」を定めており、多くの機器が標準で対応している。家庭など小規模環境向けの「WPA-Personal」と、企業や学校など大規模環境向けの「WPA-Enterprise」がある。
接続時の認証方式としては、事前にAPと機器の間で同じパスフレーズ(長いパスワード)を設定して照合する「WPA-PSK」(Pre-Shared Key)方式がよく用いられるが、WPA-EnterpriseではIEEE 802.1X標準に基づくRADIUS認証サーバを利用する方式なども選択できる。通信の暗号化には共通鍵暗号の有力な標準規格である「AES」(Advanced Encryption Standard)を採用し、一定の通信量ごとに暗号鍵を切り替えるなどして盗聴を防止する。
「無線LAN」と「Wi-Fi」
一般に利用されている無線LANのほとんどはWi-Fiだが、本来「無線LAN」とは無線通信を用いて構築されたLANの総称であり、Wi-Fi以外にもBluetoothやZigBeeなど他方式により構築されたネットワークも形式的には含まれると考えることもできる。
また、本来「Wi-Fi」は無線LAN機器がIEEE 802.11シリーズ規格に準拠していることを示すブランド名で、Wi-Fi Allianceの登録商標だが、一般には「無線LAN」「IEEE 802.11シリーズ規格」「Wi-Fi」はほとんど同義語のように捉えられている。
なお、IEEE 802.11シリーズの仕様を採用していてもWi-Fi Allianceによる認定を受けていない機器もあり、規格の完全な準拠や他メーカー製品との相互接続などは保証されない。著名な例では任天堂の携帯ゲーム機「ニンテンドーDS」などが知られる。
アクセスポイント 【AP】 ⭐⭐
通信ネットワークの末端でコンピュータなどからの接続要求を受け付け、ネットワークへの通信を仲介する施設や機器のこと。現代では無線LANの中継機器を指すことが多い。
無線LANアクセスポイント
無線LAN(Wi-Fi)を構成する機器の一種で、ネットワーク内の機器間の通信を中継したり、有線ネットワークや有線通信の機器へ接続するための装置を無線LANアクセスポイント(無線アクセスポイント/Wi-Fiアクセスポイント)という。現代では単にアクセスポイントといった場合はこれを指すことが多い。
Wi-Fiの通常の通信モードでは、ネットワーク内の各機器はアクセスポイントと一対一で通信し、他の機器への通信はアクセスポイントが中継・転送する形で行われる。また、アクセスポイントにはイーサネット(Ethernet)や光ファイバーなどの通信ケーブルの接続口があり、これを通じて他のネットワークやインターネットなどに通信を中継することができる。
通信サービスのアクセスポイント
通信サービス事業者などが運用する施設や設備で、契約者が公衆回線などを通じて事業者のネットワークへ接続するための中継拠点のことをアクセスポイントという。00年代前半頃まではアクセスポイントといえばこれを指していた。
特に、インターネットサービスプロバイダ(ISP)やパソコン通信ネットワークに電話回線やISDN回線を通じてダイヤルアップ接続を行なう際、ダイヤル先の通信拠点のことをこのように呼んだ。
アクセスポイントにはパソコン通信のホストコンピュータやインターネットと常時接続された回線が用意されており、利用者からの接続を受け付けて通信サービスを提供する窓口となっていた。常時接続が一般的になった今日では利用者が機器に最寄りのアクセスポイントの設定などをする必要がなくなり、意識されることもなくなった。
VPN 【Virtual Private Network】 ⭐
通信事業者の公衆回線を経由して構築された仮想的な組織内ネットワーク。また、そのようなネットワークを構築できる通信サービス。企業内ネットワークの拠点間接続などに使われ、あたかも自社ネットワーク内部の通信のように遠隔地の拠点との通信が行える。
古くは電話回線(音声通話サービス)で提供されていたもので、全国に拠点を持つ大企業の内線電話などを公衆網を中継して接続するサービスだった。最近ではもっぱらデータ通信の拠点間接続サービスのことを指し、企業内LANを通信キャリアの持つバックボーンネットワークを通じて相互に接続するサービスをいう。
かつては各拠点の間に専用線を導入して直接通信していたが、キャリアのバックボーンに「相乗り」することにより低コストで拠点間接続が可能となる。バックボーンでは様々な企業のデータが混在して流れることになるが、データは認証や暗号化で厳重に保護・管理されるため、混信や漏洩、盗聴などの危険性は低い。
最近ではバックボーンにインターネットを利用する「インターネットVPN」も登場しており、通常のVPNサービスよりもさらに低コストでの利用が可能だが、インターネットの特性上、セキュリティや通信品質の確保はキャリアの通信網を利用するよりも難しくなる。
VPNルータ (VPN router)
インターネットなどの通信の中継を行うルータ製品の分類の一つで、VPN(Virtual Private Network:仮想専用ネットワーク)構築のための機能を持ったもののこと。
IPネットワーク上で経路選択やパケットの中継・転送を行う通常のルータとしての機能の他にVPNゲートウェイとしての機能を持ち、ネットワークを介して他のVPN機器との間で暗号化された専用の通信路を形成することができる。
プライベートネットワークとインターネットなどの広域通信網の境界に設置すれば、遠隔にある他のネットワークとの間でVPNを構築することができる。製品により対応している暗号化プロトコルなどに違いがあり、同じプロトコルに対応しているもの同士の間でしかVPNを構築することはできない。
IEEE 【Institute of Electrical and Electronic Engineers】 ⭐
電気・電子分野における世界最大の専門化組織。主に工学分野における学会としての活動と、工業技術の標準化団体としての活動を行っている。アメリカで設立された団体だが、世界160か国に40万人を数える会員の過半数は米国外におり、各国に支部を置いて活動する国際的な非営利組織である。
分野ごとに39の分科会(ソサエティと呼ばれる)に分かれ、各分野における論文誌の出版や国際会議の開催、教育活動などを行っている。分野によっては表彰制度があり、毎年大きな功績を挙げた研究者を選定し賞を授与している。
標準化部門の「IEEE-SA」(Standards Association)では分野ごとに専門化委員会を設置し、技術標準の策定・勧告を行っている。電気・電子分野を中心に世界的に最も有力な標準化団体の一つであり、「IEEE 802.11」「IEEE 1394」のようにIEEEで始まる規格名で広く知られる。
歴史
IEEEは1963年にAIEE(American Institute of Electrical Engineers:米国電気学会)とIRE(Institute of Radio Engineers:無線学会)が合併して発足した。初期には前身団体の流れを汲んで電気、電子、通信、無線、半導体、コンピュータなどの分野での活動が中心だった。
近年では周辺領域にも活動分野を広げ、航空・宇宙工学、医療・生体工学、核・プラズマ科学、電力・エネルギー、フォトニクス、安全工学、信頼性工学、海洋工学、ロボティクス・自動化、車両技術などの分科会が置かれている。
日本では1988年にIEEE Computer Society内の組織として東京にIEEEジャパン・オフィスが置かれ、2010年に日本におけるIEEEの活動全般を統括する組織に衣替えした。日本では約13000人が会員となっている。
インターネット 【Internet】 ⭐⭐⭐
共通の通信仕様を用いて全世界の膨大な数のコンピュータや通信機器を相互に繋いだ、巨大なコンピュータネットワーク。
通信規約(プロトコル)の「IP」(Internet Protocol)と関連技術を用いて、様々な組織の運用するネットワークや機器を互いに接続した地球規模のネットワークシステムである。個人や企業、公的機関など様々な主体が利用する、国の枠を超えた人類共通の通信インフラ・情報インフラとして広く普及している。
機能
インターネット上では様々な機能、サービス、システムが構築、提供されている。膨大な文書を相互に関連付けたWeb(ウェブ)や、手紙のように利用者間でメッセージを送受信できる電子メール(e-mail)、利用者間の交流を促進するSNS、テレビのように映像を流す動画配信サービスなどはその一例である。
今日ではインターネットにおける情報やサービスの多くはWebを通じて提供されるため、日常的にはWebのことを指してインターネットあるいはネットと呼ぶことも多いが、厳密にはWebはインターネット上の機能・サービスの一つに過ぎない。モバイルアプリのようにソフトウェアやサービスの運用基盤としてインターネットが用いられることも多く、人々は意識せずに様々な場面でインターネットの恩恵を受けている。
構成・運用
インターネット全体を管理・運営する単一の主体というものはなく、様々な組織の運営するネットワークが相互に接続された分散型のネットワークとなっている。ただし、IPアドレスやドメイン名、ポート番号、通信プロトコルの仕様など、インターネット全体で共有される識別情報や技術規格などについては、管理・統括する国際的な民間非営利団体(ICANN、IETF、W3Cなど)が存在する。
組織内の構内ネットワーク(LAN)などをインターネットに接続するには、すでにインターネットに参加しているネットワークへ接続する必要がある。通信事業者の光ファイバー回線などを敷設・契約して、通信事業者自身や他の主体(企業や官公庁、大学など)が運営する既存のネットワークへ接続する。
個人や家庭などでインターネットを利用するには、接続を仲介する専門の事業者「インターネットサービスプロバイダ」(ISP:Internet Service Provider)と契約し、通信会社の回線を経由して接続することが多い。モバイル回線では移動体通信事業者(携帯キャリア)がISPの機能も兼ねており、回線が開通すればすぐに端末からインターネットに接続できる。
歴史
インターネットの起源は1969年に米国防総省が中心となってアメリカの大学や研究所などを通信回線で相互に結んだ「ARPANET」とされ、学術機関を結ぶ情報ネットワークとして発展した。1986年に大学間の相互接続ネットワークは全米科学財団が主催する「NSFNet」に移り、初期のインターネットのバックボーンネットワークとなった。
1989年に米国でNSFNetと民間事業者ネットワークの相互接続が始まり、商用インターネット利用が開始された。日本では1984年の「JUNET」が起源となって大学や研究機関からNSFNetに接続できるようになり、1992年に当時のAT&T JensとIIJが一般向けISP事業を開始した。
当初は電話回線でISPの通信拠点(アクセスポイント)に接続し、データを電話の音声信号に変換して送受信する「ダイヤルアップ接続」が用いられたが、1999年には電話回線に音声と異なる周波数でデジタル信号を流す「ADSL」方式で常時接続サービスが開始され、2000年代以降は光ファイバー回線に置き換わっていった。
日本で広く一般にインターネットが認知され普及し始めたのはWindows 95が発売された1995年頃で、WindowsパソコンやMacintosh(現在のMac)でWeb(当時はWWW:World Wide Webと呼ばれた)を閲覧したり電子メールを送受信するという使い方が主流だった。
同時期に携帯電話の爆発的な普及が始まり、1990年代末には携帯電話端末からのインターネット電子メールの送受信、NTTドコモの「iモード」などネット技術を利用した情報サービスなどが普及した。2007年に「iPhone」「Android」が登場するとスマートフォンやタブレット端末が普及し、個人のネット利用の主流はパソコンからこれらの携帯端末に移っていった。
ISP 【Internet Services Provider】 ⭐⭐⭐
公衆通信回線などを経由して契約者にインターネットへの接続を提供する事業者。インターネットを利用するには物理的な通信回線とは別に契約を結ぶ必要があるが、一部の通信サービスでは回線事業者が兼ねている場合もある。
大容量の通信回線でインターネットに接続された拠点施設を運用しており、サービス地域内の個人・法人と契約を結んでインターネットへの接続を請け負う。顧客との間の通信には通信会社が敷設・運用する光ファイバー回線や無線基地局などを利用する。
通信会社系や電機メーカー系などの全国をカバーする大手事業者と、特定の地域でのみ営業している地域系ISP(専業の小規模事業者やケーブルテレビ局、電力系通信会社など)がある。サービス提供は有償の場合がほとんどであり、月額固定料金制を採用している事業者が多い。
回線事業者との役割分担
ISP専業の事業者の場合、加入者宅への接続回線(アクセス回線)にはNTT東日本・西日本の「フレッツ」光ファイバー回線など、通信会社の通信サービスを利用する。契約者は通信会社との回線契約とISPとのインターネット接続契約をそれぞれ別に結ぶ必要がある。
これに対し、携帯電話事業者(移動体通信事業者)やケーブルテレビ事業者のように、回線事業者とISPを兼ね、音声通話(電話)や映像配信などと組み合わせた総合的な通信サービスの一環としてインターネット接続を提供している事業者もある。
付加サービス
多くのISP事業者は接続サービス以外にも会員向けに様々な付加サービスを提供している。例えば、専用の電子メールアドレス、Webサイトを開設できるサーバ上の専用スペース、コンピュータウイルスや迷惑メールの防除、映像や音楽などの配信サービス、オンライン決済サービス、ドメイン名の登録受付、法人向けの拠点間接続(VPN)、パソコンの接続設定などの出張代行サービス、独自のポータルサイトなどである。
こうした付加サービスには、電子メールのように接続サービスとセットで契約者全員に提供されるものと、申込制で追加料金を徴収するものがある。ポータルサイトなどはインターネットを通じて会員以外にも開放している事業者が多い。
ブロードバンド 【BB】
通信に用いる電気信号や電波、光信号などの周波数の幅(帯域幅)が相対的により広いこと。転じて、そのような広い周波数帯域を利用した、より高速・大容量な通信回線や通信方式のこと。通常はもっぱら後者の意味で用いられる。
インターネットが一般に普及し始めた1990年代末頃、それまでのアナログ電話回線(~56kbps)、ISDN(~128kbps)、第2世代携帯電話(~9600bps)等の低速な通信回線と区別して、普及し始めたより高速な通信環境を指す用語として広まった。
日本では概ね500kbps程度かそれ以上の通信速度を持つ方式を指すことが多く、ADSLなどのxDSLや、CATVインターネット、光ファイバー回線(FTTH)、3G(W-CDMA/CDMA2000)、4G(LTE/LTE-Advanced)以降の携帯電話および移動体データ通信、無線LAN(Wi-Fi)などが該当する。
ブロードバンド回線は旧来の方式に比べ通信容量が大きいというだけでなく、明示的に回線の接続や切断を指示しなくても常時接続しておける点や様々な通信サービスの多重化が可能といった特徴もある。
これを活用して、音声をデータ化して送受信するIP電話(ケーブルテレフォニ、光IP電話、VoLTE等)や、放送信号の伝送による多チャンネルテレビ視聴などのサービスが提供されており、インターネット接続に限らず通話や放送などを統合した総合情報インフラとして普及している。
2010年代になると日本を含む先進国で従来方式がほぼ姿を消し、高速・常時接続のデータ通信に適した回線が広まったため、高速回線を区別する必要性が薄くなりブロードバンドという用語は以前ほど使われなくなった。
また、平均的な通信速度の向上に伴って、1.5Mbpsといった初期のADSL方式などを除外した定義を用いる国・機関も現れている(米連邦通信委員会など)。OECD(経済協力開発機構)の国際的な統計では下り(加入者側へダウンロード)256kbps以上という基準を採用している。
ナローバンド (狭帯域)
電波や電気信号、光信号などの周波数の帯域幅が相対的に狭いことをナローバンド(narrowband)という。また、そのような限られた帯域を利用した低速な通信回線や通信環境を指すこともあり、一般的にはこちらの用法が多い。
概ね128kbps程度までの低速な回線を指し、20世紀まで一般的だった、アナログ電話回線やISDN(INSネット)、第2世代までの携帯電話、PHS、一部のデジタル専用線やパケット交換サービスなどが含まれる。
新たに登場した500kbps以上の高速回線と対比する文脈で用いられる用語で、ブロードバンド普及の初期には、相対的に低速という特徴以外に、普及率が高く安価で利用でき、機器の構造が単純といった特性もあった。
光ファイバー 【光ケーブル】
ガラスや透明なプラスチックなどを細長く加工したものを被覆で覆った構造の線材。光を離れた場所に伝送することができ、通信や照明などに用いられる。
光の伝送路となる「コア」(core)と呼ばれる芯線の周りを、同じ素材だが屈折率の異なる「クラッド」(clad)で囲み、これを柔らかい樹脂などでできた不透明な被覆で覆った構造となっている。一方の端からコアに入射した光はクラッドとの境界で屈折や全反射を繰り返し、端から端までほとんど失われることなく通過することができる。
光ファイバーケーブル
光ファイバーは主にデータ通信に用いられ、光ファイバーを用いた通信ケーブルのことを「光ケーブル」(optical cable)と呼ぶこともある。銅線(メタル線)に電気信号を通すメタルケーブルに比べ、極めて高速な通信が可能であり、電磁的なノイズの影響を受けず、長距離を安定的に伝送することができる。被覆が薄く径が細いため、多くのケーブルを束ねて高密度化することができる。
一方、ケーブルが折り曲げに弱く配線や取り回しに制約があり、コンピュータなどと接続する際には電気信号と光信号の相互変換が必要なため装置の小型化や低コスト化が難しい。また、電気信号は金属同士を接触させれば流れるが、光信号を乱さずに流すためケーブル間の接続機構が複雑・精密となっており取り扱いが難しい。
光ファイバーの種類
通信用の光ファイバーケーブルとしては主に石英ガラスを利用した「ガラス光ファイバー」(Glass Optical Fiber)と、透明なプラスチックを利用した「プラスチック光ファイバー」(POF:Plastic Optical Fiber)が用いられる。一般にガラス製の方が伝送損失が少なく接続しやすいが、高価で曲げに弱く重い。
別の分類として、コアが細く、入射した光線が単一の伝播経路(モード)で伝わるものを「シングルモード光ファイバー」(SMF:Single Mode Fiber)、コアが太く、複数の経路に分散して伝わるものを「マルチモード光ファイバー」(MMF:Multi-Mode Fiber)という。前者の方が曲げに弱く高価だが伝送損失が少ない。
通信以外の用途
光ファイバーは通信だけでなくイルミネーションや照明などに用いられることもある。装飾用の光ファイバーは見た目の綺麗さのため被覆で覆わず側面からも光が漏れるようになっていることが多い。
また、光ファイバーを通じて一方の端から入射した像を反対側で映し出し、直接見ることのできないところに差し込んで観察する装置を「ファイバースコープ」(fiberscope)と呼び、医療用の内視鏡や工業用の検査装置などとして用いられる。
クラウドサービス ⭐
従来は手元のコンピュータに導入して利用していたようなソフトウェアやデータ、あるいはそれらを提供するための技術基盤(サーバなど)を、インターネットなどのネットワークを通じて必要に応じて利用者に提供するサービス。
機材やソフトウェア、処理性能、記憶領域、ファイル、データなど何らかの計算資源をインターネットなどの通信ネットワークを通じて提供し、利用者がいつでもどこからでも必要なときに必要なだけ資源にアクセスできるようなサービスの総称として用いられる。
どのような資源をサービス化したものかによって大きく3つに分類される。「SaaS」(Software as a Service)あるいは「ASPサービス」(Application Service Provider)は特定の機能を提供するアプリケーションソフトをサービス化したもので、利用者はWebブラウザなどを通じて事業者のサーバにアクセスし、その機能やデータを利用する。
「PaaS」(Platform as a Service)はソフトウェアの実行基盤であるオペレーティングシステム(OS)や言語処理系が導入済みのサーバ環境をサービス化したもので、契約者は自らが必要なソフトウェアを導入し、ネットワークを通じてその機能を利用する。
「IaaS」(Infrastructure as a Service)または「HaaS」(Hardware as a Service)は情報システムの運用基盤となるコンピュータ自体や通信回線などをサービス化したもので、契約者はOSやアプリケーションなど必要なソフトウェアやデータを導入して運用する。
いずれの場合も利用者はパソコンやスマートフォンなど最低限の操作環境(クライアント)さえあれば基本的な機能を利用することができ、ハードウェアやソフトウェア、データなどの資源を固定的に所有したり持ち歩いたりする必要がない。利用者に属するデータや情報も事業者側のコンピュータに保存されるため、使用環境(場所や端末など)が変わっても自らの資格情報(アカウント)を入力することで同じように利用できる。
かかるコストも従来のような個々の資産の購入代金ではなく、利用期間や使用量に応じた都度課金や月額課金などサービス利用料の形となる。個人向けのサービスでは基本的な機能が無料で提供され、追加の機能や記憶容量などにのみ課金される方式も多い。
ブロックチェーン ⭐
一定の形式や内容のデータの塊を改竄困難な形で時系列に連結していく技術。内容が随時追加されていくデータ群を複数の独立した対等な主体の間で安全に共有することができる。仮想通貨(暗号通貨/暗号資産)の開発を通じて誕生し、他の用途へも応用されている。
ブロックチェーンを用いて記録されたデータはインターネットなどを通じて参加者間で複製、共有されるが、途中の一部を改竄しても全体を整合性のある状態にすることは困難な性質があり、特定の管理者や管理システムが存在しなくても真正なデータを共有することができる。
この性質を応用し、ネットワークに参加する二者間の取引を記録した台帳データを参加者間で共有しつつ、取引の発生に応じて追記していく分散型台帳を実現することができる。この台帳によって値の移動を追跡、検証可能な方法で記録したものを一種の通貨として利用する試みを暗号通貨という。
ハッシュ値とPoW(Proof of Work)
各ブロックには記録されるデータと共に、一つ前のブロックのデータから算出したハッシュ値が添付される。ハッシュ値はデータの長さによらず固定長の短いデータで、元になるデータが少しでも変化すると規則性なくまったく異なる値になるという性質がある。
これにより、チェーンの途中にあるブロックの内容を改変すると、次のブロックに記録されたハッシュ値と一致しなくなる。これを整合するように改変しても、今度はその次のブロックのハッシュ値と一致しなくなるため、後続のすべてのブロックを連結し直さなければならない。
単にハッシュ計算をやり直して連結し直すだけならばデータ量によってはすぐにできる場合もあるが、多くのブロックチェーン技術ではハッシュ値が特定の条件を満たすようブロックに短いデータ(nonce:ナンスという)を追加する。適切なナンス値を発見するには多数の候補値を用意して条件を満たすまで何度も繰り返しハッシュ値を算出し直す膨大な総当り計算が必要となる。
あるブロックのハッシュ値が条件を満たすことができるナンス値が発見されると、ようやくブロックを閉じて連結することができる。この工程を「PoW」(Proof of Work)と呼び、ビットコインなどのシステムではナンス値を算出した利用者に報酬として新たに暗号通貨を発行する仕組みになっている(コインのマイニングと呼ばれる)。
算出に時間がかかるナンス値が各ブロック毎に用意されていることにより、攻撃者が途中のブロックを改竄しても、後続のすべてのブロックのナンス値の割り出しをやり直さなければ正しいチェーンを得ることができず、改竄を極めて困難にすることができる。システムによってはPoWの代わりにPoS(Proof of State)など別の仕組みを用いる場合もある。
歴史
2008年に「Satoshi Nakamoto」(サトシ・ナカモト)という日本人風の名を名乗る匿名の人物(身元が分からず個人なのか集団や機関なのかも不明)が暗号通貨ネットワークの「ビットコイン」(Bitcoin)を立ち上げ、同時に公開された論文の中でその原理をブロックチェーンの語で紹介したのが最初である。
その後、ビットコインを模した暗号通貨が数多く作られ、インターネット上の交換所を通じて現金との間で、あるいは暗号通貨間で活発に取引が行われている。現在は主に投資用の資産として売買されており、通貨としての機能、すなわちモノやサービスの売買の決済、支払い手段としてはほとんど普及していない。
台帳に取引記録以外の情報を載せることで様々な仕組みを構築することもでき、ある種のプログラムを搭載して条件に応じて自動的に実行する「スマートコントラクト」などが提唱されている。2015年頃からブロックチェーンを金融取引などへ適用する試験的な取り組みなどが活発になっているが、今のところ暗号通貨のように既存の技術や制度では実現できない、あるいは決定的に優位性のある用途は見つかっていない。
P2P 【Peer to Peer】 ⭐⭐
ネットワーク上で機器間が接続・通信する方式の一つで、機能に違いのない端末同士が対等な関係で直に接続し、互いの持つデータや機能を利用しあう方式。また、そのような方式を用いるシステムやソフトウェアなどのこと。
一般的なネットワークシステムでは、データや機能の提供側と利用側に役割が分割されたクライアントサーバ方式がよく用いられる。利用者が操作するクライアントからの要求に基づいてサーバがデータや機能を提供する形態で、実装や運用が容易なため広く普及している。
P2P方式はこれと対比され、クライアントやサーバといった役割の違いがなく、同等の機能が実装されたソフトウェア同士が接続を結び、互いにデータや機能を提供し合う。三台以上の端末が互いに通信する場合、これをP2Pネットワークという。
通信や処理が特定のサーバに集中するクライアントサーバ方式に比べ、拡張性(スケーラビリティ)や耐障害性が高く、低コストで運用できる。また、用途や実装方式によっては通信の匿名性を高める効果が期待できる場合もある。
ただし、一元的なデータや状態の記録や管理が必要な用途には向かず、性能の安定性や処理の確実性、データの真正性なども期待しにくい。適用可能な用途であってもシステムの実装は困難で、システム全体の制御や動作確認、セキュリティの確保なども容易ではない。
ピュアP2PとハイブリッドP2P
すべての端末の機能や役割が完全に同一な、本来の意味でのP2Pシステムのことを特に「ピュアP2P」(pure P2P)ということがある。同じソフトウェアを導入したコンピュータが複数集まれば利用できるため運用しやすいが、すべての情報が各端末に分散しているため通信効率は低い。
一方、一部の端末にデータの所在や端末の接続状態などの情報を集め、データや端末を効率的に探索・接続できるようにした方式を「ハイブリッドP2P」(hybrid P2P)という。ある種のサーバに情報を集中して通信効率を高めた方式で、運用のためには性能や回線容量の大きなサーバ用の端末を誰かが常に用意しなければならない。
歴史
2000年代初頭に、不特定多数の利用者がインターネット上でパソコン上のファイルを共有・交換できるP2P方式のソフトウェアが多数登場し、P2Pという用語及び概念が浸透した。そうしたファイル共有ソフトを指して「P2Pソフト」と呼ぶこともあった。
電話のようにメッセージを交換する通信方式としても用いられ、一部のIP電話システムやメッセンジャーなどは利用者間の接続の仲介(呼び出し)を中央サーバが行い、メッセージの交換自体はP2P方式で行うハイブリッドP2Pとして実装されている。
音声や動画などの大容量のデータを多数の利用者に効率よく配信する通信方式としても期待され、端末間でバケツリレー式にデータを運んでいく放送型の動画・音声配信サービスなども登場した。
2010年代になると、台帳などの記録情報を不特定多数の端末間で改ざん不可能な状態で交換・共有するブロックチェーン技術が発明され、仮想通貨(暗号通貨)の技術的な基盤としてP2P方式が再び注目を集めるようになった。
ARPANET 【Advanced Research Projects Agency Network】 ⭐
1969年に米国防総省の高等研究計画局(ARPA、現在のDARPA)が導入したコンピュータネットワーク。各地に分散した大型コンピュータ同士を通信回線で相互接続したもので、後のインターネットの原型となった。
当初は米国内の4つの大学や研究機関(カルフォルニア大学ロサンゼルス校、スタンフォード研究所、カルフォルニア大学サンタバーバラ校、ユタ大学)を繋いで開通し、その後徐々に接続拠点を増やしていった。
データを一定の長さに区切って制御情報を付してそれぞれ独立に伝送するパケット通信方式や、異なるネットワークを共通のアドレス体系や通信方式で結び、拠点間・機器間でバケツリレー式に転送を繰り返して宛先まで届ける仕組み(IPやルーティングに相当)、データの受信確認や再送制御により伝送の確実性を確保するコネクションの仕組み(TCPに相当)など、現在では当たり前に利用されている多くの技術の開発や実装、検証に用いられた。
1983年に米軍関係機関のネットワークがMILNETとして分離され、1986年には全米科学財団(NSF)が学術機関向けにNSFNETを開設、大学や研究機関などはそちらに移っていった。ARPANETからは徐々に接続拠点数が減っていき、1990年に正式に廃止された。
目的を巡る議論
ARPANETの目的について、「主要拠点が核攻撃を受けても全体が停止しない堅牢な分散型通信ネットワークを米軍が必要としていた」とする説明がよく行われるが、当時の関係者の多くは、当時の限られた大型コンピュータを地理的に離れた研究者も利用できるようにするためで核戦争に備える目的は無かったと証言している。
このような誤解が生まれたのは、当時のARPAの上級管理者の中に同趣旨の説明をする者がいたことや、ARPANETプロジェクトの直前に米軍事系シンクタンクのランド研究所がこの目的で研究を行い、ARPANETに似たパケット通信による分散ネットワークを提唱していたためとされる(ARPANET関係者は同プロジェクトとの関連を否定している)。
DARPA (ARPA)
<$Img:DARPA.jpg|right|DARPAロゴ>DARPA(Defence Advanced Research Projects Agency/国防高等研究計画局)は米連邦政府機関の一つで、国防総省の傘下で軍事技術や軍事に役立つ可能性のある科学技術の研究・開発を行う機関である。
自前の研究施設などは持たず、大学や企業、研究機関などへの委託や助成、研究プロジェクトの公募、先端技術を応用した競技会の開催などが主な事業となる。陸海空軍、海兵隊など軍そのものからは独立しており、各軍の利害や戦略などに囚われず軍事転用可能な先端的な科学技術の研究・開発を推進している。
IT分野では、現在のインターネットの原型となる広域的なパケット通信ネットワークであるARPANETでよく知られ、その名残りはネットワーク制御用データの交換に用いられる「.arpa」ドメインなどに残っている。
1958年に設立された際の名称は「ARPA」(Advanced Research Projects Agency、アーパ)だったが、1972年にDARPA(ダーパ)に改称、1993年にARPAに戻り、1996年に再びDARPAに改称され現在に至る。
TCP/IP 【Transmission Control Protocol/Internet Protocol】 ⭐⭐⭐
インターネットなどで標準的に用いられる通信プロトコル(通信手順)で、TCP(Transmission Control Protocol)とIP(Internet Protocol)を組み合わせたもの。また、TCPとIPを含む、インターネット標準のプロトコル群全体の総称。
IPは複数のネットワークを繋ぎ合わせて同じ識別番号の体系(IPアドレス)により相互に通信可能にするプロトコルで、これを用いて世界的に様々な組織の管理するネットワークを相互接続してできたオープンなネットワークを「インターネット」(Internet)と呼んでいる。
プロトコル階層
IPではプロトコル群を役割に応じて階層化して整理しており、下位プロトコルのデータ送受信単位(パケットやフレーム、データグラムなど)の中に上位プロトコルの送受信単位を入れ子状に埋め込んで運ぶ仕組み(カプセル化という)になっている。
例えば、HTTPメッセージはTCPセグメントに格納されて運搬され、TCPセグメントはIPデータグラムに格納されて運搬され、IPデータグラムはイーサネットフレームやPPPフレームなどに格納されて運搬される。上位プロトコルは下位プロトコルに運搬を依頼するだけでよく、下層で何が起きているか詳細を知る必要がない。
階層は物理的な装置や回線に近い側からリンク層、インターネット層、トランスポート層、アプリケーション層となっており、IPはインターネット層、TCPはトランスポート層のプロトコルである。リンク層はIPの関連規格群では規定せず、イーサネットやWi-Fiなど各機器が対応している通信手段を利用する。
アプリケーション層は用途やシステムの種類ごとに多種多様なプロトコルが定義されている。例えば、Webコンテンツの伝送にはHTTP(Hypertext Transfer Protocol)、電子メールの送受信にはSMTP(Simple Mail Transfer Protocol)やPOP3(Post Office Protocol)、IMAP4(Internet Mail Access Protocol)などが用いられる。
総称としての「TCP/IP」
IPネットワーク上ではIPと組み合わせてTCPではなくUDP(User Datagram Protocol)や他のプロトコルを用いることもあるが、「TCP/IP」という呼称はTCPとそれ以外を区別するという意味合いは薄く(UDPを使う場合を「UDP/IP」とはあまり呼ばない)、「IPを中心とする標準的な通信プロトコルの総称」を表すことが多い。
歴史的な経緯からそのような意味合いが定着しているが、今日ではそのような総称的な意味は「インターネットプロトコルスイート」(Internet Protocol Suite)のような用語で表すか、「IP接続」「IPネットワーク」のように単に「IP」一語で代表させるようになってきている。
IP 【Internet Protocol】 ⭐⭐
複数の通信ネットワークを相互に接続し、データを中継・伝送して一つの大きなネットワークにすることができる通信規約(プロトコル)の一つ。IPによって接続された世界規模の巨大なコンピュータネットワークをインターネット(the Internet)という。
IPアドレス
IPではネットワークに接続された個々のネットワークやホスト(機器)に固有の識別番号である「IPアドレス」(IP address)を割り当て、これを宛先や送信元に指定して通信を行う。現在普及しているIPv4(IP version 4)では32ビットのアドレスが用いられ、最大で約42億台の機器が同じネットワークに参加できる。
同じネットワーク上ではアドレスに重複があってはならないため、インターネットで用いられるグローバルIPアドレスについては管理団体が申請に基づいて発行する形を取っている。これとは別に組織内ネットワークのみで使用されるプライベートIPアドレス(ローカルIPアドレス)用のアドレス領域が定められており、構内ネットワーク(LAN)などで自由に使うことができる。
IPデータグラム
IPで送受信するデータは一定の大きさに分割され、先頭に宛先アドレスや送信元アドレスなどの制御情報(IPヘッダと呼ばれる)を付加した「IPデータグラム」(IP datagram)と呼ばれる送受信単位で伝送される。このような伝送方式をパケット交換方式という。
IPデータグラム内の運ぶべきデータの部分(ペイロード)には通常、他の通信プロトコルのパケットなどが埋め込まれ、異なる種類や目的のデータをIPにより一つの機器や回線に混載して運ぶことができる。パケットは何段階も入れ子構造に埋め込むことができ、Webとメールなど通信の種類によって使い分けたり、到達保証や暗号化など下位のプロトコルにない様々な機能を付加したりすることができる。
TCPとUDP
IPの一段階上位(トランスポート層と呼ばれる)のプロトコルには「TCP」(Transmission Contorol Protocol)あるいは「UDP」(User Datagram Protocol)が用いられることが多く、より上位(アプリケーション層)の個別の用途向けのプロトコルのほとんどはこのいずれかによって通信の相手方まで伝送される。
TCPは通信を行う二者間で仮想的な伝送路(コネクション)を確立し、データを送信順に並べ替えたり、受信確認や再送制御などを行って信頼性の高い通信を行うことができる。UDPはこうした制御を行わない代わりに低遅延で高効率な通信を行うことができる。
ルータとルーティング
IPでは管理主体の異なる複数の(インターネットの場合は極めて多数の)ネットワークが対等な立場で連携し、中央集権的な管理システムがなくても任意の送信元から任意の宛先へデータを送り届ける仕組みが整備されている。
データの中継・転送は「ルータ」(router)と呼ばれる機器によって行い、各ネットワークのルータが隣接するルータへバケツリレー式に次々データを転送することで宛先まで運ばれていく。各ルータは自分の知る周囲の通信経路の情報を「ルーティングプロトコル」(routing protocol)と呼ばれる通信規約で頻繁に交換し、宛先アドレスまでの適切な通信経路の選択・指定ができるようになっている。
IPv4とIPv6
インターネットの普及期に用いられ、現在も広く利用されているのは「IPv4」(IPバージョン4)で、32ビットのアドレス(IPv4アドレス)を用いる。インターネットの急拡大に伴いアドレス数が逼迫しているため、IPの新しい規格である「IPv6」(IPバージョン6)が策定され、IPv4からの置き換えが模索されている。
IPv6では128ビットのIPv6アドレスにより約3.40×1038個のアドレスが利用でき、セキュリティ機能や転送効率なども改善されている。しかし、IPv4との直接的な互換性はなく、経路途上のすべてのネットワークやルータが対応していなければIPv6で通信できないため、一事業者内の閉じたネットワークでの採用事例はあるものの、インターネット上で本格的に普及するには至っていない。
IPv4 【Internet Protocol version 4】 ⭐⭐
インターネットの基礎となる通信規約(プロトコル)であるIP(Internet Protocol/インターネットプロトコル)の第4版。1990年代後半からのインターネット普及期に使われていたため広く普及し、現在もインターネット上の通信のほとんどはIPv4で行われる。
ネットワークに参加する機器などに固有の番号(IPアドレス)を割り当てて一意に識別し、複数のネットワークを経由して末端から末端までデータを送り届ける方法を定義している。データは一定の大きさのパケットと呼ばれる単位(正確にはIPデータグラムという)に分割されて送信され、受信側で再び元のデータに組み立てられる。
IPデータグラムは制御情報を記載したIPヘッダと呼ばれる先頭部分と、運びたいデータ本体であるペイロードからなる。ヘッダには送信元と宛先のIPアドレスや、積載しているデータのプロトコル番号、転送回数の上限を表す生存時間(TTL)、長いデータを複数のデータグラムに分割した際の通し番号(フラグメントオフセット)などが記載されている。
IPv4アドレス
IPv4ではアドレスを32ビットのデータとして表現し、「192.168.1.1」というように8ビットずつ4つの値に区切って「.」(ドット/ピリオド)を挟んで表記する。「0.0.0.0」から「255.255.255.255」まで約42億(232)個のアドレスが利用できる。
アドレス空間の中には各組織が個別に運用する構内ネットワーク(LAN)などの内部でのみ使用可能なプライベートIPアドレス用の領域もあり、インターネット上のアドレス(グローバルIPアドレス)とは独立に割り振られて使用されている。
32ビットのアドレスはインターネットが普及し始めた当初は十分な数に思われたが、急激な普及により数が逼迫し、2010年代後半には世界的に未割り当ての「在庫」アドレスが枯渇する事態となってしまった。
歴史
初期のIPは1970年代に当時のARPANET(現在のインターネットの原型となる広域ネットワーク)で開発された。バージョン0から3は試験的な仕様で、1980年に規格化(RFC 760)されたIPv4が本格的に実用に供された最初のIP仕様となった。現在広く知られているのは1981年の改訂版(RFC 791)である。
その後、特殊なストリーミング用途向けのバージョンとして試験的にIPv5が、IPv4の後継候補としてIPv6~IPv9が考案されたが、これらの仕様を勘案してIPv6が正式に後継規格として推進されることになった。最大の特徴は128ビットに拡張されたIPv6アドレスで、逼迫するIPv4アドレスからの移行が展望されたが、現在も一般に広く普及する状況には至っていない。
IPv6 【Internet Protocol Version 6】 ⭐⭐
インターネットの基礎となる通信規約(プロトコル)であるIP規格の第6版(バージョン6)。2の128乗個という膨大な数の機器の識別番号(アドレス)を利用でき、現在広く使われているIPv4(IP version 4)からの移行が進んでいる。
インターネットやこれに接続する組織内ネットワーク(LAN)などでは、「IP」(Internet Protocol/インターネットプロトコル)と呼ばれる共通のプロトコル規格に基づいて機器の識別やデータの送受信、ネットワーク間のデータの配送などを行っている。
IPv4とアドレス枯渇問題
インターネットが本格的に普及し始めた1990年代末には、1981年に策定された「IPv4」(IPバージョン4)規格が用いられ、現在も多くのネットワークで標準的に利用されている。これは機器を識別する「IPアドレス」を32ビットで表現する仕組みで、最大で約42億台の機器を単一のネットワークに収容できる。
これは規格制定時には十分過ぎるほど広大なアドレス空間だと考えられていたが、想定を超えるインターネットの爆発的な普及により2000年代半ば頃には新規に割り当てるIPv4アドレスが逼迫する事態となり、より多くのアドレスを利用できるIPv6への本格移行が模索された。
IPv6の主な特徴
IPv6の最大の特徴は、IPアドレスを従来の32ビットから128ビットに大幅に拡張したことである。従来のIPv4アドレスと区別するため「IPv6アドレス」と呼ばれ、2128個、すなわち、約340澗(かん)、約3.40×1038個のアドレスを同一ネットワーク内で利用できる。
各機器へのアドレスの割り当てやネットワークをまたいだデータの転送(ルーティング)、大きなデータを一定の長さの送信単位(データグラム)に分割する仕組みなど、基本的な機能はIPv4までと変わらないが、アドレス設定の自動化やセキュリティ機能の強化、転送効率の向上などの改善が行われている。
IPv4からの移行
一本の通信回線や単一のネットワークなどの単位ではIPv4とIPv6のデータを混在させることは可能だが、アドレス体系やデータ形式がIPv4と異なり直接的な相互運用性がないため、複数のネットワークを接続するにはそれぞれ個別に転送処理を行う必要がある。
また、IPv6を使用する場合でも、既存のインターネット上のIPv4アドレスの機器と通信できなければ利便性が大きく損なわれるため、何らかの中継システムを用意してアドレスの相互変換やデータの転送、相互乗り入れの仕組みを用意する必要がある。
通信事業者にとってはIPv6への移行期にはどうしてもIPv4と両対応せざるを得ず、コスト負担や運用の煩雑化が敬遠され、利用者にとっても目に見える利点に乏しいことから、00年代まではIPv6の利用は実験的な閉じたネットワークでのサービス提供などに留まっていた。
2010年代に入るとIPv4アドレスの未割り当ての領域が完全に枯渇する(以降はネットワーク廃止で返却されるアドレスの再割り当てで対応)といった事態が生じる一方、寡占化の進んだIT大手が本格的にIPv6アドレスでのサービス提供に乗り出すなど環境に変化が生じ、世界的に少しずつ普及が進み始めた。
日本では2011年にNTT東日本・NTT西日本によるフレッツ網がIPv6 IPoE接続(ネイティブ方式)に対応し、2017年に大手移動体通信事業者が端末に割り当てるアドレスをIPv6化するなど環境の整備が進展しており、ISPなども通常のサービスメニューとしてIPv6によるインターネット接続を提供するようになっている。
IPアドレス 【Internet Protocol Address】 ⭐⭐⭐
インターネットなどのIPネットワークに接続された、個別のネットワークや機器を識別するための識別番号。インターネット上で通信するには重複した番号を使うことはできないため、管理団体に申請して割り当てを受ける必要がある。
インターネットなどのネットワークでは機器間の通信をIP(Internet Protocol)と呼ばれる共通のプロトコル(通信規約)によって行う。IPアドレスはこのIPネットワークにおける個々の機器を識別するための番号で、データの宛先の指定や送信元の特定などに用いられる。
現在インターネットなどで広く普及しているIPは「IPv4」(IPバージョン4)で、アドレスを32ビットの値として表す。書き表す場合には先頭から順に8ビットごとに区切り、それぞれを十進数の値として「.」(ピリオド/ドット)で区切って表記する。例えば、「11000110 00110011 01100100 00000001」というアドレスは「198.51.100.1」のように表記する。
IPアドレスとドメイン名
IPアドレス自体は数字の羅列で人間には覚えたり書き表したりしにくく、読み間違いや入力ミスも起こりやすいため、「www.example.com」のようにアルファベットや記号を組み合わせた分かりやすい識別名をつけられる仕組みが考案された。
これをDNS(Domain Name System)と呼び、IPアドレスの代わりとしてネットワーク上で用いることができる識別名をドメイン名という。ドメイン名には特定のIPアドレスに対応し、個別の機器を指し示す完全修飾ドメイン名(FQDN:Fully Qualified Domain Name)あるいはホスト名(host name)と、複数の機器や領域を包含する領域の識別名がある。
IPアドレスとドメイン名の対応関係は各組織が設置・運用するDNSサーバによって管理・提供される。人間が指定したドメイン名の指し示す機器に接続するにはDNSサーバへ問い合わせて対応するIPアドレスを得る必要があり、通常はソフトウェアが内部的にこの処理を行う。
機器が通信処理を行うのに必須なのはIPアドレスのみであるため、すべてのIPアドレスに対応するドメイン名が設定されているわけではない。通常必要なのはドメイン名からIPアドレスへの変換(正引き)であるため、逆にIPアドレスから対応するドメイン名を割り出す変換(逆引き)は常に可能とは限らない。また、IPアドレスとドメイン名は常に一対一に対応している必要はなく、一つのIPアドレスに複数(場合によっては多数)のドメイン名が対応付けられていることもある。
グローバルIPアドレス
インターネット上で使用するアドレスをグローバルIPアドレス(global IP address)、特定の組織内ネットワークのみで通用するアドレスをプライベートIPアドレス(private IP address)あるいはローカルIPアドレス(local IP address)という。
グローバルアドレスはインターネット全体で一意に特定できなければならず、複数の組織や端末で重複があってはならないため、勝手に設定して名乗ることはできず、アドレス発行組織に申請を行って割り当てを受けなければならない。
インターネット上のIPアドレスについて全世界で一元的に割り当ての調整を行う機関としてICANN(Internet Corporation for Assigned Names and Numbers)が設置されている。そこから世界を5つに分けた各地域を管轄するRIR(Regional Internet Registry)に大きなアドレスブロック単位で割り当てが行われ、RIRから域内の各国・地域をそれぞれ管轄するNIR(National Internet Registry)へ小さなブロック単位で割り当て行われる。
インターネットへの接続を希望する各組織・個人からの申請を受けてアドレスを割り当てるのはNIRの担当となる。日本を管轄するRIRはAPNIC(Asia Pacific Network Information Centre)、NIRはJPNIC(Japan Network Information Center)である。
プライベートIPアドレス
プライベートアドレスは各組織ごとに設置・運用されているLAN(構内ネットワーク)などのネットワーク上で用いられるアドレスで、申請などは不要で自由に機器に設定して使用してよい。ただし、各アドレスがそのネットワークの内部で重複してはならない点はグローバルアドレスと変わらない。
プライベートアドレスしか持たない機器はインターネットに直接接続して通信することはできないため、ネットワーク境界にゲートウェイやルータ、プロキシサーバなどを設置してアドレス変換やデータの中継などを行い、一定の制約(インターネット側から接続を開始できないなど)の元で通信できるようにすることが多い。
IPv4アドレスではプライベートアドレス用の領域として、10.0.0.0~10.255.255.255(最大約1677万台)、172.16.0.0~172.31.255.255(最大65535台)、192.168.0.0~192.168.255.255(最大255台×256ネットワーク)の3つが予約されており、ネットワークの規模に応じていずれかを使用することができる。これらはグローバルアドレスとしては割り当てられないことが決まっている。
IPv4アドレスの枯渇
現在インターネットで用いられるIPv4アドレスは32ビットの値であるため、2の32乗の42億9496万7296個のアドレスしか使用することができず、インターネットの爆発的に普及に伴い2000年代後半頃からは逼迫するようになった。
これは、IPv4が設計された1980年頃にはインターネットに限られた機関しか接続されておらず、現在のような爆発的な普及を想定していなかったためこのアドレス数で十分であると考えられていたのと、当時の通信回線が低速で伝送容量が限られており、少しでも通信制御用のデータを短くしたかったという事情がある。
2015年までには各地域のRIRおよび各国のNIRが確保・用意しているIPv4アドレスブロックの「在庫」は枯渇してしまい、既存の割り当て先から接続廃止で返却されてくる分以外には、まとまった数のアドレスを新規に発行することはできなくなってしまっている。
IPv6アドレス
IPv4の後継として設計されたIPv6(IPバージョン6)では、IPアドレスが128ビットの値となり、2の128乗=約3.40×1038、すなわち、340澗2823溝6692穣0938𥝱4634垓6337京4607兆4317億6821万1456個の広大なアドレス空間を使用できるようになった。
IPv4と同じ表記法だと長過ぎるため、16ビットずつ「:」(コロン)で区切って16進数で表記し、0が連続する区間は省略するという記法を採用している。例えば、「2001 : 0db8 : 0000 : 0000 : 0000 : 0123 : 0000 : 00ab」は「2001 : db8 :: 123 : 0 : ab」のように表記する。
IPv6アドレスのグローバルでの割り当ても始まっており、一部の通信事業者やインターネットサービスプロバイダ(ISP)などがIPv6によるインターネット接続に対応しているが、既存のIPv4と共存しつつ移行するのは様々な事情が重なって難しく、なかなかIPv6の普及が進まない状況が10年以上続いている。
ルータ ⭐⭐⭐
コンピュータネットワークの中継・転送機器の一つで、データの転送経路を選択・制御する機能を持ち、複数の異なるネットワーク間の接続・中継に用いられるもの。
ルータはプロトコル階層のうちネットワーク層(インターネット層、第3層)の情報を解析してデータの転送の可否や転送先の決定などを行う機器で、主にインターネットなどのTCP/IPネットワークにおける主要な中継機器として用いられる。
接続先から受信したデータ(パケット)を解析し、IP(Internet Protocol)の制御情報を元に様々な転送制御を行う。中でも最も重要な処理は「ルーティング」(routing)で、パケットの宛先IPアドレスから適切な転送経路を選択し、隣接する機器の中から次に転送すべき相手を決定してパケットを送信する。
インターネットなど大規模なネットワークでは、ルータ間でこのような転送をバケツリレー式に繰り返し、送信元から宛先へ複数のネットワークを通過してパケットが運ばれていく。
ルータが経路選択を行う際には一般に、「ルーティングテーブル」(routing table、経路表)と呼ばれるデータ集合が参照される。宛先のネットワーク(のアドレス)ごとにどの機器に中継を依頼すべきかが列挙されており、宛先アドレスに対応する転送先を見つけてその機器にパケットを転送する。
静的ルーティングと動的ルーティング
小規模なネットワークでは、ルータのルーティングテーブルを管理者などが固定的に入力・設定する「スタティックルーティング」(static routing:静的ルーティング)が用いられることが多い。
一方、異なる管理主体のネットワーク間の接続や、大規模なネットワーク、頻繁に構成が変更されるネットワークなどでは、ルータ間で定期的に経路情報を交換してルーティングテーブルを作成・更新する「ダイナミックルーティング」(dynamic routing:動的ルーティング)が用いられる。
ルーティングプロトコル
ルータ間の経路情報の交換には専用の通信規約(プロトコル)が用いられ、これを「ルーティングプロトコル」(routing protocol)という。
同一の管理主体の運営するネットワーク(AS:Autonomous System、自律システム)内で用いられるルーティングプロトコルをIGP(Interior Gateway Protocol)と呼び、RIPやOSPF、IGRP、EIGRPなどが用いられる。一方、異なるAS間の接続ではEGP(Exterior Gateway Protocol)と呼ばれるルーティングプロトコルが用いられ、インターネット上では一般にBGPが用いられる。
他の機能
ルータは経路制御だけでなく、アドレス体系の異なるネットワーク間(WANとLAN、プライベートネットワークとインターネットなど)でアドレス変換を行って相互に通信できるようにするNAT/NAPT機能や、ネットワークに新たに接続した機器にDHCPなどで自動的にIPアドレスを割り当てる機能、指定されたルールに従って接続や中継の許可や拒否を行うパケットフィルタリング機能、通信の種類ごとに転送の優先度に差をつけたり、上限の帯域幅を超えないよう制御するQoS制御機能など、様々な機能を持っていることが多い。
他の中継機器
プロトコル階層のうちデータリンク層(リンク層、第2層)の情報を元に転送制御を行う機器にはブリッジ(bridge)やネットワークスイッチ(network switch、単にスイッチとも)、スイッチングハブ(switching hub)などがあり、ルータはこれらの機能も内包している。
また、転送制御を行わず物理層(第1層)の単純な中継のみを行う機器にはリピータ(repeater)やリピータハブ(repeater hub)などがある。こうした様々な機器をルータと組み合わせてネットワークが構築される。
コアルータとエッジルータ
ルータの役割や製品分類で、主に通信事業者などの基幹ネットワークの中心部で用いられるものを「コアルータ」(core router)という。
広域回線網の主要拠点間を繋ぐコアネットワーク(バックボーンネットワーク)などの大規模ネットワーク内部の転送・中継に用いられるルータ製品で、高い性能や信頼性、多数の回線を収容する拡張性、筐体や回線の高密度化が容易なデザインなどが求められる。
一方、基幹ネットワーク末端で外部の回線やネットワークとの接続に用いられるルータは「エッジルータ」(edge router)と呼ばれる。広域回線網の終端などに設置され、大規模ネットワークの末端部と小規模でローカルなネットワーク(特定の拠点の構内ネットワークなど)の接続・中継に用いられる。
遠距離回線を挟んで中心側と末端側の両方の装置をエッジルータと呼ぶ場合と、中心側を「センタールータ」(center router)と呼び、末端側のみをエッジルータと呼ぶ場合がある。また、VPNサービスなどで中心側が通信事業者、末端側が加入者の場合には、中心側を「PEルータ」(Provider Edge router)、末端側を「CEルータ」(Customer Edge router)と呼ぶ場合がある。
DNS 【Domain Name System】 ⭐⭐
インターネットなどのIPネットワーク上でドメイン名(ホスト名)とIPアドレスの対応関係を管理するシステム。利用者が単なる番号列であるIPアドレスではなく、日常使っている言語の文字を組み合わせた認識しやすいドメイン名でネットワーク上の資源にアクセスできるようにする。
IPネットワークでは「IPアドレス」と呼ばれる数値列で個々のコンピュータやネットワークを識別するが、DNSを使えば人間にとって親しみやすい文字や記号を組み合わせて「ドメイン名」(domain name)と呼ばれる別名をつけることができる。ドメイン名が単一の機器を指し示す場合は「ホスト名」(host name)とも呼ばれる。
各ドメイン名について、ホスト名とIPアドレスの対応関係や管理情報などを記録し、一定の通信手順に基づいてどこからでも容易に参照できるようにした世界規模の分散型データベースがDNSである。そのための通信規約(プロトコル)や交換データ形式などの仕様を定めた標準規格のこともDNSという。
IPアドレスとドメイン名
例えば、ある企業が「198.51.100.1」というIPアドレスの割り当てを受けてWebサーバと電子メールサーバを運用する場合、WebサイトのURLは「https://198.51.100.1/」のように、代表メールアドレスは「info@198.51.100.1」のような表記になる。
これは人間にとっては覚えたり伝達したり入力したりしにくく、接続事業者を切り替えるなどしてIPアドレスが替わるとこれらのアドレスもすべて変更となり、記録物を書き直したり関係者に改めて通知・告知しなおさなければならなくなってしまう。
そこで、「example.co.jp」というドメイン名を取得し、ホスト名として「www.example.co.jp」を「198.51.100.1」に、「~@example.co.jp」のメールアドレスを管理するメールサーバのアドレスを「198.51.100.1」に対応付けておけば、Webサイトを「https://www.example.co.jp/」のように、メールアドレスを「info@example.co.jp」のように表記することができるようになる。
DNSサーバとクライアント
ドメイン名の情報を管理し、外部からの問い合わせに応答するコンピュータやソフトウェアのことを「DNSサーバ」(DNS server)、サーバへの問い合わせを行いDNS情報を参照・利用する側のコンピュータやソフトウェアを「DNSクライアント」(DNS client)あるいは「DNSリゾルバ」(DNS resolver)という。
ドメイン名とIPアドレスの対応関係をサーバへの問い合わせによって明らかにすることを「名前解決」(name resolution)と呼び、ドメイン名から対応するIPアドレスを求めることを「正引き」(forward lookup)、逆にIPアドレスからドメイン名を割り出すことを「逆引き」(reverse lookup)という。
ドメイン名の階層構造
ドメイン名は実世界の住所表示のように広い領域を指す名前から順に範囲を狭めていく階層構造になっており、「www.example.co.jp」のように各階層の識別名を「.」(ドット)で区切って表記する。あるドメイン名の配下に設けられた下位のドメイン名を「サブドメイン」(subdomain)という。
上の例の「jp」のように一番右が最上位階層の「トップレベルドメイン」(TLD)で、以下、左に向かって「co」を「セカンドレベルドメイン」(SLD:Second Level Domain)、「example」を「サードレベルドメイン」(3LD:Third Level Domain)のように呼び、順に指し示す範囲が狭くなっていく。
権威DNSサーバと権限委譲
あるドメイン名についての情報を管理するDNSサーバを「権威DNSサーバ」あるいは「DNSコンテンツサーバ」という。権威サーバはそのドメイン名についての情報の発信元で、外部からの問い合わせに応答してホスト名に対応するIPアドレスなどを回答する。
上位ドメインの権威サーバは配下のすべてのドメイン名の情報を一元管理しているわけではなく、下位ドメインの権威サーバに管理権限を委譲し、自身はその所在(IPアドレス)のみを把握している。下位ドメインについての問い合わせには「このアドレスのサーバに聞くように」という回答を返す。
再帰問い合わせによる名前解決
「www.example.co.jp」の名前解決を行うためには、まず全世界に十数か所あるDNS全体を統括する「ルートサーバ」(root server)に「jp」ドメインの権威サーバの所在を訪ね、そのサーバに「co.jp」ドメインの権威サーバの所在を訪ね、そのサーバに「example.co.jp」の権威サーバの所在を…という具合に左端のホスト名が解決されるまで問い合わせを再帰的に繰り返す必要がある。
この問い合わせ手順を末端のDNSクライアントが毎回行っていたのではサーバとクライアント、途中のネットワークの負荷や無駄が大きすぎるため、通常はインターネット接続事業者(ISP)などが用意した「DNSキャッシュサーバ」が各クライアントからの問い合わせを代行し、結果を一定期間保存して同じ問い合わせに代理で応答するという運用が行われる。
一般の利用者がコンピュータのネットワーク設定などで指定する「DNSサーバ」(プライマリDNSサーバ、セカンダリDNSサーバ)は、各ドメイン名を管理している権威サーバではなく、このDNSキャッシュサーバである。なお、キャッシュサーバに頼らずクライアントソフトが自ら再帰問い合わせを行って名前解決することも差し支えなく、ネットワーク管理者などが調査のために行うことがある。
ルートサーバ 【ルートDNSサーバ】
インターネット上のドメイン名の最上位階層の情報を管理するDNSサーバ(ネームサーバ)群のこと。問い合わせの起点となる権威DNSサーバで、全世界に分散配置されている。
ドメイン名とIPアドレスを対応付けるDNS(Domain Name System)ではドメイン名を「.」(ドット、ピリオド)で区切った階層構造で管理しているが、ルートDNSサーバは最上位の各トップレベルドメイン(TLD)を管理するDNSサーバのIPアドレスの情報を保持している。
ドメイン名からIPアドレスを調べる際には、まずルートDNSサーバに目的のドメインのTLDを管理する権威DNSサーバの所在を訪ね、そのサーバにセカンドレベルドメイン(SLD)を管理する権威DNSサーバの所在を訪ね、SLDの権威DNSサーバにサードレベルドメインの…という手順を再帰的に繰り返す。
ルートDNSサーバは世界に13か所用意されており、それぞれ異なる主体(2つのみ同一団体が管理)が管理している。互いにデータを複製しあっており、問い合わせに対して同じ情報を返答するように運用されている。各ルートDNSサーバには「*.root-servers.net」というドメイン名(ホスト名)が割り当てられており、「*」の部分はアルファベットの「a」から順に「m」まで13種類のいずれかの文字が入る。
各サーバは実際には空間的に離れた多数の機材を束ねたサーバ群を形成して負荷分散を図っており、「エニーキャスト」技術により各利用者の端末やDNSサーバからネットワーク的に最も近いものを自動的に選択してアクセスするように構成されている。
ルートDNSサーバ群の多くはアメリカ国内の政府機関や大学、ネットワーク管理団体などが管理しているが、スウェーデン、オランダ、日本(WIDEプロジェクト)の各機関が一つずつ管理を担っており、さらにその複製サーバはこれらの国以外にも多数配置されている。
ドメイン名 【ドメインネーム】 ⭐⭐⭐
インターネット上に存在するコンピュータやネットワークを識別し、階層的に管理するために登録された名前のこと。インターネット上の機器やネットワークの識別名で、URLやメールアドレスなど他の識別情報の一部としても用いられる。
インターネット上の機器やネットワークを一意に識別するため、重複が生じないよう全世界的に一元的に発行する体制が構築されている。登録される識別名はアルファベットと数字、ハイフン「-」の組み合わせだが、近年では、日本語など各国独自の言語・文字でドメイン名を登録できる「国際化ドメイン名」(IDN:Internationalized Domain Name)も利用できるようになっている。
IPアドレスとDNS(Domain Name System)
インターネットなどIP(Internet Protocol)で接続されたネットワークでは機器同士は「IPアドレス」という番号によってお互いを識別し、相手方の所在を知ることができる。数字の羅列であるIPアドレスは人間にとっては扱いにくいため、別名としてドメイン名を運用するようになった。
ドメイン名とIPアドレスを対応させるシステムは「DNS」(Domain Name System:ドメインネームシステム)と呼ばれ、全世界のDNSサーバが連携して運用されている。一つのドメイン名に複数のIPアドレスを対応させたり、一つのIPアドレスに複数のドメイン名を対応させることもできる。
ドメインの階層構造
ドメイン名は実世界の住所表示のように広い領域を指す名前から順に範囲を狭めていく階層構造になっており、「www.example.com」のように各階層のラベルを「.」で区切って表記する。あるドメインの配下に設けられた下位のドメイン名を「サブドメイン」(subdomain)という。
一番右のラベルが最上位階層の「トップレベルドメイン」(TLD)で、以下、左に向かって「セカンドレベルドメイン」(SLD:Second Level Domain)、「サードレベルドメイン」(3LD:Third Level Domain)…と指し示す範囲が狭くなっていく。
左端で個別の機器を指し示すラベルのことを「ホスト名」という。トップレベルからホスト名まで省略せずにすべて書き下したドメイン名表記のことを「FQDN」(Fully Qualified Domain Name:完全修飾ドメイン名)と呼ぶことがある。
トップレベルドメインには、日本を表す「.jp」のように世界の国・地域ごとに割り当てられる「ccTLD」(country code TLD)と、商用を表す「.com」のように地理的範囲とは無関係に全世界から登録を受け付ける「gTLD」(generic TLD)、国際機関向けの「.int」など他の特殊なTLDがある。
ドメイン名の衝突を防ぐため、「ICANN」(Internet Corporation for Assigned Names and Numbers)という国際機関がTLDを一元管理しており、ICANNから委任を受けた各TLDの管理団体(「レジストリ」と呼ばれる)が、そのTLDにおける識別名のデータベースの管理、登録の受付を行っている。例えば、日本のccTLDである.jpドメインはJPRS(日本レジストリサービス)が管理している。
トップレベルドメイン 【TLD】
インターネットドメイン名を構成する要素のうち、「.」(ピリオド、ドット)で区切られた最も右にある要素のこと。最も上位の階層における識別名を表しており、「www.example.com」の「com」の部分がこれにあたる。
ドメイン名は実世界の住所のように階層構造になっており、各階層の識別名を「.」で区切って並べて表記する。並び順は末尾(右)が最上位で先頭(左)が最下位であり、末尾の識別名のことをトップレベルドメインという。
トップレベルドメインは大きく分けて、用途や組織種別などに応じて設置された「gTLD」(generic TLD:汎用TLD)と、国・地域ごとに割り当てられた「ccTLD」(country code TLD:国コードTLD)、歴史的経緯で残っている特殊なTLDに分類される。
汎用トップレベルドメイン (gTLD)
地理的な制約なく世界中から登録できるトップレベルドメインをgTLDという。多くは用途や分野を意味する識別子となっており、利用目的や組織種別に制約があるものと制限が無いものに分かれる。
インターネットの初期から存在するgTLDとして、商用(commercial)を意味する「.com」、ネットワーク事業者(network)を意味する「.net」、団体・組織(organization)を意味する「.org」の3つがよく知られる。これらは登録資格などを厳しく問わないため本来の意味とは異なる使われ方をしているものもある。
特殊なgTLD
初期から存在するgTLDの中には、用途が制限され広く一般からの登録を受け付けていない特殊なTLDが含まれている。米連邦政府機関向けの「.gov」、米国内の高等教育機関向けの「.edu」、米軍向けの「.mil」、国際機関向けの「.int」、北大西洋条約機構(NATO)関連機関の「.nato」(後に.nato.intへ移行し廃止)である。
新gTLD
2000年以降に追加された新しいgTLDを新gTLDと呼ぶことがある。2011年までは追加数が厳しく絞り込まれていたため、2000年に「.biz」「.info」「.name」「.pro」「.museum」「.aero」「.coop」、2005年に「.jobs」「.travel」「.mobi」「.cat」、2006年に「.tel」「.asia」、2009年に「.post」、2011年に「.xxx」の計15が追加されたのみであった。
2012年に制度が変更され、所定の要件を満たせば原則として自由にトップレベルドメインを追加できるようになった。現在までに1200以上のgTLDが新たに登録され、利用されている。この中には「.google」「.canon」のように企業が自社のブランドやサービスなどのために登録する例や、「.tokyo」などの都市名や地域名、「.free」「.shop」のような一般的な語句、「.みんな」のように多言語ドメイン名の仕組みを利用した非アルファベット文字のgTLDなどが含まれる。
国別トップレベルドメイン (ccTLD)
ccTLDは世界の国・地域それぞれに割り当てられたもので、日本を表す「.jp」のように2文字の国コード(country code)で表される。
原則として国コードの国際標準規格であるISO 3166の2文字コードに基づいているが、イギリス本国がISO 3166の「GB」ではなく「.uk」になっているなどの例外もある。欧米諸国の海外領土などにはそれぞれ本国とは別のccTLDが与えられており、世界で約250個が存在する。EU加盟国では自国ドメインの他に一定の要件のもと「.eu」ドメインも使用できる。
多くの国では自国内の個人や組織などに限って登録を受け付けているが、外貨獲得などのため世界中から登録を受け付けてgTLDのように運用している場合もある。偶然英単語などに一致していたり覚えやすい並びになっているドメイン名に見られ、「.tv」(ツバル)、「.to」(トンガ)、「.in」(インド)などの例がよく知られる。
.arpaドメイン
メールアドレスやWebサイトなどの識別名としては用いられず、ネットワーク管理用に用いられている特殊なTLDとして「.arpa」ドメインがある。
もとはインターネットの前身のARPANETを主催していたARPA(米高等研究計画局、現在のDARPA)を表すドメインだったが、現在ではシステムが内部的に使用する特殊な名前空間として存続している。IPアドレス(IPv4アドレス)からドメイン名を「逆引き」するための領域である「in-addr.arpa」が有名だが、他にIPv6アドレスからの逆引き用「.ip6.arpa」、電話番号とURIを対応付ける「e164.arpa」が用意されている。
電子メール 【eメール】 ⭐⭐⭐
通信ネットワークを介してコンピュータなどの機器の間で文字を中心とするメッセージを送受信するシステム。郵便に似た仕組みを電子的な手段で実現したものであることからこのように呼ばれる。
広義には、電子的な手段でメッセージを交換するシステムやサービス、ソフトウェア全般を指し、携帯電話のSMSや、各種のネットサービスやアプリ内で提供される利用者間のメッセージ交換機能などを含む。
狭義には、SMTPやPOP3、IMAP4、MIMEなどインターネット標準の様々なプロトコル(通信規約)やデータ形式を組み合わせて構築されたメッセージ交換システムを指し、現代では単に電子メールといえば一般にこちらを表すことが多い。
メールアドレス
電子メールの送信元や宛先は住所や氏名の代わりに「メールアドレス」(email address)と呼ばれる統一された書式の文字列が用いられる。これは「JohnDoe@example.com」のように「アカウント名@ドメイン名」の形式で表され、ドメイン名の部分が利用者が所属・加入している組織の管理するネットワークの識別名を表し、アカウント名がその中での個人の識別名となる。
企業や行政機関、大学などがメールサーバを運用して所属者にメールアドレスを発行しているほか、インターネットサービスプロバイダ(ISP)や携帯電話事業者などがインターネット接続サービスの一環として加入者にメールアドレスを発行している。
また、ネットサービス事業者などが誰でも自由に無料でメールアドレスを取得して利用できる「フリーメール」(free email)サービスを提供している。一人の人物が立場ごとに複数のアドレスを使い分けたり、企業の代表アドレスのように特定の個人に紐付けられず組織や集団などで共有されるアドレスもある。
メールサーバとメールクライアント
インターネットに接続されたネットワークには「メールサーバ」(mail server)と呼ばれるコンピュータが設置され、利用者からの要請により外部のネットワークに向けてメールを送信したり、外部から利用者に宛てて送られてきたメールを受信し、本人の使うコンピュータに送り届ける。利用者や他のサーバに対する窓口であり、郵便制度における郵便局のような役割を果たす。
メールサーバ内には利用者ごとに私書箱に相当する受信メールの保管領域(メールボックス)が用意され、外部から着信したメールを一時的に保管する。利用者が手元で操作するメールソフト(メールクライアント、メーラーなどと呼ばれる)は通信回線を介してメールサーバに問い合わせ、メールボックス内のメールを受信して画面に表示する。
Webメール
利用者の操作画面をWebアプリケーションとして実装し、Webブラウザからアクセスしてメールの作成や送信、受信、閲覧、添付ファイルのダウンロードなどをできるようにしたシステムを「Webメール」(webmail)という。
フリーメールサービスの多くは標準の操作画面をWebメールの形で提供しており、メールクライアントなどを導入・設定しなくてもWebブラウザのみでメールの送受信を行うことができるようになっている。企業などの組織で運用されるメールシステムでもWebメールを提供する場合があり、自宅や出先のコンピュータなどからアクセスできるようになっている。
メッセージの形式
電子メールには原則として文字(テキスト)データのみを記載することができる。特別な記法や書式を用いずに素の状態の文字データのみが記されたメールを「テキストメール」という。WebページのようにHTMLやCSSなどの言語を用いて書式や装飾、レイアウトなどの指定が埋め込まれたものは「HTMLメール」という。
また、画像や音声、動画、データファイル、プログラムファイルなどテキスト形式ではないデータ(バイナリデータ)を一定の手順でテキストデータに変換して文字メッセージと一緒に送ることができる。こうしたデータをメッセージ中に埋め込む方式の標準として「MIME」(Multipurpose Internet Mail Extension/マイム)が規定されており、これを利用してメールに埋め込んだファイルを「添付ファイル」(attachment file)という。
電子メールの普及と応用
電子メールはWeb(WWW)と共にインターネットの主要な応用サービスとして広く普及し、情報機器間でメッセージを伝達する社会インフラとして機能している。現在ではパソコンやスマートフォン、タブレット端末などのオペレーティングシステム(OS)の多くは標準でメールクライアントを内蔵しており、誰でもすぐに利用できるようになっている。
電子メールシステムでは一通のメールを複数の宛先へ同時に送信する同報送信・一斉配信も容易なため、グループ共通のアドレスを用意してメンバー間の連絡や議論などに用いる「メーリングリスト」(mailing list)や、発行者が購読者に定期的にメールで情報を届ける「メールマガジン」(mail magazine)などの応用システムも活発に利用されている。
一方、広告メールを多数のメールアドレスに宛て無差別に送信する「スパムメール」(spam mail)や、添付ファイルの仕組みをコンピュータウイルスの感染経路に悪用する「ウイルスメール」(virus mail)、送信元を偽って受信者を騙し秘密の情報を詐取する「フィッシング」(phishing)など、電子メールを悪用した迷惑行為や犯罪なども起きており、社会問題ともなっている。
SMTP 【Simple Mail Transfer Protocol】 ⭐⭐⭐
インターネットなどのIPネットワークで標準的に用いられる、電子メール(eメール)を伝送するための通信手順(プロトコル)の一つ。メッセージの発信やサーバ間の転送に用いられる。
利用者の操作するメールソフト(メールクライアント)からメールサーバにメッセージの送信を依頼する際や、メールサーバ間でメッセージを転送する際にシステム間で交わされる要求や応答のデータ形式、伝送手順などを定めている。
SMTPでメッセージを転送するソフトウェアを「MTA」(Mail Transfer Agent)あるいは「SMTPサーバ」(SMTP server)という。一方、受信側でクライアントへメッセージを配送するソフトウェアは「MRA」(Mail Retrieval Agent)と呼ばれ、受信プロトコルの違いによりPOP3サーバ、IMAP4サーバなどに分かれる。
SMTPは1980年代から使われている古いプロトコルで、最初の仕様はIETFによって1982年にRFC 821として規格化された。幾度かの改訂を経て2008年に最新版のRFC 5321が発行されている。1994年に追加された拡張機能やコマンド群は「ESMTP」(SMTP Service Extensions)と呼ばれることもある。
認証や暗号化の拡張
SMTPの当初の仕様には利用者の認証などセキュリティ機能が欠けていたため、SMTPコマンドを拡張して認証を行う「SMTP認証」(SMTP-AUTH)や、POP3の認証機能を借用してPOP3で認証した相手に一定時間SMTPによる接続を許可する「POP before SMTP」(PbS)などの仕様が策定された。
また、SMTP自体には送受信データの暗号化の機能は用意されていないため、一階層下のトランスポート層でSSL/TLS接続を行い、SMTP通信全体を暗号化する「SMTPS」(SMTP over SSL/TLS)が用意されている。通常のSMTP接続を区別するため専用のポート番号(標準ではTCPの465番ポート)で運用する。
インターネットでメールの利用が広まると迷惑メールやウイルスメール、フィッシング詐欺などの問題が生じたため、送信元のチェックなどを行う「SPF」(Sender Policy Framework)や「DKIM」(DomainKeys Identified Mail)、「DMARC」(Domain-based Message Authentication, Reporting, and Conformance)などの仕様が整備され、SMTPと併用されている。
サブミッションポートの分離
SMTPサーバは標準ではTCPの25番ポートで接続を待ち受けるが、利用者からの送信依頼とサーバ間のメッセージ転送に同じポートを使うと同じポートで両者の通信が混在し、通信経路の暗号化や迷惑メール対策などを行うのに不都合だった。
現在では、サーバ間の転送にのみ25番を用い、送信依頼はTCPの587番ポート、SSL/TLSを併用したSMTPS接続による送信依頼には465番ポートを用いるのが標準となっている。この2つのポートを「サブミッションポート」(submission port)ともいう。
POP 【Post Office Protocol】 ⭐⭐
インターネットなどのTCP/IPネットワークで標準的に用いられる、電子メール(eメール)を受信するための通信規約(プロトコル)の一つ。受信サーバから利用者側へのメッセージの転送に用いられる。
利用者が自分宛ての電子メールを保管しているメールサーバにアクセスし、新しいメールが届いているか調べたり、手元のメールソフトに受信する通信手順やデータ形式を定めている。送信やサーバ間の配達にはSMTP(Simple Mail Transfer Protocol)という別のプロトコルを用いる。
POPを利用する場合は原則として、サーバに届いたメールはすべてクライアント(メールソフト)側にダウンロードしてから閲覧や未既読の管理、フォルダ分けなどを行い、受信済みのメールはサーバから削除される。
この方式はネットに接続しなくても過去の受信メールを見ることができ、サーバの受信メール保管容量も少なくて済むが、複数の端末で同じメールアドレスを利用したい場合には向いていない。そのような場合はサーバ上で既読管理や分類などを行うことができる「IMAP4」を使ったり、Webメールシステムを使う。
初版は標準化団体のIETFによってRFC 918として1984年に、広く利用されている第3版(POP3)は1988年にRFC 1081として標準化された。POP3は数次の改訂を経て1996年のRFC 1939が最新の仕様となっている。古くから電子メール受信の標準プロトコルとして広く利用され、現在も対応ソフトウェアが多く存在する。
インターネットが広く一般に公開される前に仕様が策定されたため、利用者認証のためのユーザー名やパスワードの送受信を平文(暗号化されていない状態)で送受信する仕組みとなっており、認証情報を暗号化する「APOP」(Authenticated POP)という拡張仕様が導入された。
APOPにも問題が見つかっており、WebにおけるHTTPS通信のように、POPによる通信全体をSSL/TLSで暗号化する「POP3 over SSL/TLS」(POP3S/POPS)の利用が推奨されている。標準のポート番号はPOP2がTCPの109番ポート、POP3が110番ポート、POP3Sが995番ポートとなっている。POP1はほとんど普及せず決まったポート番号はない。
IMAP 【Internet Message Access Protocol】 ⭐⭐⭐
インターネットなどのIPネットワークで標準的に用いられる、電子メール(eメール)を受信するための通信規約(プロトコル)の一つ。利用者が自分宛ての電子メールを保管しているメール受信サーバにアクセスし、新着を確認したり一覧から必要なものを選んで手元に受信する手順を定めている。
IMAPでは原則として、届いたメールをメールサーバ上にメールアドレス(アカウント)ごとに設けられた専用の保存領域(メールボックス)で管理する。利用者はサーバからメールの一覧を取得して必要な物を選択し、手元のコンピュータにダウンロードして閲覧する。
サーバ上で各メールの既読状態の管理、フォルダを用いた分類などを行なうこともでき、添付ファイルなどで容量が大きい場合などにメールの一部だけ(ヘッダ部分だけ、本文だけなど)受信する機能もある。メールをサーバ側で管理するため、一つのアドレスを複数のコンピュータから利用することも容易である。
POPとの比較
メール受信プロトコルとしてよく用いられるものには「POP」(POP3:Post Office Protocol)もあるが、POPではサーバにアクセスする度に届いているメールをすべて手元にダウンロードし、クライアント側でメールの保管や分類などの管理を行う。
IMAPはサーバ側でメールを保管するため、クライアント起動後に素早く新着や一覧を確認することができる。常に決まった端末を使うとは限らない場合(学校のコンピュータルームなど)や、一人で複数のコンピュータから利用する場合などにも適している。
ただし、サーバ側にメールの保管領域が大量に必要となるため、システムによっては受信容量の上限が厳しく制限され、古いメールを頻繁に削除しなければすぐに制限を超過して受信できなくなってしまう場合もある。
IMAPSによる暗号化
IMAP自体にはデータの暗号化やパスワードの秘匿といったセキュリティ保護機能がないため、暗号化プロトコルのSSL/TLSと併用してIMAPによる通信全体を暗号化する「IMAPS」(IMAP over SSL/TLS、「IMAP4S」とも)と呼ばれる通信方式が用いられることがある。通常のIMAPはTCPの143番ポートを利用することが多いが、IMAPSは993番を利用することが多い。
歴史
最も初期のバージョンはIETFが1988年にRFC 1064として策定したIMAP2だが、正式名称は現在と異なり “Interactive Mail Access Protocol” だった。1994年にIMAP4がRFC 1730として策定され、このとき現在の名称に改められた。IMAP4は最も普及したバージョンであり、単にIMAPといった場合はIMAP4を指すことが多い。IMAP4には様々な拡張仕様が追加され、2003年にはRFC 3501として改訂されている。
メールアドレス 【eメールアドレス】 ⭐
インターネットなどのネットワーク上で電子メール(eメール)の差出元や宛先を記述・指定するために用いられる識別名。
アドレスの構造
メールアドレスは「John.Doe@example.com」のように「ローカル部@ドメイン名」といった形式になっている。ドメイン名が利用者の所属先や加入しているインターネット接続サービスなどネット上での識別名を表し、ローカル部がドメイン内で利用者を識別する固有の名前となっている。ローカル部はそのままメールサーバやシステムへのログインID(メールアカウント名)となっていることが多い。
ローカル部は最大64文字まで定義でき、いわゆるASCII文字(半角英数字・記号)のうち、アルファベット、数字、記号の一部( ! # $ % & ' * + - / = ? ^ _ ` { | } ~ )が利用できる。また、規格上は引用符("")で括ればスペース(空白文字)や特殊な記号( ( ) < > [ ] : ; @ , )なども利用できることになっている。
だが、ローカル部がそのままアカウント名を兼ねることが多いことなどから、多くのシステムやサービスでは記号の使用を制限しており、「.」「-」「_」など数文字のみを許可している。アルファベットの大文字と小文字は規格上は区別されると規定されているが、実際には既存のアドレスと綴りが同じで文字の大小が異なるものを別のアドレスとして取得することは許可されないことが多い。
アドレスの取得
メールアドレスはメールサーバを管理する団体などが所属・契約する各利用者に提供し、勤務先や通学先、契約している携帯電話事業者やインターネットサービスプロバイダ(ISP)などから取得できることが多い。
多くの人は勤務先など所属先の構成員としてのアドレスと、契約先の通信事業者などから取得した個人用・私用のアドレスを使い分けている。誰でも自由にメールアドレスを取得してメールの送受信が行える「フリーメール」あるいは「Webメール」サービスもあり、所属先や契約先などとは無関係に自分用のアドレスを取得することもできる。
グループ共有アドレス
企業などの組織では、電話番号の代表電話のように組織全体を代表する問い合わせ先のアドレスや、部署や窓口などの単位でアドレスを設定することもあり、送受信するメールは当該部門内や担当者間で共有される。
メーリングリストや一斉送信アドレスなどの仕組みを用いると、一つのアドレスをグループで共有し、メンバー全員に同時に同じメールを送ることができる。これは、メールサーバがメーリングリストのアドレスに宛てたメールを受け取ると登録された全員のアドレスに転送するという処理を自動的に行うことで実現されている。
メールサーバ ⭐⭐
電子メール(eメール)の送受信や配送を行うため、ネットワークに接続され常に稼働しているサーバコンピュータ。また、そのための機能を実装したサーバソフトウェア。
主に、発信者からの送信受付や宛先のサーバへの転送を担うサーバ(SMTPサーバなど)と、管理対象のメールアドレス向けのメールを外部から受信して保管し、受信者へ配達するサーバ(POP3サーバやIMAP4サーバなど)に分かれる。
いずれもメールサーバの一種だが、利用者の操作する電子メールクライアント(メールソフト、メーラー)の設定画面などでは、前者を「メール送信サーバ」、後者を「メール受信サーバ」などと呼ぶこともある。
メールアドレスを作成して外部と送受信するにはこの両方が必要となるが、これらはソフトウェアとしては通常別々に提供されている。小規模なシステムでは一台に両方を導入して送受信兼用のメールサーバとする場合もあるが、それぞれを運用するコンピュータを別々に用意して一体的に運用することもある。
SMTPサーバ
SMTP(Simple Mail Transfer Protocol)と呼ばれるインターネット標準の通信規約(プロトコル)に基づいてメールの送信や配送を行うメールサーバである。利用者の操作するクライアントからメッセージの送信依頼を受け付け、宛先に記載されたドメイン名を管轄するメールサーバを探し出してメールを配送する。
元来、送信と配達には同じ技術仕様と手順を用いていたが、不正にメッセージを送信する悪用事例が広まってしまったため、送信の受け付けには伝送路の暗号化(SMTPS)や正規利用者であることを示す認証(SMTP認証)が課されるのが一般的である。
POP3サーバ
POP3(Post Office Protocol 3)と呼ばれるインターネット標準の通信規約(プロトコル)に基づいて、外部から受信したメールを利用者に配達するメールサーバである。利用者のメールアドレスへの外部からの配送を受け付け、受信したメールを保管しておいてくれる。
個々人の使用するコンピュータは常にインターネットに繋がれているとは限らないため、外部から送信されたメッセージは一旦、当該ドメイン名を管轄するメール受信サーバが受け取り、利用者ごとに用意された記憶領域に一時保管される。
メールサーバはそのようなメール受信サーバの一つで、クライアントからのアクセスを受け付け、認証を行い本人であると確認すると、一時保管していたメッセージをまとめてクライアントに送信する。引き渡したメッセージは一時保管場所からは削除される。
IMAP4サーバ
IMAP4(Internet Mail Access Protocol 4)と呼ばれるインターネット標準の通信規約(プロトコル)に基づいて、外部から受信したメールを利用者に配達するメールサーバである。POP3サーバと役割は同じだが、メッセージの引き渡しや保管のルールが異なっている。
IMAP4サーバはPOP3サーバと同じように受信したメールを一時保管し、クライアントからアクセスを受け付けて引き渡すが、原則としてメッセージはサーバ側で管理される。クライアントへは各メッセージの表題や送信者、受信日時の一覧を渡し、利用者が指示したメッセージのみを送信する。
POP3とは異なりメッセージはサーバに残っているため、複数のコンピュータからメールにアクセスしたい場合などに便利だが、サーバ側には保管容量の制限が課されることが多く、満杯になって受信拒否されてしまわないよう、古いメッセージを削除する等の適切な管理が必要となる。
メーリングリスト 【ML】
あらかじめ登録された特定の複数のメールアドレスに一斉に電子メールを配信する仕組み。代表のメールアドレスに宛ててメールを送信すると、登録されたアドレスに一斉に転送される。
通常のメール送信では宛先として指定したアドレスに向けてメッセージが送られ、複数の相手に送りたい場合は複数のアドレスを送信者が指定する必要がある。メーリングリストではメールサーバ側に受信者リストが登録されており、そのアドレス宛てに送れば登録者全員にメッセージが複製されて配達される。
管理者がアドレスを登録する方式と、参加を希望する本人が特定の形式のメッセージを送ることで参加を許可される方式がある。集団内の連絡や情報共有のために開設されるものは管理者の許可したアドレスのみ登録できるよう運用されるが、誰でも自由に参加できるよう公開されているものもある。
登録者間の連絡や主催者からの告知などのために利用する場合、メーリングリストへの送信(投稿)はリスト登録者のみ可能とする(外部からの送信は拒否する)設定で運用することが多いが、外部からの連絡窓口などとして運用する場合は登録アドレス以外からの「投げ込み」投稿を許可する場合もある。
メーリングリストはメールサーバの管理者によって開設されるが、専門的な設備や技術を持たない人でも手軽に利用できるよう、インターネットを通じて誰でもメーリングリストを開設・運用できるネットサービスがある。その多くは無料で利用でき、投稿されたメールの一部に自動的に広告が挿入されて配信される仕組みになっている。
Web 【ウェブ】 ⭐⭐
インターネット上で標準的に用いられている文書の公開・閲覧システム。文字や図表、画像、動画などを組み合わせた文書を配布することができる。現代では様々なサービスやアプリケーションの運用基盤としても広く用いられる。
文書内の要素に別の文書を指し示す参照情報(ハイパーリンク)を埋め込むことができる「ハイパーテキスト」(hypertext)と呼ばれるシステムの一種である。“web” (ウェブ)とは「蜘蛛の巣」を意味する英単語で、多数の文書が互いにリンクを介して複雑に繋がり合っている様子を蜘蛛の巣の網目状の構造になぞらえている。
WebサーバとWebブラウザ
WWWで情報を提供するコンピュータやソフトウェアを「WWWサーバ」(web server)、利用者の操作によりサーバから情報を受信して表示や処理を行うコンピュータやソフトウェアを「Webクライアント」(web client)という。
Webクライアントのうち、受信したページの内容を整形して画面に表示し、人間が閲覧するために用いるものを特に「Webブラウザ」(web browser:ウェブブラウザ)という。サーバとクライアントの間の通信には「HTTP」(Hypertext Transfer Protocol)と呼ばれる通信規約(プロトコル)が標準的に用いられる。
WWW上の情報資源の所在の指定には、「https://www.example.co.jp/index.html」といった形式の「URL」(Uniform Resource Locator)という表記法が用いられる。Webサーバを表すドメイン名(ホスト名)と、Webサーバ上での資源の位置を指し示すパス(階層的なディレクトリ名とファイル名の組み合わせ)を繋げた形式になっている。
WebページとWebサイト
WWWにおける情報の基礎的な単位は「Webページ」(web page)で、見出しや文章などの文字情報をもとにHTML(Hypertext Markup Language)やCSS(Cascading Style Sheet)などのコンピュータ言語で構造や体裁、見栄えを記述する。
HTMLは記述された文字情報の中にソフトウェアへの制御情報を埋め込むことができる「マークアップ言語」(markup language)と呼ばれる言語で、「この部分が見出し」「本文はここからここまで」「段落の区切りはここ」といった指示を文書中に埋め込む形で記述することができる。
Webブラウザはこの制御情報に基づいて、タイトルを中央揃えにしたり、小見出しを太い大きな文字で表示したり、段落の間に空白を差し込むなど指定された整形や装飾を行い、閲覧者が文書の構造を把握しやすいように表示してくれる。
ページ内には文章だけでなく箇条書き(リスト)や表(テーブル)、図形、画像、動画、入力要素(フォーム)などを掲載することができる。画像や動画など文字で書き表せない要素は外部のファイルをURLで指定して埋め込むことができる。
要素のページ内での配置や大きさ、枠線や罫線、文字の字形(フォント)や色といった具体的な見栄えに関する指定項目(スタイルという)は、当初はHTMLで構造とともに記述していたが、CSSという専用の言語で構造とは別に指定する方式が主流となっている。
ページ内の要素には外部の他の資源(多くの場合は他のWebページ)のURLを指し示すリンクを設定することができ、ブラウザ画面に表示されたリンクを指定して開くよう指示(クリックやタップなど)すると、表示がリンク中のURLで指定されたページに切り替わる。簡単な操作でリンクをたどって次々に文書から文書へ表示を切り替えていくことができる。
このリンク機能を利用して、書籍のように複数のページ群をまとめた単位を「Webサイト」(web site)という。サイト内のページからは外部のサイトのページへリンクを張ることもでき、Web全体がリンクを介して連結された巨大な地球規模の文書データベースとなっている。
Webアプリケーション・Webサービス
Webサーバには静的なファイルの送信だけでなく、ブラウザからの要求に基づいて動的にコンピュータプログラムを実行し、何らかのデータ処理を行って結果をブラウザに応答することもできる。
また、Webブラウザにはページ上に記述された簡易なプログラム(スクリプトという)を実行し、サーバと任意のタイミングで通信したり、利用者の操作に応じて表示内容を変化させたりすることができる。
このような動的な仕組みを組み合わせ、サーバとブラウザが連携して利用者が対話的に操作することができるアプリケーションソフトを構築することができ、これを「Webアプリケーション」(web application)あるいは「Webサービス」(web service)という。著名な応用例として、ブラウザで買い物ができるオンラインショップ(ECサイト)や、利用者同士がコミュニケーションできるSNSなどのネットサービスがある。
歴史と名称
WWWはインターネットがまだ学術機関を中心に利用されていた頃、1989年に欧州核物理学研究所(CERN)のティム・バーナーズ・リー(Tim Berners-Lee)氏が所内の論文公開・閲覧システムとして考案したものが基礎となっている。
1990年代にインターネットが一般に開放され普及していく過程で、電子メールなどと共にネットの代表的な応用システムとして広く利用されるようになった。2000年代中頃には主に日本を含む先進国で欠かすことのできない重要な情報インフラの一つに成長している。
もとは “World Wide Web”、略して “WWW” が正式名称で、現在も「https://www.example.jp/」のようにWebサーバのホスト名などにこの名が残っているもの。英語では次第に “the Web” (固有名詞のWeb)のように略されるようになり、さらに進んで現在では一般名詞の “web” がインターネットのWebを指すことが増えている。日本では当初「ホームページ」の名称で紹介され、現在も初心者向けの説明などで多用されるが、「ウェブ」「Web」の呼称が浸透しつつある。
Webサイト 【ウェブサイト】 ⭐⭐
一冊の本のように、ひとまとまりに管理・公開されているWebページ群。また、そのようなページ群が置いてあるインターネット上での場所。Webの文脈が明らかな場合は「サイト」と略されることが多い。歴史的な経緯からWebサイトのことを指して「ホームページ」と呼ぶ場合もある(本来は誤用だがある程度定着している)。
サイト内の各ページには他のページへのハイパーリンクが設置され、これをたどってページ間を互いに行き来できるようになっている。入口や表紙にあたるページを「トップページ」または「ホームページ」(あるいはメインページ、フロントページ、インデックスページなど)という。
トップページにはサイトの概要や内容の案内、主要なページへのリンクが掲載されることが多く、ここを起点に閲覧を開始することが期待されるが、Webの特性上、検索エンジンの検索結果ページや他サイトからのリンクなどでトップ以外のページに直接訪問されることも多い。
Webサイトの構成
管理者があらかじめ作成した内容を提供する静的コンテンツ(静的ページ)と、Webサーバの拡張機能を用いて、ページの一部が動的に変化したり、電子掲示板(BBS)やコメント欄のように訪問者が内容を投稿できるコーナーが設けられる場合もある。
アプリケーションソフトのように閲覧者が対話的に操作して何らかの処理を行えるような構成になっているものもあり「Webアプリケーション」と呼ばれる。また、そのような仕組みを用いて利用者にサービスを提供するものを「Webサービス」と呼ぶことがある。
Webサーバ/ドメインとの違い
Webサーバは「IPアドレス」または「ドメイン名」(ホスト名まで含むFQDN)、個別のWebページは「URL」(Uniform Resource Locator)という識別子で指し示されるが、Webサイトそのものを指し示す識別子やサイトの範囲を定義する設定情報のようなものはない(補助的に利用される技術はあるが必須ではない)。
一つのWebサイトが複数のWebサーバ(ドメイン)にまたがって設置・運営されたり、一つのWebサーバがサブディレクトリごとに異なるWebサイトを提供している場合もある。WebサーバとWebサイトは一対一に対応するとは限らず、ページがどのサイトに属するのか確実に見分ける仕組みもない。
このため、「Webサイト」という括りは技術的に厳密に定義できるものではなく、便宜上のものと言える。通常はトップページのURLをWebサイトの所在とし、同一の管理者の管理権限の及ぶ範囲をWebサイトの範囲と考えることが多い。
ネットサービスの個人スペースと区別する用法
近年では、ブログやSNS、動画共有サービスのように登録利用者が内容を投稿できる専用のスペースを設け、インターネット上に公開できるサービスが普及している。巨大なサービス全体のWebサイトが利用者ごとのスペースに分割されている。
これも外形的にはWebサイトの一種に違いないが、利用者側から見て、「私のブログ」「私のInstagram」「私のサイト」といったように、ネットサービス上の「借り物」のスペースと区別して、従来のような構成のWebサイトを「サイト」と呼ぶことがある。
Webサーバ 【ウェブサーバ】 ⭐⭐
Webシステム上で、利用者側のコンピュータに対しネットワークを通じて情報や機能を提供するコンピュータ。また、そのような機能を実装したソフトウェア(Webサーバ・ソフトウェア)。
Webはクライアントサーバ型のシステムで、利用者が操作するWebクライアントと、クライアントの求めに応じてデータや機能を提供するWebサーバが連携して動作する。クライアントにはWebブラウザが用いられることが多いが、利用者が直に操作しないクローラー(ボット)なども存在する。
Webサーバはクライアントからの求めに応じて自身の管理するファイルを送信したり、内部で何らかの処理を行ったり、クライアントから受信したデータを保存したりすることができる。クライアントから要求やサーバからの応答は「HTTP」(Hypertext Transfer Protocol)という通信規約(プロトコル)に基づいて行われる。
クライアントからのサーバの指定、サーバ内の資源の指定は「http://~」あるいは「https://~」で始まる「URL」(Uniform Resource Locator)という記法が用いられる。例えばブラウザで「https://www.example.jp/corp/about.html」の表示を指示すると、「www.example.jp」というWebサーバへ接続を行い、「/corp/about.html」という位置にあるファイルの送信を要求する。
利用者の操作や入力をブラウザから受け取って処理を行い、その結果を反映した応答データを動的に生成して返す機能もあり、アプリケーションソフトのように対話的に機能を利用するシステムを作ることができる。これを「Webアプリケーション」と呼び、多くのネットサービスの実装方式となっている。
Webサーバソフトウェアには様々なものがあるが、汎用のWebサーバとして人気のものとしてはオープンソースの「Apache HTTP Server」や「nginx」などの人気が高い。企業向けの製品としては米マイクロソフト(Microsoft)社の「Internet Information Services」(IIS)がよく用いられる。
HTTP 【Hypertext Transfer Protocol】 ⭐⭐⭐
WebサーバとWebクライアントの間でデータの送受信を行うために用いられるプロトコル(通信規約)。Webページを構成するHTMLファイルや、ページに関連付けられたスタイルシート、スクリプト、画像、音声、動画などのファイルを、データ形式などのメタ情報を含めてやり取りすることができる。
HTTPはクライアントから要求(HTTPリクエスト)を送り、サーバが応答(HTTPレスポンス)を返すプル型(リクエスト/レスポンス型)の通信を基本としており、WebブラウザやWebクローラなどのクライアントから送信する要求の形式や、Webサーバからの応答の形式などを定めている。
HTTPリクエストおよびレスポンスは要求や返答の内容、資源の種類や形式などの情報、および関連する情報を記述した「ヘッダ部」(header)と、送受信する資源(ファイルなど)の本体である「ボディ部」(body)で構成される。ボディは基本的にはレスポンスに存在するが、クライアント側からデータを送信する際にはリクエストにも付加される。
HTTPは下位(トランスポート層)のプロトコルとして標準ではTCPを利用することが多いが、SSL/TLSを用いて暗号化されて伝送されることもある。この通信手順は「HTTP over SSL/TLS」と呼ばれ、URL/URIのスキーム名として通常の「http:」に代えて「https:」を用いる。
Cookieによるセッション管理
HTTPそのものは複数回の通信をまたぐ状態の保存・管理を行わないステートレス型のシンプルなプロトコルだが、「Cookie」(クッキー)と呼ばれる拡張仕様により状態管理ができるようになっている。
Cookieはサーバがレスポンスヘッダの一部としてクライアントに送付する短い文字データで、クライアントはこれをストレージなどに恒久的(ただし有効期限が切れると消滅する)に保存する。次回サーバへリクエストを送付する際にはヘッダに前回受信したCookieの内容を書き入れて送信する。
サーバはCookieを参照することで個々のクライアントを識別・同定することができる。サーバとクライアントの間で何往復も繰り返しやり取りが必要な複雑な処理(セッション)を容易に実装することができ、間が空いてから再アクセスしてもサーバは相手がどのクライアントなのか見分けることができる。
認証方式
HTTPではクライアントを用いてアクセスしてきた利用者を識別・認証し、アクセス権限に応じたサービスを提供するため、認証手順(HTTP認証)についても定めている。当初規定されたのは単純にユーザー名とパスワードをやり取りする「基本認証」(BASIC認証)だが、パスワードが通信途上で盗聴される危険性に対処するためにチャレンジ/レスポンス認証の一種である「ダイジェスト認証」(Digest認証)が追加された。
現在では利用者の認証が必要な用途ではHTTP通信自体を丸ごと暗号化するSSL/TLSを用いるのが一般的となっており、認証機能もアプリケーション側で実装するようになったため、HTTP自体の認証機能はあまり使われなくなっている。
歴史
HTTPの最初のバージョン(HTTP/0.9)は、Webを考案したティム・バーナーズ・リー(Timothy J. Berners-Lee)氏らによって1991年に公表された。その後、インターネット関連技術の標準化を推進するIETF(Internet Engineering Task Force)によって標準化が進められ、1996年にHTTP/1.0(RFC 1945)が、1997年に改良版のHTTP/1.1(RFC 2068)が発行された。
現在最も普及しているのはこのHTTP/1.1で、2014年にRFC 7230~7235として改訂された。2015年には互換性を維持しつつ大幅な機能強化を図ったHTTP/2が、2022年にはトランスポート層にQUICを統合したHTTP/3が標準化され、一部の仕様が大きく変更されている。
URL 【Uniform Resource Locator】 ⭐⭐⭐
インターネット上に存在するデータやサービスなどの情報資源の位置を記述する標準的な記法の一つ。Webページの所在を書き表す方式として広く普及している。
様々な資源の所在地にあたる情報の記述の仕方を定めたもので、資源の取得方法(種類)や、ネット上での当該資源の存在するコンピュータの識別名や識別番号、コンピュータ内部での資源の位置などで構成される。
先頭には「http:」「ftp:」のように必ず資源の取得方法を記述する決まりで、これを「スキーム名」という。スキーム名はデータの送受信を行うプロトコル(通信規約)名であることが多いが、ローカルファイルの所在を記述する「file:」のようなスキーム名もある。
スキーム名に続く識別情報の記述形式はスキーム毎に異なるが、プロトコル系のスキームではサーバのドメイン名(ホスト名)やIPアドレス、ポート番号、ディレクトリ名、ファイル名を区切り記号を挟んで順番に記述する形式が一般的である。
Web上の資源を表すhttpスキームでは「http://e-words.jp:80/w/URL.html」のような構成となり、「http:」がスキーム名、「e-words.jp」がコンピュータのドメイン名、「:80」が通信に用いるポート番号、「/w/」がWebサーバ上での目的のディレクトリ、「URL.html」が取得したいファイル名である。
URLの標準規格は1994年にIETFによってRFC 1738として策定された。その後、1998年に資源の(所在から独立した)識別名の記法である「URN」(Universal Resource Name)を含む、より汎用的な規格として「URI」(Universal Resource Identifier)が策定された。現在は正式にはURLはURI仕様の一部となっている。
プロキシ 【HTTPプロキシ】 ⭐
二つのネットワークの境界で、一方のコンピュータの「代理」としてもう一方のネットワーク上のコンピュータへの接続を取り次ぐシステムのこと。企業などの内部ネットワークとインターネットの境界に置かれることが多い。
プロキシサーバサーバは内部のコンピュータから外部へのアクセス要求を受信すると、自らが接続元となって目的のシステムへ要求を行う。先方から応答が返ってきたら、これをアクセス元に転送する。接続先から見るとプロキシサーバ自身が通信しているように見え、内部のコンピュータの存在やそのIPアドレスなどをある程度秘匿することができる。
プロキシサーバは設置するだけでは利用できず、原則としてWebブラウザなどにプロキシサーバを経由する設定を明示的に行わなければならない。しかし、ネットワーク内の通信機器の設定などにより、すべてのアクセスを自動的(強制的)にプロキシサーバ経由とする方法もあり、「透過プロキシサーバ」(transparent proxy)と呼ばれる。
付加機能
プロキシサーバの中には、一度取得した外部サーバのデータを自らのストレージ(外部記憶装置)内に保存しておく「キャッシュサーバ」の機能を持つものもあり、再び同じデータの取得要求があったとき、自らが保管しているデータをサーバの代理として送信する。外部サーバの負荷が軽減されるほか、内外を結ぶ通信回線の混雑を緩和することができる。
また、内外を流通するデータをアプリケーションレベルで把握することができ、アクセス履歴を記録・収集することができる。望ましくない接続先を設定して内部からの中継を拒否するフィルタリング機能や、外部から不正アクセスの試みやマルウェアなどが流入することを検知・抑止するファイアウォールやIDS/IPSのような機能を持つ製品もある。
内部ネットワークがインターネットなどとは独立したアドレス体系(プライベートIPアドレス)で運用されている場合には、NATやNAPT(IPマスカレード)などのように内外のポート番号、IPアドレスの自動変換を同時に行う機能を持ったものもある。
フォワードプロキシとリバースプロキシ
通常、単にプロキシサーバといった場合はクライアント側のネットワークに置かれ、クライアントの代理としてサーバへの接続を中継するシステムを指す。これを「フォワードプロキシサーバ」(forward proxy)という。
一方、サーバ側のネットワークに置かれ、サーバの代理としてクライアントからの接続を受け付け、ファイルの代理送信(キャッシング)や暗号化などの処理の肩代わり(オフローディング)、負荷分散(ロードバランシング)などの機能を提供するシステムもある。これは「リバースプロキシサーバ」(reverse proxy/逆プロキシサーバ)と呼ばれる。
検索エンジン 【サーチエンジン】 ⭐
あるシステムに存在するデータやファイルを取得して内容の索引付けを行い、利用者がキーワードや条件を入力して検索できるようにしたシステム。そのような機能に特化したソフトウェアなどのことを指す場合と、Web上の情報を検索するネットサービスやWebサイトを指す場合がある。
広義には、ある情報システムやストレージ(記憶装置)などに保管されたファイルやデータの集合を読み込んで、どのような情報がどこに存在するといった索引(インデックス)を作成し、利用者が入力したキーワードや検索条件に合致するデータを探し出して列挙するシステム全般を指す。
特に、外部のソフトウェアなどに組み込まれて検索機能を提供する、部品化されたソフトウェアのことをこのように呼ぶことが多い。企業内のデータベースなどを検索するシステムや、コンピュータ内に保存された文書ファイルなどを検索するシステムが存在する。
Web検索エンジン
狭義には、Web上で公開されているWebページや画像、動画、文書ファイルなどを対象に、ソフトウェアによって自動的に様々なサイトのデータを収集して索引付けし、様々な条件で検索できるようにしたインターネット上のサービスのことを検索エンジンという。現代では単に検索エンジンといった場合はこちらを指すのが一般的となっている。
検索エンジンはWebクローラー(crawler)あるいはロボット(bot)と呼ばれる巡回ソフトを用いて日々Web上で公開されている情報を収集し、テキスト(文字)情報などを抽出して索引付け(インデクシング)している。
利用者は検索エンジンのサイト上のフォームから検索したい語やフレーズなどを入力すると、それらが含まれるページの一覧を作成して返答する。このページはSERP(Search Engine Result Page)と呼ばれ、検索ソフトウェアによって検索条件との関連度が高いと判断されたページやサイトから順番に、ページのURLやタイトル、内容の要約などが表示される。
2000年前後のインターネット普及期にはアメリカを中心に様々な検索エンジンサービスが勃興し覇を競ったが、2010年代には世界的には米グーグル(Google)社の「Google」が支配的な地位を確立し、二番手の米マイクロソフト(Microsoft)社「Bing」(ビング)を大きく引き離している。
日米Yahoo!(ヤフー)のようにかつては自前の検索エンジンを開発・運用していたが、自社製システムは廃止してWeb検索機能をGoogleやBingに委託するようになったネット大手も多い。中国の「百度」(Baidu/バイドゥ)や韓国の「NAVER」(ネイバー)、ロシアの「Yandex」(ヤンデックス)のように、国内大手の方が強い国もある。
AND検索 【アンド検索】 ⭐
情報を検索する際の条件の指定方法の一つで、複数の条件をいずれも満たすものを検索すること。
条件AとBがあるとき、検索条件を「A and B」と指定すると、「AとBの両方の条件を満たす」という意味になる。条件が3つ以上の場合も同様で、挙げられたすべてを満たすという意味になる。
Web検索エンジンのキーワード指定では、キーワードを半角スペースで区切るとAND検索の指定を意味することが多く、列挙したキーワードすべてを含むページを検索せよという意味になる。例えば、「スクリーンショット Android」と検索すると、「スクリーンショット」と「Android」の両方を含むページが検索される。
一方、挙げられた条件の少なくとも一つを満たすものを検索することは「OR検索」、ある条件を満たさないものを検索することは「NOT検索」という。
OR検索 【オア検索】 ⭐
情報を検索する際の条件の指定方法の一つで、複数の条件のうち少なくともいずれか一つを満たすものを検索すること。
条件AとBがあるとき、検索条件を「A or B」と指定すると、「AとBのいずれかの条件を満たす」という意味になる。条件が3つ以上の場合も同様で、挙げられた条件の少なくともいずれか一つを満たすという意味になる。
Web検索エンジンのキーワード指定では、キーワードを「|」(縦棒、縦線、バーティカルバーなどと呼ばれる)で区切るとOR検索の指定を意味することが多く、列挙したキーワードのいずれかを含むページを検索せよという意味になる。例えば、「iPad|Androidタブレット」と検索すると、「iPad」と「Androidタブレット」のどちらか、あるいは両方を含むページが検索される。
一方、挙げられた条件のすべてを満たすものを検索することは「AND検索」、ある条件を満たさないものを検索することは「NOT検索」という。
NOT検索 【マイナス検索】 ⭐
情報を検索する際に条件を指定する方法の一つで、ある条件を満たさないものを検索すること。
条件Aについて検索条件を「not A」と指定すると、「Aを満たさない」という意味になる。通常は他の検索条件と組み合わせ、得られた検索結果から特定の条件に一致するものだけを除外するために用いられる。
一方、複数の検索条件を列挙して「すべてを満たす」ものを検索する指定方法は「AND検索」(アンド検索)、「少なくとも一つを満たす」ものを検索する指定方法は「OR検索」(オア検索)という。
検索エンジンのマイナス検索
Web検索エンジンのキーワード指定では、キーワードの先頭に「-」(ハイフン、マイナス記号)を付けるとNOT検索の意味になる記法を採用していることが多く、「マイナス検索」とも呼ばれる。
通常は他のキーワードや検索条件と組み合わせて検索結果を絞り込むのに用いられる。例えば、「アリ -シロアリ」と検索すると、「アリ」を含むWebページから「シロアリ」を含むものを除外したページ一覧が表示される。
クローラ 【スパイダー】
様々なWebサイトを自動的に巡回し、公開されている文書や画像などのデータを収集していくソフトウェアやシステム。目的に応じて収集するサイトの範囲やデータの種類、巡回頻度などは異なる。
単にクローラといった場合はWeb検索エンジンが運用するものを指すことが多いが、Web上の情報を対象とした研究や調査などのために運用されているものや、スパム業者が公開メールアドレスを収集するために運用しているものもある。
検索クローラはWeb上で公開されている情報を網羅的に取得してデータベース化し、索引付けして高速に全文検索できるようにするもので、世界中の公開Webページを巡回して定期的にデータを取得する。ページの内容は解析され、見出しや文章を元に索引が作成される他、検索結果に内容の要約や抜粋が表示されることもある。ページ内でリンクとして設定されているURLなどをたどってサイト内の別のページや他のWebサイトを芋づる式に発見していく。
クローラはHTTPヘッダのユーザーエージェント(UA)文字列で「○○bot」「×× Crawler」などと名乗り、運用しているサイトのURLやドメイン名、連絡先アドレスなどを併記していることが多いが、一般的なWebブラウザのUA名を名乗ってなりしましているものもある。
Webサイト管理者はサイトの最上位階層(ルート)のディレクトリに「robots.txt」という名前のファイルを作成し、クローラがアクセス可能な範囲やアクセスを禁止するファイルやディレクトリなどを指定することができる。クローラすべてを対象とすることも、特定のクローラのみを名指しで指定することもできるが、クローラ側が従うかどうかは開発者や運用者次第であり強制力はない。
クローラ 【スパイダー】
様々なWebサイトを自動的に巡回し、公開されている文書や画像などのデータを収集していくソフトウェアやシステム。目的に応じて収集するサイトの範囲やデータの種類、巡回頻度などは異なる。
単にサーチボットといった場合はWeb検索エンジンが運用するものを指すことが多いが、Web上の情報を対象とした研究や調査などのために運用されているものや、スパム業者が公開メールアドレスを収集するために運用しているものもある。
検索クローラはWeb上で公開されている情報を網羅的に取得してデータベース化し、索引付けして高速に全文検索できるようにするもので、世界中の公開Webページを巡回して定期的にデータを取得する。ページの内容は解析され、見出しや文章を元に索引が作成される他、検索結果に内容の要約や抜粋が表示されることもある。ページ内でリンクとして設定されているURLなどをたどってサイト内の別のページや他のWebサイトを芋づる式に発見していく。
サーチボットはHTTPヘッダのユーザーエージェント(UA)文字列で「○○bot」「×× Crawler」などと名乗り、運用しているサイトのURLやドメイン名、連絡先アドレスなどを併記していることが多いが、一般的なWebブラウザのUA名を名乗ってなりしましているものもある。
Webサイト管理者はサイトの最上位階層(ルート)のディレクトリに「robots.txt」という名前のファイルを作成し、サーチボットがアクセス可能な範囲やアクセスを禁止するファイルやディレクトリなどを指定することができる。サーチボットすべてを対象とすることも、特定のサーチボットのみを名指しで指定することもできるが、サーチボット側が従うかどうかは開発者や運用者次第であり強制力はない。
クローラ 【スパイダー】
様々なWebサイトを自動的に巡回し、公開されている文書や画像などのデータを収集していくソフトウェアやシステム。目的に応じて収集するサイトの範囲やデータの種類、巡回頻度などは異なる。
単にスパイダーといった場合はWeb検索エンジンが運用するものを指すことが多いが、Web上の情報を対象とした研究や調査などのために運用されているものや、スパム業者が公開メールアドレスを収集するために運用しているものもある。
検索クローラはWeb上で公開されている情報を網羅的に取得してデータベース化し、索引付けして高速に全文検索できるようにするもので、世界中の公開Webページを巡回して定期的にデータを取得する。ページの内容は解析され、見出しや文章を元に索引が作成される他、検索結果に内容の要約や抜粋が表示されることもある。ページ内でリンクとして設定されているURLなどをたどってサイト内の別のページや他のWebサイトを芋づる式に発見していく。
スパイダーはHTTPヘッダのユーザーエージェント(UA)文字列で「○○bot」「×× Crawler」などと名乗り、運用しているサイトのURLやドメイン名、連絡先アドレスなどを併記していることが多いが、一般的なWebブラウザのUA名を名乗ってなりしましているものもある。
Webサイト管理者はサイトの最上位階層(ルート)のディレクトリに「robots.txt」という名前のファイルを作成し、スパイダーがアクセス可能な範囲やアクセスを禁止するファイルやディレクトリなどを指定することができる。スパイダーすべてを対象とすることも、特定のスパイダーのみを名指しで指定することもできるが、スパイダー側が従うかどうかは開発者や運用者次第であり強制力はない。
暗号化 【エンクリプション】 ⭐⭐⭐
情報を第三者に盗み見られずに伝達あるいは保存するため、特定の手順に基づいて元の状態が容易に推定できない形式に変換すること。現代では、コンピュータを用いて特定の計算手順と秘密の情報に基づいてデータを変換することを指す。
伝達・保存したいデータそのものである「平文」(cleartext)と、これとは別に用意された短い秘密の符号である「暗号鍵」(cipher key)を組み合わせ、あらかじめ定められた手順によりデータの演算、加工を行い、一見すると意味が分からない符号の羅列である「暗号文」(ciphertext/cryptogram)に置き換える操作を指す。
暗号文を正規の暗号鍵を用いて平文に戻す処理を「復号」(decipher/decryption)という。正規の鍵が分からない状態で暗号鍵または平文を割り出そうとすることを「攻撃」(attack)、実際に割り出すことを「解読」(crack)という。
共通鍵暗号と公開鍵暗号
暗号化と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem)「共有鍵暗号」あるいは「秘密鍵暗号」(secret key cryptosystem)という。公開鍵暗号が発明される以前はこの方式しかなかった。
一方、対(ペア)になる二つの鍵を用いて、片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。鍵ペアのうち片方は公開し、片方は秘匿した状態で運用される。暗号化に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、デジタル署名などにも応用される。
慣用的な用法
厳密には暗号化とは言えないが、目的や手法が似ているために慣用的に暗号化と呼ばれることがある変換手法がいくつかある。例えば、原文から一定の計算手順で特徴的な固定長のデータを算出する「ハッシュ関数」(hash function)および「ハッシュ化」(hashing)は、計算後のハッシュ値から元のデータに戻すことは原理的にできないため暗号化とは区別されるが、原文を秘匿する目的に使われることがあるため、そのような文脈では分かりやすさを優先して慣用的に暗号化と呼ばれることがある。
また、暗号鍵に相当する秘密の情報を用いずにデータを一定の手順で乱雑化する「スクランブル化」(scrambling)や、コンピュータプログラムのソースコードなどをコンピュータが解釈・実行できる状態を保ったまま人が容易に読み下せない形式に変換する「難読化」(obfuscation)なども、慣用的に暗号化と呼ばれることがある。
復号 【復号化】 ⭐⭐⭐
暗号化やデータ圧縮など何らかの変換処理によって得られた符号列から、元のデータを復元すること。
データや信号などを、何らかの目的のために符号化(encode)することがある。盗聴を防ぐための暗号化やデータ量を削減するための圧縮、伝送中の信号の誤りに備えた誤り訂正符号の付与などである。
このように元の状態から変換された符号列から、符号化とは逆方向の変換処理を行い、元のデータに復元する処理や工程を復号という。暗号の場合には、暗号化に用いた秘密の情報(暗号鍵)を用いて元のデータを得ることを意味し、これを用いずに元の情報を復元することは「解読」という。
「暗号」が暗号文の意味を持ち、変換過程のことを「暗号化」というため、同じように「復号化」と表記する例も見られるが、一般には符号の逆変換工程のことを「復号」と呼び、得られたデータを「復号」とは呼ばないため、復号化という表記は誤りであるとみなされることが多い。
英語では “decode” (動詞) “decoding” (名詞)というが、特に暗号の復号のことは “decrypt” / “decryption” あるいは “decipher” ということが多い。(暗号鍵を用いない)解読のことは “attack” “break” “crack” などのように表現することが多い。
平文 【クリアテキスト】 ⭐⭐⭐
暗号化されていない状態のデータ。暗号技術に基づく復号、解読などの操作を行わなくても、そのままで内容を取り扱うことができる状態のデータのことを指す。
「文」(text)という語が充てられ、「パスワードを平文で送る」といったように、実際、多くの場面で文字(テキスト)を指すが、暗号化されていないデータ全般を含む概念であり、文脈によっては画像、音声、動画、実行形式のコンピュータプログラムなどのバイナリ形式のデータを指す場合もある。
平文のことを「プレーンテキスト」(plaintext)と呼ぶこともあるが、これは暗号以外の分野ではバイナリデータの対義語(文字コードに規定された符号のみからなる、文字列として入出力可能なデータ列)であり、必ずしも「暗号化されていない」という意味とは限らない。
慣用的に「ひらぶん」と湯桶読みすることが多いが、例えばJIS規格(JIS X 0008 情報処理用語)では「ひらぶん」と「へいぶん」が併記されており、「へいぶん」が誤りというわけではない。
平文認証 (クリアテキスト認証/プレーンテキスト認証)
利用者認証などで、認証に必要な情報を暗号化などせずにそのままの形で送受信することを平文認証、プレーンテキスト認証(plaintext authentication)、クリアテキスト認証(cleartext authentication)などという。
認証情報の伝送方式として最も単純なもので、データの暗号化やハッシュ化などを行わず、利用者などの識別子(ID、ユーザ名など)や本人であることを確認する秘密の情報(パスワード、パスコード、パスフレーズ、暗証番号など)をそのままやり取りする。
通信回線やネットワークを介して認証を行う際に、信用できない通信経路上で平文認証を行うと途中で悪意の第三者による盗聴や改竄、なりすましなどの被害にあう危険性があるため、暗号化などに対応した認証方式を用いる必要がある。
共通鍵暗号 【秘密鍵暗号】 ⭐⭐⭐
暗号化と復号に同じ暗号鍵を用いる暗号方式。暗号文の送信者と受信者で同じ鍵を共有する必要があり、あらかじめ安全な経路で鍵を共有しなければならない。
暗号化の対象となる平文と、単一の暗号鍵を用いて、特定の計算手順(暗号アルゴリズム)により暗号文を得る。平文と鍵のいずれかが異なれば暗号文も異なる。暗号文を元の平文に戻すには、暗号化に用いた鍵によって暗号化時と逆方向の変換を行う。
古代より換字表を鍵としたものなど様々な方式が利用されてきたが、現代では、数十から数百ビット程度の規則性のないデータを鍵として、任意の長さの平文をコンピュータによる計算により暗号化する方式が普及している。アルゴリズムは公開を原則とし、暗号鍵の推測しにくさ(特に、鍵の長さ)によって安全性を確保する。
暗号化を行うデータの区切り方の違いにより、一定の長さごとのブロック単位で暗号化を行うものを「ブロック暗号」(block cipher)、1ビット単位で処理するものを「ストリーム暗号」(stream cipher)という。ブロック暗号は64ビットや128ビット、長いものでは256ビットなどの単位ごとにデータを区切り、それぞれの塊ごとに暗号化と復号を行う。
鍵が分かれば暗号文を平文に戻すことができるため、送信者と受信者の間で鍵を安全に受け渡して共有する必要がある。多数の相手との間で暗号を利用する場合、全員に同じ鍵を渡せば漏洩の危険が高まり、すべて別の鍵にすれば鍵の生成や受け渡し、暗号化のコストが増大するというジレンマがある。
代表的な共通鍵暗号方式方式として、1977年に米IBM社が開発し米政府標準に採用された「DES」(Data Encryption Standard)や、その後継として2000年に米政府標準となった「AES」(Advanced Encryption Standard/暗号アルゴリズムとしてはRijndael)、ストリーム暗号の標準的な方式として広く普及している「RC4」(ARCFOUR)などがよく知られる。
公開鍵暗号との違い
一方、対になる2つの鍵ペアを生成し、一方で暗号化を、もう一方で復号を行う暗号方式を「公開鍵暗号」(public key encryption)という。片方の鍵は共通鍵暗号方式の鍵のように第三者に知られないよう秘匿する秘密鍵だが、相手方に送る方の鍵は人に知られてもよいため「公開鍵」と呼ばれる。
1970年代に公開鍵暗号が考案されるまでは暗号といえば共通鍵暗号方式のことだった。現代でも、暗号化や復号の処理速度は共通鍵暗号方式の方が優れているため、両方式を組み合わせ、共通鍵暗号方式の鍵交換のために公開鍵暗号を用い、データ本体は共通鍵暗号方式で暗号化する「ハイブリッド暗号」がSSL/TLSなどの形で広く利用されている。
公開鍵暗号 【非対称鍵暗号】 ⭐⭐⭐
対になる2つの鍵を使ってデータの暗号化・復号を行う暗号方式。暗号化に用いる鍵は公開され、復号に用いる鍵は秘匿される。公開鍵から効率よく暗号鍵を割り出すことはできないようになっている。
1976年にウィットフィールド・ディフィー(Whitfield Diffie)氏とマーティン・ヘルマン(Martin E. Hellman)氏によって基本原理が考案された。具体的な暗号方式として世界で初めて公表されたのは、1977年にロナルド・リベスト(Ronald L. Rivest)氏、アディ・シャミア(Adi Shamir)氏、レオナルド・エーデルマン(Leonard M. Adleman)氏が考案したRSA暗号である。
暗号化に用いる暗号鍵は誰に知られてもよいため公開鍵(public key)と呼ばれ、復号に用いる鍵は本人しか知らないよう管理する必要があるため秘密鍵(secret key)と呼ばれる。ある相手に暗号文を渡したいときにはその人の公開鍵を入手して暗号化することで、秘密鍵を知る本人しか復号できない暗号文を得ることができる。
最もよく知られるRSA暗号ではこれとは逆に、秘密鍵で暗号化して公開鍵で復号することも可能だが、これはほとんどの公開鍵暗号方式方式ではできない珍しい性質で、一般的な特徴ではない。
共有鍵暗号と公開鍵暗号
公開鍵暗号方式が発明される以前の暗号は単一の暗号鍵で暗号化と復号の両方を行うものしかなかったが、現在ではこのような暗号は「共通鍵暗号」(共有鍵暗号/秘密鍵暗号/対称鍵暗号)と呼ばれる。
公開鍵暗号方式は復号のための鍵を完全に秘匿したまま運用でき、共有鍵で必要となる鍵を安全に相手に配送するために高コストの手段(人が訪ねて手渡しする等)を用意する必要がなく、配送途上で盗み取られて解読される危険もないという利点がある。
一方、共有鍵暗号より暗号化や復号の処理が複雑で、同程度の暗号強度を得るのにより多くの計算資源や計算時間を必要とする。両者の特徴を組み合わせ、通信データの暗号化自体は共有鍵暗号を利用し、共有鍵を安全に受け渡す手段として公開鍵暗号方式を利用する「ハイブリッド暗号」もよく用いられる。
秘密鍵解読の困難性
秘密鍵と公開鍵の鍵ペアを生成するのは容易な一方、公開鍵から秘密鍵を推測したり割り出したりするのはコンピュータによる解析でも極めて困難になるよう設計されている。
この困難さは数学上の問題を背景にしており、例えばRSA暗号は数十桁もある巨大な2つの素数をかけ合わせた数を素因数分解する効率的な手法は発見されていないことを利用する。素数を元に秘密鍵を、素数の積を元に公開鍵を生成すれば、現代の技術では現実的な計算資源や時間で効率よく公開鍵から秘密鍵を割り出すことはできない。
同様に、ElGamal暗号やDiffie-Hellman鍵交換、DSA(デジタル署名アルゴリズム)では離散対数問題と呼ばれる数学上の問題を、楕円曲線暗号では楕円曲線上の離散対数問題と呼ばれる問題を秘密鍵解読の困難性の担保としている。
公開鍵暗号とデジタル署名
公開鍵暗号方式の原理(必ずしも公開鍵暗号方式そのものとは限らない)と暗号学的ハッシュ関数を組み合わせ、文書やメッセージにすり替えや改竄が行われていないことや、確かに作成者・送信者本人のものであると証明する短いデータを生成することができる。文書データの末尾などに添付され、サインや印鑑のような働きをするため「デジタル署名」(digital signature)と呼ばれる。
メッセージの送信者は本人しか知らない秘密鍵と本文を元に一定の手順で算出した固定長の暗号データをメッセージに添付し、相手方に送る。受信者は受け取った本文と、送信者の公開鍵などを用いて一定の手順で同様のデータの算出を試み、添付されたものと照合する。両者が一致すれば、メッセージが確かに送信者本人のものであり、かつ伝送途上で第三者による改竄やすり替えが行われていないことが確認できる。
公開鍵証明書とPKI
公開鍵暗号方式は共有鍵のように復号のための鍵を盗み取られる危険は少ないが、暗号化のために相手の公開鍵を入手する際、信用できない経路を用いることで悪意のある第三者によって偽物にすり替えられる別の危険性がある。
確実に相手の公開鍵を入手するには共有鍵のように安全な別の経路で共有するのも一つの手段だが、それでは結局同じように高いコストがかかってしまう。危険な経路でも安全に鍵を受け渡すため、公開鍵に信頼できる第三者がデジタル署名した「デジタル証明書」(公開鍵証明書)を渡し、鍵の真正性を確認できるようにするという方式が考案された。
証明書を検証するには発行者(認証局という)の公開鍵が必要となるため、受信者は送信者が利用する認証局の公開鍵を安全に入手しなければならない。しかし、世の中のすべての認証局の公開鍵をあらかじめ揃えておくことは現実的ではない。
このため、実際にはWebブラウザなど公開鍵暗号方式を利用するソフトウェアには世界的に有力な大手商用認証局や政府機関の認証局の公開鍵が安全な方法であらかじめ組み込まれており、各認証局は自らの公開鍵をそれら最上位の認証局(ルート認証局)が発行した証明書として提供している。このように、インターネットのみで公開鍵暗号方式を安全に運用できるようにするために築かれた社会的基盤のことをPKI(Public Key Infrastructure:公開鍵基盤)という。
SSL 【Secure Sockets Layer】 ⭐
インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。データを送受信する一対の機器間で通信を暗号化し、中継装置などネットワーク上の他の機器から通信内容を覗き見たりすり替えたりできないようにする。
SSLは公開鍵暗号を応用したデジタル証明書による通信相手の認証(一般的にはサーバの認証)と、共通鍵暗号(秘密鍵暗号)による通信の暗号化、ハッシュ関数による改竄検知などの機能を提供する。Webアクセスに使われるHTTPと組み合わせ、Webサイトで認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。
認証局と証明書
SSLでは、一対の秘密鍵と公開鍵を組み合わせて用いる「公開鍵暗号」により通信相手の確認や通信の暗号化に用いる暗号鍵の交換を行う。そのためには相手方(クライアント側ソフトウェアにとってサーバ側)の公開鍵をすり替えや改竄ができない方法で入手する必要がある。
SSLを利用するクライアント(Webブラウザなど)が、アクセス先のすべてのサーバの公開鍵を個別に安全に入手することは現実的ではないため、信頼できる「認証局」(CA:Certificate Authority)と呼ばれる機関が発行したデジタル証明書によって公開鍵の受け渡しを行う。
Webブラウザなどには著名な大手CAの公開鍵が記録された「ルート証明書」があらかじめ格納されており、これを用いてサーバから送られてきた証明書を検証することにより、途中ですり替えや改竄が行われていないことを確認することができる。この仕組みを「PKI」(Public Key Infrastructure:公開鍵基盤)という。
サーバ側ではSSLに対応するために大手CAやその認証を受けた下位CAの発行(通常は販売)する証明書を導入する必要がある。仕組みの上ではCAなど外部機関の認証を受けず自らが発行した証明書を使うこともできるが、クライアント側では「発行元の検証ができない」警告メッセージが表示される。
プロトコルとポート番号
SSLはプロトコル階層ではIP(Internet Protocol)の一段階上位で、TCPやUDPと同じトランスポート層のプロトコルである。TCPの代替として利用することができるため、HTTPに限らず様々な上位層(アプリケーション層)のプロトコルと組み合わせて使用され、インターネットにおける汎用的な通信の暗号化方式として定着している。
組み合わせるプロトコル応じて「○○ over SSL」(○○S)という名称で呼ばれ、HTTPであれば「HTTPS」、SMTPであれば「SMTPS」、POP3であれば「POP3S」などと呼ばれる。これらは元のプロトコルとは別に標準のポート番号が与えられており、HTTPは標準ではTCPの80番を使用するが、HTTPSは443番を使う。同様にSMTPSは465番(SMTPは25番)、POP3Sは995番(POP3は110番)が割り当てられている。
SSLとTLS
初期のSSLの仕様は1990年代半ばに当時のWebブラウザ大手、米ネットスケープ・コミュニケーションズ(Netscape Communications)社が開発した。SSL 1.0は欠陥が見つかったため公式発表前に破棄され、最初に公開されたのは1994年のSSL 2.0である。翌1995年にSSL 3.0が発表された。これらは現在では深刻な脆弱性が発見されており、利用を中止して後継版へ移行することが推奨されている。
SSL 3.0の次のバージョンから名称が「TLS」(Transport Layer Security)に変更されたため、現在広く利用されているのは正確にはTLSの方だが、「SSL」という名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。
HTTPS 【HTTP over SSL/TLS】 ⭐⭐
通信方式の種別などを表すURIスキームの一つで、Webのデータ転送に用いられるHTTPが、SSLやTLSで暗号化されている状態を表したもの。WebサーバとWebブラウザの間の通信が暗号化されていることを意味し、通信経路上での盗聴や改竄、第三者によるなりすましを防止する。
インターネット上での情報資源を指し示すのに「http://www.example.com/」といった形式の「URL」(Uniform Resource Locator)あるいは「URI」と呼ばれる書式が用いられる。先頭部分の「http://」は資源の種類や通信方式、プロトコル(通信手順)などを表すスキームと呼ばれる要素で、通常のWeb通信ではHTTPによる通信を表す「http://」を用いる。
HTTPには通信の暗号化についての仕様が無いため、環境によっては通信内容を伝送途上で盗み見られたり途中で内容をすり替えられる危険がある。このため、暗号化プロトコルの「SSL」(Secure Socket Layer)あるいは後継の「TLS」(Transport Layer Security)で暗号化されたデータ伝送路を確立し、その中でHTTPによる通信を行うという方式が用いられる。
この通信方式を「HTTP over SSL/TLS」と呼び、スキームとして「https://」を用いる。アクセスしたいWebサイトのアドレス(URL)や、Webブラウザに表示されたWebページのアドレス欄などが「https://」で始まっていることを確認すれば、そのページのデータ伝送がSSL/TLSによって保護されていることが確認できる。
暗号化にはデジタル証明書が用いられ、Webブラウザのアドレス欄の近くにあるアイコンなどをクリック/タップすることなどにより、証明書の発行元(認証局)や、暗号方式の詳細、発行元に登録されたWebサーバ運営者の身元情報などを知ることができる。
HTTPは標準でTCPの80番ポートを使用して通信するが、HTTPS向けには標準でTCPの443番ポートが使われる。「https://www.example.com:8080/」のように特定のポートを指定することもできる。SSL/TLSを組み合わせて暗号化するプロトコルは他にもあり、SMTPを暗号化したSMTPS、POP3を暗号化したPOP3S、IMAP4を暗号化したIMAPSなどがよく知られる。
バイオメトリクス認証 【生体認証】 ⭐⭐
指紋など固有性の高い人間の身体的特徴をデータ化して本人確認に用いる認証方式。暗証番号のように本人の記憶を用いる方式に比べ、原理的に他人による「なりすまし」が難しいが、生体は状態が安定しないことがあり本人の認識に失敗する場合がある。
古来より指紋は本人固有の生体的特徴として利用されてきたが、コンピュータによる指紋認証ではセンサーで表面の模様を読み取って一定の手順で図形的な特徴を符号化し、記録された本人のものと照合する。
指紋以外にも、眼球の黒目部分の皺の模様を用いる虹彩認証や、手のひらや指先の静脈の形状を赤外線センサーなどで読み取る静脈認証、声の特徴を用いる音声認証(声紋認証/声認証)、顔の特徴を用いる顔認証などが実用化されている。ペン型の入力機器で署名させ、その形状や筆圧、速度の変化などを符号化して照合する電子サインも生体認証の一種と言える。
パスワードなど単純な文字列や数字の比較に比べ、センサーを備えた特殊な機器が必要だったり、画像処理などで大量の計算をしなければならないなど仕組みが大掛かりなため、出入国管理や金融機関など業務用の機器やシステムから普及が始まった。
2010年代には装置の小型化やコンピュータの性能向上などが進み、スマートフォンやノートパソコンなどの携帯情報端末での利用者認証などにも利用が広がっている。パスワードなどと組み合わせて二段階認証を構成し、より高いセキュリティを実現する用途にも用いられる。
多要素認証 【MFA】
利用者の本人確認などを行う認証手順において、複数の異なる原理の認証手段を組み合わせて用いることにより、精度と安全性を高める手法。実用上は二つの要素を用いる方式がよく用いられる。
認証方式は何によって認証を行うかにより、パスワードや暗証番号など本人しか知らないはずの情報を用いる「WYK」(What You Know)認証、乱数表やUSBトークンなど本人しか持っていないはずの物品(モノ)を用いる「WYH」(What You Have)認証、指紋や虹彩など人体の特徴を用いる「WYA」(What You Are)認証の三つに分類できる。
多要素認証はパスワードとUSBトークン、指紋と暗証番号など、この三方式から異なる複数の方式を選んで組み合わせ、連続的に実施することにより認証を行う。これにより、いずれか一つが盗まれたり偽造されるなどして攻撃者に突破されても、他の方式も同時に突破しなければ本人になりすますことはできず、セキュリティを高めることができる。
実用上よく用いられるのは、三つの要素のうち二つを組み合わせる「二要素認証」(2FA:2-Factor Authentication)で、パスワード(WYK認証)とSMSなどで送信されるワンタイムパスワード(本人のスマートフォン所持を確認するWYH認証)の組み合わせや、パスワードと乱数表の指定位置の情報入力(WYH認証)、パスワード認証と専用の機器による指紋認証や静脈認証などの生体認証(WYA認証)の組み合わせなどである。
金融機関などで古くから用いられている、キャッシュカードや預金通帳(WYH認証)を機械に差し込み、暗証番号(WYK認証)を入力する方式や、クレジットカード(WYH認証)を支払い端末に差し込んでPINコード(WYK認証)を入力する方式なども、ある種の多要素認証であると考えることができる。
一方、認証を何段階も連続して行うことを「多段階認証」(マルチステップ認証)と呼ぶ。これには多要素認証だけでなく、同じ種類の認証方式を複数回組み合わせる手法も含まれる。例えば、パスワードと秘密の質問の答えを入力させるなど、異なる情報のWYK認証を複数組み合わせるといった方法である。
認証サーバ
システムの使用やネットワークへの接続を試みた人物が登録利用者本人であるかを確認する「認証」(authentication)を行うサーバ。特に、ネットワーク内でユーザー認証を一手に引き受けるサーバのことをこのように呼ぶことが多い。
認証サーバは利用者のIDやパスワードなどの認証情報を登録・管理し、利用者からの接続要求を受けて本人確認を行う。一般的に用いられるのは接続希望者にパスワードの入力を求めて本人が事前に登録したものに一致するか確かめるパスワード認証だが、より高度な方式を利用したり複数の方式を組み合わせる(二要素認証/二段階認証)場合もある。
認証を求めるクライアント(利用者が操作する端末など)との間では標準化されたプロトコル(通信規約)に基いて認証情報や接続可否などのやり取りを行う。インターネット接続のために通信事業者が契約者に行う認証ではPAPやCHAPなどが、企業内ネットワークなどで無線LANを利用する場合などにはEAPなどの方式が用いられる。
また、コンピュータシステムへのログインをネットワーク上に設置した認証サーバでまとめて行うシステムが用いられることもある。利用者は一度のログイン操作でそのコンピュータだけでなく認証サーバの管理下にあるネットワーク上の様々なサーバや資源を利用できるようになる。このような仕組みを「シングルサインオン」(SSO:Single Sign-On)という。Windows ServerのActive Directoryではドメインコントローラがこの認証サーバの役割を果たす。
UID 【User Identifier】 ⭐⭐⭐
複数の利用者を一意に識別するための識別子。または、一意の識別子。具体的な仕様や規約はシステムの種類によって異なる。
アカウントのUID
システムやサービスに利用者登録(アカウント作成)を行う際に設定する利用者名(ユーザー名/アカウント名)のことをユーザーIDということがある。氏名やメールアドレス、ニックネーム、本人が任意に設定する英数字の組み合わせなどが使われることが多い。
UNIXのUID
UNIX系OSで登録利用者を一意に識別するために割り振られた識別番号をUIDあるいは「ユーザー識別子」という。16ビットあるいは32ビットの整数値が用いられ、0は必ずスーパーユーザー(rootユーザー)を表し、1から100(OSによって異なる)はシステムによって予約されている。
携帯電話のUID
携帯電話事業者が個々の契約者に割り当てた契約者固有識別子や、個々の端末に割り当てた端末固有識別子などをUIDということがある。
文脈により、SIMカードなどに記録された契約者ごとに固有の識別番号(端末が変わっても引き継がれる)などを指す場合と、端末内部に記録された個体ごとに固有の製造番号(利用者が変わっても引き継がれる)などを指す場合がある。
パスワード ⭐⭐⭐
利用者が名乗った本人であるか確認する際などに用いられる秘密の合言葉。事前に登録したものと、認証時に入力したものが一致すれば本人であるとみなされる。
利用者の登録・識別を必要とするシステムでは、利用者の登録(アカウント作成など)の際に識別名(ユーザーID/アカウント名)とセットでパスワードを登録する。その識別名を名乗る利用者が使用開始(ログイン)を申請すると、システムはパスワードの入力を求め、登録されたものと一致すれば本人とみなして使用を許可する。
利用できる文字の種類や長さは個々のシステムによって定められているが、(半角の)ラテンアルファベット(大文字・小文字の区別あり)、数字、一部の記号の組み合わせで8文字以上と規定されている場合が多い。
パスワードと同じ秘密の情報を入力させる仕組みのものには、数桁の数字を入力させる暗証番号(PIN:Personal Identification Number)や、いくつかの単語の組み合わせを入力させるパスフレーズ(passphrase)などがある。
パスワードの割り出し
パスワードを他人に知られてしまうと自分になりすましてシステムを利用されてしまうため、誰にも知らせてはならない。ただし、攻撃者が不正にシステムを利用するためにパスワードの割り出しを試みる場合があり、直接知られなくても入手されてしまうことがある。
パスワードへの攻撃は、何らかの手法で候補を大量に生成し、実際にログインを試みることにより行われることが多い。主な手法として、すべての文字の組み合わせを片っ端から試す「総当たり攻撃」(ブルートフォースアタック)や、人間が覚えやすい既存の単語や文字の並びのリストを作り、それらを組み合わせて候補を作成する「辞書攻撃」(ディクショナリアタック)などがある。
これらの攻撃手法では短く覚えやすいものほど割り出しやすいため、パスワードは覚えられる範囲でなるべく長く、様々な文字種(大文字・小文字・数字・記号)を組み合わせて作成し、意味のある単語や覚えやすい単純な文字の並び(「password」「123456」など)などは避けるべきとされる。
また、本人や家族の氏名、生年月日、電話番号、居住地、出身地など、何らかの方法で入手した本人についての様々な情報から候補を作成する手法もあるため、自分や家族に関連する単語や番号などは含めないことが望ましい。
ブラックリスト 【BL】 ⭐
対象を選別して受け入れたり拒絶したりする仕組みの一つで、拒絶する対象を列挙した目録(リスト)を作り、そこに載っていないものは受け入れる方式。また、そのような目録のこと。
IT分野では、通信やアクセスを拒否・禁止するアドレスなどのリストを作成し、それ以外は許可する方式を「ブラックリスト方式方式」という。拒否したい対象が特定可能で、許可したい対象より少数の場合に適している。
アクセスを禁じるWebサイトのURLを列挙したURLフィルタや、受信を拒否するメールアドレスやキーワードを列挙した迷惑メールフィルタ、通信を禁じるIPアドレスやポート番号の組み合わせを列挙したファイアウォールの設定などがこれに当たる。
対義語は「ホワイトリスト」(whitelist)で、目録に載っているものだけを受け入れ、それ以外は拒絶する方式である。色にポジティブあるいはネガティブな意味を対応付けて表すのは好ましくないとする考え方もあり、「拒否リスト」(deny list)のように言い換えることもある。
ホワイトリスト 【WL】 ⭐
対象を選別して受け入れたり拒絶したりする仕組みの一つで、受け入れる対象を列挙した目録(リスト)を作り、そこに載っていないものは拒絶する方式。また、そのような目録のこと。
IT分野では、通信やアクセスを許可する対象やアドレスなどのリストを作成し、それ以外は拒否・禁止する方式を「ホワイトリスト方式方式」という。許可したい対象が特定可能で、拒否したい対象より少数の場合に適している。
アクセスを許可するWebサイトのURLを列挙したURLフィルタや、受信を許可するメールアドレスなどを列挙した迷惑メールフィルタ、通信可能なIPアドレスやポート番号の組み合わせを列挙したファイアウォールの設定などがこれに当たる。
対義語は「ブラックリスト」(blacklist)で、目録に載っているものだけを拒絶し、それ以外は受け入れる方式である。近年では、色にポジティブあるいはネガティブな意味を対応付けて表すのは好ましくないとする考え方もあり、「許可リスト」(allow list)のように言い換えることもある。
電子署名 【デジタル署名】 ⭐⭐
文書やメッセージなどのデータの真正性を証明するために付加される短いデータ。作成者を証明し、改竄やすり替えが行われていないことを保証する。欧米で紙の文書に記されるサイン(signature)に似た働きをするためこのように呼ばれる。
対になる2つの暗号鍵を用いる公開鍵暗号の原理と暗号学的ハッシュ関数を組み合わせた仕組みで、メッセージの送信者は本人しか知らない秘密鍵と本文を元に一定の手順で算出した固定長の符号をメッセージに添付し、相手方に送る。
受信者は受け取った本文と、秘密鍵と対になる送信者の公開鍵などを用いて一定の手順で同様の符号の算出を試み、添付されたものと照合する。両者が一致すれば、メッセージが確かに送信者本人のものであり、かつ伝送途上で第三者による改竄やすり替えが行われていないことが確認できる。
デジタル署名はインターネットなど信頼できない経路を通じたメッセージの送受信でよく用いられるが、文書の安全な保管などにも用いられる。作成者が後になって自分が作成したことを否定するのを防ぐ(否認防止)証拠として用いられる場合もある。
公開鍵証明書とPKI
受信者が署名を検証するには送信者の公開鍵が必要だが、インターネットなど信頼できない経路で伝送すると攻撃者によるすり替えの危険があるため、公開鍵データに送信者と受信者の双方が信用する第三者のデジタル署名を添付するという手法が考案された。これをデジタル証明書(公開鍵証明書)と呼び、信頼できる第三者を認証局(CA:Certificate Authority)という。
証明書の真正性を確認するには認証局の公開鍵が必要であり、これは上位の認証局によって署名されたデジタル証明書によって配布される。このような信頼の連鎖の起点となる最上位の認証局はルート認証局(Root CA)と呼ばれ、実用上は送信者と受信者が同じルート認証局の証明書(ルート証明書)を持っていれば、それに連なる任意の認証局の証明書を用いて鍵を配送することができる。
このような安全な公開鍵配送のための社会的なインフラのことをPKI(Public Key Infrastructure)と呼び、インターネットなどで電子署名を利用するソフトウェアにはあらかじめ世界的に有力なルート認証局の証明書が組み込まれている。
電子署名とデジタル署名の違い
「電子署名」(electoronic signature)とは本来、紙の文書における押印やサインに相当する証明手段を電子的な手段で実現したもの全般を表す総称であり、「デジタル署名」(digital signature)は公開鍵暗号の原理に基づく電子署名の一方式である。
電子署名の方式としては他に、ペン型の入力機器で文書にサインを書き入れる電子サインなどがあるが、最も有力で普及しているデジタル署名を電子署名の同義語のように用いることが多い。
電子署名法
電子署名と認証業務に関する規定を定め、電子署名が手書き署名や押印と同等に通用することを定めた日本の法律。2000(平成12)年5月成立、2001年4月施行。正式名称は「電子署名及び認証業務に関する法律」。
有効な電子署名について一定の要件を定め、これを満たす電子署名が付された電子データに対して紙の文書に署名・捺印されたものと同等の法的な証拠性を認めている。具体的な技術要件は総務省・経済産業省・法務省が共同で告示しており、1024ビットRSAや1024ビットDSA、160ビットECDSAが挙げられている。このうちRSAについては危殆化の懸念から2019年までに2048ビットへの移行が予定され、同時にこれらの署名方式に用いるハッシュ関数もSHA-1からSHA-2へ移行される。
また、署名が本人のものであることを証明する認証業務について、一定の基準を満たした認証局がデジタル証明書を発行する業務を特定認証業務としている。その中で、さらに厳しい基準を満たし、国や指定検査機関の審査を経て認定された認証局の業務を認定認証業務という。認定認証局は全国で十社程度が認定されている。