Pull to refresh
174
0.1
Alexander Pevzner @apevzner

Программист на все руки

Send message

Multicast DNS и DNS-SD

Level of difficultyMedium
Reading time13 min
Views4.2K

Multicast DNS и DNS-SD являются ключевой составной частью стека Zero-configuration networking (zeroconf) и отвечают в нем за службу имен и автоматический поиск устройств в пределах локальной сети.

Технология zeroconf, позволяющая собрать работающую локальную сеть с нулевыми усилиями по администрированию и конфигурации, известна уже давно. Еще в 1980-х AppleTalk, локальная сеть для компьютеров и устройств Apple, позволяла просто соединить устройства проводами и сразу начать работать.

AppleTalk не выдержал конкуренцию с TCP/IP в эпоху Интернета, но идея сети, которая работает сама, не умерла. В мире TCP/IP Apple продвигает ее под именем Bonjour (ранее Rendezvous).

mDNS/DNS-SD являются одними из ключевых технологий в устройстве современного стека печати и сканирования. Кроме того, они могут использоваться в "облаке", позволяя отдельным компонентам облачного сервиса найти друг друга при условии, что они подключены к одной локальной сети, реальной или виртуальной.

В этой статье я расскажу, как вся эта конструкция устроена под капотом. Эта информация может быть полезна системным и сетевым программистам, которым приходится работать с соответствующими API, администраторам сетей да и просто для лучшего понимания того, как устроены современные сети.

Читать далее
Total votes 13: ↑13 and ↓0+19
Comments7

Анатомия Интернета: что в имени тебе моём? (DNS)

Level of difficultyMedium
Reading time33 min
Views23K

Всем нам нравится писать в строке бровсера https://habr.com/. Никому не
захотелось бы писать там https://178.248.237.68/. К тому же, IP-адрес может
измениться, если Хабр решит перейти на другой хостинг.

Служба Интернета, которая превращает удобные всем имена в IP-адреса,
называется DNS, Domain Name System, "система доменных имен".

В этой статье я собираюсь описать работу DNS с разных аспектов, как с
технических, так и с организационно-административных.

Эта статья не является введением в DNS для начинающих. Скорее, моя
предполагаемая аудитория - это ИТ-профессионалы разной специализации,
которые хотят получше разобраться в анатомии сети Интернет.

Здесь я попытаюсь изложить сложные вещи простым языком, не погрязая в
излишних подробностях - моему читателю судить, насколько мне это
удалось.

Читать далее
Total votes 25: ↑24 and ↓1+30
Comments25

Как делается OpenSource: личный опыт

Level of difficultyMedium
Reading time17 min
Views38K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

Здесь я хочу рассказать, каково оно, быть автором популярных OpenSource пакетов. Хоть эта работа и не принесла мне особых денег (на что я, впрочем, особо и не рассчитывал), она принесла мне бесценный опыт.

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее
Total votes 394: ↑394 and ↓0+394
Comments71

Information

Rating
3,010-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

System Software Engineer, Software Architect
Lead