今回は、いままで学習をしていた進数について、まとめていきたいと思います。
いままでの、内容でも軽く触れていましたが、コンピュータの世界の文字は0と1のみでできています。
これを2進数といいます。
【初心者用】CCNA学習#6
1. データの送られる仕組み(復習)
・コンピュータはどんな情報も2進数のデータ(0と1を組み合わせた数値データ)に変換して扱います。
2進数データはバイナリデータとも言います。
・2進数データを送信する際は電気信号に変換します。
・人間にわかる情報→2進数データ→電気信号→2進数データ→人間にわかる情報といった順番で伝達されていることを理解してください。
2. IPアドレスの概要(復習)
・IPアドレスにはバージョンが存在しています。
最も普及しているのが、IPv4ですが、IPv4は割り振ることのできる。
アドレスに限界がきており、(IPアドレス枯渇問題)その解消のためにIPv6の普及が進められています。
・IPv4においてIPアドレスは32ビット持ち、ネットワークのアドレスを表すネットワーク部と個々のノードのアドレスを表すホスト部で構成されます。
IPアドレスは10進数で構成されています。
インフラエンジニアは業務上2進数で構成されている数字を10進数に変換したり、10進数で構成されている数字を2進数に変換することが非常に多いです。
IPアドレスは今後もずっとでてきますので、本日は頑張って勉強していきたいと思います。
2-1. 10進数
0~10の10種類の数値文字で表現します。(012345678910)
※日常でよく使っている数字
2-2. 2進数
0〜1で数字を表します。
例)
・0(10進数)→0(2進数) ・1(10進数)→1(2進数) 2(10進数)→10(2進数)
・3(10進数)→11(2進数)・4(10進数)→100(2進数)
2-3. 2進数から10進数に変換する方法
例えば10011010の2進数があるとします。
1の位→2の位→4の位→8の位→16の位→32の位→64の位→128の位と増えていきます。あまりぴんと来ないと思いますが、
(上記の数字)
1 0 0 1 1 0 1 0
128 64 32 16 8 4 2 1
0の数字のところは無視をし、各位の数値を足します。
上記の数字で計算すると、
128の位が1つ、16の位が一つ、8の位が1つ、2の位が1つになるので
128+16+8+2=154
2進数から10進数に変換すると154になることがわかりました。
問題
問① 110111011(2進数)を10進数に変換してください。
答え 1+2+8+16+32+128+256=443(10進数)
問② 1010101101101(2進数)を10進数に変換してください。
答え 1+4+8+32+64+256+1024+4096=5485
2-4. 10進数から2進数に変換する方法
例172
128の位を1つ使う (172-128=44)
残り44
32の位を1つ使う (44-32=12)
残り12
8の位を1つ使う (12-8=4)
残り4
4の位を1つ使う (4-4=0)
128の位 64の位 32の位 16の位 8の位 4の位 2の位 1の位
1 0 1 0 1 1 0 0
172(10進数)は10101100(2進数)で表すことができます。
練習問題です。
123(10進数)を2進数に変換してみてください。
答え
64の位が1つ (123-64=59)
32の位が1つ (59-32=27)
16の位が1つ (27-16=9)
8の位が1つ (9-8=1)
1の位が1つ (1-1=0)
64の位 32の位 16の位 8の位 4の位 2の位 1の位
1 1 1 1 0 0 1
1111001(2進数)が答えになります。
2-5. 桁とパターン
2進数を5桁で表すことのできる数値は何パターンあるでしょうか。
2×2×2×2×2×=32パターンになります。
3. MACアドレス(復習)
・MACアドレスはコンピュータのNICやネットワーク機器の各ポートに対して製造時に重複なしに付与された番号になります。
フレームの送信元や宛先を識別するためにデータリンク層(レイヤ2)で利用されます。
・物理アドレスといい、ハードウェアアドレスとも呼ばれます。
3-1. 16進数
0 1 2 3 4 5 6 7 8 9 A(10)B(11)C(12)D(13)E(14)F(15)
上記のように考えます。
ではD26A(16進数)を10進数で表してみましょう。
D 2 6 A
4096の位 256の位 16の位 1の位
4096×13(D)+256×2+16×6+1×10(A)=53866(10進数)
補足16進数の数値を表記するときは、先頭に「0x」をつけるので、覚えておきましょう。
2進数⇔16進数の変換
2進数から16進数への変換はとても簡単です。
2進数:0001 1100 1011
10進数: 1 12 11
まずは、4桁ずつ分けます。
16進数: 1 C(12) B(11)
上記のように考える事が出来ます。
練習問題
1011010110(2進数)を16進数に変換してください。
右から4桁ずつ分けて、足りない部分には0を付け足します。
2進数:0010 1101 0110
10進数: 2 13 6
16進数: 2 D 6
答え 0x2D6になります。
続いて16進数から2進数への変換問題です。
0xABCを2進数に変換してください。
16進数: A(10) B(11) C(12)
2進数:8と2の位が一つ 8と2と1の位が一つ 8と4の位が一つ
1010 1011 1100
答え 101010111100(2進数)になります。
IPv4の考え方の際に必要になってきますので、上記の内容を必ずマスターしましょう。
下記にIPについてのまとめも記載しておきましたので、目を通して、もう一度理解を深めてください。
3-2. IPについての復習
IP
・(Internet protocolol)はネットワーク層・インターネット層で中心的な役割を担うプロトコルになります。
IPアドレスを使用してエンドツーエンドの通信を可能にします。
・IPアドレスは広いネットワークの世界における住所のようなもので、世界中で重複しないように設定されています。
MACアドレスとちがい、個々のノードに付与されるIPアドレスは状況によって変化します。
IPヘッダ(IPv4)の詳細
・IPヘッダ(IPv4)はエンドツーエンドの通信で肝となる「送信元IPアドレス」「宛先IPアドレス」だけでなく、データの送信過程において必要になる情報をフィールドとして多数持ちます。
・IPヘッダを構成するフィールドのうち、軸となるものは全部20バイトで定義されています。
テストやデバッグなどの特殊な状況は「オプション設定」として最大40バイトIPヘッダに情報を定義することができます。