Мосты и маршрутизаторы являются устройствами, позволяющими соединять локальные сети между собой и с WAN-сетями. Такое соединение дает пользователям возможность разделения данных и ресурсов в локальных и распределенных сетях. Функции мостов и маршрутизаторов похожи, однако работают эти устройства по разному.
Мосты передают данные из одной сети в другую, не меняя содержимого исходных кадров ЛВС. Мосты обеспечивают сегментацию сети, позволяющую решить проблему насыщения полосы. Однако мосты неприемлемы для крупных сетей, поскольку они пропускают широковещательный трафик и все пакеты с неизвестными адресами. Проблему широковещательного трафика сначала решали с помощью маршрутизаторов, а сейчас для этого применяются коммутаторы типа OmniSwitchкорпорации Xylan.
В отличие от мостов маршрутизаторы вносят изменения в принятые кадры ЛВС и передают их после обработки в сеть, где расположен адресат. Маршрутизаторы имеют преимущества перед мостами с точки зрения обработки широковещательного трафика, позволяя изолировать его внутри одной ЛВС. Маршрутизаторы также могут быть эффективнее мостов в части использования WAN-каналов. Однако маршрутизаторы зачастую не могут обеспечить потребностей современных приложений с точки зрения обеспечения пропускной способности и качества обслуживания.
Одним из решений проблемы нехватки полосы является деление сетей на сегменты и кольца с помощью мультисегментных концентраторов и повышение производительности маршрутизаторов. Однако такое решение будет достаточно дорогим и сложным в управлении.
Более эффективным решением является использование коммутаторов, обеспечивающих выделенные соединения "точка-точка" между любыми парами сетевых устройств и многократно увеличивающих интегральную пропускную способность сети. Управление коммутаторами значительно проще по сравнению с маршрутизаторами.
Для достижения оптимальных результатов коммутаторы можно использовать в сети вместе с маршрутизаторами, применяя коммутацию и маршрутизацию там, где необходимо.
Коммутаторы OmniSwitch корпорации Xylan обеспечивают поддержку обеих технологий (коммутации и маршрутизации), позволяя организовать коммутацию трафика в рамках виртуальных ЛВС и маршрутизацию между ними.
Коммутаторы обеспечивают существенное повышение производительности при незначительной стоимости. За счет этого технологии коммутации начинают повсеместно использоваться вместо традиционных решений на базе концентраторов и мостов, а в некоторых случаях и маршрутизаторов, особенно при организации новых сетей и расширении существующих.
На основе исследований, проведенных в американских организациях, выяснилось, что около 22.5% пользователей сети в течение года перемещаются в пределах сети. Такие массовые перемещения пользователей ведут к значительным расходам на реорганизацию кабельных систем и повторную настройку сетей.
К счастью, использование коммутаторов и виртуальных ЛВС (VLAN) позволяет решить эту проблему. При перемещении пользователя VLAN автоматически отслеживает новое местоположение устройства в сети и обеспечивает возможность продолжения работы пользователя без изменения кабельной системы и смены параметров конфигурации сети.
Коммутаторы также обеспечивают возможность простого подключения к магистралям перехода на режим асинхронной передачи (ATM) и подключения к магистралям FDDI.
В дополнение к невысокой цене коммутаторы во много раз повышают производительность сетей за счет обеспечения выделенных, высокоскоростных соединений, а также существенно повышают уровень обеспечения безопасности. Приложения, которым требуется высокая пропускная способность, больше не будут замедляться из-за нехватки полосы концентраторов и значительных задержек в сети. Коммутаторы существенно снижают задержки и повышают агрегатную производительность сети. локализация широковещательного трафика и прямые соединения точка-точка обеспечивают высокий уровень безопасности в сети.
Коммутация является оптимальным решением, обеспечивающим высокую пропускную способность и малые задержки, тогда как маршрутизация позволяет проектировать сети с брандмауэрами и избавляет от необходимости передачи широковещательного трафика через низкоскоростные WAN-каналы. КоммутаторыOmniSwitch сочетают в себе лучшие характеристики обоих методов.
Использование коммутации внутри виртуальных ЛВС обеспечивает высокоскоростную связь между станциями и серверами
Маршрутизация между виртуальными ЛВС позволяет разделить ресурсы и сократить широковещательный трафик до минимума.
Виртуальные ЛВС (VLAN) обеспечивают возможность создания логических групп пользователей в масштабе корпоративной сети. за счет использования VLAN администратор сети может организовать пользователей в логические группы независимо от физического расположения рабочих станций этих пользователей. Это одно из основных достижений в сетевых технологиях - возможность создавать рабочие группы на основе служебных функций пользователей, не привязываясь к сетевой топологии. Виртуальные сети позволяют организовать работу в сети более эффективно.
Виртуальные сети обеспечивают целый ряд преимуществ:
простота внесения изменений в сеть, добавления или удаления устройств;
более эффективное использование ограниченных сетевых ресурсов;
высокий уровень обеспечения безопасности.
Возможность организации виртуальных ЛВС обусловлена переходом от разделяемых сред к коммутируемым.
Корпорация Xylan разработала архитектуру коммутаторов OmniSwitch и программы для них таким образом, что обеспечивается эффективная поддержка виртуальных сетей. Центральным элементом технологии виртуальных сетей Xylan является технология AutoTracker, позволяющая задать правила для включения устройств в виртуальные ЛВС на основе информации из любой части заголовка пакетов или кадров. Предоставляя десятки способов автоматического определения VLAN, коммутаторы OmniSwitch обеспечивают непревзойденные возможности, не имеющие аналогов.
Одна сеть AutoTracker VLAN может включать в себя устройства с разнотипными MAC-адресами. Рабочие станции Ethernet и Token Ring могут получить доступ к магистралям и хостам FDDI и ATM, каждая виртуальная сеть может содержать множество коммутаторов. Поскольку во всех коммутаторах реализованы одинаковые правила, при перемещении рабочей станции или сервера в сети его положение в виртуальных сетях сохраняется автоматически.
Дополнительную информацию о технологиях ATM Вы сможете найти в брошюреDon't buy an ATM switch until you've read this (формат Adobe Acrobat, 207K)
Технология ATM (Asynchronous Transfer Mode - асинхронный режим передачи) является коммутируемой технологией, предназначенной для одновременной передачи голоса и данных в форме пакетов. ATM организует данные в короткие ячейки фиксированной длины. Использование коротких ячеек уменьшает время на обработку и позволяет обеспечить более равномерную загрузку процессора.
Предсказуемое время процессорной обработки ячеек фиксированной длины позволяет обеспечить эффективное, высокоскоростное управление смешанным трафиком голос/данные, поскольку в ATM для коммутации используются специализированные контроллеры (микросхемы). При интеграции с ISDN-технологией ATM может обеспечивать перенос данных со скоростью 1.5 Мбит/с, максимальная скорость ATM превышает 600 Мбит/с.
Мощные технологии коммутации основаны на использовании одного общепринятого стандарта. Такая стандартизация обеспечивает совместимость оборудования и постоянное снижение цен на оборудование ATM из-за конкуренции производителей.
Коммутаторы OmniSwitch корпорации Xylan обеспечивают экономически эффективный перевод сетей на использование технологий ATM. Поддержка специальных транковых протоколов в коммутаторах OmniSwitch позволяет организовать виртуальные ЛВС через любые магистрали, включая ATM.
Например, если Вы используете коммутаторы OmniSwitch в сети с магистралью FDDI и планируете впоследствии перейти на ATM, вам потребуется лишь:
Добавить коммутатор ATM.
Установить один или несколько коммутационных модулей ATM в коммутаторы OmniSwitch.
Подключить некоторые серверы к коммутатору ATM, оставив другие в сети FDDI.
Постепенно переносить файлы и приложения с серверов FDDI на серверы ATM.
Большое разнообразие типов компьютеров, используемых в вычислительных сетях, влечет за собой разнообразие операционных систем: для рабочих станций, для серверов сетей уровня отдела и серверов уровня предприятия в целом. К ним могут предъявляться различные требования по производительности и функциональным возможностям, желательно, чтобы они обладали свойством совместимости, которое позволило бы обеспечить совместную работу различных ОС.
Сетевые ОС могут быть разделены на две группы: масштаба отдела и масштаба предприятия. ОС для отделов или рабочих групп обеспечивают набор сетевых сервисов, включая разделение файлов, приложений и принтеров. Они также должны обеспечивать свойства отказоустойчивости, например, работать с RAID-массивами, поддерживать кластерные архитектуры. Сетевые ОС отделов обычно более просты в установке и управлении по сравнению с сетевыми ОС предприятия, у них меньше функциональных свойств, они меньше защищают данные и имеют более слабые возможности по взаимодействию с другими типами сетей, а также худшую производительность.
Сетевая операционная система масштаба предприятия прежде всего должна обладать основными свойствами любых корпоративных продуктов, в том числе:
масштабируемостью, то есть способностью одинаково хорошо работать в широком диапазоне различных количественных характеристик сети,
совместимостью с другими продуктами, то есть способностью работать в сложной гетерогенной среде интерсети в режиме plug-and-play.
Корпоративная сетевая ОС должна поддерживать более сложные сервисы. Подобно сетевой ОС рабочих групп, сетевая ОС масштаба предприятия должна позволять пользователям разделять файлы, приложения и принтеры, причем делать это для большего количества пользователей и объема данных и с более высокой производительностью. Кроме того, сетевая ОС масштаба предприятия обеспечивает возможность соединения разнородных систем - как рабочих станций, так и серверов. Например, даже если ОС работает на платформе Intel, она должна поддерживать рабочие станции UNIX, работающие на RISC-платформах. Аналогично, серверная ОС, работающая на RISC-компьютере, должна поддерживать DOS, Windows и OS/2. Сетевая ОС масштаба предприятия должна поддерживать несколько стеков протоколов (таких как TCP/IP, IPX/SPX, NetBIOS, DECnet и OSI), обеспечивая простой доступ к удаленным ресурсам, удобные процедуры управления сервисами, включая агентов для систем управления сетью.
Важным элементом сетевой ОС масштаба предприятия является централизованная справочная служба, в которой хранятся данные о пользователях и разделяемых ресурсах сети. Такая служба, называемая также службой каталогов, обеспечивает единый логический вход пользователя в сеть и предоставляет ему удобные средства просмотра всех доступных ему ресурсов. Администратор, при наличии в сети централизованной справочной службы, избавлен от необходимости заводить на каждом сервере повторяющийся список пользователей, а значит избавлен от большого количества рутинной работы и от потенциальных ошибок при определении состава пользователей и их прав на каждом сервере.
Важным свойством справочной службы является ее масштабируемость, обеспечиваемая распределенностью базы данных о пользователях и ресурсах.
Такие сетевые ОС, как Banyan Vines, Novell NetWare 4.x, IBM LAN Server, Sun NFS, Microsoft LAN Manager и Windows NT Server, могут служить в качестве операционной системы предприятия, в то время как ОС NetWare 3.x, Personal Ware, Artisoft LANtastic больше подходят для небольших рабочих групп.
Критериями для выбора ОС масштаба предприятия являются следующие характеристики:
Органичная поддержка многосерверной сети;
Высокая эффективность файловых операций;
Возможность эффективной интеграции с другими ОС;
Наличие централизованной масштабируемой справочной службы;
Хорошие перспективы развития;
Эффективная работа удаленных пользователей;
Разнообразные сервисы: файл-сервис, принт-сервис, безопасность данных и отказоустойчивость, архивирование данных, служба обмена сообщениями, разнообразные базы данных и другие;
Разнообразные программно-аппаратные хост-платформы: IBM SNA, DEC NSA, UNIX;
Разнообразные транспортные протоколы: TCP/IP, IPX/SPX, NetBIOS, AppleTalk;
Поддержка многообразных операционных систем конечных пользователей: DOS, UNIX, OS/2, Mac;
Поддержка сетевого оборудования стандартов Ethernet, Token Ring, FDDI, ARCnet;
Наличие популярных прикладных интерфейсов и механизмов вызова удаленных процедур RPC;
Возможность взаимодействия с системой контроля и управления сетью, поддержка стандартов управления сетью SNMP.
Конечно, ни одна из существующих сетевых ОС не отвечает в полном объеме перечисленным требованиям, поэтому выбор сетевой ОС, как правило, осуществляется с учетом производственной ситуации и опыта. В таблице приведены основные характеристики популярных и доступных в настоящее время сетевых ОС.
Сетевая файловая система NFS
Компания Sun Microsystems представила NFS в 1985 году как средство обеспечения прозрачного доступа к удаленным файловым системам. Помимо публикации протокола Sun лицензировала его базовую реализацию, которая была использована различными поставщиками для портирования NFS на разные операционные системы. С тех пор NFS стала фактически промышленным стандартом, который поддерживается действительно всеми вариантами системы UNIX, а также некоторыми другими системами, например, VMS и MS-DOS.
Архитектура NFS базируется на модели клиент-сервер. Файл-сервер представляет собой машину, которая экспортирует некоторый набор файлов. Клиентами являются машины, которые имеют доступ к этим файлам. Одна машина может для различных файловых систем выступать как в качестве сервера, так и в качестве клиента. Однако программный код NFS разделен на две части, что позволяет иметь только клиентские или только серверные системы.
Клиенты и серверы взаимодействуют с помощью удаленных вызовов процедур (rpc - remote procedure call), которые работают как синхронные запросы. Когда приложение на клиенте пытается обратиться к удаленному файлу, ядро посылает запрос в сервер, а процесс клиента блокируется до получения ответа. Сервер ждет приходящие запросы, обрабатывает их и отсылает ответы назад клиентам.
Сервер NFS экспортирует одну или несколько файловых систем. Каждая экспортируемая файловая система может быть либо целым разделом диска либо его поддеревом. (Различные варианты UNIX имеют свои собственные правила дробления экспортируемых систем. Некоторые из них могут, например, разрешать экспортировать только файловую систему целиком, другие - только одно одно поддерево в каждой файловой системе). Сервер может определить, обычно посредством строк в файле /etc/exports, какие клиенты могут иметь доступ к каждой экспортируемой файловой системе, а также разрешенный режим доступа к ней: "только чтение" или "чтение и запись".
Затем клиентские машины могут подмонтировать такую файловую систему или ее поддерево к любому каталогу в своей существующей иерархии файлов, точно так же, как они смогли бы смонтировать любую локальную файловую систему. Клиент может монтировать каталог с режимом "только чтение", даже если сервер экспортирует его в режиме "чтение и запись". NFS поддерживает два типа монтирования: жесткое и мякгое. От типа монтирования зависит поведение клиента в случае, если сервер не отвечает на запрос. Если файловая система смонтирована жестко, клиент продолжает повторные запросы до получения ответа. В случае мягкого монтирования клиент спустя некоторое время отказывается от повторных запросов и получает ошибку. Когда монтирование произведено, клиент может обращаться к файлам в удаленной файловой системе, используя те же самые операции, которые применяются к локальным файлам. Некоторые системы поддерживают также такой тип монтирования, поведение которого соответствует жесткому монтированию при организации повторных попыток смонтировать файловую систему, но оказывается мягким для последующих операций ввода/вывода.
Операции монтирования NFS менее ограничены по сравнению с операциями монтирования локальных файловых систем. Протокол не требует, чтобы вызывающий операцию монтирования пользователь был привилегированным, хотя большинству пользователей навязываются эти требования. (Например, ULTRIX компании Digital позволяет любому пользователю монтировать файловую систему NFS до тех пор, пока этот пользователь имеет права доступа по записи в каталог точки монтирования. Пользователь может монтировать ту же самую файловую систему к нескольким точкам дерева каталогов, даже к своему подкаталогу. Сервер может экспортировать только свои локальные файловые системы и не может пересекать свои собственные точки монтирования во время прохода по путевому имени. Таким образом, чтобы увидеть все файлы сервера, клиент должен смонтировать все его файловые системы.
На рисунке приведен пример. Серверная система nfssrv имеет два диска. Она смонтировала диск 1 к каталогу /usr/local диска 0 и экспортировала каталоги /usr и /usr/local. Предположим, что клиент выполняет следующие четыре операции mount:
mount -t nfs nfssrv:/usr /usr
mount -t nfs nfssrv:/usr/u1 /u1
mount -t nfs nfssrv:/usr /users
mount -t nfs nfssrv:/usr/local /usr/local
Рис Монтирование файловых систем NFS
Все четыре операции монтирования будут успешно выполнены. На клиенте поддерево /usr отражает полное поддерево /usr на nfssrv, поскольку клиент также смонтировал /usr/local. Поддерево /u1 на клиенте отображает поддерево /usr/u1 на nfssrv. Этот пример иллюстрирует, что вполне законно можно монтировать подкаталог экспортированной файловой стстемы (это позволяют не все реализации). Наконец, поддерево /users на клиенте отображает только ту часть поддерева /usr сервера, которая размещена на диске 0. Файловая система диска 1 под /users/local не видна.
Первоначальная разработка NFS имела следующие цели:
NFS не должна ограничиваться операционной системой UNIX. Любая операционная система должна быть способной реализовать сервер и клиент NFS.
Протокол не должен зависеть от каких либо определенных аппаратных средств.
Должны быть реализованы простые механизмы восстановления в случае отказов сервера или клиента.
Приложения должны иметь прозрачный доступ к удаленным файлам без использования специальных путевых имен или библиотек и без перекомпиляции.
Для UNIX-клиентов должна поддерживаться семантика UNIX.
Производительность NFS должна быть сравнима с производительностью локальных дисков.
Реализация должна быть независимой от транспортных средств.
Реализация NFS состоит из нескольких компонент. Некоторые из них локализованы либо на сервере, либо на клиенте, а некоторые используются и тем и другим. Некоторые компоненты не требуются для обеспечения основных функциональных возможностеей, но составляют часть расширенного интерфейса NFS:
Протокол NFS определяет набор запросов (операций), которые могут быть направлены клиентом к серверу, а также набор аргументов и возвращаемые значения для каждого из этих запросов. Версия 1 этого протокола существовала только в недрах Sun Microsystems и никогда не была выпущена. Все реализации NFS (в том числе NFSv3) поддерживают версию 2 NFS (NFSv2), которая впервые была выпущена в 1985 году в SunOS 2.0. Версия 3 протокола была опубликована в 1993 году и реализована некоторыми фирмами-поставщиками. В таблице 3.1 приведен полный набор запросов NFS.
Протокол удаленного вызова процедур (RPC) определяет формат всех взаимодействий между клиентом и сервером. Каждый запрос NFS посылается как пакет RPC.
Расширенное представление данных (XDR - Extended Data Representation) обеспечивает машинно-независимый метод кодирования данных для пересылки через сеть. Все запросы RPC используют кодирование XDR для передачи данных. Следует отметить, что XDR и RPC используются для реализации многих других сервисов, помимо NFS.
Программный код сервера NFS отвечает за обработку всех запросов клиента и обеспечивает доступ к экспортируемым файловым системам.
Программный код клиента NFS реализует все обращения клиентской системы к удаленным файлам путем посылки серверу одного или нескольких запросов RPC.
Протокол монтирования определяет семантику монтирования и размонтирования файловых систем NFS.
NFS использует несколько фоновых процессов-демонов. На сервере набор демонов nfsd ожидают запросы клиентов NFS и отвечают на них. Демон mountd обрабатывает запросы монтирования. На клиенте набор демонов biod обрабатывает асинхронный ввод/вывод блоков файлов NFS.
Менеджер блокировок сети (NLM - Network Lock Manager) и монитор состояния сети (NSM - Network Status Monitor) вместе обеспечивают средства для блокировки файлов в сети. Эти средства, хотя формально не связаны с NFS, можно найти в большинстве реализаций NFS. Они обеспечивают сервисы не возможные в базовом протоколе. NLM и NSM реализуют функционирование сервера с помощью демонов lockd и statd соответственно.
Возможно наиболее важной характеристикой протокола NFS является то, что сервер, чтобы работать корректно, не запоминает состояний и не нуждается ни в какой информации о своих клиентах. Каждый запрос является полностью независимым от других запросов и содержит всю необходимую информацию для его обработки. Серверу не нужно поддерживать никаких записей о прошлых запросах клиентов, за исключением необязательных возможностей, которые могут использоваться с целью кэширования данных или для сбора статистики.
Например, в протоколе NFS отсутствуют запросы по открыванию и закрыванию файлов, поскольку они создали бы информацию о состоянии, которая должна запоминаться сервером. По этой же причине, запросы read и write передают в качестве параметра начальное смещение, в отличие от операций read и write с локальными файлами, которые получают смещение из объекта "открытый файл".
Протокол без сохранения состояний упрощает восстановление после краха системы. Если отказывает клиентская система, никакого восстановления не требуется, поскольку сервер не поддерживает никакой устойчивой информации о клиенте. Если клиент перезагрузился, он может перемонтировать файловые системы и запустить приложения, которые обращаются к удаленным файлам. Серверу не нужно ни знать, ни беспокоиться об отказе клиента.
Если отказывает сервер, то клиент увидит, что на свои запросы он не получает ответы. Тогда он продолжает повторно посылать запросы до тех пор, пока сервер не перезагрузится. (Это справедливо только в случае жесткого монтирования (которое выполняется по умолчанию). При мягком монтировании клиент спустя некоторое время прекращает посылку запросов и возвращает приложению сообщение об ошибке). С этого момента времени сервер начнет получать запросы и может их обрабатывать, поскольку запросы не зависят ни от какой более ранней информации о состоянии. Когда наконец сервер ответит на запросы, клиент перестанет их повторно посылать. У клиента нет никаких средств определить, действительно ли сервер отказал и был перезагружен, или просто медленно выполняет операции.
Протоколы с сохранением состояния требуют реализации сложных механизмов восстановления после отказа. Сервер должен обнаруживать отказы клиента и ликвидировать все состояния, связанные с этим клиентом. Если отказывает и перезагружается сервер, он должен уведомить клиентов так, чтобы они могли заново создать свое состояние на сервере.
Главная проблема работы без сохранения состояния заключается в том, что сервер должен зафиксировать все изменения в стабильной памяти до посылки ответа на запрос. Это означает, что не только данные файла, но и все метаданные, такие как индексные дескрипторы или косвенные блоки должны быть сброшены на диск до возвращения результатов. В противном случае сервер может потерять данные, о которых клиент уверен, что они успешно записались на диск. (Отказ системы может привести к потере данных даже в локальной файловой системе, но в таких случаях пользователи знают об отказе и о возможности потерять данные). Работа без сохранения состояния связана также с другими недостатками. Она требует отдельного протокола (NLM) для обеспечения блокировки файлов. Кроме того, чтобы решить проблемы производительности операций синхронной записи большинство клиентов кэшируют данные и метаданные локально. Но это противоречит гарантиям протокола о соблюдении согласованного состояния.
Электронная почта (англ. email, e-mail, от англ. electronic mail) — технология и предоставляемые ею услуги по пересылке и получению электронных сообщений (называемых «письма» или «электронные письма») по распределённой (в том числе глобальной) компьютерной сети. Основным отличием от прочих систем передачи сообщений (например, служб мгновенных сообщений) является возможность отложенной доставки и развитая (и запутанная из-за длительного времени развития) система взаимодействия между независимыми почтовыми серверами.
Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Веб-серверы — основа Всемирной паутины.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер, на котором это программное обеспечение работает.
Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.
Веб-серверы могут иметь различные дополнительные функции, например:
ведение журнала обращений пользователей к ресурсам;
аутентификация и авторизация пользователей;
поддержка динамически генерируемых страниц;
поддержка HTTPS для защищённых соединений с клиентами.
На ноябрь 2009 года двумя наиболее распространёнными веб-серверами, вместе занимающими около 68 % рынка[1], являются:
Apache — свободный веб-сервер, наиболее часто используемый в Unix-подобных операционных системах;
IIS от компании Microsoft, распространяемый с ОС семейства Windows NT.
Некоторые другие известные веб-серверы:
nginx — свободный веб-сервер, разработанный Игорем Сысоевым в 2002 году и пользующийся большой популярностью на крупных сайтах[2];
lighttpd — свободный веб-сервер;
Google Web Server — веб-сервер, разработанный компанией Google;
Resin — свободный веб-сервер приложений.
В качестве клиентов для обращения к веб-серверам могут использоваться различные программы и устройства:
веб-браузер, работающий на настольном компьютере или переносном устройстве (например, карманном ПК);
разнообразные программы, самостоятельно обращающиеся к веб-серверам для получения обновлений или другой информации (например, антивирусможет периодически запрашивать у определённого веб-сервера обновления своих баз данных);
мобильный телефон, получающий доступ к ресурсам веб-сервера при помощи протокола WAP;
другие интеллектуальные устройства или бытовая техника.