ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 270

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Эволюция компьютерных технологий начинается компьютерных сетей. Компьютерные сети - это новый этап в компьютерных технологиях.

Суть компьютерных сетей достаточно примитивная: скорость работы сети очень маленькая по сравнению с современными сетевыми технологиями, но в то время и это было достижение.

С развитием аппаратной части сетей совершенствовалось и сетевое программное обеспечение. Со временем потребовалось модернизировать сами технологи, а не только развитие аппаратуры и программного обеспечения. Были разработаны современные сетевые технологии, такие как технология «клиент-сервер». Эта технология дает возможность пользователям сети получать быстрый доступ к ресурсам.

Цель курсовой работы заключается в изучении сетевой технологии «клиент-сервер»

Поставленные задачи:

  1. рассмотреть вопрос о понятии сетевой технологии «клиент-сервер»;
  2. изучить принципы взаимодействия между серверными и клиентскими частями и типы архитектур «клиент-сервера»;
  3. рассмотреть программные средства разработки

Настоящая курсовая работа была написана с использованием многочисленных источников, среди которых такие как: «Многоуровневые системы клиент-сервер. Открытые системы» под редакцией В. Коржов, которая содержит в себе полную информацию об открытости системы и уровнях клиент-сервера. «Многоуровневые системы клиент-сервер». Далее была использована книга А. Горева, С. Макашарипова, Ю. Владимирова «SQL Server 6.5 для профессионалов», где описаны практические аспекты программных средств разработки. Также при написании курсовой работы была изучена «Публикация баз данных в Интернете».

1. Архитектура «клиент-сервер»

Относительно к системам баз данных архитектура «клиент-сервер» интересна потому, что обеспечивает достаточно простое и недорогое решение такой проблемы, как проблема коллективного доступа к базам данных в локальной сети.

1.1. Открытые системы

Настоящее распространение архитектуры «клиент-сервер» стало возможным в связи с развитием и широким внедрением в практику концепции открытых систем. Целесообразно в этой связи рассмотреть вопрос об открытых системах. [1]

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


Ключевым моментом открытых систем, направленной в сторону пользователей, представляется независимость от определённого поставщика. Выбирая продукцию компаний, придерживающихся стандартов открытых систем, потребитель, который приобретает продукт такой компании, не попадает к ней в рабство. Потребитель может продолжить наращивание мощности своей системы путем приобретения продуктов любой другой компании, соблюдающей стандарты. Это касается как аппаратных, так и программных средств.[3]

Основной опорой системных и прикладных программных средств открытых систем выступает стандартизованная операционная система. В настоящее время такой системой является UNIX. Компаниям-поставщикам различных вариантов ОС UNIX в процессе длительной работы удалось придти к соглашению об основных стандартах данной операционной системы. В настоящее время все распространенные версии UNIX в большинстве своем совместимы по части интерфейсов, предоставляемых прикладным программистам.

Технологии и стандарты открытых систем гарантируют реальную и проверенную практикой систему производства системных и прикладных программных средств со свойствами мобильности (portability) и интероперабельности (interoperability). Свойство мобильности заключается в сравнительной простоте переноса программной системы в широком спектре аппаратно-программных средств, которые соответствуют стандартам. Интероперабельность, в свою очередь, это упрощение комплексирования новых программных систем в основе использования готовых компонентов со стандартными интерфейсами.[1]

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

1.2. Клиенты и серверы локальных сетей

В основе повсеместного распространения локальных сетей компьютеров лежит известная идея разделения ресурсов. Большая пропускная способность локальных сетей создаёт условия для эффективного доступа из одного узла локальной сети к ресурсам, которые находятся в других узлах.

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


Рабочая станция необходима для непосредственной работы пользователя (или категории пользователей) и обладает соответствующими локальным потребностям этого пользователя ресурсами.

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

Сервера возможно разделить по следующим критериям: по типу услуг, которые они предоставляют.

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

  • inetd от англ. internetsuper-serverdaemon демон сервисов IP — стандартное средство UNIX-систем — программа, дающая возможность писать серверы TCP/IP (и сетевых протоколов других семейств), взаимодействующие с клиентом через перенаправленные inetd потоки стандартного ввода и вывода (stdin и stdout).
  • RPC от англ. RemoteProcedureCall удаленный вызов процедур — система интеграции серверов в виде процедур доступных для вызова удалённым пользователем через унифицированный интерфейс. Интерфейс, изобретённый SunMicrosystems для своей операционной системы (SunOS, Solaris; Unix-система), сегодня используется как в большинстве Unix-систем, так и в Windows.
  • Прикладные клиент-серверные технологии Windows:
  • (D-)COM (англ. (Distributed) ComponentObjectModel — модель составных объектов) и др. — Даёт возможность одним программам выполнять операции над объектами данных, используя процедуры других программ. Исходно эта технология необходима для их «внедрения и связывания объектов» (OLE англ. ObjectLinkingandEmbedding), но позволяет писать широкий спектр различных прикладных серверов. COM работает только в пределах одного компьютера, DCOM доступна удаленно через RPC.
  • Active-X — расширение COM и DCOM для создания мультимедиа-приложений.[8]

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


