高校「情報Ⅰ」単語帳 - 実教出版「高校情報Ⅰ Python」 - 情報通信ネットワークの仕組みと役割

回線交換 ⭐⭐

通信回線の利用方式の一つで、通信を行っている間、通信相手までの物理的あるいは論理的な伝送路を占有する方式。いわゆるアナログ電話などがこの方式である。

最も古くから存在する方式の一つであり、比較的単純な設備で安定した通信が可能で、回線を占有するため品質の保証がしやすい(ギャランティ型)という特徴がある。

その後生まれた方式に比べると、回線の利用効率が悪い、複数の相手との交信や動的な経路選択などができない、通信の集中・混雑(輻輳)が生じるとほとんどの端末が接続不能に陥ってしまうといった難点がある。

一方、回線交換方式によらない通信方式として、信号やデータを中継局が一旦蓄えて順に送り出す方式があり、「蓄積交換」(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が用いられる。

ヘッダ 【ヘッダー】 ⭐⭐

データや文書の本体の先頭に付け加えられる、そのデータや文書自体についての情報を記述した部分のこと。

通信プロトコル(通信規約)の仕様ではデータの送受信単位(フレームやデータグラム、パケットなど)のデータ形式を定義しているが、多くの場合、その先頭部分に決まった記述形式や長さで制御情報を記載するよう定めており、この部分をヘッダという。送りたいデータの本体はヘッダに続く領域に格納され、これをペイロード(payload)あるいはボディ(body)などという。

例えば、電子メールのヘッダ領域には、差出人のメールアドレスや宛先アドレス、発信日時、件名、本文の文字コードなどが記載され、送受信や転送、表示を行うソフトウェアはこの部分を見て様々な処理や判断を行う。

ファイル形式の規格などでも、先頭部分をデータ自体についての属性や設定などのデータを格納するヘッダ領域と定めており、後続の領域にデータ本体を格納する。例えば、画像ファイルであれば、先頭に縦横のピクセル数や解像度、色情報、撮影日時、圧縮方式のパラメータなど、個々の画素や部分ではなくデータ全体に関わる情報が格納される。

ヘッダはプロトコルやファイル形式ごとに定められており、階層型のプロトコルを用いて通信を行うと、実際に送受信されるデータの塊は例えば、Ethernetヘッダ+(Ethernetペイロード:IPヘッダ+(IPペイロード:TCPヘッダ+(TCPペイロード:HTTPヘッダ+(HTTPボディ:HTMLヘッダ+HTMLボディ)))) といった多重の入れ子構造となり、それぞれの階層についてヘッダが記述される。

文書や印刷物のヘッダー領域

ワープロ文書などで、各ページの本文より上のページ上端に設けられた短冊状の領域をヘッダーという。本文とは別に各ページに共通する項目を文書全体に渡って指定することができる。

具体的な内容は利用者が指定・選択することができ、文書名や章題、日付、ロゴ画像などを固定的に表示するのに使われることが多い。ソフトウェアによって、文書の属性の一部として指定する場合(文書作成ソフトなど)と、印刷時に印刷設定として指定する場合(Webブラウザの印刷機能など)がある。

同様に、本文より下のページ下端に設けられた短冊状の領域を「フッター」(footer/「フッタ」とも表記される)と呼び、ページ数や著作権表示、脚注などが記載されることが多い。

誤り検出符号 【EDC】

データを記録・伝送する際に発生する誤りを受け手の側で検出することができるように付加される符号。元のデータから一定の手順に基いて算出し、データと共に記録・伝送する。

データを記憶装置に書き込んだり、電気回路や通信回線などを通じて伝送すると、様々な理由で意図せずデータの欠落や改変が起こることがある。これを完全に防止することは困難であるため、読み出しや受信の際に誤りが起きたかどうかを検知するのが誤り検出符号である。

データを一定の長さごとに区切り、一定の手順で計算を行って誤り検出符号を算出し、元のデータに付加して一緒に書き込みや送信を行う。読み込みや受信の際にはデータと符号を分離し、一定の計算手順でデータに誤りがないか確認し、誤りが検出されたら利用者にそのことを知らせたり、通信の場合は送り手に再送を要求する。

誤り検出符号には様々な方式があるが、どのような量・種類の誤りも完全に検出できる符号はなく、ある長さあたり何ビットまでの誤りを検出可能かが符号により決まっている。符号を長くすれば検出できる誤りも増えるが、符号の算出・逆算のための計算量が増え、記録や伝送により多くの容量や帯域が必要となるため、コストや誤りの発生率などを勘案して適切なものが選ばれる。

著名な誤り検出符号にはパリティ符号やチェックサム、巡回冗長符号(CRC:Cyclic Redundancy Code)などがある。誤りの検出に加え、少ない誤りであれば正しい状態に訂正することも可能な符号もあり、「誤り訂正符号」(ECC:Error-Correcting Code)という。

パリティビット 【パリティデータ】 ⭐⭐

データの伝送や記録の際に生じる誤りを検知できるように算出・付加される符号の一つで、ビット列中に含まれる「1」の数が偶数か奇数かを表すもの。これを利用した誤り検出方式を「パリティチェック」(parity check)という。

データを0と1が並んだビット列で表したときに、各ビットの値を足し合わせた値が奇数であるか偶数であるか(「1」の数が奇数か偶数か)を1ビットの値として表す。

和が奇数のときに1とする(偶数なら0)ものを「偶数パリティ」(even parity)、偶数のときに1とするものを「奇数パリティ」(odd parity)という。パリティを足すことでどのビット列も偶奇性が同じになる(偶数パリティを含めた全ビットの和は常に偶数)という意味でこのように呼ばれる。

データの送り手(送信者や書き込み時)は元のデータに対して一定の長さごとにパリティビットを算出して付加する。受け手(受信者や読み込み時)は受け取ったデータから同じようにパリティビットを算出し、付加されたパリティビットと比較する。

両者のパリティビットが一致すれば、パリティを含めたビット列中には誤りが存在しないか偶数個存在し、一致しなければ奇数個の誤りが生じていることが分かる。一つのパリティビットだけではどの位置に誤りがあるかは分からず、正しい値に訂正することはできない。

バースト誤りのような特殊な状況を除き、通常の用途では短いビット列中に同時に複数の誤りが生じる可能性は低いため、実用上はパリティビットが一致しなければ1ビットの誤りが含まれ、一致すれば誤りが生じていないとみなすことが多い。

ネットワーク 【ネット】 ⭐⭐

「網」という意味の英単語。網そのものを指す用法の他に、複数の要素が互いに接続された網状の構造のことを比喩的にネットワークという。

ネットワーク状の構造を構成する各要素のことを「ノード」(node)、ノード間の繋がりのことを「リンク」(link)あるいは「エッジ」(edge)と言う。

ITの分野では、複数のコンピュータや電子機器などを繋いで信号やデータ、情報をやりとりすることができるコンピュータネットワークあるいは通信ネットワークのことを意味することが多い。

一般の外来語としては、人間関係の広がりのことや、組織や集団、拠点などの間の繋がりや体系、交通機関や道路などの地理的な構造(交通網)などをネットワークと呼ぶ。

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階層に分類している。

物理層 【PHY】

通信ネットワークの階層モデルの最下層で、装置や伝送媒体の物理的な形状や仕様、信号形式などを定めた規約。

一対の機器間で電気信号や光信号、無線(電波・赤外線・可視光線)信号などを用いてビット単位のデジタル信号の送信・受信ができるようにする。具体的には、ケーブルやアンテナ、端子(コネクタ)の形状や仕様、データと信号の変換方式、信号の変復調方式などが定義される。

物理層によって送受信されるビットの連なりの取り扱い方を規定し、伝送制御や伝送したいデータ(ペイロード)の埋め込み・取り出しなどを行うのは、OSI参照モデルではデータリンク層(第2層)の役割となる。TCP/IP階層モデル(DARPAモデル)では物理層とデータリンク層の役割を合わせたものをリンク層と呼ぶ。

データリンク層 【リンク層】

プロトコルの機能階層の一つで、回線やネットワークで物理的に繋がれた二台の機器の間でデータの受け渡しを行うもの。OSI参照モデルでは第2層、TCP/IP階層モデルでは第1層にあたり、イーサネット(Ethernet)やWi-Fiがよく知られる。

ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。

プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」(DARPAモデル)がよく用いられるが、データリンク層はいずれにも含まれ、OSIでは2番目の層で物理層とネットワーク層の間、TCP/IPでは最下層で物理的な機能を含む概念である。

この層の主な役割は、直に接続されて信号の送受信が可能な別の機器(二地点間の回線の場合は相手方)へ上位のプロトコルから依頼されたデータを確実に伝送することである。具体的には、通信相手の識別や認識、伝送路上の信号の衝突の検知や回避、データの送受信単位(フレーム)への分割や組み立て、伝送途上での誤り検知・訂正などである。

プロトコルの例

データリンク層のプロトコルおよび通信規格の例としては、有線LANの標準である「イーサネット」(Ethernet)および関連仕様を定めたIEEE 802.3シリーズや、無線LANの標準である「Wi-Fi」および関連仕様を定めたIEEE 802.11シリーズなどがよく知られる。

過去にはATM(非同期転送モード)やフレームリレー、FDDI、トークンリングなど様々な伝送規格が用いられた。様々な物理回線やネットワークを通じて二地点間を結びつける「PPP」(Point-to-Point Protocol)や、派生仕様のPPPoE、PPTPなどもこの層のプロトコルに含まれる。

両モデル間の違いと「第2層」という表記

TCP/IPはOSIモデルとは無関係に設計されたため、OSIのデータリンク層とTCP/IPのリンク層は似た概念であるが同一のものではない。OSIモデルでは物理層の上に位置するため「第2層」と呼ばれるが、TCP/IPでは物理層については関知しないか、リンク層の仕様の一部とみなされるため、リンク層が最下層となっている。

歴史的経緯で、TCP/IPのプロトコル階層をOSIモデルに従って分類・解釈する方法が広まったため、現在でもイーサネットやWi-Fi、PPPなどを指して「レイヤ2」「L2」と分類したり、イーサネットの仕様に基づいて中継を行うネットワークスイッチを「L2スイッチ」と呼ぶことが多い。

MAC副層とLLC副層

IEEE 802規格群では、データリンク層を物理層側の「MAC副層」(Media Access Control:メディアアクセス制御)とネットワーク層側の「LLC」(Logical Link Control:論理リンク制御、IEEE 802.2)副層に分割している。

MACは物理層の各方式の媒体や通信方式の違いに応じて最適なものを定める一方、LLCはこれらの違いを吸収してネットワーク層側から統一的な方法でアクセスできるようなっている。有線LAN標準がイーサネットに事実上統一されたためこの区分自体は無意味になったが、現在でもデータリンク層のことをMAC(層)と呼んだり、「MACアドレス」などの名称にその名を残している。

データリンク層 【リンク層】

プロトコルの機能階層の一つで、回線やネットワークで物理的に繋がれた二台の機器の間でデータの受け渡しを行うもの。OSI参照モデルでは第2層、TCP/IP階層モデルでは第1層にあたり、イーサネット(Ethernet)やWi-Fiがよく知られる。

ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。

プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」(DARPAモデル)がよく用いられるが、リンク層はいずれにも含まれ、OSIでは2番目の層で物理層とネットワーク層の間、TCP/IPでは最下層で物理的な機能を含む概念である。

この層の主な役割は、直に接続されて信号の送受信が可能な別の機器(二地点間の回線の場合は相手方)へ上位のプロトコルから依頼されたデータを確実に伝送することである。具体的には、通信相手の識別や認識、伝送路上の信号の衝突の検知や回避、データの送受信単位(フレーム)への分割や組み立て、伝送途上での誤り検知・訂正などである。

プロトコルの例

リンク層のプロトコルおよび通信規格の例としては、有線LANの標準である「イーサネット」(Ethernet)および関連仕様を定めたIEEE 802.3シリーズや、無線LANの標準である「Wi-Fi」および関連仕様を定めたIEEE 802.11シリーズなどがよく知られる。

過去にはATM(非同期転送モード)やフレームリレー、FDDI、トークンリングなど様々な伝送規格が用いられた。様々な物理回線やネットワークを通じて二地点間を結びつける「PPP」(Point-to-Point Protocol)や、派生仕様のPPPoE、PPTPなどもこの層のプロトコルに含まれる。

両モデル間の違いと「第2層」という表記

TCP/IPはOSIモデルとは無関係に設計されたため、OSIのデータリンク層とTCP/IPのリンク層は似た概念であるが同一のものではない。OSIモデルでは物理層の上に位置するため「第2層」と呼ばれるが、TCP/IPでは物理層については関知しないか、リンク層の仕様の一部とみなされるため、リンク層が最下層となっている。

歴史的経緯で、TCP/IPのプロトコル階層をOSIモデルに従って分類・解釈する方法が広まったため、現在でもイーサネットやWi-Fi、PPPなどを指して「レイヤ2」「L2」と分類したり、イーサネットの仕様に基づいて中継を行うネットワークスイッチを「L2スイッチ」と呼ぶことが多い。

MAC副層とLLC副層

IEEE 802規格群では、リンク層を物理層側の「MAC副層」(Media Access Control:メディアアクセス制御)とネットワーク層側の「LLC」(Logical Link Control:論理リンク制御、IEEE 802.2)副層に分割している。

MACは物理層の各方式の媒体や通信方式の違いに応じて最適なものを定める一方、LLCはこれらの違いを吸収してネットワーク層側から統一的な方法でアクセスできるようなっている。有線LAN標準がイーサネットに事実上統一されたためこの区分自体は無意味になったが、現在でもリンク層のことをMAC(層)と呼んだり、「MACアドレス」などの名称にその名を残している。

ネットワーク層 【インターネット層】

プロトコルの機能階層の一つで、単一の、あるいは相互接続された複合的なネットワークの上で末端から末端までデータを送り届ける役割を担うもの。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」のように表記することが多い。

ネットワーク層 【インターネット層】

プロトコルの機能階層の一つで、単一の、あるいは相互接続された複合的なネットワークの上で末端から末端までデータを送り届ける役割を担うもの。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」のように表記することが多い。

セッション層 【第5層】

プロトコルの機能階層の一つで、連続する対話的な通信の開始や終了、同一性の維持などの管理を行うためのもの。OSI参照モデルの第5層(レイヤ5/L5)に位置する。

ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。

プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」(DARPAモデル)がよく用いられるが、セッション層はOSIモデルの第5層として定義され、トランスポート層とプレゼンテーション層に間に位置する。TCP/IPでは階層としては存在せず、必要に応じてアプリケーション層に実装される機能の一つとなっている。

利用者の操作する末端のアプリケーション間を結びつけて状態を共有し、対話的な処理を行う一連の通信を「セッション」(session)という。セッション層のプロトコルは認証やログインなどセッションの開始・確立、ログアウトなどのセッション終了・切断、また、中断されたセッションの再確立などの手続きやデータ形式を定めている。

TCP/IPにおけるセッション管理

現代ではOSIモデルに準拠したプロトコルやアプリケーションはほとんど消滅しているため、現実にセッション層のプロトコルが使用される場面はほとんどない。TCP/IPでは個々のアプリケーション層のプロトコルが必要に応じて独自のセッション管理機能を提供しており、OSIモデルのような統一・標準化された機能階層としてのセッション管理は提供されていない。

プレゼンテーション層 【第6層】

プロトコルの機能階層の一つで、データの表現形式を規定したもの。OSI参照モデルの第6層(レイヤ6/L6)に位置する。

ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。

プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」(DARPAモデル)がよく用いられるが、プレゼンテーション層はOSIモデルの第6層として定義され、下位のセッション層と上位のアプリケーション層の橋渡しを行う。TCP/IPでは階層としては存在せず、必要に応じてアプリケーション層に実装される機能の一つとなっている。

プレゼンテーション層は上位のアプリケーション層(第7層/レイヤ7)からデータを受け取り、適切な形式のデータに変換して下位のセッション層(第5層/L5)へ渡す。また、セッション層から受け取ったデータを解釈し、適切な形式でアプリケーション層へ渡す。通信に用いられるデータの暗号化や圧縮、ファイル形式やデータ形式、文字コードの定義や形式間の変換などの役割を果たす。

TCP/IPにおけるデータ形式の扱い

現代ではOSIモデルに準拠したプロトコルやアプリケーションはほとんど消滅しているため、現実にプレゼンテーション層のプロトコルが使用される場面はほとんどない。TCP/IPでは個々のアプリケーション層のプロトコルが必要に応じてデータ形式の規定や変換方法などを定義している。

また、SSL/TLSやIPsecのようなトランスポート層やネットワーク層(インターネット層)のプロトコルが、アプリケーション層に対して透過的に暗号化・復号などのデータ変換機能を提供する場合もある。

アプリケーション層 【第7層】

プロトコルの機能階層の一つで、特定の具体的なシステムやサービスに必要な機能を実装するための層。OSI参照モデルでは第7層、TCP/IP階層モデルでは第4層に位置する。HTTPやFTP、SMTP、POP3など用途に応じて多種多様なプロトコルが存在する。

ネットワークにおけるデータの伝送手順や形式を定めた通信規約を「プロトコル」(protocol)という。一つのプロトコルは通常ある一つの特定の役割を持っており、人間やアプリケーションに近い側から物理的な装置に近いものまで何種類かを階層型に組み合わせて用いる。

プロトコルの役割を階層構造で整理したモデルとして「OSI参照モデル」と「TCP/IP階層モデル」(DARPAモデル)がよく用いられるが、アプリケーション層はいずれにも含まれる。OSIでは第7層(レイヤ7/L7)、TCP/IPでは第4層に位置し、いずれも最上位の階層である。

利用者が操作するソフトウェアが提供する具体的な機能についての仕様や通信手順、データ形式などを定めている。OSIモデルではプレゼンテーション層以下のデータ処理および伝送システムと利用者の橋渡しを行う階層で、ユーザーインターフェースの提供が主な役割となる。

TCP/IPではトランスポート層のTCPやUDPなどを利用して通信を行うプロトコルはすべてアプリケーション層であり、電子メール、Web、ファイル共有、ディレクトリサービス、ターミナルなど、システムやサービスごとに個別に必要な機能を実装したプロトコルが定義されている。

両モデル間の違いと「第7層」という表記

よくOSIモデルのセッション層(第5層)、プレゼンテーション層(第6層)、アプリケーション層(第7層)の機能がTCP/IPにおけるアプリケーション層に相当すると説明されるが、TCP/IPはOSIモデルとは無関係に設計されたため、この3層の機能が集約されているわけではない。

また、TCP/IPにおいてアプリケーション層は第4階層目(トランスポート層の上)に位置するが、TCP/IPのプロトコル階層をOSIモデルに従って分類・解釈する方法が広まったため、現在でも「L7スイッチ」のようにHTTPなどのアプリケーションプロトコルを指して「レイヤ7」「L7」のように表記することがある。

クライアントサーバシステム 【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アドレスを利用するかランダム化するかを選択することができる。

NIC 【Network Interface Card】

コンピュータなどの機器を構内ネットワーク(LAN)に接続するためのカード型の拡張装置。筐体背面や側面などに用意された拡張スロットなどに挿入して使用する。本体内蔵の装置を指す場合もある。

接続するネットワークの種類によって仕様やコネクタ形状などが異なるが、単にNICといった場合は最も普及している「イーサネット」(Ethernet)に接続するためのコネクタ(RJ45端子)や通信用ICなどを内蔵した拡張カードのことを指す。

イーサネット規格は様々な世代や仕様に分かれており、同じRJ45ポートを備えていても対応している規格や通信速度は製品ごとに異なる。現在は100Mbpsで通信可能な100BASE-TXと1Gbpsで通信可能な1000BASE-Tに両対応した製品が主流となっている。

拡張カード以外にもUSBアダプタ型の製品などもあり、これらを総称して「ネットワークアダプタ」「LANアダプタ」「Ethernetアダプタ」などという。「NIC」をこの総称の意味で用いることもある。さらに、コンピュータの設定画面などでは無線LAN(Wi-Fi)に接続するための「Wi-Fiアダプタ」や、内蔵Wi-Fi接続機能も総称してNICと呼ぶ場合がある。

かつてはコンピュータ本体にネットワーク機能が用意されておらず、拡張スロットなどにNICを差し込んで機能を追加するのが一般的だったが、現代では有線あるいは無線(あるいは両方)のネットワーク通信機能が内蔵されている機種がほとんどで、単体のNIC製品を用いることは少ない。

本体内蔵型も含めたネットワーク機能の総称として用いる場合は、「NIC」を「Network Interface Controller」の略とする場合もある。また、物理コンピュータ内部にソフトウェアにより仮想的に構築した仮想マシン(VM)では、ソフトウェアで再現されたネットワーク接続機能を「仮想NIC」(vNIC)と呼ぶことがある。

ハブ ⭐⭐⭐

車輪やプロペラなどの中心にある部品や構造のこと。転じて、中心地、結節点、集線装置などの意味で用いられる。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(サービス指向アーキテクチャ)などで用いられるミドルウェアで、データの出し手からデータを受け取って保管し、そのデータを必要とする受け手へ引き渡す役割を果たす。

スイッチングハブ

通信ネットワークの中継装置の一つで、受け取ったデータを接続されたすべての機器に送信せず、宛先などを見て関係する機器のみに送信する機能を持ったもの。ネットワーク間の接続・中継のための装置は「ブリッジ」(bridge)とも呼ばれる。

複数の機器とケーブルで接続し、互いの送信したデータを中継・転送する装置は「ハブ」(hub)と総称されるが、初期の単純な機構の「リピータハブ」(repeating hub)は、あるポートが受信した電気信号を単純にそのまま電気的にすべてのポートに向けて再送信する。

一方、スイッチングハブは受信した信号をデータとして内部の半導体メモリに一旦記録し、制御部を解析して宛先を特定する。その後、接続された他の機器の中からそのデータの関係先にだけ再送信する。これによりケーブルを無駄な信号が行き来するのを防止することができ、伝送効率を高めることができる。

転送先の判断は、通信方式の階層化モデルでいう第2層(リンク層/データリンク層)の制御情報であるMACアドレスなどに基づいて行われることから、「L2スイッチ」「レイヤ2スイッチ」(L2SW:layer 2 switch)とも呼ばれる。

電気的に信号を中継するのではなくデータを蓄えて再送信するため、10BASE-T(10Mbps)と100BASE-TX(100Mbps)、100BASE-TXと1000BASE-T(1Gbps)など、通信速度の異なる機器やネットワークの間を中継することができるというメリットもある。

スイッチングハブ同士をケーブルで接続することで双方のネットワークを相互接続することができ、ネットワークを拡張することができる。これを「カスケード接続」という。業務用の製品では何段階も複雑に接続したときにループ経路を検知して迂回するスパニングツリー機能に対応しているものもある。

スイッチ 【SW】

切替器、開閉器、切り替わる、切り替え(る)、交代(する)、転換(する)、差し替え(る)などの意味を持つ英単語。

二つの物や状態の間で一方から他方に切り替えることや、そのための用具などのことをスイッチという。特に、機械部品の一種で、通電状態のオン・オフを切り替えたり、電気の流れる経路を切り替えたりする装置を指すことが多い。

通信・ネットワークの分野で、中継・集線装置のうち、データの宛先を見て関連する先にのみ転送を行う機能を持ったものをスイッチという。複数のストレージ装置とコンピュータを結ぶFCスイッチのようにコンピュータと周辺機器の接続に用いるものと、コンピュータ同士の接続に用いるものがある。

単にスイッチといった場合は、コンピュータ同士を結ぶLAN(構内ネットワーク)などのコンピュータネットワークで機器間の中継に用いる「ネットワークスイッチ」(network switch)を指すことが多い。通常はイーサネット(Ethernet)LANの中継機器を指し、「LANスイッチ」「L2スイッチ」「スイッチングハブ」などとも呼ばれる。

L2スイッチ 【L2 switch】

構内ネットワーク(LAN)の集線装置の一種で、受信したデータのリンク層における宛先を見て、接続された各機器への転送の可否を判断する機能を内蔵したもの。「スイッチングハブ」「LANスイッチ」とほぼ同義。

機器からのケーブルを繋ぐ接続口(ポート)を多数備え、あるポートに受信したデータの宛先などの制御情報をもとに、他のポートへの転送を行う。OSI参照モデルの第2層(レイヤ2/L2)であるデータリンク層の制御情報を用いて転送の可否の判断を行うため、このように呼ばれる。これはTCP/IP階層モデルではネットワークインターフェース層にあたり、最下層(第1層)である。

一般的な製品は有線LANの標準規格である「イーサネット」(Ethernet)に対応したポートを備え、「スイッチングハブ」「LANスイッチ」「イーサネットスイッチ」などとも呼ばれる。有線LANポートに加えWi-Fiアクセスポイントの機能を備え、端末と無線で通信することができる製品もある。

イーサネットのデータ伝送単位であるフレームの制御情報を解析し、転送が不要なポートへは信号を流さないスイッチング処理を行う。リピータハブのように単純にすべてのポートに信号を再送信する製品よりも回線の利用効率が高く、ネットワーク全体の性能を向上させることができる。

企業や官公庁、大学などの大規模なネットワークで使用する業務用の製品では、スイッチ同士を相互接続したネットワークでループ経路を検知して適切に対処するスパニングツリー機能や、物理ネットワークを複数の論理的なネットワークに分割するVLAN(仮想LAN)などの機能に対応するものもある。

一方、ネットワークスイッチの中で、IP(Internet Protocol)などネットワーク層(インターネット層)の制御情報に基づいて転送処理を行う製品を「L3スイッチ」という。UDPやTCPなどトランスポート層の情報を利用する「L4スイッチ」、HTTPなどアプリケーション層の情報を利用する製品を「L7スイッチ」などもある。

L3スイッチ 【L3 switch】

ネットワークの中継機器の一つで、プロトコル階層でいうネットワーク層(第3層)とリンク層(第2層)の両方の制御情報に基づいてデータの転送先の決定を行うもの。

有線の構内ネットワーク(LAN)で、機器が繋がれた通信ケーブルの接続を受け付け、相互に信号を中継する装置をネットワークスイッチという。単純にすべての信号を再送信するのではなく、フレームごとに宛先を解析して関係のある相手にのみ再送する処理を行う。

単にネットワークスイッチといった場合は「L2スイッチ」(レイヤ2スイッチ)を指すことが多く、送信元や宛先のMACアドレスなどリンク層の制御情報に基づいて転送を行う。L3スイッチではこれに加えIPアドレスなどのネットワーク層(第3層)の制御情報を解析して転送を行う。

ルータとの違い

ルーティングプロトコルによる経路情報の交換や複数のIPネットワーク間の中継・転送など、ネットワーク層の転送機能のほとんどはルータと重複しているが、経路制御はL2スイッチともルータとも異なり、IP層の経路情報とARPテーブルを統合した「FDB」(Forwarding Database)による制御を行う製品が多い。

ルータの多くはWAN(広域ネットワーク)用のインターフェースを持ち、主に広域回線とLAN、あるいは広域回線間の接続を担うことが多いのに対し、一般的なL3スイッチは多数のイーサネットポートなどLAN側インターフェースのみを備え、L2スイッチと同じくLAN内の通信制御に特化している。

また、ルータには機能がソフトウェアで実装され修正や機能追加などが容易な製品も多いが、L3スイッチはASICやFPGAなど専用のICチップを用いてハードウェアにすべての機能を実装した製品が多く、後から機能の変更などを行うのが難しい代わりにルータより遥かに高速に転送処理を実行することができる。

ファイルサーバ 【ストレージサーバ】

ネットワーク上で複数の機器からファイルを共有するために用いられるサーバコンピュータのこと。利用者間で同じファイルやフォルダを共有でき、それぞれ自らのコンピュータにあるのと同じ感覚で取り扱うことができる。

LAN(構内ネットワーク)上に設置され、オペレーティングシステム(OS)のファイル共有機能を用いて他のコンピュータから読み書き可能なストレージ(外部記憶装置)を提供する。あるコンピュータが保存したファイルは、同じネットワーク上の他のコンピュータからも読み出しや更新を行うことができる。

業務などで複数の人が編集・閲覧するファイルを管理する場合、個々人がばらばらに自分のパソコンなどに保管すると、受け渡しや更新管理が煩雑になり、古い版で新しい版を上書きしてしまうといったミスも起きやすくなる。ネットワーク上にファイルサーバを設けて集中的に管理することで、いつでも誰でも同じファイルの最新版にアクセスできるようになる。

利用者ごとのアクセス管理に対応しており、ユーザーアカウントごとに職務や職位、必要性などに応じてアクセス権限を設定し、不要なアクセスを遮断することができる。製品によってはバックアップやバージョン管理などの機能に対応しているものもあり、管理上の作業を効率的に行うことができる。

ただし、データが一か所に集中することで故障やデータ喪失のリスクも大きくなる。複数系統のシステムを同期して片方が停止しても機能を維持できるようにしたり、RAIDなどストレージ装置の信頼性を高める仕組みを導入したり、頻繁にバックアップ(複製)を取って障害に備えるなど、可用性を高める対策が必要となる。

NASとの違い

近年ではファイルサーバの機能に特化した専用コンピュータ製品である「NAS」(Network Attached Storage:ネットワークアタッチトストレージ)も普及している。従来は汎用的なサーバコンピュータにファイルサーバとしての機能を持たせるのが一般的だったが、NASはあらかじめファイルサーバとして最低限必要な機能のみが組み込まれている。

汎用サーバ製品よりも拡張性は低く、他のサーバ機能との兼用もできないが、廉価で導入や管理が容易といった特徴がある。筐体もコンパクトでネットワーク機器のように設置して通信可能にするだけですぐに利用できる。専任のIT管理者のいない小規模な組織や、複数の端末やデジタル家電を所有する個人宅などで普及が進んでいる。

SMB 【Server Message Block】

構内ネットワーク(LAN)上の複数のWindowsコンピュータの間でファイル共有やプリンタ共有などを行うためのプロトコル(通信規約)および通信サービス。

Windowsのネットワーク機能で利用される仕様で、LAN上の他のコンピュータで共有設定されたファイルやフォルダを読み書きできるファイル共有、他のコンピュータに接続されたプリンタにアクセスして印刷するプリンタ共有などを実現する。

標準では下位のプロトコルとしてNetBIOSを用い、NetBT(NetBIOS over TCP/IP)を介してTCP/IPを利用する。NetBTは標準ではTCPおよびUDPの137~139番ポートを使用する。現在ではNetBIOS/NetBTを介さず直接TCPを利用する「ダイレクトホスト」方式にも対応し、標準ではTCPの445番ポートを用いる。

歴代のWindowsはクライアント向け、Windows Server共に標準で対応しており、LinuxやmacOS(Mac OS X)など他の主要なオペレーティングシステム(OS)にもSMBクライアント機能を追加できる。Windows以外のSMBサーバとしてはオープンソースの「Samba」(サンバ)が有名で、UNIX系OSをファイルサーバにしてWindowsのファイル共有機能でアクセスすることができる。

歴史

最初期のSMBはWindowsよりも古い1982年に米IBM社によって開発され、当時のPC DOS(MS-DOSのIBM版)のファイル共有機能やLAN Manager、初期のWindowsなどに組み込まれた。この時代の仕様にはバージョン番号がない。

1996年に米マイクロソフト(Microsoft)社は初期のSMBを拡張しオープンな標準としてCIFS(Common Internet File System)を開発した。WindowsやNetBIOSに依存しない仕様で、他社製品でもWindowsコンピュータと接続してファイル共有などを利用することができるようになった。

2000年にはCIFSとほぼ同じ仕様のSMB 1.0をWindows 2000に採用した。同OSで導入されたActive DirectoryやKerberos認証に対応した。通常、「SMB1」「SMB 1.0」は最初期のものではなくこちらを指す。

2006年には複雑化した仕様を整理したSMB 2.0を発表し、Windows VistaおよびWindows Server 2008から導入した。複数の要求をまとめて送信したり、前の要求の処理中に次の要求を伝達できるパイプラインの導入により性能が大きく向上した。Windows 8/Windows Server 2012からはSMB 3.0が採用されている。

プリントサーバ

プリンタをコンピュータネットワークに接続し、複数のコンピュータから利用できるようにする機器。

イーサネット(Ethernet)やWi-Fi(無線LAN)による構内ネットワークに接続する機器で、同じネットワーク(LAN)上にあるコンピュータから印刷の依頼を受信し、USBケーブルなどで直接接続されたプリンタへ取り次いで印刷を行う。印刷中に別にコンピュータから印刷要求が来た場合にはデータを受信して一時保管し、到着順に順番に印刷していくスプール機能も備えている。

当初はオフィスのネットワークに繋がれた汎用のサーバコンピュータにプリンタ制御用のソフトウェアを導入してプリントサーバとしていたが、小型の専用機器が販売されるようになり、さらに小型化が進んでプリンタのケーブル接続口に差し込む変換アダプタのような装置が一般的になった。

現在では家庭内LANの普及により一般家庭でも複数の端末でネットワークを構築するのが当たり前になったため、家庭向け機種を含むほとんどのプリンタにLAN接続機能とサーバ機能が内蔵されるようになり、単体のプリントサーバを用いることはほとんどなくなった。

アクセスポイント 【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人が会員となっている。

ISP 【Internet Services Provider】 ⭐⭐⭐

公衆通信回線などを経由して契約者にインターネットへの接続を提供する事業者。インターネットを利用するには物理的な通信回線とは別に契約を結ぶ必要があるが、一部の通信サービスでは回線事業者が兼ねている場合もある。

大容量の通信回線でインターネットに接続された拠点施設を運用しており、サービス地域内の個人・法人と契約を結んでインターネットへの接続を請け負う。顧客との間の通信には通信会社が敷設・運用する光ファイバー回線や無線基地局などを利用する。

通信会社系や電機メーカー系などの全国をカバーする大手事業者と、特定の地域でのみ営業している地域系ISP(専業の小規模事業者やケーブルテレビ局、電力系通信会社など)がある。サービス提供は有償の場合がほとんどであり、月額固定料金制を採用している事業者が多い。

回線事業者との役割分担

ISP専業の事業者の場合、加入者宅への接続回線(アクセス回線)にはNTT東日本・西日本の「フレッツ」光ファイバー回線など、通信会社の通信サービスを利用する。契約者は通信会社との回線契約とISPとのインターネット接続契約をそれぞれ別に結ぶ必要がある。

これに対し、携帯電話事業者(移動体通信事業者)やケーブルテレビ事業者のように、回線事業者とISPを兼ね、音声通話(電話)や映像配信などと組み合わせた総合的な通信サービスの一環としてインターネット接続を提供している事業者もある。

付加サービス

多くのISP事業者は接続サービス以外にも会員向けに様々な付加サービスを提供している。例えば、専用の電子メールアドレス、Webサイトを開設できるサーバ上の専用スペース、コンピュータウイルスや迷惑メールの防除、映像や音楽などの配信サービス、オンライン決済サービス、ドメイン名の登録受付、法人向けの拠点間接続(VPN)、パソコンの接続設定などの出張代行サービス、独自のポータルサイトなどである。

こうした付加サービスには、電子メールのように接続サービスとセットで契約者全員に提供されるものと、申込制で追加料金を徴収するものがある。ポータルサイトなどはインターネットを通じて会員以外にも開放している事業者が多い。

ブロックチェーン

一定の形式や内容のデータの塊を改竄困難な形で時系列に連結していく技術。内容が随時追加されていくデータ群を複数の独立した対等な主体の間で安全に共有することができる。仮想通貨(暗号通貨/暗号資産)の開発を通じて誕生し、他の用途へも応用されている。

ブロックチェーンを用いて記録されたデータはインターネットなどを通じて参加者間で複製、共有されるが、途中の一部を改竄しても全体を整合性のある状態にすることは困難な性質があり、特定の管理者や管理システムが存在しなくても真正なデータを共有することができる。

この性質を応用し、ネットワークに参加する二者間の取引を記録した台帳データを参加者間で共有しつつ、取引の発生に応じて追記していく分散型台帳を実現することができる。この台帳によって値の移動を追跡、検証可能な方法で記録したものを一種の通貨として利用する試みを暗号通貨という。

ハッシュ値と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方式が再び注目を集めるようになった。

ICANN 【Internet Corporation for Assigned Names and Numbers】

インターネット上で利用される識別情報の割り当てや管理などを行う国際的な非営利法人。本部は米カリフォルニア州ロサンゼルス。

IPアドレスやドメイン名、AS番号、ポート番号、パラメータ番号など、インターネット上の通信において識別情報として用いられる各種の情報資源を一元的に管理し、割り当てや改廃、調整、運用ルールの策定などを行っている。ドメイン名については新しいトップレベルドメインの導入や、DNSルートゾーンの管理なども行っている。

1998年にIANA(Internet Assigned Number Authority)などが行っていた資源管理を引き継ぐ受け皿として設立された団体で、「IANA」の名称はICANNの番号資源管理部門の名称として存続している。設立後も一部の業務で米商務省の監督下に置かれていたが、2016年に完全民営化された。

RIR/NIRとの連携

IPv4アドレスやIPv6アドレス、AS番号など世界で重複しないよう割り当てる必要がある番号資源については、世界を5つに分けた地域ごとに置かれた「RIR」(Regional Internet Registry:地域インターネットレジストリ)へ管理をブロック単位で割り当て、ブロック内の割り当て権限を移譲している。

RIRは域内のインターネットサービスプロバイダ(ISP)事業者などの申請に基づいて自らの管理するブロックの中から番号資源の割り当てを行う。一部のRIRでは国・地域を管轄するNIR(National Internet Registry:国別インターネットレジストリ)へ割り当て業務を移譲している場合もある。

日本はNIRが置かれた国の一つで、日本のNIRである「JPNIC」(日本ネットワークインフォメーションセンター)がアジア太平洋地域のRIRである「APNIC」(Asia Pacific Network Information Centre)へ加盟して資源の割り当てを受けている。

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によるインターネット接続を提供するようになっている。

TCP 【Transmission Control Protocol】

インターネットなどのIPネットワークで、IP(Internet Protocol)の上位層であるトランスポート層のプロトコル(通信規約)として標準的に使われるものの一つ。信頼性が高いが即時性や高速性は得られにくい。

ネットワーク層(インターネット層)のIPと、HTTPなど各用途ごとに固有のアプリケーション層のプロトコルの橋渡しをするもので、ポート番号という識別番号を用いて、各IPデータグラムが運んでいるデータがどの上位プロトコルのものであるかを識別し、担当のソフトウェアに振り分けることができる。

TCPはコネクション型のプロトコルで、接続相手との通信の開始時に「スリーウェイハンドシェイク」と呼ばれる3段階から成る制御情報のやり取りを行い、通信相手の状況を確認して仮想的な伝送路(TCPコネクション)を確立する。一連のデータ伝送が終わると伝送路を切断して通信を終了する。

二者間で制御情報を双方向にやり取りすることで、送信したデータが受信側に到着したかどうかを確かめる「確認応答」、受信側が伝送途上でのデータの欠落や破損を検知して送信側に再送を要求する「再送制御」、送信時に通し番号を割り当てて到着順が入れ替わっても受信側で本来の順序に並べ直す「順序制御」などの機能が利用できる。

IP上で用いられるトランスポート層の有力なプロトコルには「UDP」(User Datagram Protocol)もあり、こちらは細かな制御はせず「送りっぱなし」にするシンプルな仕様となっている。TCPはUDPに比べる伝送の信頼性が高くアプリケーション層に対して確実にデータを送り届けることができるが、通信効率は低く性能は高めにくい。

また、品質の低い通信経路(回線など)では確実性を高めるための仕様が足かせとなり極端に性能が低下したり、接続が頻繁に途絶えることがある。信頼性や確実性が必要な通信にはTCPを、転送効率や即時性が必要な用途や通信環境が悪くても断片的にデータが届けば良い用途ではUDPを、というように使い分けられる。

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年以上続いている。

グローバルIPアドレス 【global IP address】

インターネット上で通信可能なIPアドレス。全世界で重複が起きないようネット上の資源を管理する団体が申請に基づいて割り当てており、勝手に使用することはできない。

IPアドレスはIP(Internet Protocol)で通信する機器が一つずつ持っている識別番号で、インターネット上で機器やネットワークを識別・同定するのに用いられるものをグローバルIPアドレスという。企業や個人が利用する場合は、契約しているプロバイダなどが運用しているアドレス群の中から割り当てを受けることが多い。

個々のIPアドレスはネットワーク内で一意でなければならない(複数の異なる機器が同じアドレスを名乗ることはできない)が、インターネットは様々な組織のネットワークが相互に接続されて成り立っているため、アドレスの重複を避けるため統一的にアドレス割り当ての管理・調整を行う国際的な仕組みが存在する。

グローバルIPアドレスの管理

グローバルIPアドレス全体の管理は「ICANN」(Internet Corporation for Assigned Names and Numbers)と呼ばれる非営利組織の中の「IANA」(Internet Assigned Number Authority)という機関が行っており、世界の各大陸を統括する「RIR」(Regional Internet Registry)と呼ばれる調整機関に大きなブロックごとに割り当てている。

RIRは域内の国・地域ごとに置かれた「NIC」(Network Information Center)にブロックを分割して割り当てる。各国のNICは国内の個々の組織やインターネット接続事業者(ISP:インターネットサービスプロバイダ)などからの要請に基づきアドレスを発行する。

日本で利用されるグローバルIPアドレスは、ICANNがアジア・太平洋地域を管轄する「APNIC」(Asia Pacific Network Information Centre)に、APNICが日本を管轄する「JPNIC」(Japan Network Information Center)に割り当てたアドレスブロックの中から割り当てられる。

ローカルIPアドレス/プライベートIPアドレス

これに対し、組織内などで運営する閉じられたネットワークの内部でのみ利用されるIPアドレスのことは「プライベートIPアドレス」(private IP address)あるいは「ローカルIPアドレス」(local IP address)という。

IPアドレス空間全体の中でローカルアドレス用に使用できる範囲が決まっており、各組織は自由に機器に割り当てて使用することができる。インターネットと直接通信することはできないため、組織間で同じアドレスを重複して割り当てても問題ない。

現在インターネットで主に利用されているIPv4アドレスは設計上の制約から世界全体で約42億個しか使うことができないため、大きな組織などは組織内ネットワークをプライベートアドレスで運用し、インターネットとの境界に置かれたルータやゲートウェイでアドレス変換(NAT/NAPT)を行ったり、プロキシサーバなどを設置して内部の機器の代理としてアクセスさせるといった方式で多数の機器をインターネットに接続している。

ローカルIPアドレス 【local IP address】

ある特定のネットワーク内でのみ通信可能なIPアドレス。主に構内ネットワーク(LAN)で用いられ、インターネットで直接通信することはできない。

組織内に設けられた私的なネットワークでのみ有効なIPアドレスで、その組織のネットワーク管理者が任意に各機器に割り当てることができる。当該ネットワーク内の機器間でのみ接続・通信が可能で、インターネットなど外部と直に通信することはできない。

一方、インターネット上で通信可能なIPアドレスは「グローバルIPアドレス」(グローバルアドレス)あるいは「パブリックIPアドレス」(パブリックアドレス)と呼ばれ、契約先の通信事業者(ISP)から一時的に貸与を受けるか、各国に設置されている管理組織(インターネットレジストリ)に申請して割り当てを受けなければならない。

アドレスの範囲

IPアドレスにはプライベートIPアドレス用の範囲が予約されており、その中から使用するよう定められている。IPv4の場合、

  • 10.0.0.0~10.255.255.255 (アドレス数は1677万7216個)
  • 172.16.0.0~172.31.255.255 (104万8576個)
  • 192.168.0.0~192.168.255.255 (6万5536個)

が確保されており、ネットワークの規模(機器の台数)や管理上の都合に応じて使い分ける。最後の「192.168.~」が最もよく用いられている。IPv6でも「fc00::/7」がユニークローカルアドレスと規定されている。

リンクローカルアドレス

機器ごとに固定のアドレスが設定されておらず、DHCPなどが機能していないネットワークでも最低限の通信ができるようにするため、自動的に設定される「リンクローカルアドレス」という仕組みもある。

IPv4では「169.254.0.0~169.254.255.255」、IPv6では「fe80::/10」の範囲が予約されており、この中から他の機器と衝突しないように一つが自動選択される。物理的に信号が届く範囲にある機器とのみ通信可能な制約があり、ルータなどを超えて別のネットワークと通信することはできない。

ローカルとプライベート

「ローカルIPアドレス」と「プライベートIPアドレス」という用語は一般的にはほぼ同義語として区別されずに用いられているが、「ローカルIPアドレス」には「リモートIPアドレス」の対義語として、ある機器やネットワーク自身のアドレスを指す用法もある。

また、組織内で設置・運用される私的なネットワークは本来「プライベートネットワーク」と呼ばれるため、そこで用いられるIPアドレスも「プライベートIPアドレス」とするのが正式であると言える。実際、RFCなどの規格書や技術文書などでも “private address” が用いられている。

DHCP 【Dynamic Host Configuration Protocol】

インターネットなどのIPネットワークに新たに接続した機器に、IPアドレスなど通信に必要な設定情報を自動的に割り当てるための通信規約(プロトコル)。

機器の利用者がネットワーク設定を手動で行わなくても、ネットワーク管理者の側で適切な設定を自動的に適用することができ、技術に詳しくない利用者でも簡単に接続できる。管理者は多くの機器の設定を容易に一元管理することができ、不適切な設定に起因するトラブルを減らすことができる。

スマートフォンなど持ち運ぶ機器の場合、接続先ごとに詳細な設定を管理者から入手して手動で入力しなくても、DHCPを利用するよう設定しておくだけでネットワークごとに接続開始時に適切な設定情報を入手して適用することができる。

DHCPによって通知される設定情報には、問い合わせを行った機器が名乗るべきIPアドレス、アドレスのサブネットマスク、当該ネットワークで利用可能なDNSサーバのIPアドレス、外部ネットワークとの出入り口であるデフォルトゲートウェイのIPアドレス、アドレスのリース期間(使用期限)などがある。追加で時刻同期サーバ(NTPサーバ)のアドレスなど他の情報を通知することもできる(が、あまり一般的ではない)。

DHCPの仕様は前身の「BOOTP」(Bootstrap Protocol)を拡張したもので、1993年にIETFによってRFC 1541として標準化され、1997年にRFC 2131として更新された。2018年にはIPv6対応版である「DHCPv6」(RFC 8415)も標準化されたが、IPv6自体に自動的にアドレス設定をメカニズムが組み込まれており、特殊な目的以外ではあまり利用されない。従来のIPv4向けのDHCPをIPv6向けと明確に区別したい時は「DHCPv4」と呼ぶこともある。

DHCPサーバとDHCPクライアント

DHCPで設定情報を提供する機能を持ったコンピュータやネットワーク機器を「DHCPサーバ」(DHCP server)、サーバへ問い合わせを行って設定情報を受け取る機器やソフトウェアを「DHCPクライアント」(DHCP client)という。

企業のネットワークなどでは専用のサーバコンピュータが他のネットワーク管理機能などと共にDHCPサーバとして稼動している場合が多く、家庭のインターネット接続環境ではブロードバンドルータやWi-FiルータなどがDHCPサーバ機能を内蔵している場合が多い。

DHCPクライアントはネットワーク接続を利用する機器に必要なもので、単体の装置やソフトウェアとして提供されるものではなく、機器を制御するオペレーティングシステム(OS)などの中に組み込まれている。パソコンやスマートフォン、デジタル家電、家庭用ゲーム機など、およそインターネット接続に対応した機器のほとんどはDHCPクライアントとして機能するようにできている。

家庭用のルータ製品などの中には、インターネットサービスプロバイダ(ISP)からグローバルIPアドレスなどの設定情報を受信するためのDHCPクライアント機能と、屋内のパソコンやスマートフォンなどにプライベートIPアドレスを払い出すためのDHCPサーバ機能を内蔵し、両方同時に使用する例もある。

なお、DHCPは標準では下位のトランスポート層のプロトコルとしてUDP(User Datagram Protocol)を利用し、サーバがクライアントからの通信を待ち受けるのはUDPの67番ポート、クライアントがサーバからの返信を待ち受けるのはUDPの68番ポートと定められている。

IPアドレス割り当ての手順

クライアントがネットワークに接続すると、同じネットワークのすべての機器へ同報送信(ブロードキャスト)でDHCPサーバに応答を求める問い合わせ(DHCPディスカバー)を送信する。DHCPサーバが存在する場合、これに呼応して使用すべきIPアドレスを提案する応答(DHCPオファー)をブロードキャストする。

クライアントが提案されたIPアドレスを使用することを決めると、追加の設定情報を求める要求(DHCPリクエスト)を再びブロードキャストする。DHCPサーバが複数ある場合、自らの提案が「落選」したDHCPサーバはこのブロードキャストによってそれを知り、アドレスの割り当てを解除して待機状態に戻る。

最後に、アドレス提案が採用されたサーバがクライアントに向けてデフォルトゲートウェイなどの追加情報を記載した承認通知(DHCPアック/Acknowledgement)をユニキャスト(アドレス指定送信)で送信し、手続き完了となる。

DHCPサーバにはあらかじめ、クライアントに払い出して良いIPアドレスの範囲(IPアドレスプール)が管理者によって設定されており、その中から現在使われていないアドレスを提案する。接続が途絶えたクライアントや使用期限が来たアドレスは回収して空き状態としておき、次に接続したクライアントに払い出す。

NAPT 【Network Address Port Translation】

2つのIPネットワークの境界にあるルータやゲートウェイが、双方のIPアドレスとポート番号を自動的に変換してデータを中継する技術。内部ネットワークからインターネットへ透過的にアクセスできるようになる。

インターネットに接続するにはグローバルIPアドレスが必要だが、企業や家庭などの構内ネットワーク(LAN)では当該ネットワーク内だけで通用するプライベートIPアドレス(ローカルIPアドレス)で運用されている場合があり、プライベートアドレスしか持たない機器はインターネットへ直接アクセスすることはできない。

NAPTはネットワーク境界上にあるルータなどの中継装置が持つ機能で、プライベートアドレスとグローバルアドレスの相互変換を自動的に行い、ローカル側の機器があたかもインターネットに直接繋がっているかのようにアクセスできるようにする。その際、TCPやUDPで通信の種類を表すポート番号も動的に変換する。

NATとの違い

同種の技術である「NAT」(Network Address Translation)はIPアドレスのみを変換するため、一つのグローバルアドレスを同時に使えるのは一つのプライベートアドレスのみだが、NAPTではグローバルアドレス側のポート番号をそのとき空いているものから自動的に割り当てるため、一つのグローバルアドレスで複数の機器が同時にインターネット側と通信することができる。

ただし、インターネット側の機器からはローカル側の機器がどのポート番号で接続するのか事前に知ることができないため、サーバなどインターネット側から接続を開始する用途には利用できない。この制限を緩和するため、利用者があらかじめ指定したIPアドレスとポート番号の組み合わせをインターネット側の特定のポートに固定的に対応付けるといった独自の機能を提供しているブロードバンドルータなどもある。

NAPTとIPマスカレード

本来、この方式の一般的な名称が「NAPT」、LinuxにおけるNAPTの実装の名前が「IP masquerade」(IPマスカレード)だったが、後者の名称が有名となり、Linux以外でもこの方式を表す一般名のように用いられる場合がある。また、ネットワーク機器の仕様表などに「NAT機能」として紹介されているものは、実際には本来の意味でのNAT(ポート変換なし)ではなく、NAPTであることがほとんどである。

NAT 【Network Address Translation】

二つのIPネットワークの境界にあるルータやゲートウェイが、双方のIPアドレスを対応付けて自動的に変換し、データ伝送を中継する技術。主にLAN内のプライベートIPアドレスとインターネット上のグローバルIPアドレスを変換するために用いられる。

構内ネットワーク(LAN)とインターネットなど、二つのネットワークの間で特定のアドレス同士を対応付け、両者の間を出入りするIPデータグラムに含まれる送信元や宛先のIPアドレスを転送時に自動的に書き換える。

これにより、両ネットワーク間が直接通信できない場合でも、一方からもう一方へ透過的にアクセスできるようになる。プライベートIPアドレスで運用されているLAN内からインターネット上のサーバへアクセスしたい場合などによく用いられる。

NAPT/PAT

NATを拡張し、通信を行うポート番号も同時に変換することで、一つのアドレスにもう一方のネットワークの複数のアドレスを対応付けて同時に通信できるようにする技術を「NAPT」(Network Address and Port Translation)あるいは「PAT」(Port Address Translation)、「IPマスカレード」(IP masquerade)などという。

ポート番号が固定の単純なNATは使い勝手が悪く、ルータ製品などの多くは実際にはこれらの方式を採用しているが、「NAT」の名称がすでに広く普及しているため、これらを総称してNAT機能などと呼称する例も多く見られる。

送信元NATと宛先NAT

NATは通信の方向に応じて自動的に送信元あるいは宛先のアドレスを書き換えるが、接続を確立するパケットの扱いによって、送信元を書き換える「ソースNAT」と宛先を書き換える「デスティネーションNAT」に分類される。

一般的に用いられるのはLANからインターネットへ送信される接続確立用のパケットの送信元アドレスを書き換える「ソースNAT」(Source NAT/SNAT/送信元NAT)で、LAN内のプライベートIPアドレスしか持たないパソコンなどからインターネットにアクセスするために用いられる。

一方、インターネット側からの接続要求の宛先アドレスを自動的にLAN内のアドレスに書き換える方式は「デスティネーションNAT」(Destination NAT/DNAT/宛先NAT)という。LAN内にあるサーバなどの機器にインターネット側からアクセスできるようにする手段として用いられ、「バーチャルホスト」「ポートフォワーディング」(ポート転送)とほぼ同義である。

静的NATと動的NAT

IPアドレスの対応付けの仕方によって分類することもある。外部側と内部側のアドレスを一つずつ固定的に対応付け、常に同じアドレスに転送する方式を「静的NAT」(static NAT/スタティックNAT)という。内部から通信したいプライベートIPアドレスの数だけグローバルIPアドレスが必要となる。

一方、内部から通信要求があるたびにグローバルIPアドレスを動的に割り当てて当座の通信に用いる方式を「動的NAT」(dynamic NAT/ダイナミックNAT)という。少ないグローバルIPアドレスで内部の多数の機器が通信できるが、接続ごとに内部側のアドレスが代わるため、外部側から通信を開始する用途(サーバ運用など)に使うことはできない。

ルータ ⭐⭐⭐

コンピュータネットワークの中継・転送機器の一つで、データの転送経路を選択・制御する機能を持ち、複数の異なるネットワーク間の接続・中継に用いられるもの。

ルータはプロトコル階層のうちネットワーク層(インターネット層、第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)と呼ぶ場合がある。

ルーティング 【経路選択】 ⭐⭐

ネットワーク上でデータを送信・転送する際に、宛先アドレスの情報を元に最適な転送経路を割り出すこと。特に、インターネットなどのIPネットワークにおいて、パケットの転送先を決定すること。

インターネットなどの大規模なネットワークは、複数の小さなネットワークがルータなどの中継機器によって結ばれた構造になっている。送信元の機器が遠く離れたネットワーク上の相手にデータを送りたいときは、自らのネットワーク内のいずれかの中継機器に転送を依頼する。

中継機器は受け取ったパケットの宛先を見て、自らに直接つながった別の中継機器のいずれかにさらに転送を依頼し、これを繰り返してバケツリレー式にデータが運ばれていく。その際、各機器がパケットに記された宛先を元に最適な転送先を決定する処理のことをルーティングという。

ルーティングテーブル

機器がルーティングを行う際には、一般に「ルーティングテーブル」(routing table:経路表)と呼ばれるリストが参照される。これには、宛先のネットワーク(のアドレス)ごとに、どの隣接ルータに中継を依頼すべきかが列挙されている。

ルータはテーブルを参照し、宛先アドレスに対応する転送先を見つけて、その機器にパケットを転送する。宛先がテーブルの中に見つからない場合は、経路を知っている可能性の高い、外部ネットワークとの境界にある中継機器などが選択される。このような経路不明の際に頼る機器のことを「デフォルトゲートウェイ」(default gateway)という。

小規模なネットワーク内のルーティングでは、ルーティングテーブルを管理者がルータなどに手動で記述・設定していく手法が用いられる。これを「スタティックルーティング」(static routing:静的ルーティング)という。

一方、インターネットのような異なる管理主体のネットワークをまたぐ接続や、大規模なネットワーク、頻繁に構成が変更されるネットワークなどでは、ルータ間で経路情報を交換して自動的にルーティングテーブルを作成・更新する仕組みが利用される。これを「ダイナミックルーティング」(dynamic routing、動的ルーティング)という。

ルーティングプロトコル

ルータ間の経路情報の交換には専用の通信規約(プロトコル)が用いられ、これを「ルーティングプロトコル」(routing protocol)という。単に情報を交換するためのデータ形式や伝送手順を定義しているだけでなく、経路の選択手順(アルゴリズム)もセットで規定されている。

ルーティングプロトコルのうち、同一の管理主体の運営するネットワーク(AS:Autonomous System/自律システム)内で用いられるものを「IGP」(Interior Gateway Protocol)と呼び、RIPやOSPF、IGRP、EIGRPなどが用いられる。

一方、インターネット上で異なるAS間を接続する際には、「EGP」(Exterior Gateway Protocol)と呼ばれるルーティングプロトコルが用いられる。現在のインターネット上ではEGPとして「BGP」(Border Gateway Protocol)のバージョン4(BGP-4)が用いられる。

DNSサーバ 【DNS server】 ⭐⭐

インターネットなどのIPネットワーク上で、あるドメイン名についての情報を管理したり、ドメイン名(ホスト名)とIPアドレスの対応関係を調べるサーバ。また、そのためのソフトウェア。

IPネットワークでは「IPアドレス」と呼ばれる数値列で機器やネットワークを識別するが、「DNS」(Domain Name System)という仕組みにより、人間にとって親しみやすい文字や記号を組み合わせた「ドメイン名」という別名を付与することができる。個々の機器を指すドメイン名は「ホスト名」とも呼ばれる。

このドメイン名やホスト名と、対応付けられたIPアドレスなどの情報を記録・管理し、外部からの問い合わせに応答するコンピュータやソフトウェアのことをDNSサーバという。あるドメインについての管理権限を持ち情報を発信する「権威DNSサーバ」と、ドメインの管理は行わずクライアントからの求めに応じて権威サーバへ問い合わせを行う「DNSキャッシュサーバ」に大別される。

ドメイン名は階層構造になっており、各階層のドメインの管理権限は上位ドメインの管理者から委譲される。DNSサーバもこれに従って階層構造で管理されており、上位ドメインのDNSサーバは下位ドメインのすべての情報を管理しているわけではなく、下位ドメインを管理するDNSサーバの所在(IPアドレス)のみを把握している。

ある特定のホスト名の問い合わせを行うには、世界の十数か所に設置された最上位の「ルートサーバ」(root server)にトップレベルドメイン(.jpや.comなど)のDNSサーバの所在を尋ね、トップレベルドメインのDNSサーバにセカンドレベルドメイン(co.jpやexample.comなど)のDNSサーバの所在を尋ね…という手順を再帰的に繰り返し、最下層ドメインのDNSサーバから対応するIPアドレスの情報を聞き出すという手続きが必要になる。

権威DNSサーバ (DNSコンテンツサーバ)

DNSサーバのうち、あるドメイン名の情報を記録・管理する正当な権限を有し、そのドメインの情報についての外部からの問い合わせに応答するものを「権威DNSサーバ」あるいは「DNSコンテンツサーバ」という。

自らが管理権限を有するドメイン名空間についての情報を保持し、外部からの問い合わせに対して回答する。一台の権威DNSサーバが管轄する範囲は、上位ドメインから委譲されたドメインと、そのドメインの下位ドメインのうち、他の権威DNSサーバに権限を移譲していない領域を組み合わせたもので、これを「DNSゾーン」という。

プライマリDNSサーバとセカンダリDNSサーバ

権威DNSサーバには、オリジナルのデータを保持・提供する「プライマリDNSサーバ」と、プライマリサーバのデータを複製し、外部からの問い合わせに代理で応答することができる「セカンダリDNSサーバ」がある。

ドメイン名の登録・運用のためには、プライマリサーバを一系統と、セカンダリサーバを一系統以上(複数の場合もある)用意して外部からアクセス可能にする必要がある。通常は外部からの問い合わせはプライマリサーバに行われるが、規定時間内に応答が無い場合などにはセカンダリサーバへ問い合わせが行われる。

DNSキャッシュサーバ

一方、自らは管理するドメイン名を持たず、利用者からの任意のドメイン名の名前解決の問い合わせを受け付け、当該ドメイン名を管理するDNSサーバへの問い合わせを(代理で)行い、結果を利用者に返答するものは「DNSキャッシュサーバ」という。

ネット利用者がDNSを使用できるようにするため、インターネットサービスプロバイダ(ISP)などのネットワーク運営主体が設置・運用するDNSサーバで、利用者がコンピュータに問い合わせ先DNSサーバとして設定し、日常的に直接利用しているDNSサーバはこちらである。

優先DNSサーバと代替DNSサーバ

パソコンなどの端末にはDNSの問い合わせを行うキャッシュサーバをどこにするか設定する必要がある。優先的に問い合わせを送信する「優先DNSサーバ」と、優先サーバが利用不能な場合に代わりに問い合わせる「代替DNSサーバ」の二つを指名するようになっていることが多い。

ISPなどでは二系統以上のDNSキャッシュサーバを用意して、利用者にそのうちの二つを設定するよう周知している。同じ運営主体のDNSサーバは同時にアクセス不能になるリスクが高いため、代替DNSサーバをインターネット上で誰でも利用できる「パブリックDNSサービス」に設定する利用者もいる。

名前解決

ソフトウェアなどが扱う対象の識別名と、その名前が指し示している実体を対応付ける処理や操作のこと。TCP/IPネットワークでドメイン名やホスト名と対応するIPアドレスを対応付けるDNS名前解決が特に有名。

ネットワークの名前解決

通信ネットワークでは参加する個々の機器などに数値列などからなる固有のアドレスが与えられるが、人間が管理しやすいように名前を付け、これによって対象を指定できるようになっていることがある。このとき、識別名から対応するアドレスを求めたり、アドレスから識別名を求めることを名前解決という。

インターネットなどのTCP/IPネットワークにおける名前解決はホスト名やドメイン名とIPアドレスの対応関係を割り出す処理で、ホスト名からIPアドレスを求める操作を「正引き」、IPアドレスからホスト名を求める操作を「逆引き」という。

IPネットワークの名前解決には、対応関係を列挙したhostsファイル、Windowsのコンピュータ名とIPアドレスを対応付けるWINS(Windows Internet Naming Service)など様々な方式があるが、最も汎用的でよく利用されるのはDNS(Domain Name System)による名前解決である。

DNSでは個々のドメイン名を管理するDNSサーバがサブドメインやホスト名、ホストのIPアドレスなどの情報を配信しており、利用者は当該ドメイン名を管理するDNSサーバへ問い合わて名前解決を行う。利用者側でサーバへの問い合わせを処理するソフトウェアをDNSリゾルバ(ネームリゾルバ)という。

プログラミングなどの名前解決

プログラムコードなどに登場する変数名や関数名などの識別子が重複している場合に、どの実体を指し示しているのかを判定することを名前解決という。プログラミング言語によって名前解決のためのルールが規定されている。コンパイル時に名前解決を行うことを静的名前解決、実行時に名前解決を行うことを動的名前解決という。

ドメイン名 【ドメインネーム】 ⭐⭐⭐

インターネット上に存在するコンピュータやネットワークを識別し、階層的に管理するために登録された名前のこと。インターネット上の機器やネットワークの識別名で、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(日本レジストリサービス)が管理している。

ホスト名

ネットワークに接続されたコンピュータなどの機器を人間が識別・指定しやすいように付けられる名前。通常は機器に与えられたドメイン名や、その右端にある機器自体を指し示すラベルを指す。

ネットワーク上では機器にMACアドレスやIPアドレスなどの一意の番号を割り当てて他と識別するが、人間が長い番号を読み書きしたり覚えておかなければならないのでは不便なため、別名としてホスト名を割り当てて普段はそちらを用いる。

様々な通信システムやプロトコル(通信規約)がそれぞれ機器に命名する仕組みを用意しており、それぞれ命名規約は異なるが、一般的には英数字といくつかの記号(ハイフンなど)を組み合わせたものを用いることが多い。

Windowsのコンピューター名

Windowsネットワークでは、パソコンやサーバ、プリンタなどLAN(構内ネットワーク)上の機器を識別するためにホスト名を付ける。「コンピューター名」「NetBIOS名」などとも呼ばれる。(半角)英数字と「-」「_」など一部の記号を15文字(15バイト)まで入力でき、日本語文字(全角文字)も使うことができる(7文字まで)。

DNSのドメイン名とホスト名

IPネットワークのDNS(Domain Name System)では、特定のIPアドレスに紐付いた、一台のホスト(IP通信可能な機器のこと)を指し示すドメイン名のことをホスト名という。ドメイン名は階層構造で管理されており、各階層の領域名を「.」で区切って並べて表記する。

このうち、最も左にある識別子が一つの特定のIPアドレスに対応付けられている場合、これがホスト名となる。左端部分を含むドメイン名全体である「FQDN」(Fully Qualified Domain Name)をホスト名という場合もある。

例えば、「www.example.jp」というドメイン名で示されるWebサーバが存在する場合、「www」あるいは「www.example.jp」をホスト名という。一方、「example.jp」がどのIPアドレスにも紐付けられていない場合、「example」や「example.jp」はホスト名ではない。ただし、例えば「example.jp」にIPアドレスが割り当てられ、メールサーバとして運用されているような場合、これもホスト名となる。

あるドメイン名にIPアドレスが対応付けられているか否かは当該ドメイン名を管理する権威DNSサーバに問い合わせなければ分からないため、ドメイン名の表記のみから、それがホスト名なのかそうでないのかを知ることはできない。

JPNIC 【Japan Network Information Center】

日本国内でIPアドレスなどインターネット上の識別子の登録や割り当てを行う一般社団法人。国際的なインターネット調整組織ICANNにおける日本の代表機関。

インターネット上で国際的に一意の識別子として用いられるグローバルIPアドレスやAS番号が重複しないよう、接続を希望する事業者などに割り当てを行っている。

アジア太平洋地域のインターネット資源管理を行うAPNIC(アジア太平洋ネットワークインフォメーションセンター)の加盟機関であり、同センターの運営の一部も引き受けている。

資源の割り当て業務の他にも、国内のインターネット事業者と連携してネットワーク運用の調整や方針策定を行ったり、インターネットに関する調査や研究、啓蒙や教育活動を行い、日本のインターネットの普及・発展と円滑な運営を支えている。

歴史

1991年12月に前身のJNICが発足し、1993年4月にJPNIC(任意団体)へ移行、1997年3月に社団法人となった。2006年の非営利法人制度改正により一般社団法人に移行した。

当初は、日本を表すJPドメイン名(.jpで終わるドメイン名)の割り当てやDNSの管理・運営も行っていたが、JPドメイン運営業務は、自ら出資して設立したJPRS(株式会社日本レジストリサービス)に2000年から2002年にかけて段階的に移管された。

ただし、現在でも、ドメイン名紛争処理方針の策定や、国際化ドメイン名に関する調査・研究と標準化の推進はJPNICが担当している。

JPRS 【Japan Registry Service】

日本に割り当てられたドメイン名「.jp」(JPドメイン)の登録・管理業務を行う企業。JPドメインの登録データベースの管理を行う唯一のレジストリ事業者で、JPドメインの情報を管理する権威DNSサーバの運用も行なっている。

一般からのドメイン名の登録受け付けを行う指定事業者(レジストラ)から登録申請を受け、ドメイン名の登録や削除、登録内容の変更などを行う。JPRS自身も「JPDirect」のサービス名でレジストラとして登録受付業務を行っており、gTLD(汎用トップレベルドメイン)の取り次ぎサービスやSSL/TLSのサーバ証明書の発行なども行っている。

2000年12月に、それまでJPドメイン名の管理を担っていた社団法人日本ネットワークインフォメーションセンター(JPNIC)などの出資により設立された。当初は汎用JPドメイン名のレジストリ業務のみを行っていたが、2002年4月に属性型ドメインなどすべてのJPドメインの運用業務がJPNICからJPRSに移管された。

電子メール 【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メール)の送受信や配送を行うため、ネットワークに接続され常に稼働しているサーバコンピュータ。また、そのための機能を実装したサーバソフトウェア。

