Posted on: Written by: K-Sato
⚠️ This article was posted over 2 years ago. The information might be outdated. ⚠️

Table of Contents

規模による分類

  • LAN(Local Area Network): 1拠点内での通信に用いるネットワーク。
  • WAN(Wide Area Network): 拠点と拠点を結ぶ通信に用いられるネットワーク。

TCP IP

TCP/IP プロトコルを使用し、各拠点間のネットワークを結ぶ。TCP/IP は階層化されている。

  • OSI参照モデル
[7] アプリケーション層 (Application  Layer)
[6] プレゼンテーション層 (Presentation Layer)
[5] セッション層 (Session Layer)
[4] トランスポート層 (Transport Layer)
[3] ネットワーク層 (Network Layer)
[2] データリンク層 (DataLink Layer)
[1] 物理層 (Physical Layer)
  • TCP/IP4階層モデル
[4] アプリケーション層 (Application  Layer)
[3] トランスポート層 (Transport Layer)
[2] インターネット層 (Internet Layer)
[1] ネットワークインターフェース (Network Interface Layer)

通信指向型

(Connection Oriented/ConnectionLess protocols)

  • コネクション指向型:通信することを開始と終了に確認し合うため、相手に届くことが保証される。(TCP)
  • コネクションレス指向型:事前、事後の確認なしで情報を送るめ、相手に届くことは保証されない。(IP,UDP)

3つのキャスト

  • ユニキャスト:1対1の通信形態。
  • ブロードキャスト:ある送信者が送信した情報をネットワークに属する全ての対象が受信する形態。
  • マルチキャスト:ある送信者が送信する情報を特定のグループに属する対象のみが受信する形態。

2 つのアドレス

  • 物理アドレス: Hardware に付与されるアドレスのこと(MAC アドレス)
  • 論理アドレス: Hardware とは関係なく付与されるアドレスのこと。(TCP/IP に繋がった PC に割り当てられる IP アドレス)

ネットワーク構成要素

  • ホスト:ネットワークに繋がっていて、他の機器と通信を行うことができる機器(PC,Smartphone…)
  • 伝送媒体:ネットワークで実際に情報を伝送する媒体。(銅線、光ファイバ、LAN ケーブル、電波)
  • L2スイッチ:1 つのネットワークを構成するために使用する有線 LAN 用の接続ボックス。
  • ルータ:L2 スイッチで構成したネットワーク同士を接続する機器。
  • L3スイッチ:L2 スイッチとルータを足したような機能を持つ。
  • WIFIルータ:ルータ、スイッチなどの機能をコンパクトにまとめた機器。無線アクセスポイント(無線 LAN を持つホストからの接続を受け付ける機能。)

IP と TCP の概要

インターネット層

ネットワークインターフェース層の上でトランスポート層の下の層(IP や ICMP 等のプロトコルを提供する。)

  • IP(Internet Protocol):別々のネットワーク間でのパケット(情報の1塊)のルーティングを提供し、ネットワーク間の通信を可能にするプロトコル。
  • ICMP(Internt Control Message Protocol): IPの機能を補助する。情報を任意の相手に到達できるかの検査、到達不可の際の理由通知などを行う。

トランスポート層

インターネット層の上でアプリケーション層の下の層。InternetLayer の提供する機能をベースに通信特性を付け加える。

  • TCP(Transmission Control Protocol):信頼性の高い通信を実現するコネクション指向のプロトコル。(WEB、メール等)
  • UDP(User Datagram Protocol):InternetLayer の機能をほぼそのまま使用し、リアルタイムでの通信を実現するコネクションレス指向型のプロトコル(動画配信、DNS、IP 電話等)

IP アドレス

32 ビットで構成されており、8ビット事に 4 つに区切り、10 進数で表してピリオドで繋げて表記される。

例えば以下の32ビットのIPアドレスは
11001011.00000000.01110001.00101011
203.0.113.43
と表される。

IP アドレスの左側のまとまりをネットワーク部右の部分をホスト部と呼ぶ。

  • ネットワーク部:ネットワークを特定する為の情報。

  • ホスト部:あるネットワークの中にあるコンピュータを特定する情報。
    上記の2つを組合わせる事で IP アドレスで「あるネットワークのあるコンピュータ」を特定できる。
    ネットワーク部の長さは 8,16,24 ビットの3つが想定されており、それぞれクラス A,B,C という区分が付いている。

  • クラスA:ネットワーク部が 8 ビットで残り 24 ビットがホスト部。

  • クラスB:ネットワーク部が 16 ビットで残り 16 ビットがホスト部。

  • クラスC:ネットワーク部が 24 ビットで残り 8 ビットがホスト部。
    クラスAではネットワーク内にたくさん(最大 16,777,214)のコンピュータを識別できるが、作成できるネットワークの数は少なくなる。クラスCではその逆が言える。

  • ネットマスク:IP アドレスでネットワーク部とホスト部の区切りがどこにあるかを表す情報。(ネットワーク部を全て 1 にし、ホスト部を全て 0 にする。)

  • ネットワークアドレス:IP アドレスでホスト部が全て 0 の場合ネットワークそのものを表す。そのネットワークのアドレスのこと。

  • ブロードキャストアドレス:IP アドレスでホスト部が全て 1 の場合のアドレス。(ネットワークに接続している全ての端末や機器に一斉に送信する際に指定する。)

