русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сети клиент/сервер


Дата добавления: 2013-12-23; просмотров: 1468; Нарушение авторских прав


Пиринговые финансовые сети

Пиринговые сети распределённых вычислений

Технология пиринговых сетей (не подвергающихся квазисинхронному исчислению) применяется также для распределённых вычислений. Они позволяют в сравнительно короткие сроки выполнять поистине огромный объём вычислений, который даже на суперкомпьютерах потребовал бы, в зависимости от сложности задачи, многих лет и даже столетий работы. Такая производительность достигается благодаря тому, что некоторая глобальная задача разбивается на большое количество блоков, которые одновременно выполняются сотнями тысяч компьютеров, принимающими участие в проекте. Один из примеров такого использования пиринговых сетей использует компания Sony в игровых приставках Sony PlayStation [1].

Разрабатываются и обкатываются на игровых моделях децентрализованных денежных систем. Основная идея в том, что современные деньги — несовершенный механизм расчетов, зависящий от воли высокопоставленных чиновников, а децентрализованные деньги, основанные на p2p технологиях, в теории являются более справедливым средством взаимных расчетов пользователей.

Для получения доступа к ресурсу в сети клиент/сервер пользователь должен ввести свой уникальный идентификатор — имя пользователя (login — логин) и пароль (password). Логин пользователя является общедоступной информацией, и это правильно. Если кто-нибудь захочет отправить пользователю сообщение по электронной почте, то для этого ему достаточно знать его логин (естественно, и имя сервера электронной почты, который «знает» этого пользователя). Проверка имени пользователя называется идентификацией. Подтверждение (проверка подлинности) имени пользователя паролем — аутентификация. Идентификация + аутентификация = авторизация. Иногда понятие аутентификация просто воспринимается, как проверка подлинности в широком смысле этого слова.



После рассмотрения архитектуры одноранговой сети можно придти к выводу, что единственное ее преимущество — это ее простота и дешевизна. Сети клиент/сервер обеспечивают более высокий уровень производительности и безопасности. В отличие от одноранговой сети, в сети клиент/сервер существует один или несколько главных компьютеров — серверов. Все остальные компьютеры сети называются клиентами или рабочими станциями (workstations). Как я уже писал выше, сервер — это специальный компьютер, который предоставляет определенные услуги другим компьютерам. Существуют различные виды серверов (в зависимости от предоставляемых ими услуг): серверы баз данных, файловые серверы, серверы печати (принт-серверы),почтовые серверы, Web-серверы, и т.д.

Для экономии средств, как правило, один сервер сочетает в себе несколько функций, например, почтовик может быть также и Web-сервером. Услуги, которые может предоставлять сервер, ограничиваются только его физическими возможностями — чем мощнее сервер, тем больше услуг и с большим качеством он может предоставлять, поэтому в качестве сервера выбирается довольно мощный компьютер.

Сеть клиент/сервер более дорога в построении и обслуживании, чем простая одноранговая сеть. Так почему же Internet построен с использованием технологии клиент/сервер? Неужели никто не задумывался над экономией средств? Все дело в том, что Internet просто-напросто не может быть одноранговой сетью. Сейчас объясню почему. Можно привести множество примеров, но мы ограничимся только двумя.

По определению все компьютеры в одноранговой сети равны между собой. Теперь представьте себе такую одноранговую сеть, в которой сто-двести тысяч компьютеров (а в Internet узлов намного больше!). Ясное дело, что вы не можете запомнить IP-адреса всех компьютеров, вам легче запомнить их символьное имя — comp_vasya, comp_igorи т.п. Вы вводите в браузере адрес http://comp_vasya. Компьютер, в отличие от человека, «привык» оперировать с числами, а не символьными имбнами. То есть ему нужна программа, которая преобразует имя comp_vasya в IP-адрес. Написать такую программу очень просто, но сложность заключается в том, откуда эта программа будет брать сведения про имена компьютеров и соответствующие им IP-адреса? Раньше, когда Internet не было, а была сеть ARPAnet проблема разрешения имени решалась так: администратор редактировал файл hosts, в который вносил имя компьютера и IP-адрес. Потом этот файл нужно было скопировать на каждый (!) компьютер сети (а у нас их 200 тысяч). Программа преобразования имени просматривала этот файл и, если ей удавалось найти нужный IP-адрес, возвращала его. Ясное дело, что такая организация доставляла массу неудобств, как администраторам, так и пользователям — забыл обновить файл, ты уже не получишь доступ к компьютеру, не зная его IP. Поэтому было принято решение разработать службу доменных имен — DNS ( Domain Name System), которая и занималась решением данной проблемы. А служба DNS работает примерно так: к DNS-серверу обращается компьютер с просьбой преобразовать символьное имя в IP-адрес. Если DNS-сервер может разрешить имя компьютера, он возвращает его IP-адрес Все это делается незаметно для пользователя — ему нужно ввести толь ко имя компьютера, а все остально его не касается. Администратору тоже удобно: ему нужно всего один раз отредактировать базу данных сервера DNS. Как видите, служба DNS подразумевает использование технологии клиент/сервер — тут уж никак не отвертишься.

Второй пример связан с авторизацией. Представьте, что у нас есть те самые 200 тысяч пользователей. Один из них входит в сеть и пытается обратиться к компьютеру comp_igor. Ясное дело, что этот компьютер должен его авторизировать, то есть определить, кто вы такой. Для этогс на компьютере comp_igor должна быть база данных, содержащая все имена пользователей и пароли. Такая база данных должна быть на каждом из 200 тысяч компьютеров, а иначе сеть не сможет работать! Намного проще для авторизации использовать один какой-нибудь сервер (или несколько таких серверов). Во-первых, удобно — учетную запись пользователя нужно создать только на одном компьютере, а во-вторых, так намного безопаснее: ведь среди 200 тысяч компьютеров найдете как минимум десятка два-три незащищенных, которые проще взломать При этом, учитывая, что каждый компьютер содержит все имена пользователей и все пароли, в руках злоумышленников окажется вся сеть. С последствиях такого взлома, думаю, не трудно догадаться.

Помните, я говорил про экономию средств? Давайте посчитаем затраты на содержание двух баз данных — имен компьютеров и пользователей для 200 тысяч компьютеров. Договоримся, что максимально допустимое имя компьютера может состоять из 32 символов, имя пользователя — и; 16, а пароль — из 8. 32 (байта — имя компьютера) х 200000 (число записей в файле) х 20000С (этот файл должен быть на каждом компьютере) = 1280000000000 байт = 1220703,125 Мб дискового пространства; 16 + 8+1 (имя, пароль и разделитель) х 200000 х 200000 = 1ОООООООООО0 байт = 953674,32 Мб; Итого: 2174377,445 Мб. Представьте, что каждый день по сети будет «гулять» 2174377,445 Мб информации! Такое даже в страшном сне не приснится. Это ж какая пропускная способность должна быть! При использовании сети клиент/сервер затраты будут ровно в 200000 раз меньше — чуть больше 10 Мб.



<== предыдущая лекция | следующая лекция ==>
Пиринговая файлообменная сеть | Феномен гипертекста


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.