はじめに
こんにちは。Tsukasaです!
最近XでもAWSを業務で触る際にネットワークの知識も必要という意見をいくつか見かけました。
ベテランのエンジニアの方々も多くが同意していたこともあり、今日はネットワークについて学習したことについて記事にしていこうと思います。
私自身もネットワークについてしっかり学んだことがあるわけでもないので、良い機会だと思い基礎的なことを学びました。
教材は下記のYoutubeを用いました。
著作権等ありますので、今回は学んだ用語を文章化しようと思います。
※こちらの内容を記事化することは作者の方からも許可を得ています。
ネットワークの歴史
普段我々が使用していてるネットワークですが、当然歴史があります。
当時はネットワークといった言葉ではなく、通信手段でしたが、下記のようなものがあります。
狼煙を見て敵陣が攻めてきたことを確認する方法。
江戸時代には米相場の伝達のための旗信号。
このように通信手段は昔から存在し、時代と共に変化していったのでした。
TCP/IPプロトコル
その上で現代ではどのような通信手段(ネットワーク)があるのか見ていきたいと思います。
まずはTCP/IPプロトコルです。
こちらは一言で言うと、インターネットなどのネットワーク通信で使われる基本ルール(プロトコル群)のことを指します。
プロトコルとはコンピュータやネットワークが互いに正しく情報をやりとりするためのルールのことを指します。
パケット
TCP/IP技術の基礎にパケット交換技術というものがあります。
例えばTCP/IPプロトコルで「おはようございます」というテキスト情報を送る場合、送りたい情報にヘッダー情報という捕捉的な情報を付与します。ヘッダ情報には様々な情報が含まれており、その中には送信元と送信先の情報が含まれています。
パケットとは、ヘッダ情報を含んだ全体のことを指します。
パケットとは英語で小包という意味なので、小包の中に色々入っていると考えるとわかりやすいかもしれませんね。
IPアドレス
IPアドレスとは一言で言うと、コンピュータに設定されている住所のような番号です。
先程のパケットで送信元と送信先と言う話をしましたが、これがIPアドレスのことを指しています。
IPアドレスの番号ですが、192.168.0.5といった番号になっています。
各ドットで0~255までの数字が入ります。
CIDR表記
IPアドレスはここからここまでといった表記を表すものをCIDR表記と言います。
例えば、192.168.0.0/24といった場合対象のIPアドレスは192.168.0.0~192.168.0.255までの256個といった形になります。こちらの計算は2進数になりますが、ここでは割愛いたします。
ルーティング
ルーティングとはデータ(パケット)を適切な経路で目的地まで届ける仕組みのことを指します。
よりシンプルに言うと、ルーティング=通信の道案内(データをどのルートで相手に届けるかを決めるプロセス)です。
より具体的に見ていくと
ネットワーク内やインターネット上で、複数のルーター(中継機)を通って、最終的な宛先(IPアドレス)にデータを届けるために、最適なルート(経路)を選ぶことと考えられます。
もっと現実的にわかりやすい例で見てみると
あなたが東京から京都に荷物を送りたいとします。
郵便番号がIPアドレス
ルーターが中継地点(配送センター)
ルーティングはどの配送ルートを選ぶかになります。
一般道で送る方法もあれば、高速道路を使う場合もありますよね?
ルーティングとはこのようなイメージです。
DNS(Domain Name System)
DNSとはネット上の電話帳のようなものです。
例えばgoogle.comというドメインのIPアドレスが142.250.207.14であることを教えてくれます。
DNSは名前解決を行う専門のサーバーなのです。
プライベートIPアドレス
プライベートIPアドレスはインターネット上では使えない内部ネットワーク(LAN)専用のIPアドレスです。
一言で言うと、家庭や会社の中だけで使う内線番号のようなIPアドレスです。外(インターネット)からは直接アクセスできません。
プライベートIPアドレスは重複できません。
範囲は
10.0.0.0/8→10.0.0.0から10.255.255.255
172.16.0.0/12→172.16.0.0/12から172.31.255.255
192.168.0.0/16→192.168.0.0から192.168.255.255
になります。
グローバルIPアドレス
インターネット上で世界中どこからでも一意に識別されるIPアドレスのことです。
一言で言うと、インターネット上の住所。世界中で一つしかない番号。これがあるから、Webサイトやメールが正しく届きます。
NAT
IPアドレスは約43億個ある。
ネットワークを内側用プライベートと外側用グローバルと2つに分けてその橋渡しを行う仕組みとしてNATという仕組みがあります。
NATは自宅にあるパソコンなどから、何かのサイトにアクセスする際にプライベートIPアドレスからをルーターでグローバルIPアドレスに変換し、それを送信先のルーターまで通信する役割を行います。送信先のルーターまで到着したら、送信先IPをグローバルIPからプライベートIPに変換します。
NATにも2種類あって、SNATとDNATがあります。
送信元(FROM)の変更=Sourceno変更→SNAT
送信先(宛先)の変更=Distinationの変更→DNAT
となります。
ポート
ポートとは1つのIPアドレスの中で複数の通信を同時に処理するための出入り口番号のようなものです。
同じIPアドレスでもどのアプリ(サービス)に通信するかを区別するために使います。
例えば、192.168.0.10というIPアドレスのPCがあったとします。
同じIPアドレスでもWebの閲覧なら80、メールの送信なら25といったように目的に合わせて通信先を特定します。
ポートには0~65535までの番号があります。
大きく分けると3つになります。
ウェルノウンポート(Well-known Ports)
0~1023番のポート番号が該当。
よく使われる標準のサービスに使われます。
登録済みポート(Registered Ports)
1024~49151番の範囲
特定のアプリケーションやサービスが利用することを前提に登録されています。
エフェメラルポート(Ephemeral Ports)/動的ポート
49152~65535番までの範囲
一時的に利用される動的なポートとして使われます。
その他にもよく使われるポートを紹介します。
20 | FTP(データ転送) |
---|---|
21 | FTP(コントロール) |
22 | SSH |
23 | Telnet |
25 | SMTP |
53 | DNP |
80 | HTTP |
110 | POP3 |
143 | IMAP |
443 | HTTPS |
終わりに
いかがでしたでしょうか?
自分自身聞いたことのある用語はありましたが、中々言語化して説明するのは難しいなと思いました。
一つ一つをこのように文章化することで知識も定着しますし、こういった勉強方法もアリだなと思いました。