IPアドレス
11001011.00000000.01110001.00101011
ネットマスク
11111111.11111111.11111111.00000000
  • サブネット:1つのネットワークの中にさらに小さなネットワーク。
    IP アドレスのホスト部の一部をネットワーク部として利用する事でネットワーク中にサブネットを作成する。
  • CIDR(Classless Inter-Domain Routing):クラスの考え方を無視して IP アドレスを区切って割り当てることができ、その区切られたネットワークを1つのネットワークに集めることが出来る。
    小悪魔女子大生のサーバエンジニア日記 » Blog Archive » CIDR とは?

ポート番号

  • ポート番号:トランスポート層に置いて通信相手が持つ機能のどれと接続するかを特定する識別子。
    IP で通信を可能にしても、通常1つのコンピュータでは多くのプログラムが起動している為、どのプログラムとの接続が区別できない。そこでポート番号を使用する事で接続するプログラムを特定する。

  • ウェルノウンポート:0~1023 番のポートは代表的なサービスにすでに割り振られている。

  • 登録済みポート:102~49151 サービスとポート番号の対応が決められている。

ウェルノウンポートの代表例

  • 80: HTTP
  • 443: HTTPS
  • 25: SMTP
  • 21: FTP(File Transfer Protocle)
  • 22: SSH

IP パケットのフォーマット

  • ヘッダ部:パケットの転送に必要な情報が格納されている。
  • データ部:実際に転送するデータが格納されている。(TCP や UDP などの上位プロトコルのパケットはここに入る。)
  • 上限サイズ: IP パケットは使用上 64KB が上限。

ARP

  • ARP(Address Resolution Protocol): IP アドレスと MAC アドレスの関連付けを行うネットワークインターフェース層のプロトコル。
  • APRリクエスト:ネットワーク全体のコンピュータ(ブロードキャスト)に要求された IP アドレスを送信しコンピューターの IP アドレスと一致するか確認する。
  • APRリプライ:APR リクエストに自らの IP アドレスが含まれている場合にユニキャスト方式(1 対1)での通信で応答する。(含まれていない場合は無視する。)

ルーティングテーブル

どのネットワーク・どのホスト宛ならどのインターフェースを介して、どのルータに送る!のような情報が記載されている。

  • ルーティングテーブル:各機器が IP パケットをどこへ送出すべきかを記述したリスト。(IP によって通信を行うあらゆる機器が持っている。)
  • デフォルトルート:宛先ネットワークがルーティングテーブルに存在しない場合に一括して転送する先の指定をすること。
  • デフォルトゲートウェイ:宛先ネットワークがルーティングテーブルに登録されていない場合に転送する宛先。

IP パケットの分割と再構築

  • IPフラグメンテーション:転送先の媒体で使用できるサイズに IP パケットを分割し、バラバラに送出すること。(再構築は宛先のコンピュータが行う。)
  • MTU(Maximum Transmission Unit):ネットワークハードウェアが一度に送信できるデータサイズ。
    MTU がより小さいネットワークにパケットをルーティングする時に IP フラグメンテーションが発生する可能性がある。

ICMP(Internt Control Message Protocol)の役割と機能(IP の動作)

  • ICMP(Internt Control Message Protocol):IP の機能を補助する。情報を任意の相手に到達できるかの検査、到達不可の際の理由通知などを行うインターネット層のプロトコル。
  • ICMPパケット:TCP や UDP のパケットと同じく IP パケットのデータ部に格納される。どのような通知やテストを行うのかを表すタイプとコードを持つ。
  • タイプ:通知やテストの分類を指定する。
  • コード:指定したタイプの中の個別メッセージを指定する。
    ping コマンドでは ICMP のエコー要求(タイプ 8, コード 0)とエコー応答(タイプ 0, コード 0)を利用してコマンドを実行するコンピュータから指定するコンピュータまでの IP パケットが到達できるかの確認を実現している。

TCP の動作

