【Java】パケットの仕組みってこうなってたんだ!高速データ通信ってホントにスゴい!【学習】
-スポンサードリンク-
線路は続く、どこまでも…。インターネットの深い世界…ww
前回の記事で、デフォルトゲートウェイ内でLANで繋がり、プライベートIPアドレスでそれぞれを区別していること。
同じグループをサブネットマスクを使って認識を使っていることを書かせていただきました。
関連:【Java】インターネットの仕組みについて。知識を柔軟に吸収するための下地作り【学習】
長々と説明が続いていますが(笑)、まだこれだけではネットワークに繋がる知識をすべて理解できないのです…。
MACアドレスとは。個体を認識するために
IPアドレスを郵便番号などに例えることも多いですが、それはあくまで番号であって、実際にはそこにはハード。つまりパソコンがあるわけですね。
同じグループ内に新しいパソコンが置かれた時に、今までと番号は同じでも、そこと情報のやり取りをしてよいのかわかりません。
そこで個別のコンピューター機器についている宛名のようなものが必要になってくるのです。
それを「MACアドレス」と呼びます。
MACアドレスとは、個別の機器に装着されている「LANカード」に割り振られている番号で、各種サーバーやルーターにも割り振られています。
MACアドレスは48ビットの長さになっています。
A0:B2:D5:7F:81:B3
のように、数字とアルファベットが混合した12の文字からなっています。
その内の前半6個がハードウェアメーカーに割り当てられ、後半の6個ではメーカー内で重複しないように設定がされています。
つまり、この48ビットで構成されたMACアドレスは、世界に一つしかないのです。
MACアドレスは16進数で表されます。
2進数が0と1だけの世界。
1の次が10というように、2番目で桁が上がります。
私たちが一般的に使っている10進数は0~9までの10個からなる世界。
9の次が10であるように、10番目で桁が上がります。
16進数は、0~9に更にA~Fを加えた16個からなる世界です。
5、6、7、8、9、と数え、更にA、B、C、D、E、Fの次が10となり、16番目で桁が上がる数列となります。
なぜMACアドレスに16進数が使われているかというと、大きな数値も少ない表記で表せるというメリットに加え、
更に2進数との親和性が高いからなのです。
1bit | 0 | 1 | ||||||||||||||
2bit | 0 | 1 | 10 | 11 | ||||||||||||
3bit | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | ||||||||
4bit | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
2進数で4bitまでを表すとこのようになります。
4bitの行を10進数で表すと、0~15、つまり16個の数字で表していることになり、これはつまり、16進数では4bit分を丁度一文字で表せるということなのです。
例えば255という10進数の数字を2進数と16進数それぞれで表してみると
2進数 : 11111111
16進数 : FF
255は8bitで表せるMAX数字です。つまり、2進数だと1が8つで11111111。
16進数は16の倍数で桁が上がる仕組みなので、16の2乗=256の1つ前のMAX数字FFとなります。
-スポンサードリンク-
MACアドレスの調べ方
MACアドレスはパソコン内を覗くことができるコマンドプロンプトを使って知ることができます。
コマンドプロンプトを立ち上げた最初の画面の末尾に「ipconfig/all」と入力してEnterキーを押します。
たくさん出てくると思いますが、その中に「物理アドレス」という表記を見つけられるかと思います。
この物理アドレスに記載されているのがMACアドレスとなります。
ちょっと横道に逸れましたが…ww
MACアドレスの調べ方、16進数と2進数の高い親和性を知っておくと後々便利に使えるようになるので、覚えておくとよいでしょう。
さて、本題に戻りますがww
MACアドレスを通じて本人確認をしながら情報がやり取りされます。
デフォルトゲートウェイが他のPCに情報を送りたい時に、受信側のMACアドレスは何?と質問をします。
これをARP要求と言います。それに対して、受信側がMACアドレスを応えることをARP応答と言います。
ARPとは、IPアドレスとMACアドレスを交換するためのプロトコル(ルール、規定)です。
ARP要求はIPアドレス内の仲間全体に一斉通知されます。これをブロードキャストと言います。
ARP応答は発信者のみに直接答える単一送信、ユニキャストと言います。
例えば私のブログ「ヒヨネの万事屋」を見たいと思ったら、DNSサーバーにIPアドレスを聞く所から始まります。
ここでまずARP要求と応答が行われます。
そこからインターネットの世界に行きますので、デフォルトゲートウェイとARPのやり取りが行われます。
ホームページを見たいという要求をし、部屋番号(ポート番号)は80です。郵便番号(IPアドレス)はこれです。管理人宛名(MACアドレス)はこれです。と伝えます。
ちょっとわかりにくいので整理すると、
「ホームページを見たいので、部屋番号と郵便番号をお伝えします。管理人さんよろしくね。」
となります。
「WEBアドレス」「ポート番号」「IPアドレス」「MACアドレス」というように、小分けにされたデータのまとまりのことを「パケット」と言います。
ようやく聞き覚えのある言葉が出てきましたねwww
情報を効率的にやり取りするために小分けにしたデータのことです。
携帯電話のプランなどで言うパケット通信とは、情報が細かく小分けになったデータ通信方法のことです。
デフォルトゲートウェイがグローバルIPアドレス上にある掲示板の宛名に対して問いかけをし、それを受け取って、私たちが閲覧できるというわけです。
TCP/IPの階層 | 役割 | ||
アプリケーション層 | 人が分かる情報のやり取り | HTTP | DNS |
トランスポート層 | 信頼性や効率性を提供 | TCP | UDP |
インターネット層 | 宛先ネットワークに届ける | IP | IPv6 |
ネットワークインターフェース層 | ケーブルやルーターなどの物理的な接続 | イーサネット | PPP |
インターネット上で情報をやり取りをするには、4つの階層が必要になります。
今回はホームページを見るための流れで説明を行いましたが、どのようなやり取りでも似たようなアクションが行われています。
普段何気なく利用しているインターネットの世界には、このような深い部分があったわけですね。
これを踏まえて、次回はプログラムというものについて書きたいと思います。
いよいよ「Java」という単語も登場しますよ!
インターネットについては一旦区切りとなります。
最後まで読んでいただきありがとうございました!
また続きも読んでみてくださいね。
関連記事
【Java】インターネットの仕組みについて。知識を柔軟に吸収するための下地作り【学習】
【Java】インターネットってそもそも何?世界と繋がる電脳世界【学習】
【Java】地盤固めはしっかりと。これから挑む相手を知ろう【学習】
-スポンサードリンク-