network - novel-suzukikeisuke/study GitHub Wiki

通信プロコトル

  • メーカーが異なる機器同士でも、お互いに通信できるようにする約束事(ルール)
    • SMTP : 電子メールをメールサーバーに送信するためのプロコトル
      • ポート番号 : 25
    • POP : 電子メールをメールサーバーから受信するためのプロコトル
      • ポート番号 : 110
    • IMAP : メールサーバー上で電子メールを閲覧するためのプロコトル
      • ポート番号 : 143
    • FTP : ファイルを転送するためのプロコトル
      • ポート番号 : 21
    • Telnet : 遠隔地にあるサーバやルーター等を端末から操作する通信プロトコル
      • ポート番号 : 23
    • TCP : データの送受信を行う際に、データが正確に、そして順序通りに送受信されることを保証するプロコトル
    • UDP : 動画の再生など、時間を重視した通信に使用される通信プロトコル
    • IP : 複数の通信ネットワークを相互に接続し、データを中継・伝送して一つの大きなネットワークにすることができるプロコトル
    • ARP : IPアドレスからネットワーク上のMACアドレスを求めるためのプロトコル
      • MACアドレス : ネットワーク機器ごとに割り当てられる固有の宛先
    • ETHERNET : パソコンやネットワーク機器などの機器同士が、データをやりとりするときに利用する通信プロトコル
    • PPP : コンピューター同士が1対1の通信を行うための規約を定めたプロトコル
    • HDLC : ISO(国際標準化機構)によって標準化され、信頼性のあるデータ転送を提供するプロコトル
    • ARCNET : トークンパッシング方式を用いたLANプロトコル
      • トークンパッシング方式 : トークンを使って順番に送信権を回すため、複数のデバイスが同時にデータを送信して衝突するのを防ぐ
        • トークン : データ送信の権利を示す特別なデータパケット(データを一定のサイズに分割した小さな単位)
    • HTTP : WebサーバとWebブラウザの間で、Web情報をやりとりするためのプロトコル
      • ポート番号 : 80
    • HTTPS : SSL/TLSを用いて暗号化したHTTPによる通信
      • SSL/TLS : webブラウザとwebサーバー間の通信を暗号化するプロコトル
      • ポート番号 : 443
    • SSH : 通信が暗号化されるtelnet
      • ポート番号 : 22

インターネットの仕組み

  • インターネット : 世界各地の無数のネットワークを繋いだ巨大なネットワーク
  • IPアドレス : ネットワークに接続している「コンピューター」を識別するための番号
    • ネットワーク上の住所(コンピューターの場所)を示す
    • 例 : 13.112.248.159, 192.168.1.1
  • グローバルIPアドレス : インターネットに接続するコンピューターに割り当てられる世界で唯一のIPアドレス
  • プライベートIPアドレス : インターネットに直接は接続しないコンピューターに割り当てられるLAN内だけで使うIPアドレス
    • LAN : 社内や学校といった、狭い範囲のコンピューターで構成される小規模なネットワーク
  • ポート番号 : アプリケーションソフトウェアごとに割り当てられる「情報の出入り口を示す値」
  • ドメイン名 : IPアドレスに対応づけることができる、コンピューターを区別するための名前
    • 例 : IPアドレス(13.112.248.159) <--> ドメイン名(www.exsample.co.jp)
  • DNS : ドメイン名とIPアドレスを対応させる仕組み
  • URL : ドメイン名によって特定されたコンピューターのファイルやフォルダまで直接指定するための記法
  • IPv4 : 32ビットで構成されるIPアドレス
    • 8ビットごとに'.'で区切って10進数で表す
    • 例 : 13.112.248.159
  • IPv6 : 128ビットで構成されるIPアドレス
    • 16ビットごとに':'で区切って16進数で表す
    • 2001:0DB8:013D:2002:48FF:FE9A:A2C7:385C

OSI参照モデル

  • コンピューターが通信するために利用するネットワークの機能を7つの階層(Layer:レイヤー)に分類して、整理したモデルのこと
    • 階層ごとに通信プロトコルが定義されている
      • 第7層 : アプリケーション層(L7)
        • ユーザーが操作するアプリケーションが提供する具体的な機能についての仕様や通信手順を定めたもの
        • プロコトル : HTTP/HTTPS, FTP, Telnet
      • 第6層 : プレゼンテーション層(L6)
        • データの表現形式を定義するもの(例 : 文字コードの変換)
        • プロコトル : SMTPやPOP3、IMAP
      • 第5層 : セッション層(L5)
        • 通信プログラム間の開始から終了までの一連の手順(セッション)を定義(例 : 接続が途切れた場合、接続の回復を試みる際の手順など)
        • プロコトル : SSL/TLS
      • 第4層 : トランスポート層(L4)
        • 通信の品質をコントロールする層
        • プロコトル : TCP, UDP
      • 第3層 : ネットワーク層(L3)
        • ネットワークにおける通信経路の選択(ルーティング)や中継を定義
        • 代表的なプロコトル : IP, ARP
      • 第2層 : データリンク層(L2)
        • 直接的に接続された機器同士の通信を定義
        • 代表的なプロコトル : ETHERNET, PPP, HDLC, ARCNET
      • 第1層 : 物理層(L1)
        • ハードウェアのコネクターの形状やピン数といった物理的な接続の規定をプロトコルとして定めている
  • https://eset-info.canon-its.jp/malware_info/special/detail/220712.html

ポート番号

  • ウェルノウンポート番号(0~1023)
    • よく知られているポート番号
    • メジャーなサービスやプロトコルが利用するために予約されているポート番号
  • レジスタードポート番号(1024~49151)
    • 特定のアプリケーションなどが使用することになっているポート郡

  • サーバー : ユーザーからの要求に応じて、さまざまな処理を行うコンピュータ
  • ブラウザ : インターネット上のウェブページを表示するためのソフトウェア
    • 例 : Google Chrome、Mozilla Firefox、Microsoft Edge、Safari
  • ルータ : ネットワークとネットワークを繋ぐ機器(LANやWANを相互接続する機器)
    • WAN : 大規模な(広範囲)のネットワーク
  • ネットワーク : 複数のコンピュータやデバイスが互いにデータを交換できるように接続されたシステム
  • アプリケーション : ユーザーに特定の機能を提供するソフトウェア
  • OS : アプリケーションソフトウェアとハードソフトウェアの間で処理を仲介するソフトウェア
    • 例 : Windows, macOS, IOS, Android