TCP では所定のサイズに小分けした送信データを1つの単位として「送受信」、「データ化けチェック」、「再送などの処理」を行う。この小分けされたデータにヘッダを付けたものを TCP パケットと呼ぶ。
TCP は送受信する「データに番号をつける」、「データを受信したら相手に確認応答を返す」ことで確実な送受信をおこなう。

  • MSS(Maximum Segment Size):TCP パケットのデータ部分の最大サイズ。
  • シーケンンス番号:TCP パケットに番号をつける際に 1 バイト単位で与えられる番号。(ランダムな番号から始まる。)
  • ウィンドウサイズ:受信側から確認応答を待たずに送信できるデータサイズ(受信側から送信側に通知される。)
  • スライディングウィンドウ:ウィンドウ(送受信側のバッファ上に作成する概念状のやり取り位置)をやり取りの進行に合わせてずらしていくこと。
  • フロー制御:受信側の処理が追いつかない場合に受信側から送信側に向けて各員応答なしに送出するデータ量を減らすよう通知すること。(これによってウィンドウサイズを小さくする。)
  • スロースタート:送信側が自主的に相手のウィンドウサイズを小さくみなして、送信するデータ量を小さく始め、徐々に大きくしていく働き。

TCP はコネクション指向型の通信のため、通信に先立って接続を確立し(接続処理)、通信を終える際に利用した接続を閉じる(切断処理)を行う。

  • 接続処理:接続処理は以下のように3工程を通して行われる。このことを 3 ウェイハンドシェイクと呼ぶ。
送信側(A):
- SYNフラグをオンにしたヘッダだけのパケットを(B)に送信する。シーケンス番号はランダムな値をつける。
↓
受信側(B):
- 確認応答のためにACKフラグをオンにし、受け取ったシーケンス番号+1の値をつける。
- SYNフラグをオンにし、ランダムな値を付けたシーケンス番号を(A)に送る。
↓
送信側(A)
- 確認応答のためにACKフラグをオンにし、受け取ったシーケンス番号+1の値をつける。
  • 切断処理:切断処理は以下のように3工程を通して行われる。
送信側(A):
- FINフラグをオンにしたヘッダだけのパケットを(B)に送信する。シーケンス番号はランダムな値をつける。
↓
受信側(B):
- 確認応答のためにACKフラグをオンにし、受け取ったシーケンス番号+1の値をつける。
- FINフラグをオンにし、ランダムな値を付けたシーケンス番号を(A)に送る。
↓
送信側(A)
- 確認応答のためにACKフラグをオンにし、受け取ったシーケンス番号+1の値をつける。

IPv6

IPv4 では IP アドレスを 32 ビットで表していて理論上 43 億の IP アドレスしか使用できず、いずれ枯渇すると言われている。
そこで。IP アドレスを 128 ビットで表す IPv6 が生まれた。
IPv6 に切り替えるのにルータやスイッチを切り替える必要はない。イーサネット環境はそのままでその上でデータのやり取りをするデータの形式が変更されるイメージ。

IPv6のアドレスの書き方:4 桁の 16 進数をコロン(:)で区切って8つ並べる。

(例)
2001:0bd:0000:0000:0200:5eff:fe00:5301

---ルール---

- [1]上位にある0は省略する。
- [2]連続する0があれば「::」に書き換える。

----上記のルールを適応してアドレスを書き換える。----
[1]上位にある0は省略する。

2001:0bd:0000:0000:0200:5eff:fe00:5301
2001:db8:0:0:200:5eff:fe00:5301

[2]連続する0があれば「::」に書き換える。
2001:db8:0:0:200:5eff:fe00:5301
2001:db8::200:5eff:fe00:5301
  • グローバルユニキャストアドレス:インターネットで唯一となるよう割り当てられるアドレス。
  • リンクローカルユニキャストアドレス:ルータで中継されず特定のイーサネット内でのみ有効となるアドレス。

有線 LAN の基礎知識

イーサネットの仕様と種類

  • イーサネット:有線で接続するネットワークの標準規格。
  • NIC(ネットワークインターフェースカード):コンピュータや各種機器に組み込まれる通信用コンポーネント。
  • トポロジ:ネットワークを構成する要素をどのような形状にするか表したもの。(バス型、リング型、スター型等が存在する。)
    ※古くはバス型が使用されていたが、現在はスター型が主流で使用されている。
  • バス型:1つの通信媒体に複数の端末を接続する方式。(ある瞬間に通信媒体へ情報を送り出せるのは1台の端末に限定される。)
  • スター型:各端末が個別の通信媒体に繋がっている。(送信と受信を同時に行える。(全二重))
  • CSMA/CD(Carrier Sense Multiple Acces with Collision Detection):情報を送信しようとする端末は、他の端末が媒体に信号を送っていないか確認してから送信する事(コリジョンを予防する)。
    ※もしこの時、他の端末が同時に送信を始めたことを検知したら、双方が送信を中止して数ミリ秒程度のランダムな時間を持った後にサイド、通信を試みる。
  • 半二重:ある瞬間には送信か受信かのどちらかしかできない通信形態。
  • 全二重:ある瞬間に送信も受信も行うことができる通信形態。