Основная часть внутренних и сетевых специфических серверов Windows функционируют через универсальные серверы (RPC, (D-)COM).

Сетевые службы обеспечивают работу сети, к примеру серверы DHCP и BOOTP гарантируют стартовую инициализацию серверов и рабочих станций, DNS — трансляцию имен в адреса и наоборот.[4]

Серверы туннелирования (например, различные VPN-серверы) и прокси-серверы обеспечивают связь с сетью, недоступной роутингом.

Серверы AAA и Radius обеспечивают в сети единую аутентификацию, авторизацию и ведение логов доступа.

Информационные службы. К информационным службам следует отнести как простейшие серверы, сообщающие информацию о хосте (time, daytime, motd), пользователях (finger, ident), так и серверы для мониторинга, например, SNMP. Большинство информационных служб функционируют через универсальные серверы.

Специфичным видом информационных служб являются серверы синхронизации времени — NTP; помимо информирования клиента о точном времени NTP-сервер периодически опрашивает ряд других серверов по поводу коррекции собственного времени. Кроме коррекции времени анализируется и исправляется скорость хода системных часов. Коррекция времени проводится ускорением или замедлением хода системных часов, для избегания проблем возможных при простой перестановке времени.

Файл-серверы представляют собой серверы для предоставления доступа к файлам на диске сервера.

В первую очередь, это серверы передачи файлов по заказу, по протоколам FTP, TFTP, SFTP и HTTP. Протокол HTTP заключается в передаче текстовых файлов, однако серверы могут отдавать в качестве запрошенных файлов и произвольные данные, к примеру, музыку, динамически созданные веб-страницы, картинки и так далее.[8]

Другие серверы представляют возможность монтировать дисковые разделы сервера в дисковое пространство клиента и в полном объёме работать на них с файламих. Это позволяют серверы протоколов NFS и SMB. Серверы NFS и SMB работают через интерфейс RPC.

Недостатки файл-серверной системы:

  • Очень значительная нагрузка на сеть, высокие требования к пропускной способности. В процессе работы это делает практически невозможной одновременную работу большого количества пользователей со значительными объёмами данных.
  • Обработка данных осуществляется на компьютере пользователей. Этот факт влечёт за собой повышенные требования к аппаратному обеспечению всех пользователей. Чем больше пользователей, тем больше финансов понадобится потратить на оснащение их компьютеров.
  • Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.
  • Безопасность. Для обеспечения работы с такой системой Вам будет необходимо дать каждому пользователю полный доступ к целому файлу, в где его может интересовать только одно поле

Серверы доступа к данным отдают данные по запросам и обслуживают базу данных. Один из самых простых серверов подобного типа — LDAP (англ. LightweightDirectoryAccessProtocol — облегчённый протокол доступа к спискам).

Единого протокола для доступа к серверам баз данных не существует, но все без исключения серверы баз данных объединяет использование единых правил формирования запросов — язык SQL (англ. StructuredQueryLanguage — язык структурированных запросов).[7]

Службы обмена сообщениями позволяют пользователю передавать и получать сообщения (как правило — текстовые).

В первую очередь ими являются серверы электронной почты, работающие по протоколу SMTP. SMTP-сервер принимает сообщение и доставляет его в почтовый ящик пользователя либо на другой SMTP-сервер (сервер назначения или промежуточный). На многопользовательских компьютерах, пользователи работают с почтой прямо в веб-интерфейсе (или терминале). Для работы с почтой на персональном компьютере, почта берется из почтового ящика через серверы, работающие по протоколам IMAP или POP3.[10]

Для проведения конференций существует серверы новостей, работающие по протоколу NNTP.

Для обмена сообщениями в реальном времени есть серверы чатов, стандартный чат-сервер работает по протоколу IRC — ретранслируемый чат для интернета. Существует большое количество других чат-протоколов, например ICQ или XMPP.[9]

Серверы удаленного доступа

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

Для обеспечения доступа к командной строке служат серверы SSH, telnet, RSH.

Графический интерфейс для Unix-систем — X WindowSystem, имеет встроенный сервер удалённого доступа, так как с такой возможностью разрабатывался изначально.

Стандартный сервер удалённого доступа к графическому интерфейсу Microsoft Windows именуется терминальным сервером.[11]

Некоторую разновидность управления также предоставляет и протокол SNMP. Компьютер для этого должно иметь SNMP-сервер.

Игровые серверы служат для одновременной игры нескольких пользователей в единой игровой ситуации. Некоторые игры имеют сервер в основной поставке и позволяют запускать его в невыделенном режиме (то есть позволяют играть на машине, на которой запущен сервер).

Серверные решения — это пакеты программ и/или операционные системы, скорректированные и предназначенные для выполнения компьютером функций сервера и/или содержащие в своём составе комплект программ для реализации типичных сервисов. Примером серверных решений является Unix-системы, изначально предназначенные для реализации серверной инфраструктуры, либо серверные модификации платформы Microsoft Windows.