ネットワークへの接続


🚌 必要な処理

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が動的に割り振ります
  • 設定パラメータも割り当てられるので、管理コストを削減できます

🍮 参考リンク

📚 おすすめの書籍