Приложения являются «разумным фундаментом» компьютерных сетей
Приложения являются «разумным фундаментом» компьютерных сетей. Не имея приложений, выполняющих полезную работу, бессмысленно говорить о поддерживающих их протоколах. За последние 30 лет было создано множество замечательных приложений для компьютерных сетей.
□ Классические текстовые приложения, появившиеся в 1980-е годы, включая текстовую электронную почту, программы организации удаленного доступа к сети, передачи файлов, обработки групп новостей и текстовые чаты.
□ Web-приложения, разработанные в середине 1990-х годов.
□ Мультимедиа-приложения для работы с потоковым видео, Интернет-радио, Интернет-телефонией и для организации видеоконференций.
□ Появившиеся в конце 1990-х годов приложения обмена сообщениями в реальном времени и одноранговые системы совместного доступа к МРЗ-файлам.
В этой главе мы займемся изучением теоретических и практических аспектов сетевых приложений. Сначала мы рассмотрим ключевые концепции прикладного уровня, такие как протоколы прикладного уровня, клиенты и серверы, процессы, сокеты и интерфейсы транспортного уровня. Затем мы более детально изучим несколько протоколов прикладного уровня: HTTP (для web), SMTP и РОРЗ (для электронной почты), FTP (для передачи файлов) и DNS (для трансляции имен хостов в IP-адреса).
Следующим этапом для нас станет изучение разработки приложений с использованием протоколов транспортного уровня TCP и UDP. Мы рассмотрим API (Application Programming Interface — прикладной программный интерфейс) сокета и коснемся нескольких простых клиент/серверных приложений, написанных на языке Java. В частности, мы познакомимся с принципами создания web-сервера с помощью средств Java.
Заключительная часть главы будет посвящена более сложному материалу, касающемуся распределения ресурсов, web-кэширования, сетей распределения ресурсов (Content Distribution Networks, CDN), а также однорангового совместного доступа к файлам. Основное внимание будет уделено оверлейным Р2Р-сетям, расположенным на прикладном уровне и являющимся «верхушкой» Интернета.