Seberapa umumkah IP matematika mewah diterima oleh alat?

2

Jika kita menentukan alamat IPv4 kita semua biasanya melakukan pola 1.2.3.4 Sekarang pada dasarnya ini hanya 'a' cara menulis angka 32 bit dalam bentuk yang lebih dapat dibaca manusia.

Alamat IP 1.2.3.4 juga dapat ditulis sebagai 1.2. (3 * 256 + 4) = 1.2.772

Ini membuat Anda dapat memiliki alamat IP dengan 3 titik (mis. Praktik umum), 2 titik, 1 titik, dan tanpa titik sama sekali (mis. Bilangan bulat 32-bit unsigned normal yang ditulis sebagai bilangan bulat desimal).

Dengan menggunakan notasi alternatif seperti itu, Anda dapat menulis beberapa alamat IP yang lebih mudah dibaca: 10.10.4000 sama dengan 10.10.15.160

Salah satu efek samping nitfy adalah bahwa jika ini digunakan dalam kombinasi dengan server web seperti apache, Anda dapat menentukan 4 vhosts berbeda pada satu alamat IP tanpa menggunakan file DNS atau host. (Coba ini di rumah;)

Saya tahu ada banyak alat berbasis GUI (seperti konfigurasi IP Windows) yang hanya memiliki 4 bidang yang semuanya hanya menerima 0-255. Banyak alat commandline (seperti ping, curl, ssh, dll.) Dan hampir semua penjelajah web (yang pada dasarnya memiliki bilah alamat form gratis) dapat memperoleh formulir 'apa saja'.

Sekarang pertanyaan saya adalah: Seberapa baik notasi IPv4 alternatif semacam ini diterima / diizinkan oleh alat yang kita miliki 'di alam liar' yang menerima segala bentuk?

Niels Basjes
sumber

Jawaban:

3

Ini bekerja karena cara fungsi inet_addr bekerja. Secara praktis setiap kode aplikasi jaringan menggunakan ini untuk mengonversi string IP ke bentuk integer mereka, dan mendukung notasi a, a.b, a.b.c, dan a.b.c.d.

Jadi ya, seharusnya cukup aman untuk mengasumsikan bahwa mungkin untuk menggunakan keempat notasi ini untuk alamat IP.

Matthew Iselin
sumber
Deskripsi fungsi inet_addr sebenarnya menggambarkan perilaku yang diamati sebagai "oleh desain". Inilah yang ingin saya ketahui.
Niels Basjes
5

Saya tidak suka gagasan menulis alamat IP dalam representasi integer selain a.b.c.d bentuk di mana masing-masing dari 4 nilai berada dalam kisaran 0-255 (dengan kendala lainnya).

Notasi lain hanya akan menyebabkan kesalahan interpretasi dan lebih banyak bug di alam liar.
Saya memilih untuk mengidentifikasi semua alat dan aplikasi yang memungkinkan interpretasi dan memperbaikinya.

Kami akhirnya akan memiliki Notasi IPv6 juga bisa digunakan ; jangan sampai mengacaukan segalanya.

nik
sumber
1

Jika Anda menemukan program .NET yang membaca alamat IP, Anda dapat mengandalkannya juga mendukung representasi desimal. Sebagian besar parser dalam bahasa pemrograman yang saya gunakan berperilaku sama.

Sayangnya, beberapa dari mereka menggunakan RegEx untuk memeriksa apakah sintaksis putus-putus dimasukkan ketika Anda mencoba melakukannya dari UI. Jadi, sementara mereka dapat menguraikannya, mereka memilih untuk tidak melakukannya.

Namun, perlu dicatat bahwa sintaksis bertitik jauh lebih mudah dibaca dan diingat representasi desimal.

Josip Medved
sumber