Все статьи | Блог студента

Рецензия на книгу «Компьютерные сети. Нисходящий подход»

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Рецензия на книгу «Компьютерные сети. Нисходящий подход» главное изображение

Привет, Hexlet! Хочу поделится в впечатлениями от прочтения книги «Компьютерные сети. Нисходящий подход», авторы: Джеймс Куроуз, Кит Росс.

Тема компьютерных сетей меня интересовала давно, тем более программист, который создаёт Web-приложение, должен не только уметь писать код, но и понимать как его приложение взаимодействует по сети (хотя бы на базовом уровне).

Почему нисходящий подход?

Вообще существует два пути изучения компьютерных сетей:

  1. Сверху вниз по модели взаимодействия открытых систем(OSI), начиная с прикладного уровня и кончая физическим;
  2. Соответственно снизу от физического к прикладному.

Не знаю кому как, мне понравился первый вариант, он мне более понятен (данные от приложения через сокет спускаются на транспортный уровень, там инкапсулируются в дейтаграмму и спускаются на сетевой).

О самой книге:

  • Книга читается довольно легко, за исключением мест, где производятся различные математические расчеты (типа двойной экспоненциальный алгоритм выдержки для расчета времени задержки в протоколе разделяемого доступа к среде), но эти места я пропускал, для базового понимания они и не нужны.
  • На сайте издательства можно скачать упражнения и лабораторные работы по анализу сетевого трафика. (ссылка в книге есть)
  • В книге разобраны все основные протоколы стека TCP/ip (особенно для нас, как для разработчиков, важны HTTP, DNS, TCP, UDP)
  • Есть примеры программирования сокетов (правда, на Python)
  • Особенно меня поразило, какое прикладное применение в компьютерных сетях нашла теория графов — это и построение маршрутов, и предотвращение петель коммутации (протокол дерева). Раньше я думал, что графы — это структура данных, которая применяется в программировании.
  • Еще мне понравилась глава: «Один день из жизни запроса веб-страницы». В этой главе описываются 24 шага получения веб-станицы конечным хостом, начиная от подключения хоста к сети, и заканчивая отображением веб-страницы. На каждом шаге описываются протоколы, которые были задействованы. Это так сказать своеобразный маркер — если понял все шаги, значит книгу прочел не зря. Это очень круто!

Вообщем книга мне понравилась, не жалею потраченного времени, всем советую! Всем удачи, добра и успехов в обучению программированию!

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев