質問: 先行ゼロの有無にかかわらずipアドレスは同じですか? セキュリティシステムがあり、ネットワーク設定で3桁のipアドレスしか許可されていません。 192.168.2.100に設定することはできません。代わりに192.168.002.100を使用する必要があります。この2つのipアドレスは異なりますか?これが正しく機能するためには、ルータのlanをすべて192.168.xxx.xxxに設定する必要がありますか?これに関する確かな情報は見つかりません。
回答: 与えられたアドレスを解析するために与えられたプログラムが使うツールや機能に依存します。 microsoftとlinuxの両方と他のosはアドレスを解析するために posix 互換inet_addr()ルーチンを使います。 pingやftpなどの多くのtcp/ipプログラムは、inet_addr()ソケット関数を使用してipアドレス文字列を4バイトアドレスに変換します。この関数は、標準の10進数、8進数、および16進数でipアドレスを受け入れます。 microsoft kb115388のpingおよびftpでは、先頭のゼロが8進数であるipアドレスが解決されます inet_addr()関数は、インターネットホストアドレスcpをipv4の数字とドットの表記法からネットワークバイト順のバイナリデータに変換します。 上記のすべての形式で、ドット付きアドレスの構成要素は、10進数、8進数(先行の0を含む)、または16進数(先行の0を含む)で指定できます。これらの形式のアドレスは、まとめて ipv4 の数字とドットの表記法で呼ばれます。厳密に4つの10進数を使用する形式は、ipv4のドット付き10進表記法(または場合によってはipv4のドット付き4進表記法)と呼ばれます。 inet_addr(3):インターネットアドレス変更ルーチン - linuxのmanページ そのため、特定のシステムでは各オクテットに3桁の10進数表記が必要になる場合がありますが、これは一般的ではないため、正しいipアドレスが入力されるように注意する必要があります。もちろん、各タイプに有効な数字だけが機能します。範囲外の8進数、16進数、または10進数も失敗するか、問題を引き起こす可能性があります。 8進数088、16進数0xgg、または10進数280はすべて無効な例です。