Tech Hotoke Blog

IT観音とは私のことです。

ネットワーク入門【TCP/IP】

f:id:TechHotoke:20211218000524p:plain

まえがき

少しずつ更新していきます

今回はIPについて

目的

TCP/IPの概要について復習

前提

  • ITパスポート取得レベルの知識があること
  • インターネットの基本的な用語などが分かること

環境

TCP/IP

f:id:TechHotoke:20211217232451p:plain

ネットワーク層

IP(Internet Protocol)

  • TCP/IPのインターネット層で中心的な役割を担う。エンドツーエンド(データの送信元と送信先をつなぐ経路全体)の通信を実現するプロトコル
  • コネクションレス:正しく届いたかは認知しない仕組み。送ったら送りっぱなし状態。
  • ベストエフォート:保証はしないができるだけ通信が行われるような最低限の仕組みが備わっている。
  • データ回復機能はない

  • IPアドレス

    • 世界中で一意の値
    • 32ビットで構成(例:11000000.10101000.00000001.00000011)
    • ネットワーク部とホスト部に分けられる((例:11000000.10101000.|00000001.00000011))
    • IPアドレスクラス f:id:TechHotoke:20211217231819p:plain

    • グローバルIPアドレス:インターネットに接続できるアドレス

    • プライベートIPアドレス:インターネットに接続できないアドレス f:id:TechHotoke:20211217233603p:plain
  • デフォルトゲートウェイ

    • 外部のインターネットとの出入り口
    • ルータのようなL3デバイスが担う
    • ポートごとにIPアドレスを持ち、各ネットワーク内のノードがそのIPアドレスを記憶することで外部との通信を実現することが可能

ARP(Address Resolution Protocol)

f:id:TechHotoke:20211217234924p:plain

ARPリプライで返却されたMACアドレスARPテーブルという場所に一定時間保存されます。そうすることでブロードキャストを毎回行う必要がなくなります。

ARPテーブルから情報が一定時間で削除されることをARPキャッシュと呼びます。

f:id:TechHotoke:20211217235408p:plain

また、arp -aコマンドで現在のARPテーブルの中身を確認することも可能です。 f:id:TechHotoke:20211217235824p:plain

ICMP(Internet Control Message Protocol)

エラー通知や問い合わせを転送するプロトコル

ベストエフォート型のプロトコルであるIPの補助的な役割が大きい。

  • ping:特定のノードと通信を行うことができるか確認する際に用いられるコード。エコー要求(タイプ8)を発信し、対象のノードからエコー応答(タイプ0)が返ってきたら接続可能と判断する。(エコー要求を受けたら必ず何かしらの応答を返す)

traceroute <接続先ホスト名>で目標としたホストまでのネットワークの経路情報を表示することが可能です。 f:id:TechHotoke:20211218230732p:plain

トランスポート層

  • トランスポート層:通信の信頼性に関するプロトコル群(主にTCPUDP)がまとめられた層
  • ポート番号:送信元のアプリケーションと受信先のアプリケーションを特定するためのデータ。PCを一つの大きな会社だとしたらIPは住所、ポート番号は何部の誰さん宛てかを判別するもの。
  • セッションの多重化:ポート番号が存在することで、一つのIPアドレスで複数のアプリケーションと通信することができる。 f:id:TechHotoke:20211219231846p:plain
  • ウェルノウンポート:エンジニアの教養として覚えておくことをオススメします。(自分が覚えているかは別)

ウェルノウンポートの一覧

TCP(Transmission Control Protocol)

  • 正確性重視
  • コネクション型:送信元・送信先で相互に通信の状況を確認しながら接続を行う
  • データはセグメントという単位に分割される f:id:TechHotoke:20211220232612p:plain

  • 制御ビットを用いて、通信の確立を行う f:id:TechHotoke:20211220234553p:plain

  • 3wayハンドシェイク:TCPにおける接続の確立の手法

  • ACKとSYNが使われる f:id:TechHotoke:20211220234627p:plain

  • SYNのフラグが立てられ、送信。それを受けてACKフラグを立てて返却 f:id:TechHotoke:20211220235349p:plain

  • ACKフラグと一緒にSYNフラグも立てて返却。それを受けてACKフラグを立てて返却。通信の確立。 f:id:TechHotoke:20211220235538p:plain

UDP

  • 速さ重視