MAC アドレス

  • MACアドレス:各機種が持つ NIC に書き込まれているハードウェアアドレス。 MAC アドレスは製造メーカが製造時に ROM に焼き付ける。仮想マシンにも MAC アドレスは割り当てられる。
    全ての NIC が異なる MAC アドレスを持つのが本来の姿だが、実際には MAC アドレスを書き換えられる NIC 等が存在しており、世界に1つとは言えない。

スイッチ/ハブ

イーサネットのトポロジの変化とハブ

-規格10BASE-5-
1台の通信端末に対して各種機器を繋げるバス型で通信を行なっていた。
↓
-規格10BASE-T-
ハブと呼ばれる接続ボックスの登場!
によりハブが中心になり各端末を接続するスター型のトポロジに変遷した。
(配線の方法はハブに接続する形になったが、その実態は従来通り1つの通信媒体を共有するバス型のまま。つまり、ある端末が通信している間は他の端末は待機する必要がある。)
このようなハブをリピータハブやシェアードハブと呼ぶ。
↓
スイッチハブの登場!
により、端末から送ったデータをハブが受け取ったら、その宛先をハブが能動的にチェックし、宛先に指定された端末が繋がっているポートを選んでそこに選択的にデータを送り出す仕組みになった。これにより他の端末の通信を待つ必要がなくなった。

スイッチハブの働き

[1] 送信元コンピュータのNICが送出したイーサネットフレームを受信。
送信元MACアドレスを読み取る。転送データベースに登録されていない場合はMACアドレスとフレームが届いた接続ポート番号を登録する。
[2] 受信したフレームの宛先を分析。
宛先MACアドレスを読み取る。転送データベースに登録されていない場合は送信元を除く全ての接続ポートにフレームを送信する(フラッディング)。
[3] 宛先コンピュータが繋がったポートにフレームを転送。
[4] 宛先コンピュータのNICに対して送出。
  • スイッチング容量:転送コンポーネントが1秒間に転送できるデータ量。
  • パケット転送能力:1秒間に処理できるパケット数。
  • ノンブロッキング:スイッチング容量とパケット転送能力を十分に満足しており、ハブやスイッチを挟んでもケーブルだけの状態と変わらない通信速度を得られること。

ルータ

  • ルータ:あるネットワークから別のネットワークへパケットを中継する機器、機能の名称。(IP パケットを、イーサネットのネットワーク間で中継する。)
    ルータはイーサネットに対応する物理層とデータリンク層、そしてネットワーク層だけを持っている。

ルータに搭載される機能の例

- ルーティング機能:IPパケットを中継する。
- ファイアウォール機能:外部から届いたパケットや外部に出て行くパケットの疎通を制御する。
- DHCP機能:DHCPサーバとして端末にIPアドレスなどを割り振る。
- NAT/NAPT機能:外部と内部のやり取りの際にIPアドレスを変換する。
- DNS機能:外部DNSとのやり取りを中継したりDNSサーバとして機能する。
- L2スイッチ機能:装置に設けられたポートに端末や機器を接続する。
- ロギング機能:ネットワークや機器の動作ログを記録したり表示したりする。

ネットワークやスイッチの冗長化

  • 冗長化:同じ機能を持つコンポーネントを必要数より多くしておく事。
  • 二重化:2つのコンポーネントを用意してその一方を使用する形態。
  • n+1構成:複数コンポーネントを用意してそのうちの1つを予備のコンポーネントとにする形態。
  • 現用系:実際に機能を提供しているコンポーネントのこと。
  • 待機系:予備のコンポーネントのこと。
  • コールドスタンバイ:普段待機系は止まっており、現用系に異常が生じたら待機系を起動し状態を同期した後に切り替える。
  • ウォームスタンバイ:普段待機系は動いているが、処理は何もしておらず、現用系に異常が生じたら待機系の状態を同期した後に切り替える。
  • ホットドスタンバイ:普段から待機系は現用系と同じ入力を得て動いているが、出力は無視される。現用系に異常が生じたら直ちに切り替える。
  • 単一障害点(SPOF:Single Point of Failure):それが1つ故障すると全てが止まってしまう部分。

インターネットとネットワークサービス

インターネットの構成

現在のインターネットは全ての拠点が繋がり合うフルメッシュ接続ではなく、階層構造を使用することで多数の拠点を繋いでいる。

