層で考える(TCP/IP の 4 つの層)
通信は、役目の違う 4 つの層の組み合わせです。送る側は上から下へ、層ごとに「頭(ヘッダー)」を付けて包み、受け取る側は下から上へほどきます。番号か「次へ」を押すと、1 歩ずつ進みます。アドレスとポートは作り物です。
IP アドレスとポート
IP アドレスは「どの機械か」、ポート番号は「その中のどのプログラムか」を表します。クラウドで VPC やサブネットを作るときは、アドレスの範囲を CIDR(10.0.0.0/16 のような書き方)で決めます。
CIDR の計算機
TCP と UDP
TCP は、つなぐ前に 3 回のあいさつをして、届かなかった分を送り直します。UDP は、そのしくみを持たない代わりに軽い運び方です。
3 回のあいさつ(3-way handshake)
番号は、TCP の決まり(RFC 9293)の図と同じ例です。
つながらないときの見分け方 考え方のヒント
DNS の深掘り
DNS は、名前を住所などに引く仕組みです。どこへ問い合わせて答えが返るかの流れは、Web の仕組み「URL を打ってから画面が出るまで」の DNS の歩で見られます。ここでは、答えの中身を読みます。
よく使うレコードの種類
dig の答えを読む(作り物)
status が NXDOMAIN なら「その名前はない」という答え。
考え方のヒントTTL は「その答えを、何秒まで覚えておいてよいか」。DNS を変えても、覚えている所では TTL の間は古い答えが使われます。大事な切り替えの前は、TTL を先に短くしておきます。
TLS の深掘り
HTTPS の「S」は TLS です。証明書で相手が本物かを確かめ、そのあとの中身を暗号化します。
信頼の鎖
サーバーは、自分の証明書と中間の証明書を送ります。ルートは、受け取る側がもともと持っているので、送らなくてよい決まりです。
TLS 1.3 のあいさつ(3 つの段階)
HTTP/1.1・HTTP/2・HTTP/3
同じ HTTP の頼みでも、どう運ぶかが版ごとに違います。下のボタンで、包みが 1 つなくなったときの違いを比べられます。
HTTP/2(TCP の上)
HTTP/3(QUIC の上)
ロードバランサーとプロキシ
本番では、利用者とアプリの間に、ロードバランサーやリバースプロキシが立ちます。台数を増やす話は性能とスケール「台数を増やす」へ。
待ち時間の上限が、重なっている
考え方のヒント間に立つものには、それぞれ待ち時間の上限があります。数字は、それぞれの初めの設定です。処理にかかる秒数を動かすと、どこが先に打ち切るかが分かります。
囲いと通り道(VPC・サブネット・セキュリティグループ)
クラウドでは、自分専用の網(VPC)を区切って、その中のどこに何を置き、だれからの通信を通すかを決めます。
よくある置き方 考え方のヒント
調べる道具
どこで止まっているかを、下の層から順に確かめます。コマンドの基本は Linux「よく使うコマンド」、切り分けの考え方は デバッグ「切り分けの技と道具」へ。出力は作り物です。
AI 時代AI と通信
AI のエージェントや道具は、自分で外へ通信します。どこへ出てよいかを、人が決めておきます。
チェックリスト
確かめたものに印を付けてください(この端末にだけ残ります)。