主に、発信者からの送信受付や宛先のサーバへの転送を担うサーバ(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とは異なりメッセージはサーバに残っているため、複数のコンピュータからメールにアクセスしたい場合などに便利だが、サーバ側には保管容量の制限が課されることが多く、満杯になって受信拒否されてしまわないよう、古いメッセージを削除する等の適切な管理が必要となる。

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)がよく用いられる。

Webアプリケーションサーバ 【APサーバ】

Webアプリケーションを構成するサーバ側のプログラムの実行環境を提供するソフトウェア。3階層システムの中間層で、個別のアプリケーションの処理内容(ビジネスロジック)を実装・実行するためのミドルウェアを指す。

Webサーバとデータベース管理システム(DBMS)などの中間に位置し、Webサーバからの要求を受けてプログラムを実行し、必要に応じてデータベースへの問い合わせや書き込みを行い、処理結果をWebサーバへ提供する。

Webブラウザなどクライアント側との通信はWebサーバが、データの記録や管理などはDBMSなどがそれぞれ担当する。このようにサーバ側を3つのシステムで役割分担するモデルを3階層システム(Web3層システム)という。

アプリケーションサーバは特定のプログラミング言語の実行環境やフレームワークを内蔵しており、開発者はこれを利用して処理内容を記述し、アプリケーションを実装する。複数の処理を一体不可分の実行単位として管理するトランザクション管理機能や、独自のセッション管理機能などを提供する製品もある。