インターネットの階層構造

Tier1:10社程度の超大手ISP群
↓
Tier2:ISP群
↓
Tier3:ISP群
  • トランジット:接続性を提供すること。(Tier2 や Tier3 の ISP は上位 ISP から接続性を提供してもらいそれを下位 ISP やユーザーに提供している。)
  • ピアリング:個別の ISP やコンテンツ事業者との間に直接的な接続を設けて、トランジットを経由せずに直接通信すること。

インターネットが提供する IP 到達性

  • IP到達性:コンピュータ同士がグローバル IP アドレスを元にして IP パケットのやりとりが瞬時にできること。

インターネットに接続する方法

  • アクセス回線サービス:電話局から利用拠点まで物理的な回線を設置するサービス。(国内では NTT や KDDI 等の通信業者が提供する。)
  • ISPサービス:アクセス回線サービスを介してやりとりをする情報をインターネットへ中継するサービス。(ISP が提供する。)

アクセス回線の種類

  • FTTH(Fiber to The Home):光回線を家庭に引くこと。
  • ADSL(Asymmetric Digital Subscriber Line):既存の電話回線を利用してネットを引く方法。
  • CATV(Community Antenna Televison):ケーブルテレビ回線を利用してネットを引く方法。

NAT(Network Address Translation)/NAPT(Network Addres Port Translation)

NAT/NAPTはプライベート IP アドレスをグローバル IP アドレスに変換するために使用される。
NATは単にアドレスを翻訳するだけで変換前のアドレスと変換後では1:1の関係になる。
NAPTはポート番号も含んだ変換機能をもち、変換前後ではn:1の関係になる。
昨今では単に NAT と言えば NAPT を指すことが多くなった。

  • NAT(Network Address Translation):あるネットワーク内部で使用するプライベート IP アドレスをインターネット上で唯一のグローバル IP アドレスへ変換する機能。(1つのプライベートアドレスに対して1つのグローバルアドレスを与えるので複数の端末をインターネットにアクセス可能にはできない。)
  • NAPT(Network Addres Port Translation):あるネットワーク内部で使用するプライベート IP アドレスをインターネット上で唯一のグローバル IP アドレスへ変換する機能。(ネットワーク内の複数の端末に対してグローバルアドレスを1つ使用するだけで各端末がインターネットにアクセスできる状態を作成できる。)

ドメイン名と DNS

  • ドメイン名:数字の羅列である IP アドレス対応している人間が覚えやすい意味のある名前。
  • DNS:IP アドレスとドメイン名を相互に変換する仕組み。(複数の IP アドレスを 1 つのドメイン名に対応する事もできる。)
  • 正引き:ドメイン名から IP アドレスを求める事。
  • 逆引き:IP アドレスからドメイン名求める事。
  • 名前解決:ドメイン名から IP アドレスを参照したり(正引き)、IP アドレスからドメイン名を参照したり(逆引き)することの総称。 DNS による名前解決はドメイン階層ごとに分散して設置された DNS サーバが協調しながら行う(分散協調型)。

WEB と HTTP

  • URL(Uniform Resource Locator): 1 つのファイルの「住所」を示す。
  • URN(Uniform Resource Name):1 つのファイルの「名前」を示す。(一般ユーザの目に触れる事は通常ない。)
  • URI(Uniform Resource Identifier):URL と URN の総称

URL の構成

  • スキーム:使用するプロトコルの種類などを指定する。
  • ホスト名:文書を格納するコンピュータを指定する。
  • パス名:ホスト名で指定したコンピュータ愛での格納位置とファイル。
URLはスキーム、ホスト名、パス名の3つで構成されている。

http://www.test.jp//index.html

スキーム:http
ホスト名:www.test.jp
パス名:index.html
  • HTTP(Hypertext Transfer Protocol):Web 上でデータの読み書きを行うために使用される。
  • HTTPS(Hypertext Transfer Protocol Secure):HTTP のやりとりを SSL/TLS によって暗号化したもの。

HTTP の大まかな特徴

  • TCP ポート 80 番を利用して通信を行う。
  • 1 つのリクエストに対して必ず 1 つのレスポンスを返す。
  • ステートレス: 状況によって処理内容が左右される事のないステートレスな方式を採用している。
  • Cookie:小容量の文字情報をクライアントに保存しておく仕組み。 通常、サーバが送ってきた情報をクライアントが保存し、以降のアクセスでその情報をサーバに送り返す。
    上記で記した通り HTTP での通信はステートレスだが、Cookie を使用する事で様々な情報を送信、保存でき、利便性が増す。

メール

メールの配送は以下の3段階に分類する事ができる。

