0
0

システムデザインの概念(part2 : ネットワーキング)

Posted at

ネットワークの基礎知識

  1. ネットワークの概念:ネットワークは、複数のデバイスが相互に接続し、特定のプロトコルを使用して通信する集合体です。各デバイスには固有のIPアドレスがあり、ネットワーク内で識別および通信に使用されます。

  2. IPアドレス:IPアドレスは、ネットワーク内のデバイスの一意の識別子であり、IPv4とIPv6の2種類があります。IPv4アドレスは32ビットで表され、通常は4つの10進数で表されますが、IPv6アドレスは128ビットであり、通常は8組の16進数で表されます。

  3. プロトコル(protocols):データがネットワーク内で転送される際には、特定のプロトコルに従います。代表的なプロトコルには、IPプロトコルやTCPプロトコルがあります。IPプロトコルはデータパケットを送信元から宛先まで転送し、TCPプロトコルはデータパケットが順序通りに宛先まで到達するようにします。

  4. ネットワーク層構造(network layers):コンピューターネットワークのプロトコルは、異なる階層構造に組織され、段階的にデータを処理します。一般的な層には、ネットワーク層、トランスポート層、アプリケーション層などがあります。

  5. 公開ネットワークとプライベートネットワーク(public & private network):公開ネットワークのIPアドレスはグローバルに一意であり、インターネットを介してアクセスできますが、プライベートネットワークのIPアドレスはローカルネットワーク内でのみアクセス可能です。

  6. 動的IPアドレスと静的IPアドレス(static & dynamic ip address):動的IPアドレスはデバイスがネットワークに接続されるときにサーバーから動的に割り当てられますが、静的IPアドレスは手動で構成する必要があります。静的IPアドレスは通常、固定アドレスが必要なサーバーなどに使用されます。

  7. ポート(ports):ポートは異なるアプリケーションやサービスを区別する数字の識別子であり、同一デバイス上で複数のアプリケーションやサービスを同時に実行できます。一般的なポート番号には、HTTPの80番ポートなどがあります。

TCP&UDP

TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)の用途と特徴:

  1. TCPの用途:TCPはデータの信頼性のある転送を確保し、双方向接続(つまり3ウェイハンドシェイク)を確立して信頼性のあるデータ転送を実現します。TCPはデータパケットを並べ替えて再送し、データの信頼性を確保します。その信頼性故に、TCPはファイル転送、ウェブページアクセスなどのデータの完全性と順序性が必要なアプリケーションに使用されます。ただし、TCPの信頼性には追加のオーバーヘッドと速度の低下が伴います。

  2. UDPの用途:UDPはTCPほど信頼性はありませんが、転送速度が速いです。UDPは失われたデータパケットを再送したり、順序を再配置することはしません。UDPはデータ転送の速度と効率が重視される場面で使用されます。例えば、オンラインゲーム、ビデオストリーミングなどです。これらの場面では速度と効率が信頼性とエラー訂正よりも重要です。

総じて言えば、TCPは信頼性のある転送が必要な場面で使用され、UDPは速度が重視されるが信頼性が低い場面で使用されます。

DNS

  1. Domain Name System(DNS):DNSはインターネットの電話帳のようなもので、見やすいウェブサイト名を数字のIPアドレスに変換します。階層構造の名前システムを使用して、ドメイン名をIPアドレスにマッピングし、コンピューターがリクエストのルーティングを決定します。

  2. ICANNとドメイン登録業者:ICANNは、DNSの全体的な調整、セキュリティ、運用を担当しています。ドメイン登録業者は、ショッピングセンターのリース提供業者のようなもので、ドメイン登録サービスを提供し、ICANNから認定を受けています。彼らはユーザーが使用可能なドメインを検索し、登録プロセスを完了するのを支援します。

  3. DNSレコード:DNSレコードは、ドメインやサブドメインに関連する情報を保存します。その中で、Aレコードが最も一般的なDNSレコードの種類であり、ドメイン名をIPv4アドレスに関連付けます。DNSレコードの役割は、リクエストを正確なサーバーにルーティングすることです。

  4. URL(Uniform Resource Locator)の解剖:URLには複数の部分が含まれており、プロトコル、ドメイン、サブドメイン、トップレベルドメイン、パス、ポートなどがあります。URLを解析することで、リソースへのアクセスに必要なプロトコル、サーバーの位置、リソースのパスを特定できます。

  5. ポート:ポート番号は、同じデバイスで実行されている複数のアプリケーションやサービスを区別するための番号です。通常、HTTPプロトコルはデフォルトの80番ポートを使用し、HTTPSプロトコルはデフォルトの443番ポートを使用します。URLでポート番号を指定することができますが、通常は明示的に指定する必要はありません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0