「Javaサーブレット」(Servlet)や「EJB」(Enterprise JavaBeans)「JSP」(JavaServer Pages)などの技術を組み合わせJava言語で開発する「Jakarta EE」(Java EE)に対応した製品が主流で、商用ソフトウェアとしては「Oracle WebLogic」や「IBM WebSphere」「RedHat JBoss」がよく知られる。

オープンソースソフトウェアとしては「Apache Tomcat」「Apache Struts」「Jetty」「WildFly」「GlassFish」などがよく用いられる。Windows Server環境では同梱されたWebサーバ一体型の「IIS」(Internet Information Services)がよく利用される。

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 【short URL】

長いURLを短く表記できるよう、そのURLにアクセスが転送される短いURLを提供するサービス。また、そのようなサービスで作られた短いURL。

短縮URLは書き込みに字数制限のある電子掲示板(BBS)やブログ、SNSなどのサービスで長いURLを含む文章を投稿したいときなどに使う。元のURLを短縮URLサービスに登録すると、20文字程度の短いURLが生成される。そのURLにアクセスするとHTTPリダイレクトが行われ、元の長いURLに自動的に転送される。

サービス提供側では申請されたURLに内部で通し番号を割り当てるなどの方法で短い符号に変換しているため、元のURLと短縮URLの間に直接の意味的な繋がりはなく、対応関係は提供元にしか分からないようになっている。

