Сети клиент/сервер | Обновлен 20.01.2014 | ||
•Главная •Решение
проблем •Сравнение платного и бесплатного
хостинга •Советы•Бесплатные
сервисы •10 лучших конструкторов сайтов •Надежность бесплатного хостинга •Бесплатные домены •Платные домены •Бесплатный хостинг •Хостинг файлов •Эмоции •Домашний WEB сервер |
|||
1.1.2. Сети клиент/серверДля получения доступа к ресурсу в сети клиент/сервер пользователь должен ввести свой уникальный идентификатор — имя пользователя (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 Мб.
|