続きを何もなかったかのように進めていく
こちらの記事の続きになります。
朝活の一環!みたいなこと言ってて、結局1ヶ月くらいが立ったんですかね。
なんか作成したネットワーク環境がぶっ壊れれて、空き時間にそれを解消するのに手間取り、あとは普通にサボったりしながら気がついたら今日を迎えていました。笑
でもちゃんと戻ってきてえらい。環境また一から作り直して、続きに進んでいきます。
2章のL2プロトコルを知ろう編のメモ
ネットワークの文脈で出てくるアドレスは、MACアドレスとIPアドレスの2つのみ。
このうちMACアドレスは、データリンク層に出てくる端末のID。6Byte、要は48Bitの16進数の数がこれにあたります。対してIPアドレスはネットワーク層でOSを指定するアドレス。
そして、これらのアドレスが独自に生成されたり存在していたら困るので、これらを結びつけるプロトコル。ARP(Address Resolution Protocol)というものが存在しているらしいです。
正直これは初見でした。
このARPは何をしているか。
結論やっていることはアドレス解決。
データを送信するときの流れを考えてみたらわかるが、L2層ではネットワーク層から受け取ったIPパケットを、イーサネットフレームにカプセル化してケーブルに流す必要がある。このとき、送信元MACアドレスは自分自身のNICのMACアドレスだからわかるにしても、送信先は知りようがない。
なので、実際のデータ通信に先立って、ARPで宛先IPアドレスから宛先MACアドレスを求める。これをアドレス解決って言います。
宛先IPアドレスから、宛先MACアドレスを計算するのがアドレス解決なのね。
3章のネットワークプロトコルを知ろう編メモ
データリンク層でできたのは、同じネットワークにいる端末同士を接続すること。
ネットワーク層では、データリンク層で接続できているネットワークを繋ぎ合わせるのが役割。
現在のネットワーク層で使用されているレイヤー3プロトコルは、IPとICMPの2つ。データのやり取りをIP、トラブルシュートをICMPという棲み分けで捉える。
IPには、IPV4とIPV6があって、互換性はなし。
データリンク層でもそうだったけど、結局ネットワーク層のIPヘッダーのフィールドのうち、一番大事なのが宛先IPアドレスと送信元IPアドレス。
32ビット(4バイト)で構成されていて、
- 192.168.11.1
- 10.1.99.254
みたいな8ビットずつドットで区切って10進数で表記する。
ドットで区切られている領域をオクテットっていう。
IPアドレスは、それ単体で機能するわけではなく、「サブネットマスク」っていうこれまた32ビットの値とセットで使用する。
サブネットマスクの使い方はIPアドレスの構成と深く関わっている。
IPアドレスは、ネットワーク部とホスト部の2つで構成されていて、サブネットマスクではこれがどこで区切られているかを識別する。書き方には10進数の4バイト表記と、CIDR表記がある。
例えば、実践編で利用している、cl1とcl2のIPアドレスは、
192.168.11.1と192.168.11.2
であり、サブネットマスクはそれぞれ、
255.255.255.0
である。つまり、第3オクテットまではネットワーク部で、第4がホスト部。1,2がそれぞれの端末番号のような役割を果たし、1〜3がどのネットワークにいるかを示す。
ちなみにCIDR表記をすると、
192.168.11.1/24
このようがシンプルですかね。
ルーターの技術を学ぶ
身近にあるルーターでもどんな技術が使われているかというのはよくわからないものでした。なので整理します。
ルーティング
ルーターでは、IPパケットの宛先IPアドレスと、IPパケットを転送すべき機器のIPアドレスを表すネクストホップという2つの情報を管理している。送信されたIPパケットの転送先を切り替える機能のことをルーティングと呼んでいる。
また、宛先ネットワークとネクストホップを管理するテーブルをルーティングテーブルという。
NAT(Network Address Translation)
まず書いてあるのは、IPアドレスを変換する技術とのこと。あれ、これってDNSサーバーがやってくれるんじゃないの?状態。ドメインの名前解決とはまた違うことを言っているのだろうか。
これを使うと、
- 不足しがちなパブリックIPアドレスを節約できたり
- 同じIPアドレスを持つシステム間で通信できるようになったり
するらしい。あとどうやらNATの定義も広義と狭義で違うそう。
まず静的NAT。
これは外部と内部のIPアドレスを1:1に紐付けして変換する。紐付けにはルーティングの時同様に、NATテーブルで管理をしているっぽい。
あれだ、調べててわかりましたが、NATがIPの変換をするのは、具体的にはグローバルIPをプライベートIPに変換したり、逆も然り。
プライベートネットワーク内の端末がインターネットにアクセスする際、その端末のプライベートIPアドレス(例:192.168.0.15)を、NATデバイス(ルーターなど)が保持するグローバルIPアドレス(例:198.51.100.20)に変換します
こんなことをしてるんですね。