【ふくだ学習録】インフラエンジニア教本-ネットワーク構築技術解説- part3【53日目】

# ふくだ学習録とは？
ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。

### 読了した本

#### 技術系
[データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!]](https://www.amazon.co.jp/dp/4774158062/ref=cm_sw_r_tw_dp_U_x_FPphEbQFPPQRM )
[ゼロから作るDeepLearning](https://www.amazon.co.jp/dp/4873117585/ref=cm_sw_r_tw_dp_U_x_y3UiEbF3P6EG7)
[PHPフレームワーク CakePHP 3入門](https://www.amazon.co.jp/dp/4798048577/ref=cm_sw_r_tw_dp_U_x_.YIjEbS1K4JY2)
[SQLアンチパターン](https://www.amazon.co.jp/dp/4873115892/ref=cm_sw_r_tw_dp_U_x_XlokEbJQK2N7P )
[Docker入門](https://www.amazon.co.jp/dp/480071091X/ref=cm_sw_r_tw_dp_U_x_xVlmEbN8ZTHZK)
[PHPフレームワーク Laravel入門](https://www.amazon.co.jp/dp/4798052582/ref=cm_sw_r_tw_dp_U_x_zzeyEbJBSQ5Y0 )
[サーバ/インフラを支える技術](https://www.amazon.co.jp/dp/4774135666)


#### ビジネス系
[サブスクリプション](https://www.amazon.co.jp/dp/B07HY1TND9/ref=cm_sw_r_tw_dp_U_x_lp4NEb3EEGD7Y)
[Running Lean ―実践リーンスタートアップ](https://www.amazon.co.jp/dp/4873115914/ref=cm_sw_r_tw_dp_U_x_UsMREbV6Y41Y8)
[amazon 世界最先端の戦略がわかる](https://www.amazon.co.jp/dp/4478105057)
[Lean Analytics ―スタートアップのためのデータ解析と活用法](https://www.amazon.co.jp/dp/4873117119)
[ピーター・ティール 世界を手にした「反逆の起業家」の野望](https://www.amazon.co.jp/dp/4864106010)
[Airbnb Story 大胆なアイデアを生み、困難を乗り越え、超人気サービスをつくる方法](https://www.amazon.co.jp/dp/4822255190)
[ユダヤの商法](https://www.amazon.co.jp/dp/4584139008)
[How Google Works](https://www.amazon.co.jp/dp/4532198348)
[イシューからはじめよ](https://www.amazon.co.jp/dp/4862760856)
[ピクサー流　創造するちから](https://www.amazon.co.jp/dp/4478016380)
[ストーリーでわかる財務３表超入門](https://www.amazon.co.jp/dp/4478015619)


### 今読んでいる本
[インフラエンジニア教本 ~ネットワーク構築技術解説](https://www.amazon.co.jp/dp/4774170348)

# 第1章 DHCPサーバーの教科書

### DHCPでのIPアドレスの割り当て方法②
DHCPクライアントがDHCPサーバにIPアドレスの割り当てを要求する際、DHCPクライアントはまだIPアドレスを持っていないため、DHCP-DISCOVERのヘッダ情報には便宜上「0.0.0.0」が入っている。
宛先MACアドレスと宛先IPアドレスには「FFFF.FFFF.FFFF」と「255.255.255.255」が入っている。これらを**「ブロードキャストアドレス」**と呼ぶ。

一般的に、同じサブネット内の機器は、スイッチングハブなどのL2スイッチで接続されている。
L2スイッチでは、**宛先MACアドレスがブロードキャストアドレスのパケットは、サブネット内のすべての機器にパケットを送り届ける**ようになっている。

L2スイッチからパケットを受け取った機器は、宛先IPアドレスが自身のアドレスかを調べて、自分宛のパケットだけを受け取る。しかし今回の場合では、宛先IPアドレスもブロードキャストアドレスになっているため、この場合は**実際のIPアドレスとは関係なく、すべての機器が受診する約束になっている**。結果、DHCP-DISCOVERのパケットは、同じサブネット内のすべての機器が受診することになる。

ただし、宛先ポート番号「67」でUDPパケットを待ち受けているのは、DHCPサーバだけのため、実際にパケットを受け取り処理するのはDHCPサーバのみとなる。

### DHCPでのIPアドレスの割り当て方法③
リクエストを受けたDHCPサーバは、自身の「IPアドレス管理台帳」から未使用のIPアドレスを探し出して、その一つを「割り当て候補IPアドレス」としてDHCPクライアントに返送する。これが**DHCP-OFFER**になる。DHCP-OFFERのメッセージ本文の中には、サブネットマスクやデフォルトゲートウェイの情報、そして、DHCPサーバ自身のIPアドレスなども含まれている。

DHCP-OFFERの宛先MACアドレスには、DHCPクライアントのMACアドレスが指定されているため、このパケットはL2スイッチによりDHCPクライアントだけに届けれられる。このようなパケットを「ブロードキャスト」に対して「ユニキャスト」と呼ぶ。

これでDHCPクライアントは、自身が使用できるIPアドレス候補を知ることができる。

### DHCPでのIPアドレスの割り当て方法④
DHCPサーバは、再度ブロードキャストアドレスを使用して、**DHCP-REQUEST**を送信する。DHCP-REQUESTのメッセージ本文には、候補として受け取ったIPアドレスとDHCPサーバのIPアドレスが含まれており、「所定のDHCPサーバに対して、このIPアドレスの使用を宣言する」という意味になる。

これを受け取ったDHCPサーバは、受信確認を示す**DHCP-ASK**を先と同じユニキャストパケットで返送する。DHCPサーバは、自身の「IPアドレス管理台帳」に対して、このIPアドレスを「使用中」として記録し、どのクライアントが使用しているかわかるように、クライアントのMACアドレスも合わせて記録しておく。

### KVM
Kernel-based Virtual Machineの略。
カーネルベースの仮想マシン。

### virshコマンド
仮想マシンとハイパーバイザのリソースを管理するコマンド。
[virshコマンドの使い方](https://qiita.com/hana_shin/items/3fc67e2e6132bd534932)

### ifupコマンド
ネットワーク・インターフェースを有効にするコマンド。
[[Linux] ネットワーク・インターフェースの有効化/無効化](https://qiita.com/koara-local/items/564da1c2f778be1de6ba)


# 今日の一言
なかなか進まん！もっと早よ起きよ！