短縮URLは文字列を見ても転送先がどこであるかは一切わからず、実際にアクセスしてみるまでどこに繋がるのか知る方法がないため、これを悪用して不正なサイトへアクセスを誘導してフィッシング詐欺やコンピュータウイルス感染などを試みる攻撃者もいる。

短縮URLは2009年頃から字数制限のあるSNSへの投稿などを通じて広く普及し、内外で多くのサービスが生まれたが、それ自体では収益化が難しいこともあり、2010年代半ばになると撤退・閉鎖するサービスが目立ち始めた。元のURLとの対応関係は提供元のデータベースを参照するしかないため、Web上に残された終了した短縮URLサービスのURLは転送先が不明になってしまい問題となっている。

プロキシ 【HTTPプロキシ】

二つのネットワークの境界で、一方のコンピュータの「代理」としてもう一方のネットワーク上のコンピュータへの接続を取り次ぐシステムのこと。企業などの内部ネットワークとインターネットの境界に置かれることが多い。

プロキシサーバサーバは内部のコンピュータから外部へのアクセス要求を受信すると、自らが接続元となって目的のシステムへ要求を行う。先方から応答が返ってきたら、これをアクセス元に転送する。接続先から見るとプロキシサーバ自身が通信しているように見え、内部のコンピュータの存在やそのIPアドレスなどをある程度秘匿することができる。

