バックナンバー
■
その116「DLNAの仕組み」
[2007/03/26]
■
その115「ドメインとActive Directory」
[2007/03/19]
■
その114「ワークグループができること」
[2007/03/12]
■
その113「WPSの仕組み」
[2007/03/05]
■
その112「Gopherの生い立ちと現在」
[2007/02/26]
■
その111「Wikiの使われ方」
[2007/02/19]
■
その110「文字コードとは」
[2007/02/05]
■
その109「IISの生い立ち」
[2007/01/29]
■
その108「NASの登場と一般への普及」
[2007/01/22]
■
その107「HomePNAのいろいろ」
[2007/01/15]
■
その106「Ogg Vorbisの成り立ち」
[2006/12/25]
■
その105「MIDIの原理とSMFの構造」
[2006/12/18]
■
その104「AIFFの構造」
[2006/12/11]
■
その103「WAVの構造と現状」
[2006/12/04]
■
その102「WMAの歴史」
[2006/11/27]
■
その101「AACの特徴」
[2006/11/20]
■
その100「MP3/MPEG Audioの仕組み」
[2006/11/13]
■
その99「HSDPAの仕組み」
[2006/11/06]
■
その98「H.264・MPEG-4 AVCの特徴」
[2006/10/30]
■
その97「IEEE 802.16e(モバイルWiMAX)の特徴」
[2006/10/23]
■
その96「TIFFの特徴」
[2006/10/16]
■
その95「PNGの現状と今後」
[2006/10/02]
■
その94「GIFの構造」
[2006/09/25]
■
その93「10GBASEの種類(2)」
[2006/09/11]
■
その92「10GBASEの種類」
[2006/09/04]
■
その91「GbEのいろいろ」
[2006/08/28]
■
その90「JPEGの特徴」
[2006/08/21]
■
その89「DivXの広がり」
[2006/08/07]
■
その88「MPEGの仕組み」
[2006/07/31]
■
その87「WMVのこれまで」
[2006/07/24]
■
その86「AVIの生い立ちとそのコーデック」
[2006/07/10]
■
その85「QuickTimeの変遷」
[2006/07/03]
■
その84「Realのこれまでと今後」
[2006/06/26]
■
その83「ShareとWinny」
[2006/06/19]
■
その82「DOCSISの仕組み」
[2006/06/12]
■
その81「SQLインジェクションの流れ」
[2006/06/05]
■
その80「RSSの動作」
[2006/05/29]
■
その79「Skypeの仕組み」
[2006/05/22]
■
その78「BitTorrentの特徴と今後」
[2006/05/15]
■
その77「Winnyの仕組みと現状」
[2006/05/08]
■
その76「WinMXの特徴」
[2006/04/24]
■
その75「Gnutellaの歴史と構造」
[2006/04/17]
■
その74「Napsterの歴史」
[2006/04/10]
■
その73「P2Pのいろいろ」
[2006/04/03]
■
その72「IEEE 802.11nの動向」
[2006/03/27]
■
その71「ActiveX Scriptingの動作」
[2006/03/20]
■
その70「Ajaxの仕組み」
[2006/03/13]
■
その69「DHTMLの動作」
[2006/03/06]
■
その68「Scriptの定義」
[2006/02/27]
■
その67「JavaScriptの仕組み」
[2006/02/20]
■
その66「Javaの動作」
[2006/02/13]
■
その65「RFCのプロセス」
[2006/02/06]
■
その64「ActiveX DocumentとActiveX Controlの違いと共通点」
[2006/01/30]
■
その63「ActiveX Controlの機能」
[2006/01/23]
■
その62「ActiveXを構成するもの」
[2006/01/16]
■
その61「Cookieの仕組みと用途」
[2005/12/26]
■
その60「malwareとその分類」
[2005/12/19]
■
その59「rootkitの動作」
[2005/12/12]
■
その58「CSSの役割」
[2005/12/05]
■
その57「HTMLの変遷」
[2005/11/28]
■
その56「PONとその種類」
[2005/11/21]
■
その55「FWAの仕組み」
[2005/11/14]
■
その54「DoSとDDoS」
[2005/11/07]
■
その53「SNMPとMIBの動作」
[2005/10/03]
■
その52「Jumbo Frameとフレームサイズ」
[2005/09/12]
■
その51「WPA2の仕組み」
[2005/09/05]
■
その50「WPAとWPA-PSKの違い」
[2005/08/29]
■
その49「WPAの仕組み」
[2005/08/22]
■
その48「WebDAVの動作」
[2005/08/08]
■
その47「OFDMAの仕組みとOFDMとの違い」
[2005/08/01]
■
その46「OFDMの仕組み」
[2005/07/25]
■
その45「WiMAXの特徴」
[2005/07/11]
■
その44「Wi-Fiの役割」
[2005/07/04]
■
その43「FTPの目的と動作」
[2005/06/27]
■
その42「UPnPの動作」
[2005/06/20]
■
その41「ネットマスクの仕組み」
[2005/06/13]
■
その40「ARPの機能」
[2005/06/06]
■
その39「DNSの原理」
[2005/05/30]
■
その38「デフォルトゲートウェイの役割」
[2005/05/23]
■
その37「MACアドレスの仕組み」
[2005/05/16]
■
その36「スイッチとその進化」
[2005/05/09]
■
その35「ルータによるメリット」
[2005/04/25]
■
その34「ブリッジの原理」
[2005/04/18]
■
その33「リピータの機能」
[2005/04/11]
■
その32「IPアドレスのクラス」
[2005/04/04]
■
その31「ブロードキャスト/マルチキャスト/ユニキャスト」
[2005/03/28]
■
その30「SMTP AUTHと認証の種類」
[2005/03/14]
■
その29「Submissionポートとスパムメール対策」
[2005/03/07]
■
その28「Outbound Port25 Blockingとは」
[2005/02/28]
■
その27「PGPの仕組み」
[2005/02/21]
■
その26「PKIと認証局」
[2005/02/14]
■
その25「公開鍵暗号方式とは」
[2005/02/07]
■
その24「共通鍵暗号とは」
[2005/01/31]
■
その23「SSHの仕組みと応用」
[2005/01/24]
■
その22「SSLの役割」
[2005/01/17]
■
その21「POP3とIMAP4の違い」
[2004/12/27]
■
その20「POP3の役割と機能」
[2004/12/20]
■
その19「SMTPの機能と問題点」
[2004/12/13]
■
その18「SPIとパケットフィルタリング」
[2004/12/06]
■
その17「LANの概念とその広がり」
[2004/11/29]
■
その16「SIPの役割」
[2004/11/15]
■
その15「プロキシの利用」
[2004/11/08]
■
その14「VoIPの仕組み」
[2004/11/01]
■
その13「イーサネットとは」
[2004/10/25]
■
その12「IP/TCP/UDP/ICMPとは」
[2004/10/18]
■
その11「DHCPの役割」
[2004/10/04]
■
その10「MIMOとは」
[2004/09/27]
■
その9「DMZとその効果」
[2004/09/13]
■
その8「ファイアウォールとは」
[2004/09/06]
■
その7「NATとNAPTの違いとIPマスカレード」
[2004/08/30]
■
その6「VPNとVPNパススルーの仕組み」
[2004/08/23]
■
その5「無線LANの問題とWEP」
[2004/08/09]
■
その4「IEEE 802.11a/b/gって何を意味しているの?」
[2004/08/02]
■
その3「ダイナミックDNSって?」
[2004/07/26]
■
その2「グローバルIPアドレスとプライベートIPアドレス」
[2004/07/12]
■
その1「PPPoEって何だろう?」
[2004/07/05]
その41「ネットマスクの仕組み」
■
ネットマスクって何?
図1:LANの例その1
ネットマスクは、IPアドレスと対になって利用されるものです。
32回目
で、IPアドレスのクラスというお話をしましたが、このクラスという概念にも密接に関係しています。
まずは、図1のようなLANを考えてみてください。“192.168.0.1”というIPアドレスを持つルータがあり、この下に“192.168.0.2~192.168.0.253”という範囲で各ホストがぶら下がっているという構図です。
この場合、LANの範囲は図1で赤く囲った部分、IPアドレスで言えば“192.168.0.1~192.168.0.254”の範囲になります。そこでIPアドレスがこの範囲に収まっている場合は、
前回
取り上げた「ARP(Address Resolution Protocol)」を使ってIPアドレスの解決を行なうことになりますし、この範囲外のIPアドレスが来たら、デフォルトゲートウェイ(この場合ルータである192.168.0.1)にパケットを投げてルーティングしてもらうことになります。
図1の例は、ちょうどクラスCのIPアドレスを使っているのでわかりやすいですが、では図2のようなケースはどうでしょうか。こちらではLANの範囲が“192.168.0.1~192.168.1.254”まで広がっています。このケースだと、クラスCを少しだけはみ出しています。これは32回目の最後で少しだけ触れたクラスレスで構成した例ですが、こういう場合、クラスCの枠に従ってIPアドレスをネットIDとホストIDに分けると正しく動作しないわけです。
図2:LANの例その2
そこで、「IPアドレスのどこまでがネットIDか」を示すものが必要になり、これを実現するのがネットマスクというわけです。例えば図1の場合、LANのネットマスクは“255.255.255.0”、図2では“255.255.254.0”になります。図1のIPアドレスとネットマスクを、2進法で示したのが図3になります。要するにネットマスクというのは、32bitのIPアドレスの中で、ネットIDに当たる部分を1で埋めたものということになります。ですので、図2のケースでは図4のようになるわけです。
図3:図1の場合のIPアドレスとネットマスク
図4:図2の場合のIPアドレスとネットマスク
■
なぜこんなフォーマットなのか?
図5:ネットマスクの使い方
ネットマスクが“255.255.255.0”という表記なのは、一重にコンピュータで処理がしやすいから、というのがその理由です。図5に示すように、IPアドレスとネットマスクに“AND”という論理演算をかけるとネットIDが、ネットマスクの0と1を反転した上でIPアドレスと“AND”を行なうとホストIDが、それぞれ求められることになります。
こうした論理演算や反転といった処理はコンピュータが得意とする処理なので、IPアドレスの処理を簡単に行なえるというわけです。前回のARPの中でも触れましたが、別のマシンと通信する場合、1番最初にそれがLAN内のマシンか否かの判断を行なわなければなりません。
このケースでは、自分のIPアドレスとネットマスクから、自分のネットIDを算出、同様に相手のIPアドレスとネットマスクから相手のネットIDを算出し、この2つが一致していればLAN内、一致していなければLAN外と判断するわけで、レスポンスよく通信を行なうためには、こうした処理を高速に行なえるようにする必要があり、その結果がこのフォーマットになったわけです。
ちなみにネットIDの表記ですが、図1の場合は“192.168.0.0/24”、図2の場合は“192.168.0.0/23”と書きます。この2つ、値だけ見ているとどちらも“192.168.0.0”になってしまい、実際には何ビット分がネットIDなのか区別できません。そこで、“/”の後にネットIDの有効な長さを追記することで、誤解のないようにしているわけです。
2005/06/13 11:03
槻ノ木 隆
国内某メーカーのネットワーク関係「エンジニア」から「元エンジニア」に限りなく近いところに流れてきてしまった。ここ2年ほどは、企画とか教育、営業に近いことばかりやっており、まもなく肩書きは「退役エンジニア」になると思われる。(イラスト:Mikebow)
Broadband Watch ホームページ
Copyright (c) 2005 Impress Corporation, an Impress Group company. All rights reserved.