
192.0.2.0/24 を 192.0.2/24 のように省略する表記方法は正しいのか?
一昨日の日記↓で「192.168.xxx/24」という表記をしたところ、BAKUCHIKUのSlackで、第4オクテットって書かないものなの?、というツッコミが入ったのよね。
ちゃんと全部書くのが普通でしょ?、いや省略もするでしょ?、みたいな話をSlackでして面白かったので、まとめてみた。
そもそもどっち派??
第4オクテットを省略する派閥としない派閥があるっぽいのはなんとなく確認できた。
省略したい派はこんな主張だ。
表記は短いほうが合理的
ネットワーク部分を強調できる
管理者的には視認性が高い
ちゃんと全部書きたい派はこんな主張。
32bit分を書かないと気持ちが悪い
/16や/24のように丁度区切れるときにはわかりやすいけど、/26とか/22とかのようにclasslessなアドレスだと省略すると逆にわかりにくい
省略するような表記はあまり見ない
これを読んでる人はどっちの派閥かしら?
省略表記はいつ頃から使われているのか?
岡田先生が調べてくれたところ、RFCにこの省略表記が出てきたのは、RFC1918らしい。
プライベートアドレスについてのRFCで以下のような記載がある。
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)ただ、省略表記しても良い、というRFCはなく、慣習的に省略してたんじゃないかな、とのこと。
NANOGのメーリングリストを掘ると、1994年ぐらいには普通に使われている。
省略表記は正式なものか?
省略した表記方法について定義したドキュメントは残念ながらなさそう。
RFCでも省略した表記があるのは、RFC1918だけで、それ以外についてはまったく省略はされていない。
なので、途中のオクテットを省略する表記は「非標準であり推奨されない」というのが公式見解な気がする。
ChatGPTに、どういうときに省略して良いの?、と聞いたところ
図や資料に使う場合、読みやすさ目的なら OK。ただし注意書きを入れるべき。
メモや口頭説明には良く使われてるから使ってOK
設定ファイル・CLI・スクリプトでは、絶対に使えないので NG
と言われたよ。
省略表記を使わない理由としては以下を上げてくれた。
曖昧さが生まれる。192.168.200/24 → 「.0 を省略した」と判断できるが、RFCが保証しているわけではない。
OS・プログラムでこの略記を解釈する仕様は存在しない。
ホスト部の値が「0」であると決めつけてしまう可能性がある。CIDRにおいてネットワーク番号が0とは限らない
ちなみに、プレフィックスを /xx のように付けるのは、RFC4632でちゃんと定義されている。
でも、macOSやOpenBSDだと、コマンドの出力が省略表記になることがあるよ?
下川先生とか岡田先生が調べてくれたんだけど、macOSやOpenBSDで、netstat -rn を見ると、経路情報のところは省略表記で出力されるらしい。
ただ、省略表記での設定はやっぱりできない。
IPv6はちゃんと表記方法が定義されている
ちなみにIPv6の表記方法については、ちゃんとRFC5952で定義されている。
このRFCの執筆者は日本人だ。
JANOG24のLTで発表された内容↓がRFCになったんだぞ。
CIDR表記については、RFC4632を踏襲する感じだ。
雑談の裏側で
本日は福岡で「KP 九州連携研究会 2025 with QBP & QGPOP」というイベントがあって、若者達がいろいろ発表をしている。
その指導教官も会場にいて発表を見守ってなきゃいけないはずなんだけど、裏側でなんかずっとチャットしてるように見えるなあ。
Class Eのアドレスでネットワーク作るとどうなるか
255.255.255.0/24 のアドレスって使える?
0.0.0.0/24 も使える?
みたいなどうでも良い雑談は楽しいよね〜
学会の後ろのほうで雑談する指導教官達、というイメージで今日の絵は書いてもらった。
アドベントカレンダー
14日目。
初日に書いたネタを全然消化できてない気がするけど、まあ日々いろいろあるので仕方ないよねえ。
来週も楽しいといいな。