Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec.doc
Скачиваний:
16
Добавлен:
05.12.2018
Размер:
2.61 Mб
Скачать

1.8.3 Построение isp

Интернет-прова́йдер, (англ. Internet Service Provider, ISP) - организация, предоставляющая услуги доступа к Интернету и иные связанные с Интернетом услуги.

В число предоставляемых интернет-провайдером услуг могут входить:

- доступ в Интернет по коммутируемым и выделенным каналам;

- беспроводной доступ в интернет;

- выделение дискового пространства для хранения и обеспечения работы сайтов (хостинг);

- поддержка работы почтовых ящиков или виртуального почтового сервера;

- размещение оборудования клиента на площадке провайдера (колокация);

- аренда выделенных и виртуальных серверов;

- резервирование данных.

Интернет-провайдеров можно разделить на типы в соответствии с предоставляемыми услугами:

- провайдеры доступа;

- хостинг-провайдеры;

- магистральные (англ. backbone) провайдеры;

- канальные провайдеры;

- провайдеры последней мили.

Среди провайдеров доступа можно выделить первичных (магистральных) — имеющих магистральные каналы связи в собственности — и вторичных (городских) — арендующих каналы связи у первичных. Первичные провайдеры обычно продают трафик только в больших объёмах и оказывают услуги другим провайдерам, а не индивидуальным пользователям, хотя есть и исключения.

С юридической точки зрения, интернет-провайдер — это оператор связи, имеющий лицензию на один из следующих видов услуг:

- Услуги связи по предоставлению каналов связи.

- Услуги связи в сети передачи данных, за исключением передачи голосовой информации.

- Услуги связи по передаче голосовой информации в сети передачи данных.

- Телематические услуги связи.

1.8.4 Архитектура сервера Apache

Ядро

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

Теоретически, ядро apache может функционировать в чистом виде, без использования модулей. Однако, функциональность такого решения крайне ограничена. Ядро Apache написано на языке программирования C.

Система конфигурации

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

- Конфигурация сервера

- Конфигурация виртуального хоста

- Конфигурация уровня директории

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Параметры ядра могут быть изменены через конфигурационные файлы. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

Мультипроцессорные модели (MPM)

Для web-сервера Apache существует множество моделей симметричной мультипроцессорности. Вот основные из них:

- Apache MPM worker: разработчик - Apache Software Foundation; поддерживаемые OS - Linux, FreeBSD; назначение - среднезагруженные Web-серверы. Гибридная мультипроцессорно-мультипоточная модель. Сохраняя стабильность мультипроцессорных решений, она позволяет обслуживать большое число клиентов с минимальным использованием ресурсов.

- Apache MPM prefork: разработчик - Apache Software Foundation; поддерживаемые OS - Linux, FreeBSD; назначение - большая безопасность и стабильность за счет изоляции процессов друг от друга, сохранение совместимости со старыми библиотеками, не поддерживающими threads. MPM, основанная на предварительном создании отдельных процессов, не использующая механизм threads.

- Apache MPM perchild: разработчик - Apache Software Foundation; поддерживаемые OS - Linux; назначение - высоконагруженные серверы, возможность запуска дочерних процессов используя другое имя пользователя для повышения безопасности. Гибридная модель, с фиксированным количеством процессов.

- Apache MPM netware: разработчик - Apache Software Foundation; поддерживаемые OS - Novell NetWare; назначение - серверы Novell NetWare. Мультипоточная модель, оптимизированная для работы в среде NetWare.

- Apache MPM winnt: разработчик - Apache Software Foundation; поддерживаемые OS - Microsoft; назначение - Серверы под управлением Windows Server. Мультипоточная модель, созданная для операционной системы Microsoft Windows.

- Apache-ITK: разработчик - Steinar H. Gunderson; поддерживаемые OS - Linux, FreeBSD; назначение - хостинговые серверы, серверы, критичные к изоляции пользователей и учету ресурсов. Основанна на модели prefork. Позволяет запуск каждого виртуального хоста под отдельными uid и gid.

- Peruser MPM for Apache 2.x: разработчик - Sean Gabriel Heacock; поддерживаемые OS - Linux, FreeBSD; назначение - обеспечение повышенной безопасности, работа с библиотеками, не поддерживающими threads. Модель, созданная на базе MPM perchild. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Не использует потоки.

Система модулей

Apache HTTP Server поддерживает модульность. Более 400 модулей выполняют различные функции. Часть из них разрабатывается командой Apache, но основное количество - отдельными open source-разработчиками.

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

В модулях реализуются такие вещи, как:

- Поддержка языков программирования.

- Добавление функционала.

- Исправление ошибок или модификация основных функций.

- Усиление безопасности.

Часть web-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имен), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и gid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]