Соединение домашнего компьютера с глобальной сетью

Протоколы и модели взаимодействия для реализации 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;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.