プロキシサーバは設置するだけでは利用できず、原則としてWebブラウザなどにプロキシサーバを経由する設定を明示的に行わなければならない。しかし、ネットワーク内の通信機器の設定などにより、すべてのアクセスを自動的(強制的)にプロキシサーバ経由とする方法もあり、「透過プロキシサーバ」(transparent proxy)と呼ばれる。

付加機能

プロキシサーバの中には、一度取得した外部サーバのデータを自らのストレージ(外部記憶装置)内に保存しておく「キャッシュサーバ」の機能を持つものもあり、再び同じデータの取得要求があったとき、自らが保管しているデータをサーバの代理として送信する。外部サーバの負荷が軽減されるほか、内外を結ぶ通信回線の混雑を緩和することができる。

また、内外を流通するデータをアプリケーションレベルで把握することができ、アクセス履歴を記録・収集することができる。望ましくない接続先を設定して内部からの中継を拒否するフィルタリング機能や、外部から不正アクセスの試みやマルウェアなどが流入することを検知・抑止するファイアウォールやIDS/IPSのような機能を持つ製品もある。

内部ネットワークがインターネットなどとは独立したアドレス体系(プライベートIPアドレス)で運用されている場合には、NATやNAPT(IPマスカレード)などのように内外のポート番号、IPアドレスの自動変換を同時に行う機能を持ったものもある。

