Kogcoder LT
Transcript of Kogcoder LT
ネットワークのおまじない
ぱろっく
こんにちは。
軽く自己紹介
• 法政大学 2年(留年の危機)
• ネットワーク、暗号(最近はPwnableに浮気)
• CTFやってます(できるとはいってない)
• 言語はCTFはpython、それ以外は適当に。
某某大学の授業で説明を飛ばさ
れる、いわゆる「おまじない」なと
ころをすこし解説していきます。
本当に簡単な話をするので、 退屈になると思います ごめんなさい!!
本日のアジェンダ
アジェンダ
• パケットとは? • なんでパケット単位で通信するの? • MACアドレス、IPアドレスとは? • なんでIPアドレスは4バイトなの? • 本当に両方ないと通信できないの? • IPv6ってぶっちゃけ何?
では始めましょう
パケットとは?
• ネットワークでデータをやりとりする際に、送受信するデータの単位。
• まぁ感覚でみなさんなんとなくわかってますよね…
なんでパケット単位で通信するの?
なんでパケット単位で通信するの?
• ネットワークは開発当初、回線が全然足りず、複数のノードで同じ回線を使うことを想定しました。
• そのため、データをパケットという単位で送信し合うことで回線の独占をせずにみんなでウェイウェイできるようにしました。
次行きましょう〜
MACアドレスとは?
• LAN内で通信するためのもの。48bit。
• 上位24bitは○○
• 下位24bitは○○
MACアドレスとは?
• 実は、アドレスとして使われてるのは46bit。
最初の1bitはI/G bit → ユニキャスト&マルチキャストを区別する 次の1bitはG/L bit → ローカル通信orグローバル通信を区別する
IPアドレスとは?
• WAN内で通信するためのもの。32bit。
• 最近の主流はCIDR表記。IPv6がこの表記だからかもしれない(後で出てきます)
なんでIPアドレスは4バイトなの?
• IPパケットのヘッダーを見てみましょう。
※参照URL…www.atmarkit.co.jp/ait/arPcles/0304/04/news001_2.html
綺麗だね!
なんでIPアドレスは4バイトなの?
• 32bitマシンの時代に、32bitだと処理が便利で合理的だったから!
• 無駄な空間を生むのは良くないですよね。
MACアドレスとIPアドレス両方必要?
• どっちかでよくね?とおもいますよね。
MACアドレスとIPアドレス両方必要?
• まず、MACアドレスのみの場合、ブロードキャスト(FF:FF:FF:FF:FF:FFに送信)をL3で行うとすると…
MACアドレスとIPアドレス両方必要?
• まず、MACアドレスのみの場合、ブロードキャスト(FF:FF:FF:FF:FF:FFに送信)をL3で行うとすると…
A B
MACアドレスとIPアドレス両方必要?
• まず、MACアドレスのみの場合、ブロードキャスト(FF:FF:FF:FF:FF:FFに送信)をL3で行うとすると…
永遠に送りあう!
A B
MACアドレスとIPアドレス両方必要?
• 逆にIPアドレスをL2で用いると…
MACアドレスとIPアドレス両方必要?
• 逆にIPアドレスをL2で用いると…
• 辿りつかない!(一意にグローバルアドレスは定められていない)
では次の話題
IPv6ってぶっちゃけ何?
• IPv4は今枯渇してるって無限に報道されてますよね
• だからIPv6がでてきました。(128bit)
IPv6ってぶっちゃけ何?
• 0000::0000::0000::0000::0000::0000::0000::0000/64
• ↑こんな感じ。
IPv6ってぶっちゃけ何?
• 細かい話は時間アレなので飛ばします
IPv6ってぶっちゃけ何?
• 上位64bitがIPv4でいうベンダーID
• 下位64bitが一応自由に使えるアドレス
IPv6ってぶっちゃけ何?
• 下位64bitはMACアドレスと擬似乱数を元に生成するのが通常の手順
IPv6ってぶっちゃけ何?
• 下位64bitはMACアドレスと擬似乱数を元に生成するのが通常の手順
• プロにかかればすぐに逆算できちゃうので秘匿性のかけらもない
• これからもっと研究をしていくべき
時間がありそうなら…
工学院のパケットを見てみよう
• オフレコでお願いします