🗽 必要な処理
IPネットワークへの接続の際には、おおむね次の処理が必要になります。
- ハードウェアのネットワークインタフェースを利用可能にして物理的にネットワーク接続します
- ホスト名とネットワークアドレスを割り当てます(ネットワークによってはDHCPが行います)
- デフォルトゲートウェイを設定します
- 必要なネットワーク設定をブート時に実行できるようにします
- ネットワーク接続をテストします
- 利用しようとしているネットワークサービスを設定し、使用可能にします
😀 パケットの宛先
- OSが内部で保持している宛先ごとの中継ルータの情報をルーティング・テーブルと呼びます
- ルーティング・テーブルの表示は、
netstat -rn
で表示できます
- ルーティング・テーブルの表示は、
- どの宛先にもマッチしないパケットは、デフォルトゲートウェイに送られます
🚌 名前解決(IP <=> ホスト名の変換) =>
ホスト名を対応するIPアドレスに変換する処理は次のように行います。
/etc/hosts
ファイルに記載されている対応づけを参照します- DNS(Domain Name Service) サーバと通信し、検索を行います
🗻 DNS (Domain Name System)
DNSはホスト名とIPアドレスをマッピングして相互解決するための分散データベースです。
- DNSの名前空間は木構造となっており、ドメイン・ツリーと呼ばれます
- アプリケーションからの要求で名前解決を行うソフトが「リゾルバ
/etc/resolv.conf
」 - リゾルバ => ルートDNS => TLD => 下位のDNSの順に問い合わせを行い、名前解決します
参考元: 初めてUNIXで仕事をする人が読む本
🎂 DHCP (Dynamic Host Configuration Protocol)
- 有効なIPアドレス、ネットマスク、DNSサーバなどの設定を情報を提供します
- 設定した範囲内で個々のIPが動的に割り振ります
- 設定パラメータも割り当てられるので、管理コストを削減できます