スイッチとルーターの区別が曖昧だったり、L3スイッチとルーターの違いが曖昧だったりするので勉強を実務のために図式化しておく。
あとCISCOのスイッチやルーターはSVIやVRFといった仮想化機能も持っているのでそれらも図式化しておく。
スイッチ・ルーターの図式化
スイッチの類

スイッチにはハブやL2スイッチ、L3スイッチがあるが、いずれもスイッチング(つまり物理ポート感のパケットの送受信)に重点を置いている。
- ハブ・・・すべてのポートがつながっている
- L2スイッチ・・・スイッチ内部でLANを分けるVLAN機能がある
- L3スイッチ・・・ポート単位またはVLAN単位でIPアドレスを持つことができ、ripなどの簡単なルーティング機能を持つ。
- VLAN間の通信はルーティングテーブルを設定しなくても転送(フォワード)してくれる機種が多い。
- VLANの先にルーターがある場合はルーティングテーブルを設定する必要がある場合がある
物理ポートはIPアドレスを持てないL2ポートとIPアドレスを持てるL3ポートがある。
- ハブ・・・L2ポート
- L2スイッチ・・・L2ポート
- L3スイッチ・・・L3ポート
ただしCISCOはL3スイッチであってもL2ポートとし、VLANにIPアドレスを割り当てるSVIという機能を提供している機種がある。
ルーターの類

ルーターは「インターネットルーター」などの派生した呼称があるが、基本的に構成は同じ。
企業内ではネットワーク間のルーティングを主な目的として使用するが、家庭ではNAT機能を主に使うなど用途によってほぼ使う機能が決まっている。このためルーターのデフォルトの設定や物理ポートの数など構成に偏りがあるので、例えば家庭用のルーターを意図的に「インターネットルーター」などの呼称で呼ぶことがある。
物理ポートはL3ポートであり、ポート単位でIPアドレスを設定するのが基本。
L3スイッチとは異なりBGPなどの高度なルーティング機能を使用できるほか、NATやVPN、DHCPなどネットワーク間の接続に重点を置いた機能を持っている。
スイッチとルーターの機能を兼ねているもの

スイッチとルーターが重点を置いている機能は異なるが見た目には似ている。
ということで必然的に「1つのハードで両方の機能を実現したい」というニーズが生まれ、各社が様々な「便利なルーター」「気が利くスイッチ」を提供している。
L3ポート付きL3スイッチ
基本的な構成はL3スイッチで物理ポートはL2ポートだが、1つ(もしくは少数)だけL3ポートを持っているもの。
通常は内部ネットワークのスイッチングに使用しているが、まれにインターネットに接続する必要がある場合などに使用される。
この形態は意外にポピュラーで、企業向けであればCISCOの892であったり、家庭向けであればVLAN機能を削れば「インターネットルーター」の代用ができる。
VRF付きルーター
L3ポート付きL3スイッチとは逆にルーティングに重点を置いており、1台のハードの中で仮想的なルーター(VRF)を複数作成できる。
内部LAN側はタグVLANで集約されている場合があるので一旦TAGを外して同じVLANを1つにまとめるなどVLANの再構成が必要になる場合がある。
L3スイッチのSVI+簡易ルーター機能では基本的にVLAN間のルーティングの設定は不要だったが、VRFはそれぞれがルーターなので、VLAN間を接続する場合はルーティングの設定が必要になる。このルーター間のルーティングの設定をルートリークという。
ネットワーク機能の図式化
NAT
NATには内部IPを外部IPに1対1で置き換えるSNAT、n対1で置き換えるPAT(PNAT/NAT Overload)、外部のIPにポート番号を組み合わせて内部の複数のIPに振り分けるDNATがある。
一般的に家庭で使われているNATは内部IPを外部向けの1つのIPに置き換えるPATであることが多い。

複数IPアドレスをまとめるAccess ListとPool
内部IPアドレスや外部IPアドレスを複数定義するのは数が増えると困難になる。このため、IPアドレスをまとめたリストを使用できる機種が多い。
内部IPアドレスのリストをAccess List、外部IPアドレスのリストをPoolと呼ぶ。
IPアドレスを範囲で指定する際、ネットワークの世界ではIPドレスとマスクを使用するのが一般的だが、Access ListやPoolの場合はネットワークアドレスとワイルドカードを使用する。

忘れがちなinsideとoutside
NAT機能は変換前後のIPアドレスは知っているが、それぞれのIPアドレスがどこからやってきてどこに出ていくのかは知らない。
このためインタフェースやVLANに対してinsideやoutsideというフラグをつけてあげる必要がある。
(config) # interface Ethernet1
(config-if) # ip nat inside
(config) # interface Ethernet2
(config-if) # ip nat outside