network

概要

コンピュータ・ネットワークは複数のコンピュータを接続する技術。通常のWeb開発でこのレイヤーをいじることは多くないが、技術的背景を理解してないと解決できない種類の問題がある。

Memo

ネットワークレイヤー構成図

  • ロードバランサとは?わかりやすく解説! | GMOクラウドアカデミー
  • L1 物理層
    • 物理的な接続
  • L2 データリンク層
    • 間接的に接続されている通信機器間の信号の受け渡し
    • ハブの隣接しているLANの挿し口同士をつなぐ
  • L3 ネットワーク層
    • ネットワークにおける通信経路の選択
    • LANが遠くにつながるための、ルーターのこと
  • L4 トランスポート層
    • ネットワークの端から端までの通信管理
    • きちんと正しい相手に届くよう、責任を持って通信を届ける
  • L5 セッション層
    • 通信プログラム間の通信の開始から終了までの手順
    • プロトコルの管理。何の通信なのかを管理
  • L6 プレゼンテーション層
    • データの表現方法
    • 文字コードの管理
  • L7 アプリケーション層
    • 具体的な通信サービス
    • 何のアプリケーションを利用しているのか管理

Webサーバとソケット通信の例

TCP/IPのソケット通信とは、ソケットインターネットとも呼ばれ、主にプログラムの世界とTCP/IP世界を結ぶ特別な出入り口のことを意味し、TCP/IPのトランスポート層を指します。

TCP/IPとは?通信プロトコルの階層モデルを図解で解説 | ITコラム|アイティーエム株式会社

Nginx(webサーバ) + puma(アプリケーションサーバ) + Railsの実例で考える。

Railsでpumaを起動したときソケットパスを指定できる。起動すると、 puma.sock というファイルが作成される。

Nginxの設定。

upstream app_server {
  server unix:///rails/tmp/sockets/puma.sock;
}

とすると、Nginxを経由してpumaでサーブされる内容を表示できる。 ポートやプロセス関係は指定せずに2つのサーバが通信できていることに注目。

DNS

DNS(Domain Name System)はコンピュータが参照しているIPアドレスと、人間が識別しやすい表記のドメイン情報を管理するシステム。

例: AWS Route53はDNSのフルマネージドサービス。

レコードの種類

SOA
ゾーン情報
NS
DNSサーバ名
A
ホストのIPアドレス
PTR
IPアドレスに対するホスト名
CNAME
ホスト名のエイリアス
MX
ドメインのメール・サーバ名
HINFO
ホストの追加情報
WKS
ホストで実行されているサービス情報
TXT
ホストへのテキスト情報

主なDNSレコードの種類- @IT

そのほか、サービスよって独自拡張レコードが存在する。

サブドメイン設定

Terraformによるサブドメイン設定方法。 また、サブドメインもまとめてHTTPS化するため、ワイルドカードを含んだSSL証明書を発行する。

TerraformでAWS上にHTTPS化したサブドメインを定義する - My External Storage

Tasks

Reference

ウェブ用ストレージ

ブラウザでデータを保存する方法。

図解!ネットワークの7層を実務に当てはめてみた - Qiita

ネットワークの7層がそもそもあまり理解できてないので、具体的に置き換えて考える。

Archives