ネットワークの基礎知識
-
ネットワークの概念:ネットワークは、複数のデバイスが相互に接続し、特定のプロトコルを使用して通信する集合体です。各デバイスには固有のIPアドレスがあり、ネットワーク内で識別および通信に使用されます。
-
IPアドレス:IPアドレスは、ネットワーク内のデバイスの一意の識別子であり、IPv4とIPv6の2種類があります。IPv4アドレスは32ビットで表され、通常は4つの10進数で表されますが、IPv6アドレスは128ビットであり、通常は8組の16進数で表されます。
-
プロトコル(protocols):データがネットワーク内で転送される際には、特定のプロトコルに従います。代表的なプロトコルには、IPプロトコルやTCPプロトコルがあります。IPプロトコルはデータパケットを送信元から宛先まで転送し、TCPプロトコルはデータパケットが順序通りに宛先まで到達するようにします。
-
ネットワーク層構造(network layers):コンピューターネットワークのプロトコルは、異なる階層構造に組織され、段階的にデータを処理します。一般的な層には、ネットワーク層、トランスポート層、アプリケーション層などがあります。
-
公開ネットワークとプライベートネットワーク(public & private network):公開ネットワークのIPアドレスはグローバルに一意であり、インターネットを介してアクセスできますが、プライベートネットワークのIPアドレスはローカルネットワーク内でのみアクセス可能です。
-
動的IPアドレスと静的IPアドレス(static & dynamic ip address):動的IPアドレスはデバイスがネットワークに接続されるときにサーバーから動的に割り当てられますが、静的IPアドレスは手動で構成する必要があります。静的IPアドレスは通常、固定アドレスが必要なサーバーなどに使用されます。
-
ポート(ports):ポートは異なるアプリケーションやサービスを区別する数字の識別子であり、同一デバイス上で複数のアプリケーションやサービスを同時に実行できます。一般的なポート番号には、HTTPの80番ポートなどがあります。
TCP&UDP
TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)の用途と特徴:
-
TCPの用途:TCPはデータの信頼性のある転送を確保し、双方向接続(つまり3ウェイハンドシェイク)を確立して信頼性のあるデータ転送を実現します。TCPはデータパケットを並べ替えて再送し、データの信頼性を確保します。その信頼性故に、TCPはファイル転送、ウェブページアクセスなどのデータの完全性と順序性が必要なアプリケーションに使用されます。ただし、TCPの信頼性には追加のオーバーヘッドと速度の低下が伴います。
-
UDPの用途:UDPはTCPほど信頼性はありませんが、転送速度が速いです。UDPは失われたデータパケットを再送したり、順序を再配置することはしません。UDPはデータ転送の速度と効率が重視される場面で使用されます。例えば、オンラインゲーム、ビデオストリーミングなどです。これらの場面では速度と効率が信頼性とエラー訂正よりも重要です。
総じて言えば、TCPは信頼性のある転送が必要な場面で使用され、UDPは速度が重視されるが信頼性が低い場面で使用されます。
DNS
-
Domain Name System(DNS):DNSはインターネットの電話帳のようなもので、見やすいウェブサイト名を数字のIPアドレスに変換します。階層構造の名前システムを使用して、ドメイン名をIPアドレスにマッピングし、コンピューターがリクエストのルーティングを決定します。
-
ICANNとドメイン登録業者:ICANNは、DNSの全体的な調整、セキュリティ、運用を担当しています。ドメイン登録業者は、ショッピングセンターのリース提供業者のようなもので、ドメイン登録サービスを提供し、ICANNから認定を受けています。彼らはユーザーが使用可能なドメインを検索し、登録プロセスを完了するのを支援します。
-
DNSレコード:DNSレコードは、ドメインやサブドメインに関連する情報を保存します。その中で、Aレコードが最も一般的なDNSレコードの種類であり、ドメイン名をIPv4アドレスに関連付けます。DNSレコードの役割は、リクエストを正確なサーバーにルーティングすることです。
-
URL(Uniform Resource Locator)の解剖:URLには複数の部分が含まれており、プロトコル、ドメイン、サブドメイン、トップレベルドメイン、パス、ポートなどがあります。URLを解析することで、リソースへのアクセスに必要なプロトコル、サーバーの位置、リソースのパスを特定できます。
-
ポート:ポート番号は、同じデバイスで実行されている複数のアプリケーションやサービスを区別するための番号です。通常、HTTPプロトコルはデフォルトの80番ポートを使用し、HTTPSプロトコルはデフォルトの443番ポートを使用します。URLでポート番号を指定することができますが、通常は明示的に指定する必要はありません。