- •Часть 1
- •Устройство вычислительной системы на основе ibm pc-совместимого компьютера
- •Порядок выполнения работы.
- •Порядок выполнения.
- •1.3.Заполните таблицу:
- •Получение навыков в сборке и настройке пк
- •Порядок выполнения.
- •Заполните таблицу.
- •Изучить компоненты, входящие в состав материнской платы.
- •3.1. Изучить компоненты, входящие в состав материнской платы.
- •Теоретическое введение
- •Установление соединения
- •Перевод сокета в режим пассивного ожидания
- •Блокирование выполнения программы до тех пор, пока не поступит запрос на установление соединения
- •Передача данных
- •Получение данных по сети
- •Задание к работе
- •Создание клиентского приложения
- •Дополнительные задания
- •Контрольные вопросы
- •2.Исследование протоколов ftp
- •3.Исследование протоколов Telnet, smtp, pop, imap
- •Пример электронного письма
- •Дополнительная литература
- •Оглавление
- •Горбунов Андрей Михайлович вычислительные системы, сети и телекоммуникации сборник лабораторных работ
- •Часть 1
Дополнительные задания
Установите клиентскую и серверную программу на разных компьютерах и попытайтесь передавать данные между ними.
Составьте программу ведения диалога в сети на основании приведенной клиент-серверной программы.
Контрольные вопросы
С помощью каких функций Winsock устанавливает соединение?
Опишите алгоритм работы серверного приложения для работы с TCP-протоколом.
Опишите алгоритм работы клиентского приложения для работы с TCP-протоколом.
Назначение функции listen.
Назначение функции accept.
Лабораторная работа №7 Исследование протоколов прикладного уровня
(продолжительность занятия – (6) академических часов)
Цель работы: Изучить протоколы прикладного уровня. Научиться их настраивать. Использовать средства ОС для получения сведений о сетевых средствах и программном обеспечении.
Вопросы, изучаемые на занятии:
Назначение и работа с протоколами прикладного уровня.
Исследование протокола FTP.
Исследование протоколов Telnet, SMPT, POP3, IMAP
Назначение, вызов и настройка протоколов прикладного уровня
BitTórrent (букв. англ. «битовый поток») — пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет.
Файлы передаются частями, каждый torrent-клиент, получая (скачивая) эти части, в то же время отдаёт (закачивает) их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных.
Протокол был создан Брэмом Коэном, написавшим первый torrent-клиент «BitTorrent» на языке Python 4 апреля 2001 года. Запуск первой версии состоялся 2 июля 2001 года.
BOOTP (от англ. bootstrap protocol) — сетевой протокол, используемый для автоматического получения клиентом IP-адреса. Это обычно происходит во время загрузки компьютера. BOOTP определён в RFC 951.
BOOTP (Bootstrap Protocol) как и RARP обеспечивает определение с помощью специального сервера IP адреса клиента по его MAC адресу (например, при загрузке устройства, не имеющего возможности хранить свой собственный IP адрес), а также позволяет клиентам узнавать другие параметры загрузки (например, имя программы, загружаемой затем с помощью TFTP) и использует UDP в качестве протокола канального уровня. Это позволяет использовать маршрутизаторы (bootp relay) для передачи запросов и ответов из одного сегмента локальной сети в другой. Протокол DHCP (Dynamic Host Configuration Protocol) является надстройкой над BOOTP (для совместимости с bootp relay) и позволяет серверу выделять IP адреса клиентам динамически на ограниченный срок.
DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста(компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).
Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу.
Основой DNS является представление об иерархической структуре доменного имени и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Начиная с 2010 года, в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединений транспортного иприкладного уровней.
FTP (англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.
Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.
Первые клиентские FTP-приложения были интерактивными инструментами командной строки, реализующими стандартные команды и синтаксис. Графические пользовательские интерфейсы с тех пор были разработаны для многих используемых по сей день операционных систем. Среди этих интерфейсов как программы общего веб-дизайна вроде Microsoft Expression Web, так и специализированные FTP-клиенты (например, FileZilla).
FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году. В первое время он работал поверх протокола NCP[1]. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.
HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровняпередачи данных (изначально — в виде гипертекстовых документов в формате HTML, в настоящий момент используется для передачи произвольных данных). Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылаютзапрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов. В 2006 году в Северной Америке доля HTTP-трафика превысила долю P2P-сетей и составила 46 %, из которых почти половина — это передача потокового видео и звука[1].
HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких какSOAP, XML-RPC, WebDAV.
Network file system (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC[1]). Позволяет подключать (монтировать) удалённые файловые системы через сеть.
NFS абстрагирован от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различныхоперационных систем и аппаратных архитектур. Наиболее зрелая версия NFS — v.4[2], поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC GSS) и списков контроля доступа (как POSIX, так и Windows-типов).
NFS предоставляет клиентам прозрачный доступ к файлам и файловой системе сервера. В отличие от FTP, протокол NFS осуществляет доступ только к тем частям файла, к которым обратился процесс, и основное достоинство его в том, что он делает этот доступ прозрачным. Это означает, что любое приложение клиента, которое может работать с локальным файлом, с таким же успехом может работать и с NFS файлом, без каких либо модификаций самой программы.
NFS-клиенты получают доступ к файлам на NFS-сервере путём отправки RPC-запросов на сервер. Это может быть реализовано с использованием обычных пользовательских процессов — а именно, NFS-клиент может быть пользовательским процессом, который осуществляет конкретные RPC-вызовы на сервер, который так же может быть пользовательским процессом.
POP3 (англ. Post Office Protocol Version 3 — протокол почтового отделения, версия 3) — стандартныйИнтернет-протокол прикладного уровня, используемый клиентами электронной почты для получения почты с удаленного сервера по TCP/IP-соединению.
POP и IMAP (Internet Message Access Protocol) — наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и серверы электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.
Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP.
POP3 (англ. Post Office Protocol Version 3 — протокол почтового отделения, версия 3) — стандартныйИнтернет-протокол прикладного уровня, используемый клиентами электронной почты для получения почты с удаленного сервера по TCP/IP-соединению.
POP и IMAP (Internet Message Access Protocol) — наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и серверы электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3.
IMAP (англ. Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте.
Базируется на транспортном протоколе TCP и использует порт 143.
IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем.
Для отправки писем используется обычно протокол SMTP, так как собственная команда отправки протокола IMAP, называемая APPEND, считается «неудачной» и «небезопасной».
SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) — это широко используемыйсетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.
SMTP впервые был описан в RFC 821 (1982 год); последнее обновление в RFC 5321 (2008) включает масштабируемое расширение — ESMTP (англ. Extended SMTP). В настоящее время под «протоколом SMTP», как правило, подразумевают и его расширения. Протокол SMTP предназначен для передачи исходящей почты с использованием порта TCP 25.
SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP. К поддерживающим SNMP устройствам относятся маршрутизаторы, коммутаторы, серверы, рабочие станции, принтеры, модемные стойки и другие. Протокол обычно используется в системах сетевого управления для контроля подключенных к сети устройств на предмет условий, которые требуют внимания администратора. SNMP определен Инженерным советом интернета (IETF) как компонент TCP/IP.
SSH (англ. Secure Shell — «безопасная оболочка»[1]) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них,шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмовшифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры)[2].
X.400 — протокол, представляет собой набор рекомендаций по построению системы передачи электронных сообщений, не зависящей от используемых на сервере и клиенте операционных систем и аппаратных средств. Рекомендации X.400 являются результатом деятельности международного комитета по средствам телекоммуникаций (CCITT во французской транскрипции или ITU в английской), созданного при Организации Объединённых Наций.
Рекомендации X.400 охватывают все аспекты построения среды управления сообщениями: терминологию, компоненты и схемы их взаимодействия, протоколы управления и передачи, форматы сообщений и правила их преобразования. В рекомендациях X.400 наиболее полно отражается накопленный в индустрии компьютеров и телекоммуникаций опыт создания и применения информационных систем. В настоящее время существуют три редакции рекомендаций:
рекомендации 1984 года, известные также как «Красная книга» (Red Book);
рекомендации 1988 года, известные также как «Голубая книга» (Blue Book);
рекомендации 1992 года, известные также как «Белая книга» (White Book).
Более поздние рекомендации описывают дополнительные протоколы и форматы передачи данных, корректируют неточности и/или изменяют трактовку более ранних. Исправления и дополнения к указанным спецификациям выпускаются ежегодно, однако существующие системы в подавляющем большинстве поддерживают рекомендации 1984 и/или 1988 годов. Эти спецификации не являются свободно доступными и распространяются за довольно высокую плату.
X.500 — серия стандартов ITU-T (1993 г.) для службы распределенного каталога сети. Каталоги X.500 предоставляют централизованную информацию обо всех именованных объектах сети (ресурсах, приложениях и пользователях) (рекомендации MKKTT для каталогов). Изначально стандарт X.500 планировался для использования именований узлов, адресов и почтовых ящиков, предусмотренных стандартом X.400.
Каталоги, как правило, содержат статические и редко изменяемые элементы, так как каталоги изначально оптимизированы для очень быстрого отклика на запросы поиска и чтения данных.
Каталоги полностью структурированы. Каждый элемент данных имеет имя, которое одновременно определяет положение элемента в иерархии каталога. Каждый атрибут элемента, как правило, может иметь несколько значений и это является нормальным поведением, в отличие от обычных баз данных.
Каталоги являются очень специфическими системами хранения данных. Их удобно использовать для иерархически скомпонованных объектов. Каталоги могут быть реплицированы между несколькими серверами для удобного доступа и распределения нагрузки. Текстовая информация очень хорошо подходит для каталогов, так как легко поддается поиску, но данные могут быть представлены и в любой другой форме.
Очень удобно использовать каталоги для управления пользовательскими аккаунтами, машинами, схемами доступа, приложениями и многим другим, поскольку механизмы управления чаще всего только считывают данные из центрального хранилища. В то же время каталоги очень гибко настраиваются для любого уровня контроля доступа, позволяя ограничивать доступ к информации как только угодно.
Каталоги часто используются для хранения информации о пользователях или реальных объектах. Например, приложения могут использовать данные, ассоциированные с человеком, такие, как реальный или сетевой адрес, телефон, e-mail, уровень доступа и т. д. Поскольку во многие приложения интегрированы средства доступа к каталогам, то пользователи значительно эффективнее используют программное обеспечение для совместной работы. Очень удобно использовать каталоги для централизованного управления сетью, поскольку данные о пользователях, парке машин и запускаемых сервисах сосредоточены в одном месте и легко администрируются.
SPDY (читается как «speedy», «спиди») — протокол прикладного уровня для передачи веб-контента. Протокол разработан корпорацией Google. По замыслу разработчиков, данный протокол позиционируется как замена некоторых частей протокола HTTP — таких, как управление соединениями и форматы передачи данных.
Основной задачей SPDY является снижение времени загрузки веб-страниц и их элементов[6]. Это достигается за счёт расстановки приоритетов и мультиплексирования передачи нескольких файлов таким образом, чтобы требовалось только одно соединение для каждого клиента.
Документация по проекту уже доступна, было проведено первое лабораторное тестирование. Тесты проходили таким образом: создатели сымитировали сеть и загрузили по SPDY-протоколу 25 крупнейших мировых сайтов. Статистика говорит о том, что в ряде случаев веб-страницы загружались на 55 % быстрее, чем при использовании HTTP-протокола.
ТELNET (англ. TErminaL NETwork) — сетевой протокол для реализации текстового интерфейса по сети (в современной форме — при помощи транспорта TCP). Название «telnet» имеют также некоторые утилиты, реализующие клиентскую часть протокола. Современный стандарт протокола описан в RFC 854.
Выполняет функции протокола прикладного уровня модели OSI.
