ネットワーク
CIDR
= Classless Inter-Domain Routing
- IPv4のアドレス割当てを行う際に,クラスA~Cといった区分にとらわれずに,ネットワークアドレス部とホストアドレス部を任意のブロック単位に区切り,IPアドレスを無駄なく効率的に割り当てる方式
DNS
= Domain Name Server
(JPNIC HP より)
レコードの種類
レコード | 説明 | 例 |
---|---|---|
A | IPv4 アドレス | example.com. IN A 192.168.0.1 |
AAAA | IPv6 アドレス | |
NS | ・NS = Name Server ・どの DNS サーバーがそのドメインの権威サーバーであるか(どのサーバーに実際の DNS レコードがあるか |
example.com. IN NS ns1.example.com. |
CNAME | 元のドメイン名に別名をつける | other.co.jp. IN CNAME main.co.jp. |
SOA | ・SOA = Start Of Authority ・管理者の電子メールアドレス、サーバーの更新時間枠、ドメインの更新履歴など |
|
PTR | IP アドレスからホスト名を参照する場合の逆引きに使用 | 1.0.168.192.in-addr.arpa. IN PTR example.com. |
MX | ・対象ドメイン宛のメール配送先ホスト名を定義 ・同じ宛先に優先度が付けられる ・メール転送先のホスト名はAレコードで登録しておく必要あり |
hoge.co.jp. IN MX 10 mail1.co.jp. hoge.co.jp IN MX 20 mail2.co.jp. mail1.co.jp. IN A 192.168.0.1 mail2.co.jp. IN A 192.168.0.2 |
プライマリサーバとセカンダリサーバ
- プライマリサーバ
- 情報の大元となるサーバ
- セカンダリサーバ
- 定期的にプライマリサーバに問い合わせて情報をコピーして応答
- プライマリの完全コピーなので、独自に情報を追加することはできない
DNS ラウンドロビン
- DNS において同じドメイン名に対して複数の IP アドレスを割り当てることで、複数台のサーバに負荷を分散させる仕組み
- DNS に以下のようなレコードを登録すると、example.com への名前解決要求があるたび、19.168.0.1〜19.168.0.3のアドレスを順番に返却する
example.com. IN A 192.168.0.1 example.com. IN A 192.168.0.2 example.com. IN A 192.168.0.3
- 注意
- 「同じ端末からの同じドメイン名の問い合わせ」が何度も行われる場合にはこの機能では負荷分散できない
- 理由:
- その端末が最初に DNS に問い合わせた時の返答(ex. example.com = 192.168.0.2)がキャッシュとして端末に保存されてしまう
- 以後一定時間は、example.com を名前解決しようとすると、DNS に問い合わせが行かず端末内のキャッシュによる名前解決が行われる
DMZ
= DeMilitarized Zone (非武装地帯)
- インターネットなどの外部ネットワークと組織内ネットワークの中間に作られるネットワークセグメント
- 外部からも内部からも、ファイアウォールなどによって隔離されており、ここに外部からのアクセスを許可したいサーバを設置することにより、セキュリティ強化を図ることができる
OpenFlow
- SDN を実現するためのプロトコル
- 物理ネットワークと異なり、制御用のネットワーク(コントロールプレーン)とパケット用のネットワーク(データプレーン)が分離されていることが最大の特徴
- コンポーネント
- OpenFlow コントローラ:経路制御などの管理機能を実行
- OpenFlow スイッチ:パケットのデータを転送
- コントローラとスイッチは物理的に分離する必要はなく、ネットワークの仮想化で対応可能
- フローテーブル:MAC アドレス / IP アドレス / ポート番号などによる制御のルール(どんなときにどんな制御を行うか)を定めたテーブル
- 2つの制御方式
- プロアクティブ型:コントローラに予め設定されたルールをスイッチに送信
- リアクティブ型:スイッチが未知のパケットを受け取ったときにコントローラに指示を仰ぐ
SDN
= Software Designed Network
- ネットワークの仮想化技術により、物理的なケーブル配線などを変更しなくても、ネットワークの構成や機能・性能などをソフトウェアだけで動的に設定できるネットワーク
cf. OpenFlow
自律システム
- AS (Autonomous System) とも呼ばれる
- 各組織が管理するネットワークの単位
- AS 番号によってインターネット上で一意に識別され、 日本では JPNIC がその割り当てと管理を行っている
- AS は ISP である場合が典型的だが、 学術系ネットワークやデータセンターなどである場合もある
- 同じ AS 内では、ルータは共通のプロトコル(OSPF や RIP)を使用して経路情報をやりとりする
IoT
6LoWPAN
= IPv6 over Low power Wireless Personal Area Networks
- 低速・低消費電力のIEEE 802.15.4ネットワーク上で効率よくIPv6通信を行うために、パケットの分割と再結合、ヘッダ圧縮等の最適化を定めた仕様
BLE
= Bluetooth Low Energy
- Bluetooth の一部で、その名の通り低消費電力に特化した通信モード
Bluetooth
- 近距離無線通信技術の一つ
- 2.4GHz帯の電波(ISM バンド = 世界的に免許の要らない電波帯域)を使用
- 1台のマスターを中心に最大7台のスレーブがつながるスター型の構成
- 数メートルから数十メートル程度の距離の情報機器間で、電波を使い簡易な情報のやりとりを行うのに使用される
cf. DSRC, ZigBee
DSRC
= Dedicated Short Range Communication
- 近距離無線通信技術の一つ
- 「狭域通信」と訳される
- 車両との無線通信に特化して設計された5.8GHz帯の ISM バンドを用いた一方向、または双方向の無線通信技術
- ETC で利用される
cf. Bluetooth, ZigBee
LPWA
= Low Power Wide Area
- 「低消費電力で長距離の通信」ができる無線通信技術の総称
- Bluetooth などの近距離無線(〜数十m程度)では満たせないカバレッジの無線アクセスの分類で、低消費電力・低ビットレート・広域カバレッジを特徴とする
- 例
- Wi-SUN
MQTT
= Message Queueing Telemetry Transport
- パブリッシュ(送信側)と サブスクライブ(受信側)の間を MQTT ブローカー(メッセージ配信サーバ)が取り持つ通信モデル
- HTTP と比較して、以下のように IoT に適した強みがある
- 一対多や多対多の通信もできる
- ヘッダサイズが最小で2バイトと小さい
- シンプルな通信シーケンス
- 送信したメッセージがサーバで保持される
Wi-SUN
= Wireless Smart Utility Network
- 920MHz帯を使用する LPWA 規格の一つで、100台から1,000台のメッシュ型ネットワーク
ZigBee
- Bluetooth のような近距離無線通信技術の一つ
- Bluetooth との比較
- 低速(20Kbps-250kbps)で伝送可能距離も短い(30m程度)
- 乾電池程度の電力で数年が稼働可能な省電力性と低コストの利点を有する
- 理論上の最大接続台数が65,536台と、Bluetooth と比較して非常に多い
- 主に IoT におけるセンサネットワーク構築を目的として策定された
cf. DSRC, Bluetooth
インターネット
ARP
= Address Resolution Protocol
- IP アドレスからそのアドレスに対応するホストの MAC アドレスを得るためのプロトコル
- 仕組み(ホスト A がホスト B の MAC アドレスを得たい場合)
- A が ARP 要求パケット(「B の MAC アドレスを教えて欲しい」)を ブロードキャスト
- B 以外のホストはこれを無視し、B は ARP 応答パケット(「私は B で、MAC アドレスは XXX です」)を A に ユニキャスト
- A は受け取った MAC アドレスを自身の ARP テーブル に登録し、数分間保持
BGP
= Border Gateway Protocol
- 自律システム(AZ)間の接続に使われるルーティングプロトコルの1つ
- インターネット全体をカバーするように経路制御
- 経路制御の基準は、通過する AZ の数
- 経路ベクトル型:通過する経路のリストで経路制御を行う
CSMA
= Carrier Sense Multiple Access
- 複数のノードが単一の伝送媒体を共有して送受信を行うネットワークにおいて、送信前に一度受信を試みて他のノードが送信中でないかどうかを確認し(Carrier Sense)、複数ノードによる多元接続(Multiple Access)を実現する仕組み
CSMA/CD
= CSMA with Collision Detection
- 有線 LAN で利用される
- ケーブル上のデータの衝突を検知し、衝突した場合は適当な時間だけ待機しデータを再送する
- 初期イーサネット LAN で使用されていたが、スイッチの普及や全二重通信が広く採用されている現在のイーサネット LAN では、ほぼ見られない
CSMA/CA
= CSMA with Collision Avoidance
- 無線 LAN で利用される
- 無線では有線のときのように「データが衝突したこと」の検知はできない → 事前に回避を図る
- 通信開始前に伝送媒体上(無線 LAN では電波)に、現在通信をしているホストがいないかどうかを確認
- 現在他のホストが通信していない場合はランダムな時間だけ待機してから通信を開始
DHCP
= Dynamic Host Configuration Protocol
- 配布する IP アドレスを一括管理し、クライアントの IP アドレス等の設定を自動化するためのプロトコル
- トランスポート層には UDP を利用
通信の流れ
- DHCP 発見パケット (DHCPDISCOVER):自分に IP アドレスを割り当てて欲しいクライアントがネットワークに ブロードキャスト =「誰か私に IP アドレスを下さい」
- DHCP 提供パケット (DHCPOFFER):DHCPDISCOVER を受け取った DHCP サーバが、対象クライアントに向けて IP アドレス候補を伝える(ユニキャスト)=「192.168.0.5 でどうですか?」
- DHCP 要求パケット (DHCPREQUEST):クライアントが、DHCPOFFER で提案された情報を使うことを ブロードキャストで 要求 =「あなたが提案してくれた 192.168.0.5 を使いたいです」
- ブロードキャストで送る理由:複数の DHCP サーバから提案を受けた場合に、採用しない DHCP サーバにも「あなたが提案してくれた情報は使いません」と伝えるため
- DHCP 確認応答パケット (DHCPACK):DHCPREQUEST に対して DHCP サーバが許可を出す(ユニキャスト)=「了解、使って良いですよ」
DHCP で提供される情報
- IP アドレス
- サブネットマスク
- デフォルトゲートウェイ
- DNS サーバ
- リース期間:割り当てられた IP アドレスなどの情報の有効期限
- 期限を延長したい場合は、再度 DHCP 要求パケットを送信する
- …
DHCP リレーエージェント
- DHCP 発見パケットは UDP なので、ルータを超えて別のネットワークに送信できない
- 複数のネットワークを持つ組織に DHCP サーバが1台、のようなケースで困る
- 一般に、ルータの機能として DHCP リレーエージェント が提供されている
- 自分が接続しているネットワークで DHCP 発見パケットを受信した場合、あらかじめ自身に設定してある DHCP サーバに向けて ユニキャスト で中継
- それに対して DHCP サーバから提供パケットを受信すると、今度はクライアントに転送
- 要求パケットと確認応答パケットについても同様の処理を行う
EGP
= Exterior Gateway Protocol
- 自律システム(AS)間の接続に使用されるルーティングプロトコルの総称
- BGP など
cf. IGP
FCS
= Frame Check Sequence
- イーサネット等でフレームの損失を検知するため、フレーム末尾に付加されるデータ
- チェックサムで計算される
FTP
= File Transfer Protocol
- アプリケーション層のプロトコル
- 異なるコンピュータ間でファイル転送を実行する
- 制御用とデータ転送用の二つのコネクションが用いられる
- 制御用:サーバでは主にポート番号21が使われる
- 転送用:サーバでは主にポート番号20が使われる
- 2つのモード
- アクティブモード
- 制御用コネクションはクライアントから確立要求
- データ転送用コネクションはサーバから確立要求
- パッシブモード
- 制御用も転送用もコネクション確立要求はクライアントから行う
- ※ ファイアウォールの設定などで、サーバからクライアントへの通信を許可していないことがあるため
- アクティブモード
- 利用されるコマンド
- USER, PASS:ユーザ認証
- PORT:データ転送に使う IP アドレス・ポート番号をクライアントからサーバに通知
- PASV:パッシブモードで通信
- RETR:サーバからデータをダウンロード
- QUIT:正常終了を指示
ICMP
= Internet Control Message Protocol
- IP プロトコルの「エラー通知」や「制御メッセージ」を転送するための補助プロトコル
- 上位プロトコルには UDP が用いられる
ICMP パケットの基本フォーマット
タイプによってはフォーマットが変わる。
内容 | サイズ | 説明 |
---|---|---|
タイプ | 8バイト | 番号で通知メッセージの種類を表す |
コード | 8バイト | 番号でタイプごとの詳細な内容を表す |
チェックサム | 16バイト | ヘッダを含む ICMP パケット全体の誤り検出 |
データ | 可変長 | タイプごとに必要な内容を記述 |
主なタイプとコード
タイプ | コード | 意味 | 説明 |
---|---|---|---|
0 | エコー応答 (Echo Reply) | 8とともに ping で用いられる(通信したい宛先に IP パケットが到達するかを確認) | |
3 | 到達不能 (Destination Unreachable) | IP パケットを送り先に届けられなかった理由を送り元に通知 | |
0 | ネットワーク到達不能 | ||
1 | ホスト到達不能 | ||
4 | フラグメンテーションが必要 | ||
9 | 送信先ネットワーク拒否 | ||
4 | 始点制御 (Source Quench) | フロー制御に利用 ルータがパケットを処理できる限界まで受け取ってしまったときに送信元に速度を緩める要求をするなど。 |
|
5 | リダイレクト (Redirect) | ルーティングに関する正しい情報を伝えるために利用。 ルータが受け取った IP パケットがそのルータで処理するのに適切でない場合に、より適切なルータに送信するよう通知。 |
|
8 | エコー要求 (Echo Request) | 0とともに ping で用いられる | |
11 | 時間超過 (Time Exceeded) | IP パケットの TTL がゼロになり破棄されたことを送信元に通知 |
IGMP
= Internet Group Management Protocol
- マルチキャストの通信を管理するためのプロトコル
- 役割は以下の2つ
- 最寄りのルータにマルチキャストグループに参加したいと伝えるため、受信したいマルチキャストアドレスを通知する
- IGMP スヌーピング に対応したスイッチングハブに、ルータに通知した受信したいマルチキャストアドレスを通知する
- 通常、スイッチはマルチキャストアドレス宛のデータを全方向にブロードキャストする
- スイッチが IGMP パケットの内容を盗み見(スヌーピング)することにより、マルチキャストを受け取りたいクライアントがいる方向にだけデータを転送して負荷を下げることができる
IGP
= Interior Gateway Protocol
- 自律システム(AS)内部で使用されるルーティングプロトコルの総称
- RIP, OSPF など
cf. EGP
IPsec
- IP パケット単位での暗号化や認証、データ改ざん検出の機能を提供するプロトコル
- IPv6 では拡張ヘッダに IPsec 機能が含まれるので、IP ヘッダだけで IPsec を利用できる
IKE
= Internet Key Exchange protocol
- ネットワーク上のデバイス間で 共通鍵の 交換を行うためのプロトコル
- UDP/500番ポート
IPv4 射影アドレス
- IPv6 機器が IPv4 しかサポートしていない機器と通信する際に使用するアドレス
- 上位80ビットが “0”
- 81~96ビットが “1”
- 残りの32ビットに IPv4 アドレス
- IPv4 アドレスに当たる部分だけは10進数で表記することが多い
- ex.
::ffff:192.168.0.1
- ex.
IPv6 アドレス
- 表記方法
- 128 bit を16 bit ずつの8つのグループに分け、
:
で接続して16進数で表記 - 全てゼロのグループが連続して続く場合は
::
で省略表記可能- ex.
2a3c::ff42:9d11
- ゼログループが何度繰り返されているか分からなくなるので、同じアドレス内で
::
を使えるのは1度まで
- ex.
- 128 bit を16 bit ずつの8つのグループに分け、
- IPv4 アドレスに比べてアドレスフィールドは巨大になったが、ヘッダのチェックサムが削除されたため、パケットを中継するルータの負荷は軽減
IP アドレス
特殊アドレス
クラス
クラス | IP アドレスの範囲 | ネットワーク部の長さ | ホスト部の長さ | ネットワークあたりのホスト数 | 用途 |
---|---|---|---|---|---|
クラスA | 0から始まる 0.x.x.x〜127.255.255.255 | 8 bit | 24 bit | $2^{24}-2 = 16777214$ | グローバルIPアドレス、大規模ローカルエリアネットワーク |
クラスB | 10から始まる 128.0.0.0〜191.255.255.255 | 16 bit | 16 bit | $2^{16}-2 = 65534$ | グローバルIPアドレス、中規模ローカルエリアネットワーク |
クラスC | 110から始まる 192.0.0.0〜223.255.255.255 | 24 bit | 8 bit | $2^{8}-2 = 254$ | グローバルIPアドレス、小規模ローカルエリアネットワーク |
クラスD | 1110から始まる 224.0.0.0〜239.255.255.255 | - | - | IP マルチキャスト用途 | |
クラスE | 1111から始まる 240.0.0.0〜255.255.255.255 | - | - | 研究用途 |
サブネットマスク
- クラスフルアドレスの課題
- クラスによるネットワーク分割は大雑把すぎて、無駄が大きい
- 例えば500台のホストのためにクラス B = 65534台分のネットワークを確保する必要がある
- 対策として、ネットワーク部の長さを固定しない、クラスレスアドレスの仕組みを導入
- サブネットマスク = IP アドレスの32ビットのうち「先頭何ビットがネットワーク部か?」を示すもの
ISM バンド
= Industrial Scientific and Medical Band
- 「産業科学医療用バンド」の意味
- 電気通信以外の工業・科学・医療の目的に使用するために、国際電気通信連合(ITU)によって国際的に確保されている周波数帯
- 免許不要で取り扱うことができ、WiFi、医療用装置、アマチュア無線、電子レンジなどに利用される
- 主な周波数帯は以下の2つ
- 2.4GHz帯
- 遠くまで電波を届けられ、速度が遅い(周波数が低いため)
- 電波干渉がおきやすい(多くの電子機器で使用されているため)
- 利用先:Wi-Fi、Bluetooth、コードレス電話、電子レンジ、アマチュア無線、ドローン
- 5GHz帯
- 電波が遠くまで届きにくいく、速度が早い
- 電波干渉が少ない
- 利用先:WiFi、気象・航空レーダー
- 2.4GHz帯
LDAP
= Lightweight Directory Access Protocol
- ネットワーク上の資源(ネットワーク利用者や機器)の管理を一元的に行うためのプロトコル
- 設定を LDIF(LDAP Interchange Format) というデータ交換形式で階層的に管理
MPLS
= Multi-Protocol Label Switching
- VPN を構築する方式の1つである IP-VPN で利用される技術
- 用語
- CER (Customer Edge Router):企業や組織の境界ルータ
- PER (Provider Edge Router):プロバイダの境界ルータ。IP-VPN 網に接続
- LER (Label Edge Router):パケットに組織を示すラベルを付与 / 削除するルータ。PER に一致する
- LSR (Label Switching Router):IP-VPN 網の中に存在し、ラベルスイッチングを行い、同じ組織の他拠点に向けてデータを転送するルータ
MTU
= Maximum Transmission Unit
- ネットワーク層(IP レイヤ)で一回に送信できる最大のデータサイズ
- 「IP ヘッダを含む IP パケットの最大値」と読み替えて OK
- 物理媒体ごとに異なる
- イーサネットは1500バイト
- 光ファイバ(FDDI)は4352バイト
OSPF
= Open Shortest Path First
- ルーティングプロトコル
- リンクステート型:ネットワークのリンク状態を全てのルータが把握することで、ループがあるネットワークでも安定した経路制御を行う
- ネットワーク構成に変化があった場合にだけルーティング情報を更新
- ルータの台数が増えすぎると各ルータが持つ情報が大きくなりすぎるので、ネットワークエリアというグループに分けて管理
- 各エリアは バックボーンエリア に接続
- バックボーンと各エリアの境界には エリア境界ルータ が置かれ、自分が所属するエリアの外の情報は「エリア境界ルータからの距離」しか分からない
LSA
= Link State Advertisement
- OSPF ルータ間で交換されるリンク状態情報
- どのルータとどのルータが接続しているか
- 接続パスのコスト(主に回線速度をもとに設定)
- 主に以下のようなものがある
- Router-LSA:同一エリア内向け。各 OSPF ルータが自分の ID・リンク数・ネイバールータなどの情報を通知
- Network-LSA:同一エリア内向け。指名ルータが自身やエリアの所属ルータの情報を通知
- Network-summary-LSA:エリア間の情報交換。エリア境界ルータが、例えばエリア1の経路情報をエリア0に、エリア0の経路情報をエリア1に通知
- ASBR-summary-LSA:エリア内向け。エリア境界ルータが、AS 境界ルータの情報を通知
- AS-External-LSA:AS 境界ルータが、自身のルータ ID や外部ネットワークの情報を通知
SPF アルゴリズム:ダイクストラ法
= Shortest Path First
- 重み付きグラフにおいて始点 S と終点 E の最短経路を求めるアルゴリズム
P2P
= Peer to Peer
- Peer =「対等な立場で情報共有を行う端末」
- 不特定多数の端末が、サーバを介さず 端末同士でデータをやり取りするための通信方式
- メリット
- ゼロダウンタイム
- Peer 同士が分散してつながり合っているため、特定の Peer が稼働を停止しても、他の Peer 同士のつながりは残る
- 管理コストがかからない
- ネットワークに参加しているすべての端末が、サーバーとクライアントの両方の役割を持つため、特定の端末を管理する必要がない
- ゼロダウンタイム
- デメリット
- セキュリティリスク
- お互いの通信相手の安全性の確認が困難。サーバーなども経由しないため通信のログも残らず、悪意を持った攻撃者がウイルスをの拡散手段に利用することも
- セキュリティリスク
- 利用例
- LINE
- ブロックチェーン
- ファイル交換ソフト
RIP
= Routing Information Protocol
- ルーティングプロトコル(距離ベクトル型)
- LAN で最も広く利用されている
- ネットワーク間のホップ数(ルータ数)を距離と考え、最短距離でルーティングを行う
仕組み
- 各ルータは以下の3項目を1レコードとする距離ベクトルテーブルを保持
- ルーティング対象ネットワークアドレス
- ex.「対象ネットワーク = 192.168.X.0/24」
- そのネットワークの方向(情報を教えてくれたルータの IP アドレス)
- ex.「方向 = 192.168.Y.1」
- そのネットワークまでの距離 = ホップ数(ルータに直接つながるネットワークなら距離はゼロ)
- ex.「距離 = d」
- ルーティング対象ネットワークアドレス
- 30秒数に1回、各ルータは以下の動作を行う
- 自分が持つ距離ベクトルテーブルの内容を隣接ネットワークにブロードキャスト(UDP パケット)
- これは、隣(1ホップ先)のルータに「私からネットワーク X までの距離は d ですよ!」と教えている
- その情報を受け取ったルータは、以下の3項目を距離ベクトルテーブルに書き込む
- ルーティング対象ネットワークアドレス
- ex.「対象ネットワーク = 192.168.X.0/24」
- 方向 = 情報をくれたルータの IP アドレス)
- ex.「方向 = 192.168.Z.2」
- 受け取った対象ネットワークまでの距離に1を足したもの
- ex.「距離 = d+1」
- ルーティング対象ネットワークアドレス
- 自分が持つ距離ベクトルテーブルの内容を隣接ネットワークにブロードキャスト(UDP パケット)
- これを繰り返すことで情報が伝播し、「どの方向にデータを送ると何ホップで目標ネットワークにたどり着くか」が距離ベクトルテーブルにまとまる
- 対象ネットワークごとに、距離が最短となる方向(送り先ルータの IP アドレス)を抜き出せば、ルーティングテーブルが完成する
- パケットがループし続けないよう、ホップ数が15を超えたパケットは破棄
RIP2
- RIP の改良版
違い:
項目 | RIP | RIP2 |
---|---|---|
アップデート通知方式 | ブロードキャスト | マルチキャスト |
クラスフル/クラスレス | クラスフル | クラスレス |
VLSM | 非対応 | 対応 |
認証機能 | 非対応 | 対応 |
SMTP
= Simple Mail Transfer Protocol
- メール配送の中心となる、アプリケーション層のプロトコル
- SMTP は送信者と受信者の両方の電源が入っており送受信可能状態であることが前提なので、POP と組み合わせて利用される
- イメージ:送信者 –(SMTP で送る)–> メールサーバ <–(POPで取りに行く)– 受信者
- 以下の流れでクライアントがコマンドを実行
- EHLO:通信開始
- MAIL FROM:メール送信者の情報を伝える
- RCPT TO:メール受信者の情報を伝える
- DATA:メール本文を送る
- QUIT:終了
SNMP
= Simple Network Management Protocol
- UDP/IP ベースのネットワーク監視・管理プロトコル
- ルータやスイッチ、サーバなどの状態・リソース・パフォーマンス・トラフィックの監視に使用する
- ネットワーク機器の監視:
- 各ポート上で送受信されたパケット数、エラーパケット数、ポートの状態(up/down)、およびCPU使用率、メモリ使用率
- サーバの監視:
- CPU使用率、メモリ使用率、ディスク使用率、プロセス監視、Windows イベントログ監視、Syslog 監視
MIB
= Management Information Base
- SNMP で利用可能な情報をツリー構造で記述したテキストファイル
- マルチベンダー環境のネットワークを一元的に監視することを可能にするためにつくられており、業界標準の規格
- メーカーの異なるさまざまな機器に格納されており、MIB を監視することでネットワークの状態を把握できる
RMON
= Remote network MONitoring
- ネットワーク(LAN)の通信状況を遠隔から監視する仕組み
- SNMP と併用されることが多い
SNMP トラップ
- SNMP でネットワーク上の機器を監視する際、監視下の機器側から管理用コンピュータに能動的に発信される通知
- どのようなときに送られるか?
- マネージャがあらかじめ定義した異常が発生したとき
- 端末の状態を表すパラメータが設定されたしきい値を超えたとき
STP
= Spanning Tree Protocol
- ブリッジやスイッチングハブで構成されたネットワークにループが存在する時、ブロードキャストストームを防ぐためのプロトコル
- 物理的なループ構造自体は、ネットワーク障害時の迂回路を提供する冗長化のために設けられるので重要
- ルータを超えない範囲のネットワークを扱う、データリンク層 のプロトコル
- ループを避けるために特定のポートをブロッキング状態にする
- 障害時は自動でポートがフォワーディング状態になり、通信可能に
- スパニングツリー:ループを持たない木構造のネットワーク
BDPU
= Bridge Protocol Data Unit
- スイッチ間の情報交換のためのフレーム
- 以下の内容が含まれる
- 自身の ブリッジ ID:ブリッジプライオリティ (2バイト) + MAC アドレス (6バイト)
- ブリッジプライオリティ:管理者が手動で設定する値。小さいほど優先度が高い
- ルートスイッチまでのパスコスト(伝送速度を加味した距離)
- ルートスイッチまでのホップ数
- 自身の ブリッジ ID:ブリッジプライオリティ (2バイト) + MAC アドレス (6バイト)
仕組み
- ルートスイッチ の選出
- 1-10秒の一定間隔で、各スイッチが BPDU フレームを各ポートからブロードキャストし、お互いの情報を共有
- プリッジ ID が最も小さいものをルートスイッチに選定
- ルートポート の決定 =「同一スイッチ内で」ルートスイッチに一番近いポート
- ルートスイッチ以外のスイッチは、ルートスイッチまでの最短経路をコストで評価(ルートパスコスト)し、その経路の送出先ポートを「ルートポート」とする
- 代表ポート(指定ポート) の決定:「同一セグメント内で」ルートスイッチに一番近いポート
- 各リンクの両端のスイッチのルートパスコストを比較し、コストが低い方のスイッチのポートを「代表ポート」とする
- ブロッキングポート(非指定ポート) の決定
- ルートポートにも代表ポートにもならなかったポートを「ブロッキングポート」とし、データトラフィックの送受信を遮断する
UWB
= Ultra Wide Band
- 超広帯域無線と訳される
- 広い周波数帯にデータを拡散することで、短距離ながら100Mbps以上の高速・大容量な通信が可能
- 高精度の測距・測位が可能で、障害物による影響が少ない
- 近距離での映像や音楽配信に利用されている
- 他の無線 LAN の高速化の影響もあり、なかなか普及が進まず、UWB に対応した製品はそれほど多くなかったが、2019年の iPhone 11 に搭載され注目
VLSM
= Variable Length Subnet Mask
- 組織の部署ごとに必要なコンピュータの数が異なるようなときに、サブネットのサイズを部署ごとに変えられる仕組み
- 例:組織全体のサブネット 192.168.1.0/24(最大 $2^8-2=254$ 台まで接続可能)を、サイズの異なる以下のサブネットに分解
- 192.168.1.0/25:$2^7-2=126$ 台
- 192.168.1.128/26:$2^6-2=62$ 台
- 192.168.1.192/26:$2^6-2=62$ 台
VoIP
= Voice over Internet Protocol
- インターネットなどの IP ネットワークを通じて音声通話を行う技術
RTP
= Realtime Transport Protocol
- 音声や動画のデータ本体を送るためのプロトコル
- 発信側は UDP パケットにシーケンス番号を付与して送り、受信側はシーケンス番号を見てパケットを並べ直す
RTCP
= RTP Control Protocol
- RTP を補助するプロトコル
- 送信バイト数やパケットの欠落数、パケットの到着間隔のばらつきなどの統計情報を集め、アプリケーションに提供することで QoS の確保に役立てる
SIP
= Session Initiation Protocol
- 呼制御(通信相手を探して相手を呼び出すための仕組み)に利用されるプロトコル
- SIP サーバを介して相手を呼び出す
SDP
= Session Description Protocol
- 音声や映像などのメディアデータのストリーミング送信を開始する際に、通信セッションに必要なパラメータを伝達するためのデータ形式の1つ
- 扱うパラメータ:メディアの種類、使用するプロトコル、ポート番号など
WebSocket
- ブラウザとサーバの間で リアルタイムな双方向通信 を行うための規格
- 利用例:チャットアプリ
- 流れ
- ハンドシェイク
- ブラウザがサーバに対して http の Upgrade ヘッダを使って WebSocket 通信を要求:「
Upgrade: websocket
」 - サーバはブラウザにレスポンスとして「
101 Switching Protocols
」を返す
- ブラウザがサーバに対して http の Upgrade ヘッダを使って WebSocket 通信を要求:「
- 以後は通信プロトコルが http から WebSocket に切り替わる
- ハンドシェイク
- URI スキーム
ws://
:平文通信。デフォルトでは80番ポートを利用wss://
:暗号通信。デフォルトでは443番ポートを利用
スライディングウインドウ
- TCP のウインドウ制御において、受信側からの確認応答パケットが1つ返るたび、ウインドウを1パケット分スライドさせて、次の1パケットを送信する仕組み
スリーウェイハンドシェイク
- TCP においてコネクションを確立するための手順
- 以下の手順で通信を確立する
- 【1】クライアントがサーバに SYN パケット (= synchronize) を送る
- =「データを送っても良いですか?」
- 【2】サーバがクライアントに ACK-SYN パケット を返す
- =「いいですよ/こちらからもデータを送って良いですか?」
- 【3】クライアントがサーバに ACK パケット (= Acknowledgement) を返す
- =「いいですよ」
- 【1】クライアントがサーバに SYN パケット (= synchronize) を送る
データグラム方式(コネクションレス型通信)
- コネクションを確立せず、UDP のように、一方的にデータを送りつける方式
デフォルトゲートウェイ
- PC 等の端末が自分の所属するネットワーク以外に IP パケットを送信する際の宛先
- 他のネットワークと通信するときの規定のルータのこと
- DHCP で自動設定されたり、手動設定もできる
トンネリング
- そのネットワークでサポートされていないプロトコルを使用して、ネットワーク上でデータを転送するための方法
輻輳制御
- TCP において輻輳を避けるための仕組み
- 受信側からの確認応答を受け取るまでの間に送信するパケット量(ウインドウサイズ)を1セグメント、2セグメント、4セグメント、… と少しずつ増やしていき、途中でタイムアウトなどのエラーが起こったら再度ウインドウサイズを1に戻して送信する
フラグメンテーション
- MTU を超えるサイズの IP パケットが分割して運ばれる仕組み
- IP ヘッダ内の以下の項目をもとに復元する
- 識別子 (ID):分割元が同じであれば同じ ID を付与
- フラグメントオフセット (FO):フラグメントが元データのどの位置にあったか
ブロードキャストストーム
- 二台以上のネットワークスイッチなどによってループが形成されることによって生じる、ブロードキャストが際限なく転送され続ける現象
- 最終的には帯域を使い果たし、メルトダウン(正常な通信が不可能になる)に至る
HTTP
Cookie
HTTP のレスポンスヘッダに含める形でウェブサイトから返却される:
Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>; Secure; HttpOnly
指定できる属性
属性 | 内容 |
---|---|
<名前>=<値> |
Cookieの <名前> と <値> を = で結合して、Set-Cookie / Cookieヘッダフィールドの先頭にセットする値>名前> |
Expires=<日時> |
Cookie の有効期限(日時で指定。非推奨) |
Max-Age=<値> |
Cookie の有効時間(秒単位で指定)。Expires も Max-Age もない場合は Web ブラウザのセッション終了まで有効(ブラウザを終了すると削除される) |
Domain=<ドメイン指定> |
Cookie が有効なドメイン範囲の指定。指定されたドメインに含まれるなら Cookie が有効。Domain= がない場合は、現在のホストでのみ有効 |
Path=<パス指定> |
Cookie が有効なパス範囲の指定。Path= がない場合は、現在のパス(URL)でのみ有効 |
Secure |
HTTPS 通信時にのみ有効。HTTP での通信時には送信されない |
HttpOnly |
これを付けておくと、HTTP プロトコルの Cookie ヘッダフィールドでのみ参照可能になる(JavaScript の document.cookie などから参照できなくなる)。セキュリティのために使われる |
WebDAV
- HTTPを使って,Webサーバのコンテンツのアップロードや更新を可能にするプロトコル
- 属性情報の設定・取得の他にもファイル作成・コピー・移動などのコンテンツ編集で使用する機能がHTTP上で実現できる
認証・セキュリティ
DNS amp 攻撃(DNS リフレクタ攻撃)
- DNSを利用したDoS攻撃の一つ
- 送信元 IP アドレスを攻撃対象サーバに偽装した通常の DNS 問い合わせを DNS サーバに送ることで、DNS サーバが応答パケットを攻撃対象に送り、サービス不能の状態に陥らせる
DNSSEC
= DNS Security Extensions
- DNS でのセキュリティに関する拡張仕様
- キャッシュサーバからコンテンツサーバへの問い合わせにおいて、公開鍵を用いた電子署名により、コンテンツサーバからの返答が本物であることを確認できる
- DNS キャッシュポイズニングへの対策になる
DNS キャッシュポイズニング
- DNS キャッシュサーバに偽の情報を注入し、不正なサイトへのアクセスを誘導する攻撃手法
- 手順
- 攻撃者:偽装したい対象ドメインについて、DNS キャッシュサーバに問い合わせを行う
- DNS キャッシュサーバ:問い合わせされたドメインの情報がキャッシュにない、あるいはキャッシュが切れていれば、コンテンツサーバ(権威サーバ)にドメイン情報の問い合わせを行う
- 攻撃者:2の問い合わせの返答が返ってくるより早く、2の返答を偽装して、キャッシュサーバに偽の名前解決情報を送りつける
- キャッシュサーバがコンテンツサーバに問い合わせを行う際、コンテンツサーバからの返答がその問い合わせに対するものであると識別するための ID を付与するが、攻撃者はこの ID を推測、あるいは総当りで当てる必要がある
- 対策:DNSSEC など
EAP
= Extensible Authentication Protocol
- IEEE802.1X に基づき PPP の認証機能を拡張したプロトコル
- 主に無線 LAN ネットワークでレイヤ2ベースの認証・許可・アカウンティング (AAA) の標準認証機構として使用される
ICMP Flood
- 攻撃対象となるサーバに対してなるべくサイズが大きくなるようにした「ICMP echo request(ping)」を大量に送り続けることで、攻撃対象および攻撃対象が属するネットワークのリソースを枯渇させることを目的とする攻撃
- ICMP は上位プロトコルに UDP を使用するので、攻撃者は送信元 IP アドレスの偽装を簡単に行え、攻撃者の特定が困難になる
IEEE 802.1X
- 有線 LAN / 無線 LAN におけるユーザ認証の規格。正当な端末以外が LAN に参加することを防ぐ
- ユーザ認証などの仕組みが無線 LAN 環境においてセキュリティ的に最適であったことから有線 LAN よりも先に無線 LAN 環境で普及した
- 構成要素
- サプリカント:LAN に接続するクライアント(PC やスマートフォンなど)
- 認証装置(オーセンティケータ):サプリカントと認証サーバの仲介役となるネットワーク機器(無線 LAN アクセスポイントなど)
- 認証サーバ:ユーザ認証を行うサーバ。IEEE802.1X/EAP に対応した Radius サーバを使用
RLO
= Right-to-Left Override
- Unicode で定義されている制御文字の一つで、横書きの文字の流れを「右から左」に変更する
- Windows などではファイル名に Unicode が使えるため、英語や日本語など「左から右」の文化圏で、ウイルスファイル名の拡張子を偽装するのに悪用されることがある
- ex. 「hoge.{RLO}.xcod.exe」というファイルは画面上で「hoge.exe.docx」と表示されるため、実際には実行ファイルでもWordファイルのように見える
WAF
= Web Application Firewall
- ウェブアプリケーションに特化したファイアウォール
- クロスサイトスクリプティングや SQL インジェクションなど、ウェブに特化した攻撃に対してきめ細かくアクセス制御を行う
- 2つの方式
- ブラックリスト方式:特定パターンを登録し、それに該当する通信を「遮断」
- ブラックリストの内容は通常、WAF のベンダが登録して適宜更新されるためメンテナンスが楽
- ホワイトリスト方式:特定パターンを登録し、それに該当する通信「だけを通す」
- ブラックリスト方式:特定パターンを登録し、それに該当する通信を「遮断」
サイドチャネル攻撃
- IC カードや半導体機器といった攻撃対象のハードウェアを物理的に観測することで、内部の秘匿された情報を得る攻撃手法
- 例えば IC カードや半導体チップなどは、通常は暗号化技術により正当な権限がない限り外部から干渉することはできないように製造されている
- しかしこれらの周辺に漏れ出る電磁波や、処理によって異なる消費電力の差などを観測して認証情報を推測したり、不正な電圧を印加することでセキュリティ上の防御処理をスキップしたりする手法が存在する
スミッシング
= Smishing
- SMS + phishing の混成語
- SMS を利用したフィッシング詐欺のこと
前方誤り訂正 (FEC)
= Forward Error Correction
- データが壊れた場合に再送要求をしていては間に合わない、即時性が求められる通信(電話など)において用いられる誤り訂正方式
- 誤り訂正用の符号を送信側で付加し、受信側ではそれを用いて壊れたデータを復元する
- ハミング符号など
ダウングレード攻撃
- SSL/TLS の暗号化通信を確立するときに、弱い暗号スイートの使用を強制することによって解読しやすい暗号化通信を行わせ、通信傍受などを行う攻撃の総称
- SSL/TLS の暗号化通信を確立するとき、クライアントとサーバの間での折衝フェーズに攻撃者が介入して、クライアントからの暗号スイート候補を弱い候補のみにすり替えてサーバに送信する
- ex. 使用するRSA鍵を512ビット以下に格下げする
- 対策
- サーバ側で弱い暗号スイートの使用を禁止する
- 最新のブラウザを使用する
中間者攻撃
- クライアントに対してはサーバに、サーバに対してはクライアントになりすますことで通信をしている2者の間に介入し、通信内容の盗聴・改ざんなどを行う攻撃
- 攻撃者は、公衆 Wi-Fi スポットを装った不正なアクセスポイントを設置して、知らずに接続したスマートフォン利用者と、その関係先の通信を取り次ぐなどして通信を行う2者のやり取りを全て中継できる状況を設ける
デジタルフォレンジックス
= Digital Forensics
- 不正アクセスや情報漏えいなどのセキュリティインシデントの発生時に、原因究明や法的証拠を保全するために対象となる電子的記録を収集・解析すること
- forensics = (犯罪捜査における)分析・鑑識
ハニーポット
- 悪意のある攻撃を受けやすいように設定した機器を、おとりとしてネットワーク上に公開する手法・システム
- サイバー攻撃を誘引し、攻撃者の特定や攻撃手法を分析することが目的
ポートスキャン
- サーバーの各ポートへデータを送信し、その応答から稼働状況を調べる方法
- サイバー攻撃の情報収集(下調べ)をするために使われることが多い
- 不用意に開放されているポートには攻撃をかけやすい
- サーバ側のログに残らない / 残りにくい手法を ステルススキャン という
- TCP/UDP それぞれにおけるポートスキャンの仕組み
ポートスキャンの種類
種類 | プロトコル | 内容 | 特徴 |
---|---|---|---|
TCP スキャン | TCP | ・標的ポートに接続し、3ウェイハンドシェイクのシーケンスを実行 ・「SYN を送る → SYN/ACK を受け取る → ACK を送る」の流れ |
接続が確立するため、ファイアウォールのログに残りやすくなる |
SYN スキャン | TCP | ・ステルススキャンの一種 ・「SYN を送る → SYN/ACK を受け取る → RST を送る」の流れで通信 |
接続が中断されるため、サーバ側では想定通りに処理が進まず、通信記録(ログ)に正しく記録されなくなる |
FIN スキャン | TCP | ・ステルススキャンの一種 ・本来は接続済みの相手に対して送る FIN パケットを未接続の相手に送りつける ・UNIX系OSなどが稼働するシステムでは稼働中のポートからは何も反応を返さず、ポートが閉じている場合のみRSTパケットを応答する |
|
UDP スキャン | UDP | ・対象ポートに UDP パケットを送りつける ・UDP が稼働していると「ICMP port unreachable」が返る |
ポートスキャンの対策
- 不要なポートを閉鎖
- ファイアウォールなどのログを定期的に確認
- 遮断ログが短い期間内に数多く残されていないか?
- IDS/IPS や WAF を導入
ポリモーフィック型マルウェア(ミューテーション型)
- ポリモーフィック = 多様な形、ミューテーション = 突然変異
- パターンマッチングによる検出を免れるため、感染の度に異なる暗号化/復号ルーチンで暗号化を行うなどして、自身のプログラムコードを都度変化させるマルウェア
その他
Auto MDI/MDI-X
- 通信相手のポートが MDI か MDI-X かを自動判別して、適切な方法で接続を行う機能
- ハブやスイッチなどの集線装置が備えている
- Ethernet で利用される LAN ポート(ケーブル差込口)には以下の2種類があり、送信用・受信用のピンの位置が逆
- MDI:主に PC 側
- MDI-X:主にハブやスイッチ側
- 機器同士の接続では、送信側と受信側のピンがつながるようにする必要がある
- ストレートケーブル:MDI と MDI-X の接続に利用
- クロスケーブル:MDI 同士、MDI-X 同士の接続に利用
NIC チーミング
- サーバ等に搭載した複数の物理 NIC(ネットワークアダプタ)を1つの仮想的な NIC として束ねる技術
- 一つのIPアドレスに複数のNICを割り当て、負荷分散・帯域の有効活用・耐障害性の向上を図る
FTA
= Fault Tree Analysis
- 故障の木解析
- 製品の故障、およびそれにより発生した事故の原因を分析する手法
- トップダウン:好ましくない事象(トップ事象)からその原因を逐次下位レベルに展開して,トップ事象とその原因の関係を定性的,定量的に把握する
QoS
= Quority of Service
- ルータやレイヤ3スイッチに実装されるトラフィック制御
- 主な QoS:
- 優先制御:フレームの種類や宛先に応じて優先度を変えて中継
- アドミッション制御:通信開始前に、ネットワークに対して帯域などのリソースを要求し、確保の状況に応じて通信を制御
- シェーピング:パケットの送出間隔などを調整し、最大速度を超過しないようトラフィックを平準化
- ポリシング:トラフィックが最大速度を超過しないか確認し、超過した場合は破棄したり優先度を下げたりする
呼量
- 用語
- 呼:1回の通話の利用時間(電話を発信し、相手側で着信して電話が切られるまで)
- 保留時間:回線を専有している時間(電話している時間)
- 呼量:単位時間内の電話利用時間。アーランという単位で表される
- 保留時間の平均値 / 呼の回数