Системы счисления и системное администрирование
Наберём в консоли (в терминале) ping 010.010.010.010 и запустим выполнение – что произойдёт? Результат теперь многим и многим, – далеко не пользователям, а даже системным администраторам, – кажется неожиданным: “пинги” отправляются на один из адресов Google – 8.8.8.8. Проверьте самостоятельно (в экзотических ОС результат может отличаться, но в привычных линуксах, например, – всё вполне корректно, а экзотические ОС ещё предстоит подобрать).
Почему так вышло? Потому что старое системное соглашение, о котором нынче забывают, гласит: если запись октета IP-адреса (здесь – четвёртой версии) начинается с символа нуля и не содержит, следом, буквы, то это запись в восьмеричной системе! (Относится, конечно, не только к ping и не только к IP-адресам.) 10 в восьмеричной системе – это восемь, так что: 8.8.8.8. Неплохо взглянуть и на другие варианты: ping 010.8.010.8, например. А попытка вызвать ping 010.080.010.010 приведёт, скорее всего, к сообщению о том, что адрес для имени обнаружить не удалось (или Name or service not known – в типичном случае).
А оговорка насчёт буквы в предыдущем параграфе, конечно, это для 0x08, например. Но такая запись мало кого вводит в заблуждение.
Адрес записки: https://dxdt.ru/2023/03/16/9739/
Похожие записки:
- Падение тел в физике Аристотеля
- Байты ключей в квантовом компьютере
- Нормализация символов Unicode и доменные имена
- Странные особенности Golang: комментарии и ассемблер
- Набеги ботов под прикрытием AI
- "Краткий пересказ" новой возможности "Яндекс.Браузера"
- Пресертификаты в Certificate Transparency
- Оптимизирующие компиляторы, микроконтроллер и ассемблер
- Экспериментальный сервер TLS: сигналы внутри сертификата
- Кабели и квантовые процессоры
- Циклы и логические формулы
Написать комментарий