【インフラ】TCP/IP 再入門【暇人の勉強ログ vol. 2】
レイヤとは
通信機能を階層に分割し、独立に開発可能とする。 「開放型システム間相互接続(Open System Interconnect)」、通称 OSI の設計方針に基づく。
L1: 物理層
伝送路 に関する問題を扱う。 どのようなケーブルを使うか、どのようなコネクタが必要か、それに合うインターフェースは?など。
L2: データリンク層
レイヤ 1 で疎通可能となった電気信号を「フレーム」という通信単位で扱う。
L2 スイッチとは
MAC アドレステーブルをもとに、物理ポートとその先に存在するネットワーク機器の MAC アドレスを変換する。 この L2 スイッチから直接接続できるネットワーク機器群を LAN と呼ぶ(多分)。
なお、MAC アドレステーブルを持っていない場合は「スイッチ」ではなく「ハブ」と呼ばれる。
L2 スイッチ の動作例
PC A から、IP アドレス 192.168.1.6 にある PC B にトラフィックを送信するとする。 レイヤ 2 スイッチ環境内のブロードキャストドメインを元に、ブロードキャストパケットを受信したポート以外の全てのポートにブロードキャストトラフィックが転送される。ここで、ブロードキャストはレイヤ 3 境界を越えることは出来ないため、同じセグメント内に含まれる。
しかし、PC B の固有 MAC アドレスは、ARP によって検出されるまでわかりません。ARP はレイヤ 2 セグメント全体にブロードキャストされる。 適切な宛先 MAC アドレスにパケットが送信された後、スイッチにより、MAC アドレス テーブルに基づいて正しいポートに転送される。
L3: ネットワーク層
レイヤ 2 で構築された LAN 同士の接続を実現する。 レイヤ 3 では、データ列を「パケット」という単位で扱い、各端末にはレイヤ 3 用のアドレス (=IP アドレス) が割り当てられる。
L3 スイッチとは
ほぼルータと同じ。パケットの宛先を判断して転送を行う。
が、レイヤ 3 スイッチが「多くのポートを備えたルータ」ではない。
VLAN
Virtual LAN のこと。 物理的議論では、LAN =「同じスイッチに接続された端末群」としていたが、VLAN は物理的な接続に関係なく互いに接続できるグループを構成する。
VLAN のメリット
VLAN 機能を使えば、同じスイッチに接続されていても別の VLAN 内に構成されている端末との通信が出来なくなる。
レイヤ 3 スイッチの必要性
メリットの裏返しとして、1 つのスイッチに接続している端末同士でも、VLAN 機能を利用していると VLAN 間の通信にはルータが必要になる。これにより開発された LAN スイッチにルータの機能を組み込んだ装置が、レイヤ 3 スイッチである。
L3 スイッチの動作例
VLAN 間で(2 つの VLAN インターフェイスを通じて)ルーティングを実行するレイヤ 3 スイッチングの例は以下の通り。VLAN 20 にブロードキャストされた ARP 要求による PC B の MAC アドレス解決をもとに、適切な宛先 MAC アドレスに書き換えられ、レイヤ 2 セグメントからパケットが返送される。
ネットワーク分割
ネットワーク分割の方法 3 種
- 物理的に分割
- 論理的に分割
- IP アドレスでの分割
- VLAN での分割
目的
セキュリティ上の理由 がメジャー。 セグメント内での通信は許可するが、セグメントを跨ぐ L2 通信はさせたくないのが目的となる。 特に L2 通信で代表的な ARP は基本的にブロードキャストで LAN 内にパケットが送られるため、ネットワーク内部でキャプチャされていた場合、他セグメントの情報も確認できてしまう。
物理的に分割
解:レイヤ 2 スイッチを分ける
ここで注意しなければならないのは、分割しているのは イーサネットのネットワーク である。
IP アドレスでの分割
IP アドレス(サブネット分割)により論理的に分割することもできる。
ここで注意しなければならないのは、物理的に同じイーサネットネットワークで構成されていた場合、ブロードキャスト / マルチキャストなどがフラッディングしてしまう。
VLAN で分割
VLAN の章で述べた通り、論理的にスイッチを分割し、イーサネットネットワークを分割する。
IPv4
割り当てできない IP アドレス
- ネットワークアドレス
- ホスト部のビットが全て 0 のもの
- 10.0.0.0 や 192.168.1.0 など
- 0.0.0.0/0 は全ての IP アドレス範囲を示す。
- ブロードキャストアドレス
- ホスト部のビットが全て 1 のもの
- 10.255.255.255 や 192.168.1.255 など
IP アドレスの範囲と表記
- CIDR (Classless Inter-Domain Routing) 表記
- 「サイダー」と読む
- アドレスの後ろに、
/n
(n: プレフィックス。ネットワーク部のビット長) と書く - ex)
192.168.0.0 ~ 192.168.255.255
=192.168.0.0/16
- サブネットマスク表記
ルーティングプロトコル
新たなネットワークを追加するとき、その情報をルーティングテーブルに反映させる。
EGP
Exterior Gateway Protocol の略。 AS (Autonomous System) 間の境界上に位置するルータ同士が経路情報を交換し合うためのプロトコルのこと。現在は BGP (Border Gateway Protocol) が主流。
ISP(Internet Service Provider) や AWS などの AS は、固有の AS 番号が割り振られている。BGP では、BGP ネイバー(ルート情報を交換する BGP ルータ)に BGP テーブル上のベストパスのルート情報を AS 番号とともにアドパタイズする。
IGP
Interior Gateway Protocol の略。 AS 内部で完結する経路制御プロトコルを呼ぶ。RIP (Routing Information Protocol) や OSPF (Open Shortest Path First) が主流である。
RIP はディスタンスベクタ型と呼ばれ、宛先ネットワークまでの距離を表すメトリック(RIP はホップ数)であるディスタンスと、ネクストホップとインターフェースに相当するベクタを用いてルート情報を表現する。また 30 秒ごとにルート情報を送信し合うことで、送信しているルート情報のネットワークが正常に稼働していることを他の RIP ルータに通知している。一方ルータ数が多くなると、コンバージェンス(収束)時間が長くなるため、障害発生時に削除すべきルート情報が残り続けルーティングループが発生する可能性が高い。小規模ネットワーク向き。
OSPF は リンクステート型と呼ばれ、ルータ同士は単純なネットワークアドレス/サブネットマスクではなく、LSA(Link State Advertisement) を交換する。ネットワークを「エリア」と呼ばれる小さな単位に分割して経路情報を管理しており、同一エリア内のルータは全て同じトポロジデータベースを保持する。他のエリアからは内部の詳細なトポロジは見えないようになっており、経路情報の削減に貢献している。中規模ネットワーク向き。
ICMP
Internet Control Message Protocol の略。
ping
コマンドを実現しているプロトコルである。IP プロトコルの「エラー通知」や「制御メッセージ」を転送するために利用される。
NAT
知っていることが多いので略
Linux コマンド
lsof
実行中のプロセスを調べる。
$ sudo lsof -i -n -P COMMAND PID USER ... NAME dhclient 1017 root ... *:68 sshd 1147 root ... *:22 (LISTEN) ...
LISTEN
が「待ち受け状態」、 ESTABLISHED
が「通信中のポート」を示す。
AWS 予備知識
AL2 と RHEL
- Amazon Linux 2 は、RHEL 7 (「レル」と読む)系
- Amazon Linux AMI (前バージョン) は RHEL 6 系と言われている
- RHEL とは Red Hat Enterprise Linux の略で、Linux ディストリビューションの一つ。
- 以下のような特徴を持つ
- 安定性重視 (サーバ用 OS として利用される)
- 有償
- サポートが充実 (toB)
Apache と Nginx
Web サーバ用のミドルウェア。OS とアプリケーションを仲介する。
Apache
- マルチプロセスのプロセス駆動アーキテクチャ を採用
Nginx
C10K 問題
- Apache の(?)マルチプロセスに付随する問題を指す
- クライアント数が 1 万 (=10k)を越えると、「ハードウェア性能に余裕があっても」「プロセス数の上限に達し」「リクエストの応答性能が極端に低下する」
- これを解決するのがシングルスレッド & 非同期・ノンブロッキング I/O
追々更新していく。
その他参考
- LAN スイッチ - Cisco
- VLAN のレイヤ 3 スイッチとレイヤ 2 スイッチの比較
- Apache と Nginx について比較 - Qiita
- いまさら聞けない Node.js | さくらのナレッジ
布教コーナー
ここからが本編だぞ!
以前紹介した 葉加瀬冬雪 さんにどっぷりハマり中。
「指示厨殺し」と言われるほど自由気ままでマイペースなゲーム実況で有名ですが、それ以上に、いや誰よりも何よりも「配信がしたい!」という気持ちが伝わってくる姿がとても素敵なVTuberです。
最近は諸々で忙しそうですが、彼女のやりたい事や夢に向かって全力で楽しんでほしいなぁと、一介の モルモット リスナーとして応援しています。
「死んだら即終了SEKIROシリーズ」はオススメ。短いし 面白いし、毎日0時スタートなのでとても見やすい。配信したいけど長時間は取れない…、そんな中、逆転の発想でこういう企画で楽しませてくれる はかちぇには頭が上がりません。
今日こそ大手門が開くのだろうか… www.youtube.com
今週金曜日(10月23日)は!!!はかちぇの!!!3Dお披露目!!!見ろ!!!