[1] 送信者の端末 → 送信者のアカウントがあるメールサーバ(SMTP)
[2] 送信者のアカウントがあるメールサーバ → 受信者のアカウントがあるメールサーバ(SMTP)
[3] 受信者のアカウントがあるメールサーバ → 受信者の端末(POP3/IMAP4)

上記の配送手順の内[1],[2]SMTP(Simple Mail Transfer Protocol)が使用され、[3]POP3(Post Office Protocol Version3)IMAP4(Internet Message Access Protocol Version4)が使用される。

  • SMTP(Simple Mail Transfer Protocol): 電子メールを送信するために使用する為のプロトコル。(ポート番号:25 番/587 番)
  • POP3(Post Office Protocol Version3): メールボックスに届いたメールをまとめて読み出す事を目的としたプロトコル。(ポート番号:110 番) → 端末に保存するので通信が切れていても後から読む事ができる。
  • IMAP4(Internet Message Access Protocol Version4): サーバ上のメールボックスにメールを入れたままにしておき、それを読む事を目的としたプロトコル。(ポート番号:143 番) → メールは常にサーバ上にあるので複数の端末で同じメールを閲覧可能。

DHCP

  • DHCP(Dynamic Host Configuration Protocol):インターネットに繋がっていない端末に IP アドレスをはじめとする基本的なネットワーク設定等を自動配布する。
    DHCP を設定するにはDHCPサーバがネットワーク上に存在しており、各端末がDHCPクライアント機能を備えている必要がある。
  • DHCPサーバ: 多くの家庭用 wi-fi ルータが機能として備えている。
  • DHCPクライアント機能: Windows, masOS, Linus 等の多くの OS は標準で DHCP クライアント機能を内蔵している。

DHCP 設定の流れ

[ネットワークに繋がっていない端末(DHCPクライアント)]: DHCPディスカバー(DHCPサーバに対して割り当てを呼びかける)をネットワークにブロードキャストする。
↓
②[DHCPサーバ]: DHCPディスカバーによるメッセージを受信したDHCPサーバは「DHCPオファー」メッセージを端末に返す。(返信の際にはDHCPクライアントのMACアドレスを基にしたユニキャスト、もしくはブロードキャスト方式で通信が行われる。)
↓
③[DHCPクライアント]: 設定情報の候補を受け取ったDHCPクラインアントは内容を確認後、受け入れを決めたIPアドレスを添えて、設定情報の受け入れを「DHCPリクエスト」のブロードキャストで通知する。
↓
④[DHCPサーバ]:DHCPアック」メッセージで、設定情報の使用開始を承諾した事をDHCPクライアントに知らせる。
↓
⑤[DHCPクライアント]: 受信した設定情報を自身に適用し、そのネットワーク設定による通信を開始する。

通信状態の確認方法

  • ping: IP パケットの到達性を確認する。
$ ping 調べる対象のIPアドレス/ドメイン名

参考: 10 “ping” Command Usage Examples in Linux - Sanfoundry

  • nslookup: コンピュータの名前解決が機能しているか調査する。
$ nslookup 調べる対象のIPアドレス/ドメイン名

参考:Linux nslookup command help and examples

  • traceroute: 正しくルーティングが行われているか調査する。(対象に至るまでの経由するルータを近い順に表示する。)
$ tracerute 調べる対象のIPアドレス/ドメイン名

参考:How to Use the ‘traceroute’ Command in Linux

ルーティングプロトコル

  • ルーティングテーブル: ルーターやネットワーク接続されたコンピュータが持つ、個々のネットワークの宛先への経路の一覧を保持しているテーブル状のデータ構造。
  • スタティックルーティング: ルーティングテーブルの内容は固定されており、ネットワークの構成が変わったら手動で変更する。
  • ダイナミックルーティング: ルーティングテーブルの内容は動的に変更される。ネットワーク構成の変更は自動的にルーティングテーブルに反映される。 ダイナミックルーティングを可能にする為にルータが使用するプロトコルをルーティングプロトコルと呼び、以下の特徴を持つ。
# ルーティングプロトコルの特徴

(1)ルータ同士で経路情報を交換する。
(2)集めた経路情報から最適な経路を選び出す。

ルーティングプロトコルは以下の2つに分類される。

  • (1)IGP(Interior Gateway Protocol): AS(Autonomous System)内のルーティングで使用される。 AS(Autonomous System)とはルーティングポリシーが同じネットワーク群の事。 ISP やコンテンツ事業者は自らのネットワーク全体を1つの AS として捉える。
  • (2)EGP(Exterior Gateway Protocol):AS 間のルーティングで使用される。

