問題ID: 19186
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
問題ID: 19186
msg# 1
160828
投稿数: 19
MACアドレス「ca00.03c4.0000」を24ビットごとに区切って
その間にFFFEを追加し、先頭7ビット目を反転させて
リンクローカルユニキャストアドレスを求めますが、
計算方法が分かりませんのでご教授下さい。
認識↓
「ca00.03c4.0000」
↓
ca0003 FFFE c40000 24ビットごとに区切る。
16進数は2進数の4ビット分に相当するので↓
1100 1010 0000 0000 0000 0011 FFFE 1100 0100 0000 0000 0000 0000
2進数に変換した上記2進数の先頭7ビット目を反転させるので
1100 1000 0000 0000 0000 0011 FFFE 1100 0100 0000 0000 0000 0000
全角の箇所が反転されて0になる。
これを16進数に戻す?
この時点でもう正答の:FE80::C800:3FF:FEC4:0
にどのように変換すればよいのか不明です。
因みに解説に載っている
変換方法の画像は理解できています。
なのに分かりません(。´・ω・)?
多分根本的に間違ってますので
御教授お願い致します。
その間にFFFEを追加し、先頭7ビット目を反転させて
リンクローカルユニキャストアドレスを求めますが、
計算方法が分かりませんのでご教授下さい。
認識↓
「ca00.03c4.0000」
↓
ca0003 FFFE c40000 24ビットごとに区切る。
16進数は2進数の4ビット分に相当するので↓
1100 1010 0000 0000 0000 0011 FFFE 1100 0100 0000 0000 0000 0000
2進数に変換した上記2進数の先頭7ビット目を反転させるので
1100 1000 0000 0000 0000 0011 FFFE 1100 0100 0000 0000 0000 0000
全角の箇所が反転されて0になる。
これを16進数に戻す?
この時点でもう正答の:FE80::C800:3FF:FEC4:0
にどのように変換すればよいのか不明です。
因みに解説に載っている
変換方法の画像は理解できています。
なのに分かりません(。´・ω・)?
多分根本的に間違ってますので
御教授お願い致します。
Re: 問題ID: 19186
msg# 1.1
arashi1977
居住地: 広島
投稿数: 1715
ほぼできてますよ!
やり方はこうです。
・「ca00.03c4.0000」を半分に分けるので「ca 00 03」と「c4 00 00」になる
・先頭7ビット目(最初の1バイト下から2番め=10進数で言う"2")を反転させる。ここでは「ca」が該当する1バイトなので「1100(C=12=8+4) 1010(A=10=8+2)」→「1100(C=12) 1000(8+0=8)」となる
・前半が「c8 00 03」、後半が「c4 00 00」となることが確定したので、インターフェースIDは間にFFFEを入れて「C800:03FF:FEC4:0000」となる
・リンクローカルなので「FE80::/64」となり、インターフェースIDとくっつけて「FE80::C800:03FF:FEC4:0000」→省略できるところは省略して「FE80::C800:3FF:FEC4:0」となる
やり方はこうです。
・「ca00.03c4.0000」を半分に分けるので「ca 00 03」と「c4 00 00」になる
・先頭7ビット目(最初の1バイト下から2番め=10進数で言う"2")を反転させる。ここでは「ca」が該当する1バイトなので「1100(C=12=8+4) 1010(A=10=8+2)」→「1100(C=12) 1000(8+0=8)」となる
・前半が「c8 00 03」、後半が「c4 00 00」となることが確定したので、インターフェースIDは間にFFFEを入れて「C800:03FF:FEC4:0000」となる
・リンクローカルなので「FE80::/64」となり、インターフェースIDとくっつけて「FE80::C800:03FF:FEC4:0000」→省略できるところは省略して「FE80::C800:3FF:FEC4:0」となる
Re: 問題ID: 19186
msg# 1.1.1
160828
投稿数: 19
なるほどです!
ありがとうございました(/・ω・)/
ありがとうございました(/・ω・)/