駆け出しエンジニアのためのネットワーク関連知識・用語説明


はじめに

駆け出しエンジニアのためにネットワーク関連知識・用語をまとめてみました。
Progate、railsチュートリアルを駆け抜けなんとなくアプリは作れるようになったがネットワーク関連の知識は曖昧なまま、ネットワーク用語は聞いたことあるけどなんとなくでしか理解していない。そんな人が対象です。自分も初学者なので間違いがあればご指摘ください。

為になれれば僥倖。

LAN / WAN

  • LAN
    LANはLocal Area Networkの略であり、事務所など局地的な狭い範囲を繋ぐネットワークのことを言います。ちなみに無線LANとはケーブルが要らないLANのことで、現状ではほとんどが無線LAN=Wi-Fiとして使用されています。

  • WAN
    LANだけでは当然事務所内や家庭内といった狭い範囲でしか情報がやりとりができないので、LAN同士を繋ぐ広域のネットワークが必要になります。それがWAN(Wide Area Networkの略)です。WANを利用することで世界中の人とのコミュニケーションが可能になります。

サーバ

私たちがインターネットで記事や画像を見る時、私たちがそれらのデータをネットを介して受領できると言うことは当然そのデータを提供するものがどこかにある必要があります。そういった役割の存在をまとめて「サーバ」と呼んでいます。(サーバという名前は英語では「Server」となり、「サービスを提供する物」という意味になります)
種類としてはファイルサーバ、プリントサーバ、データベースサーバ、WEBサーバといったものがあります。
ちなみにサーバーからサービスを受領する、つまり私たちがQiitaで記事を呼んでいるような立場を「クライアント」と呼びます。
尚、あくまでも「サーバ」や「クライアント」という言葉は役割を示す言葉であり、そうした名前の専用の機械があるわけではありません。

インターネットプロトコル(IP)

インターネットを通じてコンピューター同士がやり取りするための約束事のことです。
たとえば外国企業と取引する際に日本語100%で対応しようとしても当然うまくいかないように、コンピューター間でやりとりをする際にもある程度の決まり事が必要になります。そのため、インターネットを通じてコンピューター同士でやりとりをする際には決められている(というかみんなが使っている)IPを約束事として使用します。
IPの働きは、「経路制御を行い、ネットワークからネットワークへとパケットを運んで相手に送り届けること」です。要は「データを送る」という役割です。

TCP(Transmission Control Protcol)

IPでデータを送るだけでは通信品質の保証ができない為、TCPというプロトコルが活躍します。TCPは通信相手とのコネクションを確立してから、データを送受信するコネクション型のプロトコルです。つまり送信エラーが発生した際に再送するといった働きをすることが可能であり、「データ受信の信頼性を保証する」役割を果たしているといえます。
先述のIPとセットでTCP/IPと呼ばれ、現在のデファクトスタンダード(事実上の基準)となっています。

IPアドレス

IPを介してデータを送信する際に必要となる送信先のアドレスのことであり、郵便で例えると住所にあたるものです。当然同じ住所が二つあると誰に送信すればいいのかわからなくなってしまう為、重複しない番号がそれぞれ割り当てられています。
尚IPアドレスには「パブリックIPアドレス」と「プライベートIPアドレス」の2種類が存在し、電話で例えるところの外線電話、内線電話のような役割にあたります。

  • パブリックIPアドレス
    インターネットに接続する際に用いるIPアドレスのこと。プロバイダーやサーバー事業者から貸し出される。
  • プライベートIPアドレス
    インターネットで使われないIPアドレス。主な用途として社内LANなどLANの内部で使用することができるIPアドレス。

ポート番号

TCP/IP通信においては、 IPアドレスがあればネットワーク上のコンピュータを一意に識別することができますが、 該当コンピュータのどのプログラムに通信パケットを届けるかは、 IPアドレスだけでは決定できません。 どのプログラムに通信パケットを渡すのかを決定するために、 ポート番号を使用します。
例えばIPアドレスの宛先に或データが送信されたとして、そのデータをWebページとして処理するのか、メールとして処理するのか、ファイルとして処理するのかわからなければ当然処理しようがありません。そのため「どのプログラムにデータを渡すのか」という情報も必要になり、そのために使用されるのがポート番号です。

プロトコル名 ポート番号
HTTP 80
FTP 転送用:20、制御用:21
Telnet 23
SMTP 25
POP 110
NTP 123

よく耳にするHTTPプロトコルとはハイパーテキスト(HTMLとか)を伝送するため通信規約のことであり、Webサイトにアクセスした際などに使用されるプロトコルのことです。

まとめ

はじめてまともにQiitaの記事を書いてみましたが、自分が学んだことを整理・整頓する為にも非常に役に立つと感じました。なかなかいいね。
また続けていきます。