IGPの具体的なプロトコルには以下のようなものがある。

  • RIP/RIP2(Routing Information Protocol): 小規模なネットワークで使用する。
  • OSPF(Open Shortest Path First): 中規模以上のネットワークで使用する。

EGPの具体的なプロトコルは以下の1つのみ。

  • BGP-4(Border Gateway Protocol version4): 目的のネットワークに至るまでの最適な経路を選択する。

セキュリティと暗号化

情報セキュリティの 3 要素

情報に関しての以下の 3 つの特性を適切に保つ事が重要。

  • 機密性(Confidentiality): 認められた人だけが情報にアクセスできる特性。(情報が一定の人以外秘密の状態を維持する。)
  • 完全性(Integrity): 矛盾の発生や改ざんがないという特性。(情報の本来の完全な状態を保つようにする。)
  • 可用性(Availability): 必要な時にいつでも利用できる特性。(情報を利用可能な状態に維持して、必要な時にはいつでも使用できるようにする。)

情報セキュリティの新しい要素

より新しい定義では上記の 3 つに以下の3つまたは 4 つを加えて、情報セキュリティの 6 あるいは 7 要素と呼ばれる事がある。

  • 真正性(Authenticity): 関わる者が本人である事や情報が本物である特性。
  • 責任追跡性(Acountability): 情報の作成や変更を追跡できる特性。
  • 信頼性(Reliability): 動作や結果が意図したものである特性。
  • 否認防止(Non-repuiation): 活動や事象が後で否認されない特性。

情報セキュリティ対策の種類

情報セキュリティの 3 要素を維持するために以下の 3、あるいは 4 つの具体的な対策を用いる。

  • 技術的対策: コンピュータや情報通信などの各種技術(ファイヤウォール、ウイルス対策システム、侵入検知システム等々)を利用して行う対策。
  • 物理的対策: 物理的な仕掛けや機構を利用して行う対策(入退室の管理、施錠、盗難防止チューン)。
  • 人的対策: 人の行動や意識に働きかけて行う対策。(情報セキュリティ研修、取り扱い規定の整備)。
  • 組織的対策: 組織において上記の 3 種類の対策を効果的に行うための対策。(管理責任者の設置、情報セキュリティ管理体制の確立。)

ファイアウォール

ファイアウォールはネットワークの出入り口に設置し、外部から内部への不正な侵入を遮断し、また内部から外部への不正なアクセスを禁止する事でネットワークを保護する事を目的とした装置。

ファイアウォールの主な機能

ファイアウォールの主な機能としてIPアドレスポート番号を元にしたフィルタリングが挙げられる。
フィルタリングの方法として以下が挙げられる。

  • 静的フィルタリング: 通信の状態の変化を考慮せず、入ってくるパケットと出て行くパケットの両方に関して条件を指定し、その指定に沿って静的に通過と遮断の判断を行う事。
  • 動的フィルタリング: SPI(Stateful Packet Inspection)機能(TCP に関して通信状態(フラグ、シーケンス番号)の変化が正常かどうか監視する機能。)を利用して行うフィルタリング。 ファイアウォールは通信内容の監視はしないため、ウイルスが添付されているメール等の制御は行えない。

ファイアウォール機能の形態

大規模な組織のネットワーク → 独立した機器としてファイアウォールが設置される。
小~中規模な拠点のネットワーク → ルータがファイアウォール機能を内蔵していれば、それを用いる。

UTM(Unified Threat Management 統合脅威管理)

UTM(Unified Threat Management: 統合脅威管理)ネットワークのセキュリティを実現する為の考え方の1つであり、その為の機器の名称でもある。
ネットワークのセキュリティを下位レイヤから上位レイヤまでUTMを 1 台設置する事でセキュリティ対策が行える。
UTMにはパケットフィルタリングにはじまり、メールに送付されたウイルス除去・情報漏洩防止等総合的なセキュリティ対策が求められ、その内容はコンピュータのセキュリティソフトに似ている。

UTM が提供する代表的な機能

(1)ファイアウォール: IPアドレス、ポート番号、通信状態に基づくパケットのフィルタリング。
(2)ウイルス・スパイウェア・アドウェア対策:メールやWeb情報に含まれるウイルス、スパイウェア、アドウェアの検出や除去。
(3)迷惑メール対策: 迷惑メールの検出・マーキング・隔離。
(4)フィッシング対策: フィッシングサイトの検出、警告、接続禁止。
(5)Webフィルタ: 接続先のURLや含まれる文字列などに基づいたWebへのアクセス可否のコントロール。
(6)IDS(Intrusion Detection System)/IPS(Intrusion Prevention System): 外部からの不正侵入や攻撃の検出と対処。及び、内部からの不正アクセスや情報流出の防止。

