【AWS】AWS SAPを学習する前のネットワーク基礎項目を復習してみた
勉強前・状況
- AWS SAPの勉強でTransit Gatewayを学習しようと思っていました
- しかし、経験上AWSサービスの勉強をするときは、そのサービスの土台となる基礎知識がある状態で学んだ方が圧倒的に学習効率が良い
- なので、一旦初歩的なことから調べてみました
前提知識
- なし
まず、ネットワークとは
ネットワーク(network)とはなんでしょう?
ネットワーク(network)は、一般的に「網」を意味する英単語が語源で、人やモノをつないで情報や資産を互いに共有しあっている状態を指します。
net + work = 網のようにつながりで、情報の連携を行い、働く(機能する?)…みたいなことでしょう
では、インターネットとは?
interとは中間とか間、相互といった意味を持ちます。 internationalなら国際ですし、intercessionなら仲介です。 ですから、語源的にはネットワークとネットワークをつなぐものが、 すなわちインターネットです。https://www.nic.ad.jp/ja/basics/beginners/internet.html#:~:text=語源と定義,ネットワークを意味します。
上記のようです。
1つネットワークが繋がり、ネットワークになると…
ネットワーク内部またはインターネットで情報を送る方法は…?
ここで気になるのが、どうやって情報を送るか です。
現在の情報の送受信する方法として、TCP/IPというルールがあります。
TCP/IP とは
簡単に言うと、インターネット(ネットワーク同士)が情報をやり取りをするときのルールです。
そして、このルールのことを、規約という意味でプロトコル(Protocol)と呼びます。
上記を踏まえて、TCP/IPをTCP と IP に分けて考えてみます
TCP
正式名称(Transmission Control Protocol)
→ 伝送制御プロトコル
という意味になると思います。送る部分の制御を担当しているということ
IP
正式名称(Internet Protocol)
→ インターネットプロトコル
です。こちらはインターネット上の情報を宛先を決める部分を担当しているということ
って思ったときになぜ『TCP/IP』なのか
前述の通り、TCPもIPも言葉の意味的には、若干似ている部分があります。重要なのは、『制御』と『送る』違いがあるところです
この点について少し深掘ると、
- TCPは制御を担当…通信の正しさや品質を上げる役割
- IPは送るを担当…情報を送るために、宛先や情報の整理をする役割
です。
こうなると、TCP/IPというのは…
指定の宛先に、『情報を正しく送るためのルール』ととらえることができます。
冒頭の疑問に戻ると、インターネットで情報をやり取りするためにTCP/IPというルールがあるということです。
TCPがどのようにして信頼性をあげているか?というのはここでは割愛します。
IPの宛先ってなんだ…?(IPアドレス)
先ほど、IPは情報を送るために、宛先や情報の整理をする役割と書きました
この宛先というのが、通信において非常に重要なIPアドレスというものになります。
IPアドレスというのは、郵便物送る例で例えると住所です。
実態は xxx.yyy.zzz.aaa のような形式で、各桁0-9の数字で表現されるものです。
例)192.168.21.41
ちなみに、このIPアドレスは基本的に被らないようにする必要があります。(一意性、住所はかぶっていたら、どこに届ければいいの?となりますよね)
この数値の情報を使って、コンピュータはどのコンピュータに情報を送るのか?というのを決めています。この一連のプロセスをルーティングと呼んだりします。
また、IPアドレスは現在色々あって2種類あります。
それがIPv4とIPv6です。
IPv4 IPv6
IPv4は10進数、IPv6は16進数、と覚えると良いです。
現在のメインで使用されているのはIPv4ですが、なぜこのIPv6というものがあるのか?
それは、IPアドレスの個数が足りないためです。
※ここからは2進数などの知識が必要になってきます。
IPv4は2進数で32桁の数値です。つまり、2通りの組み合わせが32桁分あるので…
組み合わせの数 = 2 × 2 × 2 × … × 2
= 2の32乗
= 約43億個 となります。
結構あるじゃん!と思いますよね。しかし、足りないのです。
なぜかといいますと、この技術は1980年に発明されました。
この記事を執筆時点でかなりの時間が経っていますし、なにより技術の発展速度が異常なものでした。
スマホやPCを誰もが持っている、ゲームやIoT機器によるインターネット通信も盛んな時代になってしまいました。
長々と説明しましたが、ここでIPv6というものがててきます。
IPv6は、とにかく数が多いです。16進数で32桁あるので、2進数では、32×(2の4乗)で128桁となります。
つまり…2の128乗 = 約340澗です。
どれくらいかというと340超 × 1兆 × 1兆 らしいです。つまり実質無限ですね。
なので、将来的にはIPv6通信に切り替えていく必要があります。
ネットワークアドレスとホストアドレス
ネットワークアドレスは、IPアドレス空間のうち、どのネットワーク(範囲)に属するかを識別するための部分です
ホストアドレスは、ネットワーク内の各端末(ホスト)を一意に識別するための部分です。
後述にでてくるサブネット、という技術を使いどのネットワークのどのホストに情報を届けるのかをというのを決めます。
ちなみに、この宛先を決めてくれたりしてくれるのが、ルーターです。
さて、IPアドレスについて学んだので次はネットワークの大きさの話をします。
LAN と WAN
正式名称 Local Area Network と Wide Area Network であり、閉じた狭い1つのネットワーク(網)と複数LANで構成される広いネットワーク(網) という意味です。
LANはインターネットを介さない通信です。
サブネット
英語表記だと、subnet です。
subは、語源的な意味だと『下に、』という意味です(もっというと従属するという意味もあります)
なので、『ネットワークの下にあるネットワーク』という解釈ができます。
なぜこのサブネットというものが必要なのか?という疑問を抱きますよね。
簡単に言うと、効率的な通信のため、セキュリティなどの安全性を向上させるためです。
CIDR
読み方は、『サイダー』です。
このCIDRというのは、IPアドレスを 「/(数値)」を使いネットワークの大きさを示すことができます。
この数値は、基本的に1〜32の範囲で決められます。
1に近いほどそのネットワークは大きく、32に近いほど小さくなっていきます。
そして、大きさって結局なにか?というと、
IPアドレスの個数です。
IPアドレスの個数が少ないほど、そのネットワークでやり取りする端末は少なくなります。
逆に言うと、IPアドレスの個数が多いと、やり取りする端末は多くなります。
つまり、CIDRの『/(数値)』は、そのネットワークの端末(ホスト)の個数となります。
端末(ホスト)の個数の計算方法は、『/』の右側の桁数分、2の累乗したものから、-2をすることで求められます。
例を見ていきましょう。
例1:/24(読み方:スラッシュ・にじゅうよん)
「/24」というのは、256個のIPアドレスがあるネットワークを意味します。
たとえば:
192.168.1.0/24
このネットワークには、192.168.1.1〜192.168.1.254 の 254個の端末に割り当てられるIP があります。
(0番はネットワークアドレス、255番はブロードキャストアドレスとして予約されているため)
イメージでいうと、**ちょっと大きめのビル1棟(192.168.1.0のネットワーク)**に住んでいる人たちに、それぞれ部屋番号(192.168.1.1〜192.168.1.254)を振っている感じです。
※ブロードキャストアドレスは、すべてのホストに向けたブロードキャスト通信の際に使用されるアドレスです。
例2:/16(スラッシュ・じゅうろく)
これはさらに大きいネットワークで、約65,000個のIPアドレスを持ちます。
192.168.0.0/16
このネットワークには、192.168.0.1 〜 192.168.255.254 のIPアドレスが入ります。
イメージでいうと、町ひとつまるごとに住所を割り振っているような感じです。
例3:/30(スラッシュ・さんじゅう)
これはとても小さなネットワークで、使えるIPアドレスは2つだけです。
192.168.1.0/30
このネットワークでは、192.168.1.1と192.168.1.2 という2台の端末だけが使えます。
これは、機器同士を1対1でつなぐ通信に使われることが多いです(たとえばルーター同士)。
ルーティング
ルーティング(routing)とは、ネットワークの中で「どこに情報を送るのか?どの経路を通るのか?」を決める仕組みです。
人間の世界で言えば「配達ルート」や「カーナビの経路検索」にあたります。
ルーティングの基本
同じネットワーク内なら直接通信ができます。
しかし、別のネットワークに送るときは「ルーター(router)」という中継装置を通して届ける必要があります。
このとき「どのルーターを通すか?」を判断するのがルーティングです。
ルーティングの2つの種類
① 静的ルーティング(Static Routing)
管理者がルート情報を手動で設定する方法。
- 決まった宛先に対して、あらかじめ経路(ルート)を指定しておく。
- 小規模や構成が固定されたネットワークに向いています。
例:
ip route add 192.168.2.0/24 via 192.168.1.1
シンプルでわかりやすいですが、ネットワーク変更時に手作業で更新が必要だったり、複雑な設定には不向きです。
② 動的ルーティング(Dynamic Routing)
ルーター同士が経路情報を自動でやり取りする方法。
- ネットワーク構成や経路の変化に対応しやすい。
- 自動的に最適なルートを選んでくれる。
代表的なプロトコル:
- RIP(学習用途が多い)
- OSPF(企業内ネットワークで使用される)
- BGP(インターネット・クラウドで重要)
経路変更に自動対応、複雑なネットワークにも対応しやすいですが、導入・設定がやや難しかったり学習コストがかかったりします
まとめ
今回の記事では、AWS SAPの学習に入る前に、ネットワークの基礎知識を復習・整理しました。
要約すると
-
ネットワークとは?
→ 情報をやり取りするための「つながりの仕組み」
-
インターネットの語源と仕組み
→ ネットワーク同士をつなぐ巨大なネットワーク
-
TCP/IPとは?
→ 情報を正しく届けるための通信ルール(プロトコル)
-
IPアドレスの役割と構造
→ 宛先を示す住所のようなもの。IPv4/IPv6がある
-
ネットワークアドレスとホストアドレスの違い
→ ネットワークの範囲 vs 各端末の識別子
-
LANとWANの違い
→ 狭い範囲と広い範囲のネットワーク構成
-
サブネットとCIDRの仕組み
→ IPアドレスを効率よく分割・管理する考え方
-
ルーティングの考え方
→ 情報の通り道を決める仕組み(静的と動的の2種類)
感想
この記事を書いて思ったのは、やっぱり基礎を振り返るのは大事だなぁということです。
私の場合、現職がアプリケーションエンジニア兼クラウドエンジニアのような感じで、ネットワークの構築業務などはほとんどしていません。なので、サブネットあたりの項目はめちゃくちゃ復習になりました。
近々、AWS SAPに挑戦する予定なので、今回得た知見を活かしつつ、勉強していけたらよいなと思いました。
ここまで読んでいただきありがとうございました。
Discussion