フォワードプロキシとリバースプロキシ

通常、単にプロキシサーバといった場合はクライアント側のネットワークに置かれ、クライアントの代理としてサーバへの接続を中継するシステムを指す。これを「フォワードプロキシサーバ」(forward proxy)という。

一方、サーバ側のネットワークに置かれ、サーバの代理としてクライアントからの接続を受け付け、ファイルの代理送信(キャッシング)や暗号化などの処理の肩代わり(オフローディング)、負荷分散(ロードバランシング)などの機能を提供するシステムもある。これは「リバースプロキシサーバ」(reverse proxy/逆プロキシサーバ)と呼ばれる。

ハイパーテキスト

コンピュータを利用した文書作成・閲覧システムの一つで、文書内の任意の位置や要素に、他の文書への参照(所在情報や識別情報)を埋め込み、複数の文書を相互に結びつけたもの。そのような他の文書への参照情報を「ハイパーリンク」(hyperlink)あるいは単にリンクという。

専用の表示ソフトウェアを用いて文書を開くと、文書内のリンクが設定された箇所を閲覧者の操作により選択することができ、参照先の文書を自動的に読み込んで表示することができる。ハイパーテキストを拡張し、文書に留まらず画像や図表、音声、動画、3次元グラフィックスなど様々な情報資源間で相互に関連付けや参照などが行えるようにしたものを「ハイパーメディア」(hypermedia)という。

