Соединение домашнего компьютера с глобальной сетью
Протоколы и модели взаимодействия для реализации Web-служб
С появлением компьютерных сетей в начале семидесятых годов прошлого века началось слияние компьютерной и коммуникационной индустрии, и как следствие, изменились принципы обработки данных. Закон Мура, основанный на эмпирических наблюдениях, довольно точно предсказывает, что скорость микропроцессоров удваивается каждых 18 месяцев. Если такие темпы роста сохранятся, то в 2047 году компьютеры станут в 11 биллионов раз быстрее, чем в 1997 году! По более сдержанным оценкам, в 2047 году компьютеры окажутся в 100 000 раз более быстродействующими, чем в 1997 году, что все равно впечатляет.
Модель клиент-сервер возникла в результате слияния компьютеров и коммуникаций, распространения мощных недорогих настольных компьютеров с графическими интерфейсами пользователя, представлением информации с использованием мультимедиа-средств.
Ярким примером внедрения принципа клиент-сервер следует считать World Wide Web, или "всемирную паутину", которая дает пользователям возможность получать Web-службы от Web-серверов, расположенных в любой точке мира
Типы сетей
Сети обычно делятся на глобальные (WAN) и локальные (LAN), по размерам покрываемой ими географической области.
WAN
Глобальная сеть может охватывать город, множество городов, страны и целые континенты. Базовая технология, применяемая в сетях WAN - это коммутация пакетов (packet switching). В соответствие с этой технологией, сообщения, передаваемые между двумя компьютерами (которые называются хостами (hosts)), разбиваются на модули, называемые пакетами (packets). Пакеты ограничены по размеру, имеют заголовок с полями, содержащими необходимую адресную информацию, а также сопутствующую информацию, которая требуется для сборки сообщения из составляющих его пакетов в пункте назначения.
Составными частями глобальной сети являются коммутаторы пакетов (packet switches) или маршрутизаторы (routers), а также соединяющие их высокоскоростные линии связи (от 45 Мбит/с до нескольких Гбит/сек). Маршрутизаторы - это коммуникационные компьютеры, которые хранят входящие пакеты, анализируют их заголовки, используют таблицы маршрутизации для принятия решения, на какой маршрутизатор послать пакет дальше по его пути к пункту назначения, и помещают пакет в исходящую очередь на выбранную выходную линию. Такой метод называется store and forward (сохранить и передать дальше). К технологиям, используемым для построения глобальных сетей, относятся: протокол X. 25, стандарт ITU (International Telecommunications Union — Международный союз по телекоммуникациям); ISDN(Integrated Services Digital Network - цифровая сеть связи с комплексными услугами) .
LAN
Локальная сеть обычно располагается в одном или нескольких близко расположенных зданиях, например учебный корпус или студенческий городок. Существует множество технологий построения локальных сетей, как проводных, так и беспроводных. К наиболее популярным проводным технологиям относятся Ethernet 10 Мбит/сек , Ethernet 100 Мбит/сек , Token Ring 4 или 16 Мбит/сек и FDDI 100 Мбит/сек.
Технология Ethernet. Все компьютеры соединяются с общим коаксиальным кабелем через сетевые адаптеры (network interface card, NIC). Пакеты, передаваемые одним адаптером, могут быть получены остальными адаптерами. Такой принцип называется широковещательной связью. Поскольку пакеты содержат адрес места назначения, то только адаптер места назначения будет копировать пакет в память своего компьютера. Ввиду отсутствия центрального координатора, решающего, какой компьютер может использовать разделяемую шину, применяется множественный доступ. Если адаптер желает передать пакет, он "прослушивает" линию на предмет того, не ведется ли по ней передача; это называется контролем несущей (carrier sensing). Если передача ведется, адаптер ожидает, а затем снова "прослушивает" линию.
Возможна ситуация, при которой два адаптера, пытаются начать передачу практически в одинаковое время, обнаруживают свободную среду и начинают передавать свои пакеты, тем самым мешая друг другу. Такая ситуация называется конфликтом или коллизией (collision). Адаптеры сети Ethernet позволяют обнаружить конфликт и после этого остановить передачу. Выждав случайно выбранное время, адаптер пытается заново передать свои пакеты.
С ростом трафика в сети Ethernet растет вероятность конфликтов, а пропускная способность сети уменьшается, т.к. часть полосы пропускания тратится на разрешение конфликтов и повторные передачи.
Технология Token Ring (кольцо). Отправитель помещает фрагменты своего пакета в кольцо. Пакет ходит по кольцу и копируется адаптером, который указан в поле адреса назначения пакета. Пакет продолжает циркулировать по кольцу до своего отправителя, который извлекает этот пакет и сравнивает с отправленным пакетом (для контроля ошибок). Если два или более адаптера намереваются одновременно начать передачу, может возникнуть наложение. Поэтому в локальной сети Token Ring доступ к кольцу управляется маркером (token), т.е. специальной последовательностью битов, циркулирующей по кольцу. Маркер последовательно передается от станции к станции; при этом станция, которая желает получить доступ к среде передачи, должна ждать получения маркера и только затем может начать передачу данных. Если адаптеру ничего не нужно передавать, он просто передает маркер следующей станции.
При увеличении числа станций в сети Token Ring возрастает задержка в получении маркера, поскольку маркер должен пройти через большее количество адаптеров, и выше вероятность того, что он будет захвачен другими станциями.
Существуют два типа ограничений на количество станций, которые можно подсоединить к локальной сети: физические и связанные с производительностью сети. Например, стандарт Ethernet ограничивает длину Ethernet-кабеля до 500 м и требует соблюдения минимального расстояния между станциями, которое составляет 3 м. По соображениям производительности количество станций в локальной сети также ограничивается. Для снижения трафика в локальной сети и улучшения производительности сетевые администраторы разделяют крупные локальные сети на сегменты с некоторым количеством станций в каждом. Сегменты соединяются с помощью специальных устройств, таких как маршрутизаторы и мосты.
Беспроводные локальные сети в качестве среды используют радиочастоту, на которой они обращаются друг к другу. Протокола IEEE 802.11 -стандарта для беспроводных локальных сетей. О физическом уровне можно отметить следующее: 1) он вырабатывает сигнал несущей, который показывает, ведется ли передача; 2) данные, отправленные одной станцией, могут быть приняты всеми станциями в покрываемой области; 3) на качество связи может повлиять "проблема скрытого терминала". Эта проблема возникает в том случае, когда стены или другие структуры препятствуют прохождению радиосигнала. Как и в сети Ethernet, передачи беспроводных станций могут накладываться друг на друга, если они возникают в одно и то же время. Аналогично с Ethernet. В отличие от Ethernet, протокол IEEE 802.11 не применяет обнаружение конфликтов, а направлен на их предотвращение. Каждый передаваемый кадр содержит в себе длительность передачи, дабы другие станции не начали свою передачу в это время.
Соединение домашнего компьютера с глобальной сетью
· В настоящее время существует множество способов подключить домашний компьютер к глобальной сети.
· Использование аналогового модема (14.4 до 56 Кбит/с.)
· Через Использования цифрового модема с интерфейсом базового уровня ISDN BRI 128 Кбит/с.
· Использования цифрового модема с интерфейсом базового уровня ISDN PRI 1.544 Мбит/с.
· Выделенной линии HDSL. 1.544 Мбит/с.
· Выделенной линии ADSL - асимметричная версия HDSL 6 Мбит/с
· Выделенный кабель от 1 до 100 Мбит/с
Протоколы
Обмен данными между двумя компьютерами или двумя процессами в компьютерной сети управляется набором правил, называемых протоколом (protocol). Пусть А и В - два объекта, которые обмениваются серией сообщений по сети. Объекту А нужно корректно указать адрес объекта В, чтобы сообщения из А прибыли по назначению. Это достигается за счет функций адресации (addressing) и маршрутизации (routing), реализуемых протоколом. Сообщения, отправленные из А в В, могут потеряться или исказиться из-за шума или отказов в сети. Следовательно, протокол должен выполнять функции обнаружения ошибок (error detection), исправления ошибок (error recovery) и управления очередностью (sequence control). Если объект А посылает сообщение с намного большей скоростью, чем способен принять объект В, то в этом случае протокол должен обеспечить механизм управления потоком (flow control).
Протокол Internet (IP)
Протокол IP определяет форматы пакетов, посылаемых через Internet, механизмы, используемые для передачи пакетов через различные виды сетей, а также маршрутизаторы от источника до места назначения.
Каждый хост, подключенный к Internet, имеет уникальный адрес, называемый IP-адресом. IP-адрес ни что иное как 32-битовое число, обычно представляемое при помощи точечной десятичной нотации, например, 129.2.0.37. Здесь каждое из четырех чисел (каждое из которых может принимать значения от 0 до 255) представляет 8 бит 32-битового адреса. Все 32 бита разделены на две части: префикс и суффикс. Префикс указывает на сеть, а суффикс - на хост внутри сети. Количество бит, отведенных на префикс, определяет количество уникальных сетевых номеров, а количество бит суффикса - количество хостов в сети.
Заголовок в протоколе IP имеет длину 20 байт. Из них 4 байта отводится на IP-адрес хоста-отправителя, а 4 байта - на IP-адрес хоста-получателя.
Наиболее широко распространенная четвертая версия IP (IPv4), с 32-битовым полем для адреса, в настоящее время достигла своего предела, поскольку количество хостов, подключенных к Internet, растет по экспоненциальному закону. Новая, шестая версия (IPv6), расширяет поля адреса отправителя и получателя с 32 до 128 бит.
Протокол TCP
Протокол TCP обеспечивает основанный на соединении обмен данными между процессами, выполняющимися на хостах сети. TCP позволяет двум объектам, находящимся на концах соединения, обмениваться информацией одновременно, т.е. в полнодуплексном режиме. Протокольная единица обмена, которой обмениваются на уровне протокола TCP, называется сегментом (segment). Заголовок сегмента в TCP имеет длину 20 байт.
Перед тем, как два хоста начнут обмениваться данными, между ними должно быть установлено соединение. Протокол TCP использует надежный механизм установки соединения, называемый трехсторонним квитированием связи (three-way handshake).
Предположим, что хост А установил соединение с хостом В, обменялся с ним данными, а затем закрыл соединение. Хост А начинает с отправки на хост В сегмента синхронизации SYN (SYNchronization), который в ответ посылает свой сегмент синхронизации. Такой обмен SYN-сегментами занимает время 1 RTT (round-trip time - время на передачу и подтверждение приема). Хост В считает соединение незавершенным до тех пор, пока от хоста А не придет сегмент подтверждения АСК (ACKnowledgement). В течение интервала времени от посылки хостом В хосту А своего сегмента синхронизации и до получения от А сегмента подтверждения, соединение остается в очереди незавершенных (т.е. неустановленных) соединений. Другими словами, соединение остается в этой очереди в течение 1 RTT. Если хост получил множество запросов на открытие соединений от серверов, расположенных на достаточном удалении, то очередь незавершенных соединений может переполниться, не давая хосту принимать новые соединения. С упомянутой проблемой сталкиваются HTTP-сервера,устанавливающие множество соединений с удаленными клиентами. Данный факт учитывается при совершении так называемых атак типа отказа от обслуживания (Denial of Service, DoS).
Закрытие TCP-соединения называется полузакрытием (half-close), поскольку когда хост закрывает соединение, он этим указывает, что больше не будет посылать данные другому хосту, но все еще может принимать данные.
Клиент-сервер
Клиент-серверные вычисления - это распределенная модель, используемая в Web, при которой выделяются два типа сущностей, реализуемых прикладными приложениями: клиенты (clients) и серверы (servers). Термин "сервер" не следует путать с компьютером, на котором выполняется серверный процесс.
Клиент:
· запускается на настольном компьютере или пользовательской рабочей станции и поддерживает графический пользовательский интерфейс (GUI) для сбора и отображения данных;
· производит запросы на специфические службы, выполняемые одним или более серверными процессами, обычно расположенными на удаленных машинах;
· выполняет часть кода приложения.
Серверный процесс, или просто сервер,
· выполняется на машинах, которые обычно быстрее, имеют больше памяти и дискового пространства, нежели клиентские машины.
· выполняет набор функционально-связанных служб, обычно требующих специализированного аппаратного и программного обеспечения;
· никогда не начинает обмен сообщениями с каким-либо клиентом; серверы представляют собой пассивные объекты, которые получают запросы пользователей, выполняют их и отвечают клиентам.
Протокол, по которому общаются клиенты и серверы - это протокол типа "запрос-ответ" (request-reply), по которому клиенты отправляют запросы, а серверы отвечают на них. Поскольку сервер может получать запросы от множества клиентов, на нем формируется очередь этих запросов. Если одновременно обслуживать только один запрос, то ресурсы сервера будут использоваться не полностью, его пропускная способность (количество запросов, обслуживаемых в единицу времени) окажется низкой, а время отклика на запросы клиентов будет расти с ростом нагрузки на сервер. Поэтому большинство серверов создают множественные процессы или потоки, выполняемые как один процесс, для того, чтобы обслужить очередь входящих запросов.
Кэширование позволяет сократить количество обращений к серверу и уменьшить время отклика. Клиенты должны хранить в кэше копию файла или блоков, относящихся к файлу, причем им не придется обращаться к серверу каждый раз, когда необходимо прочитать файл.
Серверы должны хранить в своих кэш-структурах копии файлов и записей баз данных. Web-серверы, расположенные близко от группы клиентов, должны хранить наиболее часто запрашиваемые документы, дабы не обращаться за ними к удаленным серверам, сто, таким образом, позволит уменьшить время отклика и требования к пропускной способности.
Типы серверов
Существуют различные типы серверов, используемых в сетевом окружении: файловые серверы, серверы баз данных, серверы приложений, серверы программного обеспечения коллективного пользования, серверы объектов, Web-серверы, серверы программного обеспечения.
Файловые серверы реализованы на базе сетевых компьютеров с доступом к файловой системе совместного использования. Клиенты делают запросы на просмотр каталогов, получение атрибутов файлов, чтение и запись блоков файлов. Одним из наиболее популярных файловых серверов по праву считается NFS (Network File System — сетевая файловая система).
Серверы баз данных обеспечивают доступ к одной или большему числу совместно используемых баз данных. Запросы клиентов реализуются на языке SQL, который представляет собой стандартный язык для доступа в реляционные базы данных. Сервер баз данных получаетSQL-запросы и передает их процессору (или машине) базы данных (database engine), который, в зависимости от типа запроса, выполняет либо чтение, либо запись в базу данных.
Серверы приложений обеспечивают доступ к удаленным процедурам, вызываемым клиентами с помощью механизма RPC (Remote Procedure Call - удаленный вызов процедуры). Удаленные процедуры обеспечивают логику работы приложения, отправляя SQL-запросы процессору базы данных сервера.
HTTP
Документы для Web реализуются на простом языке, называемом HTML (HyperText Markup Language - язык гипертекстовой разметки). Язык HTML используется для создания гипертекстовых документов, давая возможность описывать структуру документа с указанием заголовков, выделений, связей с другими документами и т.д. В HTML- документы можно вставлять изображения и другие мультимедиа-объекты. Таким образом, HTML позволяет интегрировать в среде Web видеоклипы, программные приложения, мультимедийные объекты. Большинство HTML-документов состоят из текста и ссылок на встроенные изображения. Связь между ссылкой и именем файла изображения обеспечивают вставку изображения во время просмотра документа.
Встроенные изображения оказывают существенное влияние на производительность сервера. Когда браузер выполняет синтаксический разбор HTML-данных, полученных с сервера, он распознает связи, ассоциированные со встроенными изображениями, и автоматически запрашивает соответствующие файлы изображений. На самом деле, HTML-документ со встроенными изображениями - это ни что иное, как группа многочисленных объектов, которые генерируют отдельные запросы на сервер. В то время как пользователь видит только один документ, сервер видит серию отдельных запросов, посылаемую этим документом. С целью улучшения производительности для конечного пользователя, некоторые браузеры начинают запрашивать изображения до того, как клиент получит полный текст. Во время анализа производительности системы важно понять, что одно единственное нажатие кнопки пользователем может породить целую последовательность файловых запросов к серверу.
Дата добавления: 2016-04-19; просмотров: 1579;