Учиться никогда не поздно. Проштудировав энциклопедический трехтомник Ричарда Стивенса, настойчивый читатель может освоить все тонкости основных протоколов стека TCP/IP, даже если до этого он имел о них весьма смутное представление. Каждый из трех томов, изданных соответственно в 1994, 1995 и 1996 гг., стал бестселлером. Трехтомник Стивенса многими считается эталоном изложения принципов работы самого популярного на сегодня стека коммуникационных протоколов.
Для того чтобы читатель мог хорошо усвоить столь обширный материал и получить удовольствие от самого процесса познания, автором используются три подхода. Во-первых, описание формальной логики работы каждого протокола в соответствии со спецификациями RFC.
Во-вторых, примеры дампов перехваченных в реальной сети пакетов с подробным комментарием поведения узлов для наиболее типичных случаев взаимодействия узлов по изучаемому протоколу. Поведение сети иллюстрируется также распечатками результатов работы многих популярных административных утилит стека TCP/IP, таких, как netstat, ping, traceroute, ifconfig и т. п., причем во всех случаях анализ производится для одной и той же конфигурации сети. Именно этот подход дал название «Illustrated» всему трехтомнику, подчеркивая его отличие от других книг аналогичной тематики, — в первую очередь, от не менее популярного, но более академического по стилю изложения трехтомника Дугласа Комера «Internetworking with TCP/IP». Иллюстрация логики протоколов практическими примерами захваченного трафика и результатами работы реальных сетевых утилит значительно ускоряет усвоение материала. Стивенс использует для анализа трафика свободно распространяемую утилиту tcpdump, поэтому читатели, имеющие доступ к работающей сети, могут самостоятельно воспроизвести ситуации, описанные в книге.
В-третьих, исследование исходных программных кодов протоколов TCP/IP. Это дает читателям возможность увидеть, что на самом деле стоит за внешними проявлениями работы протоколов и каким образом логика протокола воплощается в многочисленные строки кода операционной системы компьютера или маршрутизатора.
Несмотря на общность примененных подходов, каждая из книг имеет самостоятельное значение и, возможно, свой круг читателей.
Первый том, имеющий подзаголовок «The Protocols», посвящен иллюстрированному описанию логики работы всех основных протоколов стека TCP/IP — от IP и ARP до FTP и NFS. Вводные главы предназначены для тех, кто только начинает изучать сетевые технологии; они знакомят их с многоуровневой организацией протоколов, системами адресации узлов и т. д. В основных главах первого тома рассмотрение протоколов ведется по принципу «снизу вверх», начиная с уровня IP и завершая протоколами прикладного уровня.
Второй том, названный «Implemen-tation», написан в соавторстве с Гари Райтом. Он целиком посвящен анализу программного кода стека TCP/IP. Этот самый объемный том серии (свыше тысячи страниц) содержит комментарии ко всем 15 000 строк исходного кода реализации протоколов TCP/IP в ядре ОС UNIX BSD — кода, который стал эталонным для многих реализаций стека как в версиях UNIX, так и в других операционных системах и маршрутизаторах. Для чтения второго тома необходимо иметь базовые знания в объеме первого тома, при этом его удобно использовать как справочник из-за многочисленных перекрестных ссылок.
Третий том значительно отличается от двух первых ввиду своей эклектичности, что отражено и в названии — «TCP for Transaction, HTTP, NNTP and UNIX Domain Protocols». Его можно считать приложением к предыдущим, так как в нем собраны протоколы, не вошедшие в основные тома по причине их малой (в то время) распространенности. Два из них — HTTP и NNTP — за пять лет, прошедших после выхода книги в свет, набрали вес и стали очень популярными, а остальные пока так и остались скорее предметом интереса для университетских курсов, а не рабочими лошадками реальных сетей.
Трехтомник «TCP/IP Illustrated», несмотря на свою энциклопедичность и объемность, не описывает многие протоколы, призванные составить костяк новых IP-сетей, в частности протоколы передачи мультимедийного трафика с требуемым качеством обслуживания и уровнем защиты — такие, как RSVP, Diffserv, MPLS, IPSec. Это неудивительно — в середине 90-х, когда был написан трехтомник, данное направление развития стека TCP/IP только зарождалось. К сожалению, новые протоколы придется описывать новым авторам — Ричард Стивенс умер осенью прошлого года, немного не дожив до своего пятидесятилетия, но оставив после себя замечательные книги, которые будут еще долгие годы жить вместе с «неувядающим» ядром протоколов стека TCP/IP.
Книгу («TCP/IP Illustrated», vol. 1, 2, 3, W. Richard Stevens, Addison-Wesley Publishing, 1994—96) можно приобрести в книжном салоне компании «Фольком» (тел.: (095) 250-12-14, e-mail: books@df.ru). Ориентировочная цена за первый том — 76, за второй — 74, за третий — 55 долларов.