ハイパーテキストシステムは電子辞書や百科事典ソフトのように一つのソフトウェアやコンピュータの内部で完結しているものと、通信ネットワークなどを介して複数のコンピュータに分散する文書データにまたがって構築されるものがある。その最も有名な応用例は、インターネット上に分散する膨大な文書群をハイパーリンクによって結んだ世界規模の開放型ハイパーテキストシステムである「Web」(ウェブ、WWW:World Wide Web)である。

暗号化 【エンクリプション】 ⭐⭐⭐

情報を第三者に盗み見られずに伝達あるいは保存するため、特定の手順に基づいて元の状態が容易に推定できない形式に変換すること。現代では、コンピュータを用いて特定の計算手順と秘密の情報に基づいてデータを変換することを指す。

伝達・保存したいデータそのものである「平文」(cleartext)と、これとは別に用意された短い秘密の符号である「暗号鍵」(cipher key)を組み合わせ、あらかじめ定められた手順によりデータの演算、加工を行い、一見すると意味が分からない符号の羅列である「暗号文」(ciphertext/cryptogram)に置き換える操作を指す。

暗号文を正規の暗号鍵を用いて平文に戻す処理を「復号」(decipher/decryption)という。正規の鍵が分からない状態で暗号鍵または平文を割り出そうとすることを「攻撃」(attack)、実際に割り出すことを「解読」(crack)という。

共通鍵暗号と公開鍵暗号

暗号化と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem)「共有鍵暗号」あるいは「秘密鍵暗号」(secret key cryptosystem)という。公開鍵暗号が発明される以前はこの方式しかなかった。

一方、対(ペア)になる二つの鍵を用いて、片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。鍵ペアのうち片方は公開し、片方は秘匿した状態で運用される。暗号化に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、デジタル署名などにも応用される。

慣用的な用法

厳密には暗号化とは言えないが、目的や手法が似ているために慣用的に暗号化と呼ばれることがある変換手法がいくつかある。例えば、原文から一定の計算手順で特徴的な固定長のデータを算出する「ハッシュ関数」(hash function)および「ハッシュ化」(hashing)は、計算後のハッシュ値から元のデータに戻すことは原理的にできないため暗号化とは区別されるが、原文を秘匿する目的に使われることがあるため、そのような文脈では分かりやすさを優先して慣用的に暗号化と呼ばれることがある。

また、暗号鍵に相当する秘密の情報を用いずにデータを一定の手順で乱雑化する「スクランブル化」(scrambling)や、コンピュータプログラムのソースコードなどをコンピュータが解釈・実行できる状態を保ったまま人が容易に読み下せない形式に変換する「難読化」(obfuscation)なども、慣用的に暗号化と呼ばれることがある。

暗号文 ⭐⭐

暗号技術によって元の状態から変換され、そのままでは判読不能になったデータ。暗号化前の元のデータのことは「平文」(ひらぶん)という。一般には暗号文を指して暗号と呼ぶことも多い。

ある情報を、特定の決まった人しか読めないように一定の手順に基づいて無意味な文字や符号の列に置き換えることを暗号(手順そのものを指す場合は「暗号化」)という。ある平文を特定の暗号方式と暗号鍵により変換して得られる符号列を暗号文という。

現代の暗号技術では様々な形式のデータを暗号化の対象とするため、暗号「文」といっても文章(文字データ)とは限らず、画像や動画、音声、コンピュータプログラムなど任意の形式のデータを暗号化したもの全般を指す概念である。

暗号文として古代から近代までは、単語や句といった単位で置換表などを用いて人力で他の表現に置き換えた「コード」(codetext)がよく用いられたが、現代ではコンピュータによる自動処理によって文字やビット、バイトなどの単位で別の表現に置き換えた「サイファー」(ciphertext)が一般的となっている。

暗号文は復号処理によって平文に戻すことができ、かつ、適切な暗号鍵を持たない人がすぐには読み解くことができないものを指す。情報が欠落して平文に戻せない「ハッシュ値」や、表現はそのままで存在を秘匿する「電子透かし」(あるいは「ステガノグラフィ」)などは含まない。ただし、一般社会の慣用的な用語法では、これらもある種の暗号文として扱われることがある。

復号 【復号化】 ⭐⭐⭐

暗号化やデータ圧縮など何らかの変換処理によって得られた符号列から、元のデータを復元すること。

データや信号などを、何らかの目的のために符号化(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:公開鍵基盤)という。

公開鍵 【パブリックキー】 ⭐⭐

公開鍵暗号で使用される一対の暗号鍵の組のうち、相手方に渡したり一般に公開する鍵。もう一方の鍵は所有者が管理して秘匿する必要があり、「秘密鍵」(secret key)と呼ばれる。

公開鍵暗号では一対の対応関係にある暗号鍵のペアを用い、公開鍵で暗号化した暗号文は秘密鍵でしか復号できないという仕組みになっている。通信を暗号化する場合は相手の公開鍵を入手して送信データを暗号化することにより、対になる秘密鍵を知る相手本人しか復号できないようにする。

代表的な公開鍵暗号のRSA方式ではこの逆も可能で、秘密鍵で暗号化(に相当する変換処理)を行い、対になる公開鍵で復号する、といった使い方もできる。このような対称性を持つ方式は珍しく、公開鍵暗号一般に見られる性質ではない。

また、メッセージを送信する際に、本文をハッシュ関数で要約した短いデータと秘密鍵、公開鍵を元に一定の手順で計算したデジタル署名を添付することにより、受信側が送信元を確認したり、改竄やすり替えを検知することができる。

公開鍵暗号を利用するには事前に相手方の公開鍵を入手しておく必要があるが、実用上は相手方との間にインターネットなど必ずしも信用できない経路を含む伝送手段しかない場合が多く、攻撃者によるすり替えなどの危険がある。

このため、送信者と受信者の双方が信頼する第三者が電子署名した特殊なメッセージによって公開鍵を運び、受信者が送信元や鍵の真正性の確認を行うことができるようにすることが多い。この公開鍵を含む署名されたメッセージをデジタル証明書(電子証明書/公開鍵証明書)と呼ぶ。

秘密鍵 【シークレットキー】 ⭐⭐

公開鍵暗号で使用される一対の暗号鍵の組のうち、相手方に渡したり一般に公開せず、所有者が管理下に置いて秘匿する必要がある鍵。もう一方の鍵は公開して相手方が利用するもので「公開鍵」(public key)と呼ばれる。

公開鍵暗号では一対の対応関係にある暗号鍵のペアを用い、公開鍵で暗号化した暗号文は秘密鍵でしか復号できないという仕組みになっている。代表的な公開鍵暗号のRSAではこの逆も可能で、秘密鍵で暗号化(に相当する変換処理)を行い、対になる公開鍵で復号する、といった使い方もできる(このような対称性を持つ公開鍵暗号は珍しい)。

通信を暗号化する場合は相手の公開鍵を入手して送信データを暗号化することにより、対になる秘密鍵を知る相手本人しか復号できないようにすることができる。また、メッセージを送信する際に、本文をハッシュ関数で要約した短いデータと秘密鍵、公開鍵を元に一定の手順で計算したデジタル署名を添付することにより、受信側が送信元を確認したり、改竄やすり替えを検知することができる。

秘密鍵が漏洩すると自分宛ての暗号文を攻撃者に解読されたり、攻撃者が自分になりすまして署名したりできるようになってしまう。このため、秘密鍵が漏洩したり漏洩の疑いがある場合には対になる公開鍵と共にこれを失効させ、新たな鍵ペアを生成して使用する。

また、稀に秘密鍵暗号(共通鍵暗号)で暗号化と復号の両方に用いられる単一の暗号鍵を秘密鍵と呼ぶこともあるが、一つしかないため一般的には単に暗号鍵と呼ぶことが多い。

シーザー暗号 【Caesar cipher】 ⭐⭐

古代ローマのカエサル(Caesar:シーザー)が用いたされる、最も単純で著名な暗号方式の一つ。各文字をアルファベット順で決まった数だけずらす手法。

暗号化したい平文の各文字について、アルファベットの順序(ABC…XYZ)に基づいて決まった数だけ移動させたものを暗号文とする。アルファベット列の末端では、Aの手前はZ、Zの次はAという具合に循環させる(循環シフト/ローテーション)。

例えば、3文字手前(左に3文字)にずらすシーザー暗号の場合、平文の「CAESAR」を暗号化すると、「C」が「Z」に、「A」が「X」に、「E」が「B」に…という具合にずれていき、「ZXCPXO」という暗号文に置き換えられる。

カエサル自身は各文字を3つ手前にずらしたものを使用したと伝えられており、狭義にはこの方式を指すが、ずらす方向と文字数(「左に2文字」「右に4文字」など)を一種の暗号鍵とみなす一般化された手法を指す場合もある。

現代の暗号学では換字式暗号の一種である単一換字式暗号(単換字式暗号)に分類され、コンピュータを用いれば容易に解読できるため実用的な暗号方式とはみなされないが、人間による発見や探索を避ける簡易な符丁などとして、ROT13(右に13字ずらす)などのシーザー暗号が用いられることがある。

SSL 【Secure Sockets Layer】 ⭐⭐

インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。データを送受信する一対の機器間で通信を暗号化し、中継装置などネットワーク上の他の機器から通信内容を覗き見たりすり替えたりできないようにする。

SSL/TLSは公開鍵暗号を応用したデジタル証明書による通信相手の認証(一般的にはサーバの認証)と、共通鍵暗号(秘密鍵暗号)による通信の暗号化、ハッシュ関数による改竄検知などの機能を提供する。Webアクセスに使われるHTTPと組み合わせ、Webサイトで認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。

認証局と証明書

SSL/TLSでは、一対の秘密鍵と公開鍵を組み合わせて用いる「公開鍵暗号」により通信相手の確認や通信の暗号化に用いる暗号鍵の交換を行う。そのためには相手方(クライアント側ソフトウェアにとってサーバ側)の公開鍵をすり替えや改竄ができない方法で入手する必要がある。

SSL/TLSを利用するクライアント(Webブラウザなど)が、アクセス先のすべてのサーバの公開鍵を個別に安全に入手することは現実的ではないため、信頼できる「認証局」(CA:Certificate Authority)と呼ばれる機関が発行したデジタル証明書によって公開鍵の受け渡しを行う。

Webブラウザなどには著名な大手CAの公開鍵が記録された「ルート証明書」があらかじめ格納されており、これを用いてサーバから送られてきた証明書を検証することにより、途中ですり替えや改竄が行われていないことを確認することができる。この仕組みを「PKI」(Public Key Infrastructure:公開鍵基盤)という。

サーバ側ではSSL/TLSに対応するために大手CAやその認証を受けた下位CAの発行(通常は販売)する証明書を導入する必要がある。仕組みの上ではCAなど外部機関の認証を受けず自らが発行した証明書を使うこともできるが、クライアント側では「発行元の検証ができない」警告メッセージが表示される。

プロトコルとポート番号

SSL/TLSはプロトコル階層では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/TLSの仕様は1990年代半ばに当時のWebブラウザ大手、米ネットスケープ・コミュニケーションズ(Netscape Communications)社が開発した。SSL/TLS 1.0は欠陥が見つかったため公式発表前に破棄され、最初に公開されたのは1994年のSSL/TLS 2.0である。翌1995年にSSL/TLS 3.0が発表された。これらは現在では深刻な脆弱性が発見されており、利用を中止して後継版へ移行することが推奨されている。

SSL/TLS 3.0の次のバージョンから名称が「TLS」(Transport Layer Security)に変更されたため、現在広く利用されているのは正確にはTLSの方だが、「SSL/TLS」という名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。

TLS 【Transport Layer Security】

インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。送受信データの暗号化による盗み見の防止、相手方の認証による真正性の確認(なりすまし防止)、経路途上での改竄検知などを行うことができる。

TLSはデジタル証明書(公開鍵証明書)による通信相手の認証(一般的にはサーバの認証)を行い、中継装置などネットワーク上の他の機器によるなりすましを防止する。また、共通鍵暗号(秘密鍵暗号)によって通信を暗号化し、ハッシュ関数を応用してデータの改竄を検知することができる。

Webコンテンツの送受信に使われるHTTPと組み合わせた「HTTPS」(HTTP over SSL/TLS)が特によく知られ、Webサイトと閲覧者のWebブラウザの間で認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。

TLSはTCPやUDPと同じ、いわゆるトランスポート層のプロトコルで、TCPの代替として利用することができるため、HTTPに限らず様々な上位層のプロトコルと組み合わせて使用され、インターネットにおける汎用的な通信の暗号化方式として定着している。UDPと組み合わせることができる派生仕様もあり「DTLS」(Datagram TLS)という。

デジタル証明書の運用

TLSでは公開鍵暗号を利用するため、サーバ側に認証局(CA:Certificate Authority)によって署名されたデジタル証明書(SSLサーバ証明書)が、クライアント側に同じ認証局の証明書か最上位認証局(ルート認証局)のルート証明書が必要となる。

実際の運用では、サーバは著名なルート認証局により認証された中間認証局から得た証明書を提示することが多い。Webブラウザなどのクライアントソフトには著名ルート認証局の証明書があらかじめ同梱されており、通信相手ごとにいちいち利用者が証明書の取り寄せなどを行う必要はない。

SSLとの関係

当初の標準規格は「SSL」(Secure Socket Layer)と呼ばれ、SSL 3.0が改訂される際に同時に名称が改められて「TLS 1.0」が生まれたが、SSLという名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。

現在実際に使われているのはほとんどがTLSである。SSLの最終版であるSSL 3.0には保安上の弱点(脆弱性)が発見されており、もはや十分に安全とは言えない状況になっているため、インターネット上で運用されるサーバは早急な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などがよく知られる。

FIDO 【Fast IDentity Online】

生体認証(バイオメトリクス認証)や公開鍵暗号を組み合わせ、パスワード不要のオンライン認証を実現する技術。業界団体FIDO Allianceが仕様を策定している。

従来、ネットワークを通じた利用者の認証はID(会員番号やユーザー名、メールアドレスなど利用者の識別名)とパスワードを入力して登録されたものに一致するか確かめるパスワード認証が基本で、パスワード漏洩によるなりすまし利用が深刻な社会問題となっている。

FIDO認証では利用者が所有、保管する認証のための簡易な装置と公開鍵暗号を組み合わせ、パスワードのような秘密の情報のやり取りを行わずに安全にネットワーク越しの認証を行える手順を定義している。

UAF (Universal Authentication Framework)

最初の規格FIDO 1.0では、個人ごとに異なる人体の特徴を用いる生体認証(バイオメトリクス認証)が可能な認証装置を利用する方式を「UAF」(Universal Authentication Framework)として定義している。

認証装置内には公開鍵暗号の秘密鍵が記録されており、対になる公開鍵を認証サーバ側に伝えておく。ログイン時は装置に対して生体認証を行い、これが成功するとサーバに対して秘密鍵で署名したデータ(トークン)が送信される。サーバ側では利用者の公開鍵を用いてトークンを検証し、対になる秘密鍵で署名されたことを確認する。

公開鍵から対になる秘密鍵を割り出すことはできないため、公開鍵が第三者に知られても本人になりすますことはできない。また、生体認証の工程は装置内で完了するため、生体情報がネットワークを通じて送受信されることもない。

生体認証の具体的な手法(指紋認証、静脈認証、虹彩認証など)は制約せず、装置メーカー側で規定することができる。コンピュータなどの端末への実装や接続の方式も様々で、機器本体にセンサーを内蔵する方式や、外付けの認証装置をUSBなどで機器に接続して利用する方式がある。

U2F (Universal 2nd Factor)

FIDO 1.0ではもう一つの認証方式として、セキュリティキー用いる二段階認証「U2F」(Universal 2nd Factor)を規定している。これは通常のパスワード認証に異なる方式の認証を追加する二要素認証(二段階認証)を行う仕様で、秘密鍵を記録したセキュリティキー(ドングル)を機器に接続し、UAFと同じ手順で公開鍵暗号を応用した署名と検証を行う。キーは指先ほどの大きさでUSB接続の製品が多いが、NFCやBluetooth(BLE)などの接続方式も選択できる。

FIDO2/WebAuthn

FIDO2ではUAFとU2Fが統合されて「Web Authentication」(WebAuthn)となり、これにクライアントと認証装置の通信手順を定めたCTAP(Client-to-Authenticator Protocol)を加えて規格を構成する。WebAuthnはWeb技術の標準化団体であるW3Cに提案され、2019年に標準として勧告された。現在では主要なWebブラウザへの実装が完了している。

アカウント

口座、勘定、帳簿、説明(する)、釈明(する)、占める、責任を取る、記述、報告書、顧客、得意先、信用取引などの意味を持つ英単語。ITの分野では、コンピュータやネットワークなどの利用者ごとに発行される利用権や属性値の集合などのことを指すことが多い。

現代のコンピュータシステムやネットサービスのほとんどは、ある人物が使用しているシステムを他人が勝手に操作したり、本人に関する情報の覗き見や改竄ができないよう、利用者をあらかじめ登録し、操作者を識別して本人であると確認する仕組みを備えている。

ユーザーアカウント(user account)は個々の利用者や利用者の集団ごとに登録・発行され、登録番号や識別名(ユーザー名、アカウント名)などの識別情報(ID:IDentifier)と、本人確認のための暗証番号やパスワードなどの認証情報、システム上の機能やデータなど様々な資源に対する権限(アクセス権)などの設定情報で構成される。システム側でこれらの情報をひとまとめに構造化して保存したものをアカウントということもある。

ネットサービスなどでは、各アカウントに識別や認証に必要な情報だけでなく、氏名や住所などの個人情報、クレジットカード番号や銀行口座などの決済情報、サービス上の利用設定や利用履歴などが紐づけられて保管される場合もある。

アカウントごとに記録された情報を用いて、利用者ごとにサービス内容を変化させたり、毎回同じ情報を入力する手間を省いて円滑にサービスを利用できるようにすることができる。ただし、アカウントが乗っ取られた際の被害も大きくなるリスクがある。

利用者がシステムに識別名と認証情報を提示・入力して接続や利用開始を申請することを「ログイン」(login)あるいは「ログオン」(logon)という。最も広く普及している認証方式はアカウント名と秘密の文字列を入力する「パスワード認証」である。

他にも、人体の特徴的なパターンを利用する「生体認証」(バイオメトリクス認証)や、登録したスマートフォンなどにその場限りの秘密の番号を送る「SMS認証」などが用いられることがある。異なる認証手順を2つ組み合わせる「二段階認証」、異なる種類の認証を2つ組み合わせる「二要素認証」も用いられる。

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」など)などは避けるべきとされる。

また、本人や家族の氏名、生年月日、電話番号、居住地、出身地など、何らかの方法で入手した本人についての様々な情報から候補を作成する手法もあるため、自分や家族に関連する単語や番号などは含めないことが望ましい。

ログイン 【ログオン】

システムに自分の身元を示す登録情報を入力し、接続や利用開始を申請すること。本人であると確認されれば操作画面が表示され、利用を開始することができる。

利用者はユーザー名(ID/アカウント名)など自身の識別情報と、パスワードなど本人であることを証明できる秘密の情報をシステムに入力し、システム側に保管されているものと照合する。あらかじめ登録してある利用者の情報に一致すればシステムの使用が許可される。この過程を「ユーザー認証」(user authentication)という。

ログイン前の操作画面には資格情報の入力を促すフォームなどが表示され、システム自体の操作や利用は受け付けない「ログイン画面」になっている。ログインに成功して操作を行った後、操作を終了するログオフ手続きを行うと再びログイン画面に戻り、再度ログインしなければ操作できなくなる。ログインからログオフまでの操作可能な期間を「セッション」(session)という。

ログイン手続きはシステムを誰が使用するのか、正当な権限がある者が使用しているか、どのような操作を行ったかなどを記録に残し、権限のない者による不正な操作を防ぐために行われる。コンピュータやソフトウェアの起動、利用や登録の手続き(アカウント作成/ユーザー登録)とは独立した概念である。

ログインとは逆に、接続を切ったり利用を終了する操作を「ログオフ」(logoff)あるいは「ログアウト」(logout)という。明示的に終了しなくても、一定時間通信や操作が無い場合は自動的に終了手続きが行われる場合があり「タイムアウト」(timeout)という。

認証方式

本人であることの証明には、パスワードや暗証番号など秘密の情報の入力だけでなく、指紋の照合など人体の特徴を使用した生体認証(バイオメトリクス認証)、事前に発行した文字盤による入力やUSBトークンの差し込みなど持ち物による確認が用いられることもある。

また、自らは資格情報を保管せず、外部の別のシステムやネットサービスなどに認証を依頼し、手続きの成否と識別情報を報告してもらうログイン方式もあり、「ID連携」(ID federation)「ソーシャルログイン」(social login)などと呼ばれる。著名SNSのアカウントがあればユーザー登録しなくてもすぐに使用を開始できるネットサービスなどで活用されている。

呼称の違い

「ログイン」と「ログオン」は一般的にはほぼ同義語とみなされ、システムごとの仕様や挙動の違いはあれど語義レベルでの明確な差異や区別はない。前置詞の対応関係から、「ログイン」に対応する操作終了の手続きは「ログアウト」、「ログオン」の場合は「ログオフ」となる。

歴史的には、インターネット関連やUNIX系システムなどでは「ログイン」という表現が好まれ、米マイクロソフト(Microsoft)社の製品(Windowsなど)では「ログオン」がよく使われてきたため、それらの影響を受けたシステムではそれぞれの表現が用いられる傾向にある。

近年では、ネットサービスなどで「サインイン」(sign-in)「サインオン」(sign-on)と呼ばれることが増えており、Windowsなど著名な製品でも「サインイン」を採用する事例が見られる。様々なシステムのログイン手続きを一か所に集約する技術を「シングルサインオン」(SSO:Single Sign-On)という。

サインイン 【サインオン】

システムに自分の身元を示す情報を入力し、接続や利用開始を申請すること。システムの保管している身元情報に一致すると、あらかじめ決められた権限に基づいてそのシステムを利用することができる。

サインインが必要なシステムでは、利用開始前には資格情報を入力する画面のみが表示され、システム自体の操作や利用はできないようになっている。利用者はあらかじめ登録したユーザー名(ID/アカウント名)やパスワードなどの認証に必要な情報を入力するとサインインが実行され、自らの資格で使用できるようになる。

一方、サインインして使用していたシステムから接続を切ったり使用を終了する操作を「サインアウト」(sign-out)という。一定時間操作が行われないと自動的にサインアウトするよう設定されているシステムが多く、いつも必ず明示的にサインアウト操作が行われるとは限らない。

サインインおよびサインアウトはシステム自体の起動や終了(シャットダウン)、あるいはユーザー登録(アカウント申請)やアカウント削除とは独立した概念である。サインインするためにはあらかじめユーザー登録を済ませる必要があり、サインアウトしてもアカウントが削除されたりシステムが終了することはない。

近年では伝統的なパスワードや暗証番号などによる本人確認の他にも、指紋認証や顔認証などの生体認証、スマートフォンへのSMS送信やUSBトークンの差し込みなど持ち物による認証、外部のネットサービスへの身元照会(ID連携)など多様な手段が選択されるようになっている。

サインインは「ログイン」(login)あるいは「ログオン」(logon)と同義だが、これらの用語が古くから使われているのに対し、サインインは比較的最近になって普及した用語である。特にネットサービス、Webサービス、スマートフォンアプリなどでサインインという表現が好まれることが多い。

ブラックリスト 【BL】

対象を選別して受け入れたり拒絶したりする仕組みの一つで、拒絶する対象を列挙した目録(リスト)を作り、そこに載っていないものは受け入れる方式。また、そのような目録のこと。

IT分野では、通信やアクセスを拒否・禁止するアドレスなどのリストを作成し、それ以外は許可する方式を「ブラックリスト方式方式」という。拒否したい対象が特定可能で、許可したい対象より少数の場合に適している。

アクセスを禁じるWebサイトのURLを列挙したURLフィルタや、受信を拒否するメールアドレスやキーワードを列挙した迷惑メールフィルタ、通信を禁じるIPアドレスやポート番号の組み合わせを列挙したファイアウォールの設定などがこれに当たる。

対義語は「ホワイトリスト」(whitelist)で、目録に載っているものだけを受け入れ、それ以外は拒絶する方式である。色にポジティブあるいはネガティブな意味を対応付けて表すのは好ましくないとする考え方もあり、「拒否リスト」(deny list)のように言い換えることもある。

ホワイトリスト 【WL】

対象を選別して受け入れたり拒絶したりする仕組みの一つで、受け入れる対象を列挙した目録(リスト)を作り、そこに載っていないものは拒絶する方式。また、そのような目録のこと。

IT分野では、通信やアクセスを許可する対象やアドレスなどのリストを作成し、それ以外は拒否・禁止する方式を「ホワイトリスト方式方式」という。許可したい対象が特定可能で、拒否したい対象より少数の場合に適している。

アクセスを許可するWebサイトのURLを列挙したURLフィルタや、受信を許可するメールアドレスなどを列挙した迷惑メールフィルタ、通信可能なIPアドレスやポート番号の組み合わせを列挙したファイアウォールの設定などがこれに当たる。

対義語は「ブラックリスト」(blacklist)で、目録に載っているものだけを拒絶し、それ以外は受け入れる方式である。近年では、色にポジティブあるいはネガティブな意味を対応付けて表すのは好ましくないとする考え方もあり、「許可リスト」(allow list)のように言い換えることもある。

ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる