最初に
途中からにはなりますが、読んだ内容を自分の言葉にする場としてこのブログと記事を使っていこうと思います。というか、メモです。
初回を飾るのは「体験しながら学ぶネットワーク技術入門」です。
この本何が嬉しいかというと、机上で勉強できるパートと、手を動かせるパートがあるんですよね。
ネットワークいくら勉強しても頭に入ってる感がなくて困ってたんですけど、実際に手を動かせるの嬉しいです。
Windowsで環境構築されていますが、MacOSでもできるので気になる人こちらからどうぞ!
体験しながら学ぶ ネットワーク技術入門 [ みやた ひろし ] 価格:3520円 |
2章 レイヤー2プロトコルを知ろう
2.2 ネットワークプロトコル
L2はデータリンク層。基本的にはL2スイッチが主役の章。
同じネットワークの端末を識別して物理層の上でビット列を正確に伝送する仕組みを提供する。
この時識別に使うのがMACアドレス。
最近はWifiで接続されることが多いので、ブロードバンドルーターのLANポートをL2スイッチとして使用することが多いが、今回はスイッチの役割をわかりやすくするために外出ししている。
現代のL2プロトコルは2つしかない。有線LANのイーサネットと、無線LANのWi-Fi。
- イーサネット
- 昔はAppleのApple Talkとか、IBMのトークンリングってやつがあったらしい。今はイーサ一択。
- イーサネットフレーム
- イーサネットによってカプセル化されるパケットのこと。このフレームのフォーマットは40年間変わっていないらしい。
2.2.1 イーサネット
イーサはL2プロトコルのでファクトスタンダード。厳密にはイーサⅡがすこぶる使われている。
構成要素は5つ。
- イーサネット
- イーサヘッダー
- プリアンブル
- 宛先・送信元MACアドレス
- タイプ(L3のプロトコルを示す2バイトのID、IPv4、IPv6を示すものなど)
- イーサトレーラー
- イーサネットペイロード(ネットワーク層のデータそのもの。)
- –
- FCS(Frame Check Sequence)(イーサフレームが壊れていないか確認)
- イーサヘッダー
大事なのは宛先と送信元のMACアドレス。これは6Byte構成。
Ex) 00-oc-29-43-5e-be
みたいに16進数で1Byteずつハイフンで区切る。コロンで区切る記法もあり。
MACアドレスは下記のように生成される方法が異なる。
物理マシン:製造時に物理NICをROMに書き込む
仮想マシン:ハイパーバイザから仮想NICに対して割り当て
コンテナ:起動時に割り当てられたIPアドレスから自動で生成
ここから実践をやっていきます。
実際に通信で送られるパケットを見るためのツールは下記
-
tcpdump
:パケットをキャプチャする -
Wireshark
:キャプチャしたパケットを解析する
9/3の朝活ではここまです。ここから随意更新していきます。
Tips
Tipsとして自分への備忘録を置いておきます。
ファイヤウォールが立っているMacOSでUBUNTU環境を立ち上げると、インスタンスは立ち上がるものの、DNSが名前解決できない関係でネットワークが使えない。やってもいいのか確認が必要だが、UBUNTUにShellログインはできると思うので、下記を書き加えて対処した。
ちなみにエラーはこちら
Launched: UBUNTU
mount failed: Error enabling mount support in 'UBUNTU'
Please install the 'multipass-sshfs' snap manually inside the instance.
$ sudo nano /etc/resolv.conf
内部で nameserver 8.8.8.8 を追記
$ sudo snap install multipass-sshfs
あとは、なぜかmountにも失敗してるから再度マウントするとうまくいく。
$ multipass umount UBUNTU
$ multipass mount /Users/<USER_NAME>/tinet/ UBUNTU:/mnt/c/tinet
2 thoughts on “体験しながら学ぶネットワーク技術入門を読んでいく”