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