ネットワーク学習ロードマップ

「ネットワークの勉強をやろうと思ったけど、どこから勉強すればいいの?」という方のために学習ロードマップを用意しました。

(画像の各項目をクリックすると、入門記事に飛べます。)

以降では、学習の流れの詳細とそれぞれの記事のリンク先を紹介します。

まず、OSI 参照モデル, TCP/IP を勉強するのがおすすめです。

上記を一通り読み終えれば、ネットワークの基礎について理解できます。

プロトコルや、対応するサーバー OSS などは以下の記事をご覧ください。

対応する OSS を実際に触ることで、プロトコルをより深く理解できると思います。

プロトコルサーバー OSSOSS の役割
HTTPnginx静的 Web サーバー
リバースプロキシサーバー
HTTPGunicorn動的 Web サーバー
(AP サーバー)
HTTPSquidプロキシサーバー
リバースプロキシサーバー
HTTPS
(TLS)
Let’s EncryptHTTP を暗号化
DNSBIND名前解決サーバー
LDAPOpenLDAPディレクトリサービス
SSHOpenSSHリモート操作
DHCPISC DHCPIP アドレスDNS の自動設定

その他に、ネットワークに関連する記事は以下のとおりです。

おすすめの書籍

ネットワークの学習を始める上でおすすめの書籍を紹介します。

なお、おすすめの学習順は以下です。

  1. 3分間ネットワーク基礎講座(必須・基礎知識)
  2. Amazon Web Services 基礎からのネットワーク&サーバー構築 (必須・実践)
  3. ネットワークはなぜつながるのか(オプション・知識)

3分間ネットワーク基礎講座

  • わかりやすさ:★★★★★
  • 情報の希少性 (google 検索で HIT するか):★☆☆☆☆
  • 分野の網羅度:★★★★★
  • 総合おすすめ度:★★★★★

3分間 Networking というサイトが書籍化されたものです。

とにかくわかりやすく、全く知識の状態からネットワークの学習を始める場合の定番本となっております。ただし、軽い雰囲気が苦手な人は以降で紹介する「マスタリングTCP/IP―入門編」をおすすめします。

まずは本書の雰囲気を掴むために、3分間 Networking のサイトを閲覧してはいかがでしょうか。

マスタリングTCP/IP―入門編

私は持ってないので評価はできませんが、ネットワークの入門書籍として有名な本です。

どこの会社でも書籍棚に置いてあり、入門書として最適です。

もう少し軽い雰囲気で学習したい場合は上記の「3分間ネットワーク基礎講座」をおすすめします。

Amazon Web Services 基礎からのネットワーク&サーバー構築

  • わかりやすさ:★★★★★
  • 情報の希少性 (google 検索で HIT するか):★★★★★
  • 分野全体の網羅度:★★★★☆
  • 総合おすすめ度:★★★★★

サーバー構築の実践経験を積みたい場合におすすめの書籍です。

本書籍の情報自体は全て google 検索で取得可能ですが、学習を始めたばかりの時はググるキーワードすらわからないかと思います。

そのため、何もわからない段階では書籍を利用して順に学習することをおすすめします。

本書を読み終え、自分でキーワードが自分で思い浮かぶようになれば後は google 検索だけで知識を収集できるようになります。

ネットワークはなぜつながるのか

  • わかりやすさ:★★★☆☆
  • 情報の希少性 (google 検索で HIT するか):★★★★☆
  • 分野全体の網羅度:★★★★★
  • 総合おすすめ度:★★★☆☆

通信の流れをより深く知識を吸収できます。

ただし、文章が硬いので、「3分間ネットワーク基礎講座」や「マスタリングTCP/IP―入門編」を読み終えた後に購入することをおすすめします。

おすすめの学習サイト

ネットワークの学習に関しては、以下の2つを抑えておけば間違いないです。

「A の記事と B の記事で矛盾したことを言っている。どっちが正しいの?」

という時は、以下のサイトにある RFC(Request for Comments)を信じましょう。

ネットワーク記事一覧

プロトコル

【入門 SSH プロトコル】コマンドでの接続方法やconfigの設定

SSH(Secure SHell)プロトコル SSH プロトコルとは、リモートホストを遠隔操作するためのプロトコル(ルール)です。通信経路が暗号化されていることからセキュアという名前がついています。 【第...
dns

【入門】dig コマンドとは?よく使うオプションの使い方を説明

dig (domain information groper) dig とは、DNS サーバーから情報を集めるために利用するコマンドです。主にドメイン名から IP アドレスを調べるために利用します。 本記...
OSS

【入門】curl コマンドとは?よく使うオプションの使い方を説明

curl curl とは、サーバーにリクエストを送信し、レスポンスを受け取るコマンドです。 HTTP プロトコル以外でリクエストも可能。本記事はHTTPを対象 初めに 本記事は HTTP 入門の cu...
web

【入門】Flask + Python で REST API を設計・実装

REST API (Representational State Transfer API) REST API (Representational State Transfer API) とは、以下の6つの REST ア...
web

【入門】認証方式とサーバーの設定をわかりやすく解説

本記事は以下の4つの認証について解説します。 Basic 認証 Form 認証 (Cookie によるセッション管理) Digest 認証 Bearer 認証 (OAuth, OIDC からのアクセストーク...
web

Let’s Encrypt で nginx に HTTPS を設定 (TLS 証明書を発行)

Let's Encrypt Let's Encrypt とは、TLS 証明書を無料で発行する証明書認証局です。 certbot というツールを利用し、Let's Encrypt の認証局から TLS 証明書を発行...
web

【入門】nginx とは?設定方法を紹介

本記事は Web サーバー構築の第1回「nginx」編です。 【Web サーバー構築1】Web/リバースプロキシ/ロードバランサー (nignx) ←イマココ【Web サーバー構築2】プロキシ/リバースプロキシサーバー (squid...
web

【入門】Squid とは?proxy サーバーの構築方法を紹介

Squid Squid とは、「プロキシ」と「リバースプロキシ」のサーバー機能を持つソフトウェアです。 プロキシサーバー プロキシサーバーとは、クライアントの代わりに外部サーバーにアクセスするサ...
web

nginx + Gunicorn + Flask で Python の Web アプリ入門

この記事では以下の順でアプリケーションを作成します。 Python アプリケーションで Hello World を実行動的 Web サーバー(アプリケーションサーバー)で Hello World を実行Web アプリケーションフレー...
dns

【入門 DNS プロトコル】 名前解決の確認方法をわかりやすく説明

DNS プロトコルとは DNS プロトコルとは、ドメイン名から IP アドレスなどを取得するプロトコルです。※ ドメイン名=google.com、IP アドレス=142.250.207.46 など 初めに...