有効なホスト名ラベルは何ですか?

有効なホスト名ラベルは何ですか?

ホスト名を数値に設定して実行すると、hostname次のようになります。

6592

しかし、実行すると、次のようなping 6592結果が得られます。

connect: Invalid argument

関連確認しましたウィキペディアページ、そのようなホスト名が許可されていることが示されています(IIUC)。私は何を見逃していますか?

ベストアンサー1

RFCが言う内容は、実際にはここでは重要ではありません。 RFC は DNS レベルで発生することを指定しますが、最初に ping が DNS クエリを実行しない限り意味がありません。 pingがすべて数値で構成されたパラメータを受信すると、それをIPアドレスとして解釈します。

IPv4アドレス技術的には32ビット数です。それらはほとんど常に次のように書かれています。ドットで区切られた10進表記、例えば、いわゆる「点四辺形」です127.0.0.1。ただし、213070643310進数または16進数で1桁の数字で書くこともできます0x7f000001

$ ping 2130706433    # 127*2^24 + 1
PING 2130706433 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.027 ms
$ ping 0.0.25.192
connect: Invalid argument

0.0.0.0/8の範囲のアドレスは次のとおりです。予約済み放送でソースアドレスとして使用されます。彼らにパケットを送ることができないので、がconnect(2)返されますEINVAL

ほとんどのping実装を含む多くのプログラムには、DNSルックアップを強制するオプションはありません。すべての数字で構成されたサブドメインでローカルネットワークを作成し、点線の四辺形のように見える有効なホスト名で終わると、同様の問題に直面します。

ローカルネットワークに名前がある場合はping 6592.mynetwork使用できます。しかし、すぐにドメイン名を省略したいので、同様の問題に直面する可能性があります。ちょうど流れに従って始めに手紙を書いてください。

おすすめ記事