サブネットの最初のアドレス、つまりIP 192.168.0.0/24
を使用しないのが一般的であると思われます。よりエキゾチックな例は172.20.20.64/29
です。
私が頻繁に使用するipcalc
ツールは同じ方法に従います。
$ ipcalc -n -b 172.20.20.64/29
Address: 172.20.20.64
Netmask: 255.255.255.248 = 29
Wildcard: 0.0.0.7
=>
Network: 172.20.20.64/29
HostMin: 172.20.20.65
HostMax: 172.20.20.70
Broadcast: 172.20.20.71
Hosts/Net: 6 Class B, Private Internet
しかし、この場合、HostMin
が単に64
ではないのはなぜですか? 64
アドレスは有効なアドレスですよね?そして答えが何であれ、IPv6にも同じことが当てはまりますか?
おそらく少し関連している:TCPポート0とUDPポート0を使用することも可能であるように見えます。これらは有効ですか、どこかで使用されていますか?
Wesley、Chopper3、およびWillyが指摘したように、最新の規則では、最初のアドレス(すべてゼロのホスト番号)をサブネットに使用し、最後のアドレス(すべて1のホスト番号)をブロードキャストアドレスとして使用します。
歴史的な理由により、多くのOSは最初のアドレスをブロードキャストとして扱います。たとえば、ローカル(/ 24)ネットワーク上のOS X、Linux、およびSolarisからx.x.x.0にpingすると、応答が返されます。 Windowsでは、デフォルトでは最初のアドレスにpingを実行できませんが、SetIPUseZeroBroadcast WMIメソッドを使用して有効にできる場合があります。すべてのWindowsネットワークでホストアドレスとして.0を使用することで問題が解決できるかどうか疑問に思います。
私はこれが古いスレッドであることを知っていますが、私はこれを自分で調査しており、「ネットワーク0であるためホストゼロは使用されていません」に留まりませんでした。理由がわかりませんでした。ネットワーク番号であっても、ネットワーク番号を決定するメカニズム(ネットマスクのANDをとる)がネットワーク番号を決定するために機能するため、有効なアドレスとしての使用を停止しないでください。
すべて1のホストアドレスは、有効な宛先アドレスであるため、使い慣れたブロードキャストアドレスと一致するため、使用しません。使用すると、それらを区別することができなくなります。
ホストゼロを使用できない理由の詳細は、これがブロードキャストアドレスでもあることです。ただし、RFC1812セクション4.2.3.1は、ルーターがアドレス指定されたパケットを受信することを示しています。それらを「黙って廃棄するべきである」(彼らの強調-私のものではない)。ただし、同じ段落では、これらのパケットをブロードキャストとして扱うことができます。
ここに完全なサブセクションがあります
(2) SHOULD silently discard on receipt (i.e., do not even deliver to
applications in the router) any packet addressed to 0.0.0.0 or {
<Network-prefix>, 0 }. If these packets are not silently
discarded, they MUST be treated as IP broadcasts (see Section
[5.3.5]). There MAY be a configuration option to allow receipt
of these packets. This option SHOULD default to discarding
them.
サブネットの最初のアドレスはサブネット自体を参照し、ルーティングの目的で使用されるためです。
インターネット時代の初期には、x.x.x.0がネットワークのブロードキャストアドレスとして使用されていました。それは後でx.x.x.255に変更されました。 SunOSには、その期間中にブロードキャストを.0または.255として構成するオプションがあったことを覚えています。安全のために、.0と.255は常に予約済みの数値でした。
サブネットの最初の数字は、ネットワークのアドレス自体です。したがって、192.168.0.0/24は、そのサブネットを参照するために使用される番号です。もちろん、最後のアドレスは、ブロードキャストが送信され、そのサブネット上のすべてのクライアントにプッシュダウンされるブロードキャストアドレスです。 IPネットワーキングでは、常にアドレス2をブロードキャストアドレスから削除して、アドレス指定可能なIPアドレスの総数を調べます。 192.168.0.0/24には192.168.0.255のブロードキャストがあり、したがって253のアドレス可能なアドレスがあります。 192.168.0.0/26には192.168.0.64のブロードキャストがあり、したがって62のアドレス可能なアドレスがあります。
(チョップとウィリーは私をそれに打ち負かしました-しかし私は不機嫌で、私の投稿を削除する気がありません。=))
CIDRブロックごとに2つの予約済みIPアドレスがあります。 1つは「the」ネットワーク番号で、偶数(ビット0)になります。もう1つはダイレクトブラッドキャスト(サブネットブロードキャスト)で、ネットワークのホスト部分がすべて1(奇数)に設定されます。これが私のサブネット計算機の例です:
Network Net Broadcast CIDR Mask UsableHosts
192.168.254.0 192.168.254.31 27 255.255.255.224 30 AVL isPrivate, isClassC
192.168.254.32 192.168.254.47 28 255.255.255.240 14 AVL isPrivate, isClassC
192.168.254.48 192.168.254.55 29 255.255.255.248 6 AVL isPrivate, isClassC
192.168.254.56 192.168.254.59 30 255.255.255.252 2 REQ 2 isPrivate, isClassC
192.168.254.60 192.168.254.63 30 255.255.255.252 2 REQ 2 isPrivate, isClassC
x.x.x.0(またはサブネットの最初のアドレス)はネットワークアドレスであり、同じサブネット上にあるトラフィックと、別のネットワークにルーティングする必要があるトラフィックを識別するために使用されます。
ホスト番号 0 in everyサブネットは、それがブロードキャストアドレスであったため、主に予約されています。
RFCは言い換えると破棄する必要がありますが、代わりにブロードキャストとして使用しますが、デフォルト以外のオプションを介してホスト番号としても使用できます。
現在、xyz0のようにoctet 0は完全に有効なゼロ以外のCIDRホスト番号である可能性が非常に高いですが、以前は、実装のバグ(おそらく残りのクラス)のために、孤立したサイトで非常にまれに問題が発生しました-完全なコード)サイトのハードウェアまたはソフトウェア。
今日、オクテット0はISPやクラウドプラットフォームによって割り当てられるほど十分に機能していますが、一部のサービスは過去の経験に基づいて意図的に提供していません。
興味深いことに、特定のサイトでホスト0をサポートするために必要なことは、ローカルサブネットに存在する正確なデバイスによるサポートです...パケットが上流に集約されると、実際に(CIDR )ホスト番号0が使用されています。 WANはまったく気にしません。
最後に、ローカルサブネットのホストがブロードキャストにall-1のホスト番号を使用し、all-0のホスト番号を特別なケースにしない場合、ルーターをデフォルトのままにして、ローカルのみの「非表示」ステーションを作成できます。これは、ハックが発生しやすい安価なコンシューマールーターなどの組み込みシステムを保護するのに役立ちます...