まえがき
少しずつ更新していきます
今回はIPについて
目的
TCP/IPの概要について復習
前提
- ITパスポート取得レベルの知識があること
- インターネットの基本的な用語などが分かること
環境
TCP/IP
- デファクトスタンダード
- RFCによって標準化
- 4階層構造(OSI参照モデルは7階層)
ネットワーク層
IP(Internet Protocol)
- TCP/IPのインターネット層で中心的な役割を担う。エンドツーエンド(データの送信元と送信先をつなぐ経路全体)の通信を実現するプロトコル
- コネクションレス:正しく届いたかは認知しない仕組み。送ったら送りっぱなし状態。
- ベストエフォート:保証はしないができるだけ通信が行われるような最低限の仕組みが備わっている。
データ回復機能はない
-
- 世界中で一意の値
- 32ビットで構成(例:11000000.10101000.00000001.00000011)
- ネットワーク部とホスト部に分けられる((例:11000000.10101000.|00000001.00000011))
IPアドレスクラス
グローバルIPアドレス:インターネットに接続できるアドレス
- プライベートIPアドレス:インターネットに接続できないアドレス
ARP(Address Resolution Protocol)
ARPリプライで返却されたMACアドレスはARPテーブルという場所に一定時間保存されます。そうすることでブロードキャストを毎回行う必要がなくなります。
ARPテーブルから情報が一定時間で削除されることをARPキャッシュと呼びます。
また、arp -a
コマンドで現在のARPテーブルの中身を確認することも可能です。
ICMP(Internet Control Message Protocol)
エラー通知や問い合わせを転送するプロトコル。
ベストエフォート型のプロトコルであるIPの補助的な役割が大きい。
- ping:特定のノードと通信を行うことができるか確認する際に用いられるコード。エコー要求(タイプ8)を発信し、対象のノードからエコー応答(タイプ0)が返ってきたら接続可能と判断する。(エコー要求を受けたら必ず何かしらの応答を返す)
traceroute <接続先ホスト名>
で目標としたホストまでのネットワークの経路情報を表示することが可能です。
トランスポート層
- トランスポート層:通信の信頼性に関するプロトコル群(主にTCPとUDP)がまとめられた層
- ポート番号:送信元のアプリケーションと受信先のアプリケーションを特定するためのデータ。PCを一つの大きな会社だとしたらIPは住所、ポート番号は何部の誰さん宛てかを判別するもの。
- セッションの多重化:ポート番号が存在することで、一つのIPアドレスで複数のアプリケーションと通信することができる。
- ウェルノウンポート:エンジニアの教養として覚えておくことをオススメします。(自分が覚えているかは別)
TCP(Transmission Control Protocol)
- 正確性重視
- コネクション型:送信元・送信先で相互に通信の状況を確認しながら接続を行う
データはセグメントという単位に分割される
制御ビットを用いて、通信の確立を行う
3wayハンドシェイク:TCPにおける接続の確立の手法
ACKとSYNが使われる
SYNのフラグが立てられ、送信。それを受けてACKフラグを立てて返却
ACKフラグと一緒にSYNフラグも立てて返却。それを受けてACKフラグを立てて返却。通信の確立。
UDP
- 速さ重視