セキュリティソフト

  • マルウェア:ウイルスやスパイウェアなどの悪意を持ったソフトウェア。
  • セキュリティソフト:マルウェアの侵入や攻撃の阻止、検出、除去を行うソフト。

セキュリティソフトの主な機能

(1)アンチウイルス:ウイルスの侵入阻止、検出、除去。
(2)ファイアウォール:外部からの不正接続遮断。
(3)スパイウェア対策:情報を盗みだそうとするスパイウェアの侵入阻止、検出、除去。
(4)アドウェア対策:無断で広告を表示するアドウェアの侵入阻止、検出、除去。
(5)フィッシング対策:偽ホームページへの接続拒否。
(6)スパム対策:迷惑メールの検出、マーキング、専用フォルダへの移動。
(7)ペアレンタルコントロール:保護者による子供の利用制限。

セキュリティソフトの検出方式

  • (1)パターンファイルに基づく検出: マルウェアの特徴を記録したパターンファイルに照合する事で検出する。検出の確度は高いが、パターンファイル配布前には検出できず、ゼロデイ攻撃などには対応困難。
  • (2)ヒュースティックな検出: 対象を検証環境などで動作させて怪しげな振る舞いを見つけ出して検出。検出の確度は波があるが、パターンファイル配布前でも検出でき、ゼロデイ攻撃などにも対応できる。

暗号化

  • 平文:ある元の文字列。
  • 暗号文: 読んでも意味がわからない別の文字列。
  • 暗号化: 平文暗号文に変換する事。
  • 復号: 暗号文平文に変換する事。 現在主に使用される暗号は、平文と一緒に「鍵」を「変換ルール」に与え、同じ変換ルールであっても、与える鍵によって得られる暗号文が異なるように作成される。
    この際の変換ルールを 暗号アルゴリズム、鍵を暗号鍵と呼ぶ。

共通鍵暗号方式

  • 共通鍵暗号方式:暗号化と復号に同じ鍵を使用する暗号方式。(考え方がシンプルで、暗号化・複合に必要な計算量が少ない。)
  • 鍵配送問題:暗号化・復号に使用される鍵の受け渡しを第 3 者に見られない方法で配送しなければならない問題。

公開鍵暗号方式

  • 公開鍵暗号方式:復号者が公開鍵と秘密鍵を持ち、暗号化する人に公開鍵を渡し、暗号化した暗号を復号者が秘密鍵で復号する方法。(鍵配送問題は解決されるが、計算量が多くなり、処理が重くなる。)

ハイブリッド暗号

  • ハイブリッド暗号:共通鍵暗号方式と公開鍵暗号方式の長所を組み合わせて作られている仕組み。
# ハイブリッド暗号概要
(1)共通鍵暗号方式の暗号鍵を公開鍵暗号方式でやりとりする。つまり、平文を暗号化する暗号鍵を復号者の公開鍵で暗号化する。(鍵問題の回避)(2)実際のデータの暗号化には処理の軽い共通鍵暗号で効率良くデータを送る。(処理の重さ問題の回避)
複合者は復号した暗号鍵を用いてデータを復号する。

ハッシュ関数と電子署名

  • ハッシュ関数: ある情報を与えると、その情報を基にした、一定の長さの要約値を作成する仕組み。

※与えられる情報の長さに関わらず、常に決められた長さの要約値になる。
※得られた要約値からは元の情報は推測できない。

  • 電子署名:ハッシュ関数の要約値を相手に安全に届けると同時に、文書の作成者が間違いなく本人である事を検証する技術。 送信者の秘密鍵で情報を暗号化し、受信者は送信者の公開鍵で復号する。(相手の公開鍵正しいかは PKI の仕組みを使用して電子証明書を付加する事で保証する。)

SSL/TLS

  • SSL(Secure Socket Layer)/TLS(Transport Layer Security): アプリケーションと TCP の間に入って、通信内容の暗号化、改ざん検出、本人認証の機能を提供するプロトコル。 SSL(Secure Socket Layer)はすでに安全でないとされ、全バージョンともに使用されておらず、SSL の 3.0 を基に作成されたTLS(Transport Layer Security)が使用されている。
    SSL と TLS の違いとは | さくらの SSL

VPN

  • VPN(Virtual Private Network): あるネットワークの中に別のプライベートなネットワークを仮想的に作成する技術。

VPNは以下技術によって成り立つ。

  • (1)トンネリング: ネットワークの中に別の通信回路を設ける技術。
  • (2)カプセル化: 上位層のパケット全体を下位層のペイロードに入れて下位層のヘッダをつけてやり取りする事。

About the author

I am a web-developer based somewhere on earth. I primarily code in TypeScript, Go and Ruby at work. React, RoR and Gin are my go-to Frameworks.