Обмен информацией между сотрудниками в коммерческой организации
Особенности архитектуры технологии "клиент-сервер", ее преимущества, стадии проектирование, концепция и перспектива использования. Достоинства и недостатки "интеллектуальных серверов", назначение протокола управления передачей и алгоритм хеширования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.05.2015 |
Размер файла | 303,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1 раунд .
2 раунд .
3 раунд .
4 раунд .
где логические операции XOR, AND, OR и NOT соответственно.
· Определим таблицу констант -- 64-элементная таблица данных, построенная следующим образом: , где .[4]
· Выровненные данные разбиваются на блоки (слова) по 32 бита, и каждый блок проходит 4 этапа по 16 раундов. Все раунды однотипны и имеют вид: [abcd k s i], определяемый как , где X -- блок данных. X[k] = M [n * 16 + k], где k -- номер 32-битного слова из n-го 512-битного блока сообщения, и -- циклический сдвиг влево на бит полученного 32-битного аргумента.
Шаг 4. Вычисление в цикле
Заносим в блок данных элемент n из массива. Сохраняются значения A, B, C и D, оставшиеся после операций над предыдущими блоками (или их начальные значения, если блок первый).
AA = A
BB = B
CC = C
DD = D
Этап 1
/*[abcd k s i] a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD 0 7 1][DABC 1 12 2][CDAB 2 17 3][BCDA 3 22 4]
[ABCD 4 7 5][DABC 5 12 6][CDAB 6 17 7][BCDA 7 22 8]
[ABCD 8 7 9][DABC 9 12 10][CDAB 10 17 11][BCDA 11 22 12]
[ABCD 12 7 13][DABC 13 12 14][CDAB 14 17 15][BCDA 15 22 16]
Этап 2
/*[abcd k s i] a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD 1 5 17][DABC 6 9 18][CDAB 11 14 19][BCDA 0 20 20]
[ABCD 5 5 21][DABC 10 9 22][CDAB 15 14 23][BCDA 4 20 24]
[ABCD 9 5 25][DABC 14 9 26][CDAB 3 14 27][BCDA 8 20 28]
[ABCD 13 5 29][DABC 2 9 30][CDAB 7 14 31][BCDA 12 20 32]
Этап 3
/*[abcd k s i] a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD 5 4 33][DABC 8 11 34][CDAB 11 16 35][BCDA 14 23 36]
[ABCD 1 4 37][DABC 4 11 38][CDAB 7 16 39][BCDA 10 23 40]
[ABCD 13 4 41][DABC 0 11 42][CDAB 3 16 43][BCDA 6 23 44]
[ABCD 9 4 45][DABC 12 11 46][CDAB 15 16 47][BCDA 2 23 48]
Этап 4
/*[abcd k s i] a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD 0 6 49][DABC 7 10 50][CDAB 14 15 51][BCDA 5 21 52]
[ABCD 12 6 53][DABC 3 10 54][CDAB 10 15 55][BCDA 1 21 56]
[ABCD 8 6 57][DABC 15 10 58][CDAB 6 15 59][BCDA 13 21 60]
[ABCD 4 6 61][DABC 11 10 62][CDAB 2 15 63][BCDA 9 21 64]
Суммируем с результатом предыдущего цикла:
A = AA + A
B = BB + B
C = CC + C
D = DD + D
После окончания цикла необходимо проверить, есть ли ещё блоки для вычислений. Если да, то изменяем номер элемента массива (n++) и переходим в начало цикла.
Шаг 5. Результат
Результат вычислений находится в буфере ABCD, это и есть хеш. Если выводить побайтово, начиная с младшего байта A и закончив старшим байтом D, то мы получим MD5-хеш. 1,0,15,34,17,18...
5. MySQL
MySQL -- свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
6. Мicrosoft Visual Studio
Microsoft Visual Studio -- линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).
Работа с сокетами в .NET
Поддержку сокетов в .NET обеспечивают классы в пространстве имен System.Net.Sockets -- начнем с их краткого описания.
Классы для работы с сокетами
Класс |
Описание |
|
MulticastOption |
Класс MulticastOption устанавливает значение IP-адреса для присоединения к IP-группе или для выхода из нее. |
|
NetworkStream |
Класс NetworkStream реализует базовый класс потока, из которого данные отправляются и в котором они получаются. Это абстракция высокого уровня, представляющая соединение с каналом связи TCP/IP. |
|
TcpClient |
Класс TcpClient строится на классе Socket, чтобы обеспечить TCP-обслуживание на более высоком уровне. TcpClient предоставляет несколько методов для отправки и получения данных через сеть. |
|
TcpListener |
Этот класс также построен на низкоуровневом классе Socket. Его основное назначение -- серверные приложения. Он ожидает входящие запросы на соединения от клиентов и уведомляет приложение о любых соединениях. |
|
UdpClient |
UDP -- это протокол, не организующий соединение, следовательно, для реализации UDP-обслуживания в .NET требуется другая функциональность. |
|
SocketException |
Это исключение порождается, когда в сокете возникает ошибка. |
|
Socket |
Последний класс в пространстве имен System.Net.Sockets -- это сам класс Socket. Он обеспечивает базовую функциональность приложения сокета. |
Класс Socket
Класс Socket играет важную роль в сетевом программировании, обеспечивая функционирование как клиента, так и сервера. Главным образом, вызовы методов этого класса выполняют необходимые проверки, связанные с безопасностью, в том числе проверяют разрешения системы безопасности, после чего они переправляются к аналогам этих методов в Windows Sockets API.
Рассмотрим некоторые важные свойства и методы класса Socket:
Свойства и методы класса Socket
Свойство или метод |
Описание |
|
AddressFamily |
Дает семейство адресов сокета -- значение из перечисления Socket.AddressFamily. |
|
Available |
Возвращает объем доступных для чтения данных. |
|
Blocking |
Дает или устанавливает значение, показывающее, находится ли сокет в блокирующем режиме. |
|
Connected |
Возвращает значение, информирующее, соединен ли сокет с удаленным хостом. |
|
LocalEndPoint |
Дает локальную конечную точку. |
|
ProtocolType |
Дает тип протокола сокета. |
|
RemoteEndPoint |
Дает удаленную конечную точку сокета. |
|
SocketType |
Дает тип сокета. |
|
Accept() |
Создает новый сокет для обработки входящего запроса на соединение. |
|
Bind() |
Связывает сокет с локальной конечной точкой для ожидания входящих запросов на соединение. |
|
Close() |
Заставляет сокет закрыться. |
|
Connect() |
Устанавливает соединение с удаленным хостом. |
|
GetSocketOption() |
Возвращает значение SocketOption. |
|
IOControl() |
Устанавливает для сокета низкоуровневые режимы работы. Этот метод обеспечивает низкоуровневый доступ к лежащему в основе классу Socket. |
|
Listen() |
Помещает сокет в режим прослушивания (ожидания). Этот метод предназначен только для серверных приложений. |
|
Receive() |
Получает данные от соединенного сокета. |
|
Poll() |
Определяет статус сокета. |
|
Select() |
Проверяет статус одного или нескольких сокетов. |
|
Send() |
Отправляет данные соединенному сокету. |
|
SetSocketOption() |
Устанавливает опцию сокета. |
|
Shutdown() |
Запрещает операции отправки и получения данных на сокете. |
Размещено на Allbest.ru
Подобные документы
Основные понятия серверов. Модель клиент-сервер. Классификация стандартных серверов. Недостатки файл-серверной системы. Криптографические методы защиты информации. Серверы удаленного доступа. Методы и средства обеспечения безопасности информации.
контрольная работа [36,3 K], добавлен 13.12.2010Проектирование информационной системы на основе архитектуры "файл-сервер", "клиент-сервер", многоуровневой архитектуры, Intranet-системы. Преимущества и недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных.
лабораторная работа [220,5 K], добавлен 02.02.2015Преимущества и недостатки использования двух типов базовых архитектур Клиент-сервер и Интернет/Интранет, их компоненты и экономическая целесообразность. Информационные взаимосвязи компонентов WEB-узла, взаимодействие браузера, сервера и сценария CGI.
реферат [324,4 K], добавлен 22.06.2011Анализ архитектуры информационной системы, в структуру которой входят системы файл-сервер и клиент-сервер. Сравнение языков запросов SQL и QBE. Принципы разработки приложений архитектуры клиент-сервер при помощи структурированного языка запросов SQL.
курсовая работа [88,9 K], добавлен 11.04.2010Особенности программной архитектуры клиент-сервер, взаимодействие серверов и пользователей сети Интернет согласно сетевым протоколам. Классификация служб по выполняемым функциям: доступ к гипертекстовому контенту, файлам, проведение телеконференций.
реферат [31,5 K], добавлен 12.07.2015Основные концепции разработки приложения в архитектуре MVVM. Проектирование базы данных, предназначенной для сбора информации о дорожно-транспортных происшествиях. Классификация и типы архитектуры "клиент–сервер", ее основные достоинства и недостатки.
курсовая работа [4,1 M], добавлен 25.11.2015Описание предметной области и разработка электронного учебника на основе архитектуры "клиент – сервер". Тестирование программы менеджера и создание интерфейса главного меню. Вход в программу в качестве пользователя и обеспечение перехода к данным лекций.
курсовая работа [1,5 M], добавлен 26.02.2015Создание клиент-серверного приложения на основе технологии CORBA. Проектирование многоуровневой системы, в которой клиент при помощи банкомата выполняет необходимые операции. Способы реализации серверов в разных каналах для ускорения обработки данных.
лабораторная работа [1,1 M], добавлен 08.06.2009Описания программного продукта компании 1С, предназначенного для быстрой разработки прикладных решений. Исследование типов архитектур построения баз данных. Технология с сетью и файловым сервером. Анализ особенностей трехзвенной архитектуры клиент-сервер.
курсовая работа [401,4 K], добавлен 12.01.2015Функциональная модель системы. Проектирование схемы базы данных. Проектирование архитектуры системы. Принцип технологии клиент-сервер. Построение схемы ресурсов. Выбор программных средств. Разработка базы данных с использованием Microsoft SQL Server.
дипломная работа [1,1 M], добавлен 30.03.2015