Ред. 2.59 от 02.06.2023. — Издание автора, 2023. — 234 с.
Автор являлся непосредственным участником разработок, на протяжении свыше 40 лет, в проектах из области системотехники и программного обеспечения разного масштаба и разной целевой ориентации. Практически все из которых, в большей или меньшей мере, были связаны с сетевыми обменами. Текущий текст является обобщением практического опыта автора. Но, как и всякий практический опыт, обладает некоторой фрагментарностью - с акцентом на те аспекты, которые попадали в поле деятельности автора.
Первоначальный текст был подготовлен по приглашению, на заказ, как конспект учебного курса для программистов-разработчиков крупной международной софтверной фирмы Global Logic. В каковом качестве этот учебный курс и был прочитан один раз, в форме тренингов объёмом 30-40 академических часов, в 2012-2013 годах.
После чего, существенно дополняемый он использовался автором как «памятка для себя любимого», пусть и достаточно фрагментарная... конспект, справочник: отдельные вопросы сетевого программирования, которые, как мне казалось, нужно выделить. Кроме того, позволяющая и другим коллегам по профессии на начальном этапе работы с Linux как можно быстрее «въехать» в прямую программистскую деятельность затрагивающую сетевую область. В таком виде он (собственно, без ведома автора) и разошёлся достаточно широко по Интернет, примерно в 2014-2016 годах.
Настоящая ревизия (правильнее сказать: радикальная переделка всего текста дотла, оставив только его скелет) мотивирована следующими соображениями:
- Предыдущие 30 лет компьютерные сети развивались, и это не только в Linux, но и во всех других средах, базируясь исключительно (неявно) на протоколе IPv4. В несколько последних лет (с 2012 года, об этом будет ниже) произошло официальное введение в эксплуатацию в Интернет IPv6. И это радикально поменяло, по крайней мере в синтаксисе, привычное использование многочисленного сетевого инструментария.
- Расширение сферы использования IPv6 идёт, вопреки ожиданиям, гораздо медленнее прогнозируемому. Но это - будущее Интернет и, как следствие, сетевых технологий вообще. И в этом будущем IPv6 полностью вытеснит привычный IPv4. Поэтому именно с таким упором должен быть пересмотрен текст.
- В первоначальном варианте конспект планировался на аудиторию программистов, как учебный курс именно этого профессионального контингента. К настоящему времени создалось много разнообразных средств использования сетевых возможностей потребительского уровня, не требующих написания программного кода. Вплоть до формирования модной парадигмы и специализации DevOps - разработка крупных инфраструктурных проектов через администрирование («вместо дорогих и капризных программистов использовать более дешёвых администраторов»). Это потребовало сильно расширить охват в область пользовательского уровня.
- Изложение строится, по возможности, так, что те главы, где обсуждаются образцы программного кода, могут без особого ущерба для общей картины опущены всеми теми, кого не интересуют вопросы сетевой реализации в программном коде.
- Появляются, и ещё более будут появляться, системы передачи данных, использующие транспортные механизмы традиционного Интернет, но работающие над (сверх) его базовыми механизмами (это начиналось от проксисерверов и VPN, и далее к ячеистым mesh-сетям и альтернативным DNS). Это нельзя оставить в стороне от рассмотрения, чему и отведена последняя часть книги.