こんにちは、sho44(twitter:sho4485935826)です。
「小悪魔女子大生のサーバエンジニア日記」というインフラよりに近い知識をまとめられた本を読み終えたのでまとめと感想を書いています。
(イメージで話している箇所があるのでマサカリください)
用語etcまとめ
・ネットワーク
情報の流れる経路
・インターネット
ネットワークの集まり
・プロトコル
約束事の集まり。手順
・TCP/IP
通信の際の約束事の集まり
通信用の共通言語
・TCPは何をするか
データのやりとりを保証するプロトコル
パケットに分けられたデータが全部揃っているか破損していないか確認したり、データを番号順に揃えたりする
・IP
宛先を書いてねと定めるプロトコル
・パケット
小さな小包。各パケットには番号が割り振られている
インターネットではデータはパケットに分けられて送られる
LANケーブルや無線LANを通る
・IPアドレス
コンピュータの住所
IPv4に基づいたプロトコル:8bit.8bit.8bit.8bit
IPv6に基づいたプロトコル:16bit.16bit.16bit.16bit.16bit.16bit.16bit.16bit
・ドメイン名
IPアドレスを人間にわかりやすい文字列にしたもの
・1byte
8bit
・NIC
コンピュータの部品。コンピュータがインターネットに繋がる口
パケットを電気信号にしたり電気信号をパケットにしたりする
・MACアドレス
NICにつけられた番号
8bit:8bit:8bit:8bit:8bit:8bit
前24bitをベンダーコード、後24bitを独自コードという
ベンダーコードはベンダー(メーカー)に割り当てられた固有の値
独自コードはベンダーが独自につけた番号
・クラスアドレッシング
IPアドレスをクラスA,B,C,DEに分けるグルーピング方法
このグルーピング方法では使われないIPアドレスが増える問題があったため現在は使われなくなった
・サブネットマスク
IPアドレスをネットワーク部とホスト部に分けるための数字の文字列
ネットワーク部を1、ホスト部を0で表す
・ネットワーク部
IPアドレスがどのネットワークに属しているかを識別する部分
・ホスト部
ネットワーク内のコンピュータを識別する部分
・ビットパターン
1,0の並び
・マスク
特定のbitをON,OFFにするために使うビットパターン
・クラスレスアドレッシング(CIDR)
IPアドレスのグルーピングの方法
ネットワーク部によってグルーピングする
・ユニキャスト
特定の人とのやりとり。糸電話のイメージ
・ブロードキャスト
多数の人とのやりとり。拡声器のイメージ
・グループ表記方法
IPアドレスをネットワーク部とホスト部に分けた時の区切りを示す方法
例)
xxx.xx.xxx.x netmask 255.255.255.252
CIDR表記だと:xxx.xx.xxx.x/30
30はプレフィックス長。サブネットマスクの前から何個が1か(ネットワーク部か)
・ARP
IPアドレスからMACアドレスを調べるためのプロトコル
・ARPテーブル
IPアドレスとMACアドレスを対応付けた表
通信するたびに更新される
IPアドレスとMACアドレスが変更されることがあるため、定期的にキャッシュがクリアされる
・ルーティング
パケットをどこに送るか割り振ること
ルーティング経路が複数あるときはプレフィックス長が長いものが選ばれる
・ルーター
ルーティングをする物
・デフォルトルート
スタティックルーティングの一種
ルーティングテーブルにない全ての経路を示す
別名ラストリゾート
・ホスト
インターネットに繋がったコンピュータ
・DNS
ホスト名を元にホストのIPアドレスを教える
・ルートネームサーバ
DNSのツリー構造の起点
・FQDN
ホスト名、TLD、SLD、、、が全て合わさったドメイン
・ルートドメイン
枝分かれしているドメインの頂点
・サブドメイン
あるドメインの一個下の階層のドメイン
・名前解決
IPアドレスとドメイン名を対応づけること
・DNSサーバ
名前解決を行う
コンテンツサーバ、スタブリゾルバ、フルサービスリゾルバから構成されている
・コンテンツサーバ
IPアドレスに関する情報を返す
・スタブリゾルバ
フルサービスリゾルバに情報がキャッシュされているか聞く
・フルサービスリゾルバ
ルートサーバから下の階層に順番に情報を持っているか問い合わせる
・ゾーンファイル
IPアドレスとドメイン名の対応表
・DNSレコード
ゾーンファイルの1行1行のこと
・TTL
Time To Live
何回ルーターを行き来したらパケットを破棄するかの値
・Aレコード
ドメイン名に対応するIPアドレスが書かれたレコード
・NSレコード
ネームサーバのサーバー名を定義するレコード
・MXレコード
ドメインとメールの配送先のホスト名を定義するレコード
・DNSゾーン
DNSサーバがドメイン名を管理する範囲
・SOAレコード
ゾーン管理するための情報や設定を書いたレコード
・TXTレコード
ホスト名に紐づく文字列を定義するレコード
・digコマンド
DNSサーバからドメインに関する情報を得るためのコマンド
・ネームサーバ
マスターサーバとスレーブサーバで構成されている
・マスターサーバ
ゾーンデータを持っている
・スレーブサーバ
ゾーンデータ(SOAレコード)をマスターサーバからコピーしてくる
負荷対策や障害時対策のために設置される
・minimum
ドメインが存在しないことをキャッシュしておく時間
・whoisコマンド
ドメイン登録情報を得るためのコマンド
検索先サーバとIPアドレス/ドメイン名を指定して使う
・ポート番号
コンピュータが通信する際のプログラムを識別するための番号
・DDos攻撃
大量のパケットを送って通信路を溢れさせる攻撃
・SMTP
メールを送信・転送するためのプロトコル
・メールアドレスの構成
aiueo@example.com
aiueoがユーザー名
example.comがドメイン名
・POP
メールサーバにメールを受け取りに行く仕組み
パソコンにメールをダウンロードするとメールサーバからはメールが消える
・IMAP
メールサーバにメールを受け取りに行く仕組み
パソコンにダウンロードしてもメールサーバにメールが残る
・envelop
メール送信の際の宛先を参照される部分
・mail header
メールを読む人のための宛先などの情報が見れるように書かれている
メール送信の時に参照されない部分
・HTTP
webブラウザとwebサーバとのデータ通信の時に使われるプロトコル
・メッセージヘッダ
ブラウザの情報が書かれている
・ステータスコード
100番台:リクエストが継続していることを示す
200番台:成功したことを示す
300番台:転送(リダイレクト)に関するもの
400番台:クライアント側のエラーを示す
500番台:サーバー側のエラーを示す
・バーチャルホスト
1つのサーバーで複数のドメイン/IPアドレスを運用する技術
ドメインの場合:NAMEベース
IPアドレスの場合:IPベース
・SSL
暗号化したデータを送受信する時のプロトコル
認証機関によってページの信頼性を保持している
・HTTPS
HTTPとSSLの組み合わせ
・open ssl
httpsから始まるURLの情報を得るコマンド
・ssh
secure shell
リモートコンピュータとやり取りするためのプロトコル
クライアントとサーバー間で通信を暗号化している
処理の流れまとめ
・データ通信の流れ
・ARPの流れ
・名前解決の流れ
・スレーブサーバが行う処理の流れ
1.refreshで指定した時間にマスターサーバにSOAレコードを要求する
2.SOAレコードのserialが自分より大きかったらゾーン転送する
3.マスターサーバからSOAレコードを受け取れなかった時はretryで指定した時間ごとにリクエストを送る
4.expiryで指定した時間を過ぎるとスレーブサーバは落ちる
・メール送信から受信までの流れ
その他
・MACアドレスではなくIPアドレスで送り先を決めるメリット
IPアドレスだと規則だってグルーピングができるので特定しやすい
・スタティックルーティングのメリット
ルーティングテーブルを改竄される可能性が少ない
・スタティックルーティングのデメリット
経路が決まりきっているのでその経路が使えなくなった時に通信できなくなる
・スタティックルーティングの作成について
サーバ管理者が行う
・ダイナミックルーティングの作成について
ルーター同士で知っている経路情報をやりとりしてテーブルを作成する
ルーティングプロトコルを用いて自動で経路変更を行う
・デフォルトルートのメリット
ルーティングに時間がかからない
デフォルトルートをルーティングテーブルに登録すると全経路を登録したのと同じになる
・ルートサーバの豆知識
世界に13ある(運用単位)
1つのルートサーバと同じIPアドレスを持つサーバが複数ある
レスポンスが早いルートサーバに繋がる
感想
インフラに関する知識を広く得られました。
普段のデータの送受信がどのように行われているか知ることができたし、IT用語について覚える良いきっかけになりました。
普段スタバで勉強することが多いのでタイトルを上に向けにくかったですが、それも良い思い出です。
この本を自分と同じ大学生が書いたと知り、とても良い刺激になりました。