что обеспечивает сервер ивс
Руководство по эксплуатационному обслуживанию и диагностике серверов информационных вагонных систем
Краткое методическое руководство по эксплуатационному обслуживанию и диагностике серверов информационных вагонных систем
Информационная вагонная система (в дальнейшем именуемая как ИВС) есть мультимедийный комплекс, предназначенная для использования в пассажирских вагонах железнодорожного транспорта, в частности вагонах серии 61-4ХХХ.
ИВС предназначена для дальнейшего повышения уровня комфорта пассажиров во время нахождения в пути.
В состав ИВС входит сервер, комплект оборудования, а также панели регулирования громкости (ПРГ).
В состав сервера входит пять мультимедийных плейеров на основе жестких дисков емкостью 80 либо 120 Гбайт, три из которых предназначены для воспроизведения видеофайлов и два — для аудио, трех модуляторов (передатчиков) телевизионных каналов, шести модуляторов FM диапазона, плата управления комплексом, представляющая собой небольшой компьютер, DVD привод, дисплей и блоки питания
Сервер ИВС позволяет обеспечить запись на собственные носители информации подготовленных видео и аудиопрограмм при помощи встроенного DVD привода либо через сетевой интерфейс.
Видеопрограммы должны быть кодированы в форматах MPEG-1, MPEG-2, MPEG-4, DivX, XviD, аудиопрограммы ― MP-3, WMA.
После копирования видеофайлы обозначаются комбинацией цифр, а в том случае, если они кодированы в AVI, то отображается непосредственно название. Данное обстоятельство связано с особенностью прошивки плейеров.
Воспроизведение видео и аудиопрограмм осуществляется по кабельной высокочастотной сети вагона по трем телевизионным каналам, два из которых вещают в дециметровом диапазоне, один ― в метровом и шести FM каналам, при этом первые три FM канала дублируют звуковое сопровождение ТВ программ в стереорежиме, еще один FM канал, как правило, шестой ― программу радиотрансляции.
Максимальное количество обслуживаемых ТВ приемников без видимых потерь качества сигнала ― 10, ПРГ- до 60.
Комплектация и назначение «штабного» сервера идентичны обычному серверу. Различие связано с иным местом установки изделия и, соответственно, иным корпусом изделия.
При необходимости сервер позволяет осуществлять трансляцию в течение всего времени нахождения вагона в пути при условии соблюдения температурного режима, указанного в «Руководстве».
Напряжение питания сервера ― 220 в (+15-10 %) переменного тока частотой 50 Гц, потребляемая мощность ― не более 120 Вт.
Телевизионный сигнал транслируется в системе PAL стандарта вещания D/K.
Частоты вещания телевизионного сигнала для 1-го, 2-го и 3-го каналов: 471.25; 519.25 и 175.25 МГц соответственно.
Сервер обеспечивает также питание ПРГ напряжением 9 В с защитой от токов короткого замыкания в цепях нагрузки.
Сервер функционирует под управлением одной из разновидностей операционных систем Linux, распространяющихся под лицензией GPL.
Ниже приведены некоторые ситуации, которые могут возникнуть при эксплуатации серверов ИВС
После включения не проходит POST (Power on Self Test – Самотест при включении питания, отображается на экране монитора сервера), нет звуковой индикации в виде короткого сигнала, при этом индикация 5/9/12 В имеется.
Выход из строя материнской платы.
Сервер подлежит замене.
После включения POST проходит, однако операционная система не загружается.
Проверить, чтобы в BIOS в качестве загрузочного устройства был указан HDD-0.
После включения сервера POST проходит, но не появляется окно загрузки операционной системы, либо окно появляется однако загрузки не происходит более 5 минут, или же она на каком-то этапе прекращается.
Как правило, это бывает вызвано неоднократным некорректным выключением сервера непосредственно тумблером без предварительного правильного завершения работы ОС согласно руководству. Как следствие, ОС оказывется поврежденной.
В этом случае необходимо переустановить ОС с диска восстановления, предварительно выставив в BIOS в качестве первого загрузочного устройства CD-ROM.
Достаточно редки случаи, когда ОС с восстановительного диска не устанавливается.
Это говорит о поврежденной flash памяти материнской платы.
В этом случае сервер подлежит замене.
Происходит самопроизвольная перезагрузка сервера, особенно в момент инициализации плейеров. В том случае, если это происходит два и более раза, вероятна нестабильная работа блока питания 5 В.
Сервер подлежит замене.
При включении не светится какой-либо индикатор 5/12/9 В, однако изделие полностью функционирует.
Выход из строя светодиода, либо отсутствие контакта индикаторной платы..
Отсутствует индикация 5 или 12 В, сервер не включается.
Выход из строя соответствующего блока питания.
Сервер подлежит замене.
Нет индикации 9 В, не работают ПРГ.
Отключить нагрузку 9В для проверки на короткое замыкание линии питания ПРГ.
В случае отсутствия кз сервер подлежит замене.
Сервер включается, проходит POST, однако дисплей не отображает информации, либо появляется надпись «No input signal».
Проверить правильность установки входа нажатием на клавишу PC/AV дисплея. Должно быть выставлено PC. Проверить уровень яркости и контрастности дисплея через его меню. В случае всех правильных значений и неисправлении ситуации сервер подлежит замене.
Отсутствие свечения индикации кнопки «Power» дисплея дефектом не является, так как некоторое количество подобных мониторов были поставлены таковыми производителем.
Основное меню загружается, однако экран не реагирует на нажатие, либо реагирует на нажатие в стороне от соответствующих клавиш.
Попробовать откалибровать экран дисплея в соответствии с инструкцией по калибровке.
В случае неисправления ситуации сервер подлежит замене.
При неоднократном нажатии «Запустить все плейеры» один или более плейеров вместо «Идет воспроизведение» индицирует «Готов к работе» либо вовсе не переключается.
Проверить плейлист. При отсутствии медиафайлов надпись «Готов к работе» дефектом не является, требуется заливка контента. В противном случае сервер подлежит замене.
При воспроизведении медиафайлов происходит проигрывание только одного файла из списка, перескок по списку либо внезапный останов воспроизведения либо выводится надпись «Unsupported format of file»
Попробовать перезаписать содержимое плейера.
При неисправлении ситуации сервер подлежит замене.
При просмотре изображение на одном или более каналов идет со «снегом». Ситуация наблюдается по всему вагону.
Проверить ВЧ кабель
При просмотре на одном или более (что реже) каналов звук заметно громче других, искажен либо с прерываниями.
Сброс звуковых настроек соответствующего плейера. При настройке желательно обратить внимание на языковые настройки. Меню плейера не должно отображаться иероглифами. В противном случае произвести настройку языкового меню.
Трансляция фильма идет частично без звука, уровень громкости нормальный.
Требуется перезапись фильма либо его перекодировка. Данная ситуация не означает неисправности сервера.
Невозможно попасть в меню записи. Pin код 1 2 3 не действует.
Ситуация возникает вследствие изменения пинкода по умолчанию на иной..
Зайти в меню при помощи сервисного кода и переназначить пинкод 123 заново.
Не осуществляется загрузка медиаконтента либо она останавливается на каком-то этапе.
Проверить работоспособность устройств сервера при помощи заводского обучающего диска. Если проблема остается и при его копировании, сервер подлежит замене, в противном случае замене подлежит загружаемый контент. Необходимо также проверить количество медиафайлов в плейлисте и при его переполнении частично удалить.
Невозможно удалить файл из плейлиста согласно «Руководству».
Сервер подлежит замене.
На настоящий момент последними версиями прошивки сервера являются версия 2.18f, 2.18h
Сервисный код для входа в основное меню 636246
Задачи ИВС и техническое обеспечение их реализации. Средства обеспечения эффективного решения задач ИВС
Мне выпала тема «Задачи ИВС и техническое обеспечение их реализации. Средства обеспечения эффективного решения задач ИВС» которую я должен раскрыть в своём эссе. Давайте сначала разберёмся что же значит ИВС, а потом уже ее задачи, техническое обеспечение и т.д.
Основная задача существования ИВС – информационное обслуживание пользователей, в том числе:
Современные ИС, как правило, являются распределенными. Таким образом, ИВС представляет собой комплекс технических средств, обеспечивающих функционирование ИС (техническую обеспечивающую подсистему).
Давайте рассмотрим показатели качества ИВС:
Основы архитектуры ИВС
Концептуальное описание информационно-вычислительной сети часто называют ее архитектурой. Понятие Архитектура ИВС обычно включает в себя описание следующих элементов:
Определение. Топология – это схема соединения сетевых компьютеров, кабельной системы и других сетевых компонентов.
Топологии ИВС принято разделять на 2 основных класса:
В широковещательных конфигурациях каждый компьютер передает сигналы, которые могут быть восприняты всеми остальными компьютерами.
К таким конфигурациям относятся:
Широковещательные топологии применяются в основном для ЛВС.
В последовательных конфигурациях каждый физический подуровень передает информацию только одному компьютеру.
К таким конфигурациям относятся:
Последовательные топологии применяются для глобальных сетей.
Сети с шинной топологией используют линейный общий канал связи, к которому все узлы присоединяются через интерфейсные устройства посредством коротких соединительных линий.
В сети с кольцевой топологией все узлы соединены в единую замкнутую петлю (кольцо) каналами связи. Выход одного узла соединяется со входом другого узла. Информация передается от узла к узлу и при необходимости (если сообщение адресовано не ему) ретранслируется им по сети дальше. Передача данных осуществляется с использованием специальной интерфейсной аппаратуры и ведется в одном направлении.
Основу сети с радиальной топологией составляет специальное сетевое устройство, к которому подключаются компьютеры – каждый по своей линии связи. Таким устройством может выступать активный или пассивный концентратор, через который рабочие станции сети, например, осуществляют взаимодействие с сервером.
Существуют также иные виды топологий, которые являются развитием базовых: цепочка, дерево, снежинка, сеть и т.д. Топология реальной сети может совпадать с одной из указанных выше, либо представлять собой их комбинацию.
В различных топологиях реализуются различные принципы передачи информации:
С точки зрения технического обеспечения ИВС содержит:
Определение. Локальной вычислительной сетью (ЛВС) называют сеть, элементы которой – вычислительные машины, терминалы и связная аппаратура – располагаются на сравнительно небольшом удалении друг от друга.
Этапы проектирования ЛВС:
Первые три этапа касаются непосредственно процесса проектирования и являются основополагающими. В результате их выполнения формулируется технико-экономическое обоснование (ТЭО), которое включает в себя анализ предметной области и обоснование необходимости создания в организации локальной информационно-вычислительной сети. Кроме того, ТЭО обязательно должно содержать расчеты экономической эффективности, а также итоговое заключение о целесообразности и получаемых перспективах от реализации проекта (в данном случае, создания ЛВС)
Определение исходных данных
На этом этапе на основе анализа предметной области определяются те базовые требования, которым должна удовлетворять проектируемая локальная сеть.
На основе выдвинутых требований проектировщик осуществляет поиск оптимального варианта ЛИВС.
Выбор основных сетевых решений.
Выбор сетевых решений для локальной компьютерной сети осуществляется на основе следующих принципов:
К основным сетевым решениям, которые проектировщик должен выбрать для проектируемой компьютерной сети, относятся:
Обеспечение безопасности информации в сетях
Три базовых принципа информационной безопасности
Аспекты рассмотрения вопросов информационной безопасности:
Угрозы безопасности описываются следующими показателями:
Службы безопасности (определяются в соответствии с документацией ISO):
Механизмы реализации СБ:
Корпоративные компьютерные сети
Корпоративные сети – это сети масштаба корпорации, активно использующие технологии сети Интернет для информационного обмена. Их относят к особому классу локальных сетей, имеющих значительную территорию охвата.
Определение. Интранет – это частная внутрифирменная или межфирменная компьютерная сеть, обладающая расширенными возможностями благодаря использованию в ней технологий Интернета, имеющая доступ в сеть Интернет, но защищенная от обращений к своим ресурсам со стороны внешних пользователей.
Элементы современной интранет-сети:
Корпоративные компьютерные сети являются основой для построения корпоративных информационных систем.
При копировании любых материалов с сайта evkova.org обязательна активная ссылка на сайт www.evkova.org
Сайт создан коллективом преподавателей на некоммерческой основе для дополнительного образования молодежи
Сайт пишется, поддерживается и управляется коллективом преподавателей
Whatsapp и логотип whatsapp являются товарными знаками корпорации WhatsApp LLC.
Cайт носит информационный характер и ни при каких условиях не является публичной офертой, которая определяется положениями статьи 437 Гражданского кодекса РФ. Анна Евкова не оказывает никаких услуг.
Техническое обеспечение ИВС. Серверы и рабочие станции.
ИВС включает след. компоненты:
4. Компьютеры: хост-компьютеры, сетевые ПК, рабочие станции, серверы.
5. Аппаратура и каналы передачи данных + сопутствующие им периферийные устройства.
6. Интерфейсные платы и устройства.
7. Маршрутизаторы и коммутирующие устройства.
в) Факс-сервер (для эффективной многоадресной факсимильной связи с несколькими факс-модемными платами).
г) Почтовый сервер (для приема-передачи информации по электронной почте).
Маршрутизаторы и коммутирующие устройства.
Основным назначением узлов коммутации является прием, анализ, а в сетях с маршрутизацией еще и выбор маршрута, и отправление данных по выбранному направлению. В общем случае узлы коммутации включают в себя и устройства межсетевого интерфейса.
Оптимальная маршрутизация обеспечивает:
1) максимальную пропускную способность сети;
2) минимальное время прохождения пакета от отправителя к получателю;
3) надежность доставки и безопасность передаваемой информации;
Маршрутизация может быть централизованной и децентрализованной. Централизованная маршрутизация возможна только в сетях с централизованным управлением: выбор маршрута осуществляется в центре управления сетью, и коммутаторы в узлах лишь реализуют поступившее решение. При децентрализованной маршрутизации функции управления распределены между узлами коммутации, в которых, как правило, имеется связной процессор.
Узлы коммутации вычислительных сетей содержат устройства коммутации (коммутаторы). Если они выполняют коммутацию на основе иерархических сетевых адресов, их называют маршрутизаторами.
Устройства коммутации. С помощью устройств коммутации значительно сокращается протяженность каналов связи в сетях с несколькими взаимодействующими абонентами: вместо того чтобы прокладывать несколько каналов связи отданного абонента ко всем остальным, можно проложить лишь по одному каналу от каждого абонента к общему коммутационному узлу. В связи с этим, если не предъявляются чрезвычайно жесткие требования к оперативности и достоверности передачи данных в вычислительных сетях, используются коммутируемые каналы связи.
УК осуществляют один из трех возможных видов коммутации при передаче данных:
1. коммутацию каналов;
2. коммутацию сообщений;
3. коммутацию пакетов.
Дейтаграмма(datagram) – это самостоятельный пакет данных (сообщение), содержащий в своем заголовке достаточно информации, чтобы его можно было передать от источника к получателю независимо от всех предыдущих и последующих сообщений.
Коммутация каналов
Между пунктами отправления и назначения устанавливается непосредственно физическое соединение путем формирования составного канала из последовательно соединенных отдельных участков каналов связи. Такой сквозной физический составной канал организуется в начале сеанса связи, поддерживается в течение всего сеанса и разрывается после окончания передачи. Формирование сквозного канала обеспечивается путем последовательного включения ряда коммутационных устройств в нужное положение постоянно на все время сеанса связи. Время создания такого канала сравнительно большое, и это один из недостатков этого метода коммутации. Образованный канал недоступен для посторонних абонентов. Монополизация взаимодействующими абонентами подканалов, образующих физический канал, обусловливает снижение общей пропускной способности сети передачи данных. Образованный физический канал часто бывает недогружен.
1) возможность работы в диалоговом режиме и в реальном масштабе времени;
2) обеспечение полной прозрачности канала.
Коммутация сообщений
Данные передаются в виде дискретных порций разной длины (сообщений), причем между источником и адресатом сквозной физический канал не устанавливается и ресурсы коммуникационной системы предварительно не распределяются. Отправитель лишь указывает адрес получателя. Узлы коммутации анализируют адрес и текущую занятость каналов и передают сообщение по свободному в данный момент каналу на ближайший узел сети в сторону получателя. В узлах коммутации имеются коммутаторы, управляемые связным процессором, который также обеспечивает временное хранение данных в буферной памяти, контроль достоверности информации и исправление ошибок, преобразование форматов данных, формирование сигналов подтверждения получения сообщения. Ввиду наличия буферной памяти имеется возможность устанавливать согласованную скорость передачи сообщения между двумя узлами. Прозрачность передачи данных в этом режиме только кодовая (битовая); временная прозрачность не обеспечивается. Ввиду этого затруднена работа в диалоговом режиме и в режиме реального времени. Некоторые возможности реализации этих режимов остаются лишь благодаря высокой скорости передачи и возможности выполнять приоритетное обслуживание заявок. Применяется этот вид коммутации в электронной почте, телеконференциях, электронных новостях и т. п.
Коммутация пакетов
В современных системах для увеличения оперативности, надежности передачи и уменьшения емкости ЗУ узлов коммутации длинные сообщения разделяются на несколько более коротких стандартной длины, называемых пакетами(иногда очень короткие сообщения, наоборот, объединяются вместе в пакет). Стандартность размера пакетов обусловливает соответствующую стандартную разрядность оборудования узлов связи и максимальную эффективность его использования. Пакеты могут следовать к получателю даже разными путями и непосредственно перед выдачей абоненту объединяются (разделяются) для формирования законченных сообщений. Этот вид коммутации обеспечивает наибольшую пропускную способность сети и наименьшую задержку при передаче данных.
Коммутации сообщений и пакетов относятся к логическим видам коммутации, так как при их использовании формируется лишь логический канал между абонентами. При логической коммутации взаимодействие абонентов выполняется через ЗУ, куда поступают сообщения от всех абонентов, обслуживаемых данным узлом. Каждое сообщение (пакет) имеет адресную часть, определяющую отправителя и получателя; в соответствии с адресом выбирается дальнейший маршрут и передается сообщение из ЗУ узла коммутации.
Способ передачи, использующий логическую коммутацию пакетов, часто требует наличия в центре коммутации специальных связныхмини- или микрокомпьютеров, осуществляющих прием, хранение, анализ, разбиение, синтез, выбор маршрута и отправку сообщений адресату.
В узлах коммутации могут использоваться также концентраторы и удаленные мультиплексоры. Их основное назначение состоит в объединении и уплотнении входных потоков данных, поступающих от абонентов по низкоскоростным каналам связи, в один или несколько более скоростных каналов связи, и наоборот.
Техническое обеспечение ИВС
Техническое обеспечение ИВС
Структурно ИВС содержит:
§ компьютеры (хост-компьютеры, сетевые компьютеры, рабочие станции, серверы), размещенные в узлах сети;
§ аппаратуру и каналы передачи данных, с соответствующими периферийными устройствами;
§ интерфейсные платы и устройства (сетевые платы, модемы)
§ маршрутизаторы и коммуникационные устройства
Программное обеспечение компьютерных сетей
ПО КС выполняет координацию работы основных звеньев и элементов сети, организует динамическое распределение и перераспределение ресурсов с целью повышения эффективности обработки информации; выполняет техническое обслуживание и контроль работоспособности сетевых устройств.
Сетевое ПО состоит из 3 частей
1. общего ПО – образуется из компонентов базового ПО отдельных компонентов сети и включает в себя ОС, системы автоматизации программирования и системы технического обслуживания;
2. системного ПО – комплекс ПС, поддерживающих и координирующих взаимодействие всех ресурсов сети.
3. специального ПО – предназначенного для обеспечения потребностей пользователей в ПО при решение различных задач и содержит ПП пользователя, ориентированные на специфику его предметной области.
Особая роль отводится сетевой ОС, так как она обеспечивает:
· координацию работы всех звеньев сети
· оперативное распределение ресурсов
· распределение потоков заданий
· установление последовательности решения задач
· контроль работоспособности элементов сети и обеспечение достоверности входной и выходной информации;
· защиту данных и вычислительных ресурсов от НСД
· выдачу справочной информации
Технология «клиент-сервер»
Метод организации работы прикладных программ на основе протоколов TCP / IT (Transmission Control Protocol / Internet Protocol; протокол управления передачи, протокол сети internet) называется моделью взаимодействия клиент-сервер.
Модель взаимодействия клиент-сервер предусматривает разбиение приложений связи на две категории в зависимости от того должно ли приложение ожидать запросов на установление связи или самостоятельно их инициировать.
Сервер – это выделенный для обработки запросов всех рабочих станций сети многопользовательский компьютер, предоставляющий этим станциям доступ к общим системным ресурсам (вычислительной мощности, БД библиотекам программ, принтерам, факсам и т. д.) и распределяющей эти ресурсы. Сервер имеет свою сетевую ОС, под установлением которой происходит совместная работа всех звеньев сети.
Сервер может сам выполнять содержательную обработку информации по запросам клиентов – такой сервер называется сервером приложений, т. е. работающий в сети мощный компьютер, имеющий программное обеспечение, с которым могут работать клиенты сети. Существует два варианта использования сервера приложений. Приложение по запросу клиента может загружаться по сети в рабочую станцию и там выполняться (в том числе и ОС), такая технология иногда называется «толстый клиент». В другом варианте приложение по запросу пользователя может выполняться непосредственно на сервере, а на рабочую станцию передаются лишь результаты работы – «тонкий клиент» или «режим терминала».
Серверы в сети часто специализируются. Примеры:
1. Файл-сервер (file server) предназначенный для работы с БД, имеет объемные дисковые ЗУ (RAID, V= 1 Тб)
2. Архивационный сервер (сервер резервного копирования, Storage Express System)
3. Факс сервер (Net SatisFaxion)
4. Почтовый сервер (Mail Server)
5. Сервер печати (Ptint Server)
6. Серверы – шлюзы в Internet выполняют роль маршрутизатора, почти всегда совершенную с функциями почтового сервера и firewall
Приложение, являющее инициатором связи, называется клиентом. Клиентское ПО обычно вызывается на выполнение конечными пользователями, когда у них возникает необходимость обратится к сетевой службе (Web-броузер). Основная часть клиентского ПО реализована в виде обычных прикладных программ. При каждом запуске на выполнение клиентское приложение обращается к серверу, передаёт запрос и ожидает ответ. После его получения – продолжает работу. Клиентские программы проще в реализации по сравнению с серверами и для их запуска на выполнение обычно не требуются специальные системные привилегии.
Системные вызовы
Для передачи управления (обмена данными) между прикладной программой и ОС используется механизм системных вызовов. Каждый системный вызов выглядит и действует как обращение к функции.
При использовании в приложении системного вызова управление передается от приложения к интерфейсу системных вызовов. Интерфейс передает управление ОС, которая направляет входящий запрос внутренней процедуре, которая выполнит затребованную операцию. После завершения работы управление через интерфейс системного вызова возвращается к приложению, которое затем продолжает работать.
При организации сетевой связи возможны два подхода:
1. Создаются принципиально новые вызовы, используемые для доступа к протоколам TCP/IP.
2. Используются обычные вызовы функций ввода/вывода.
Первый подход используется редко так как для реализации операций в виде системных вызовов необходимо составить перечень всех операций, подобрать имена и определить параметры для каждой из них.
При втором подходе используются обычные функции ввода вывода, но предусматривается их переопределение, чтобы они могли разработать не только с обычными устройствами ввода/вывода, но и с сетевыми протоколами
При организации сетевой связи в приложении необходимо задавать такие параметры как IP-адрес локального и удалённого компьютеров, номер порта протокола локального и удалённого компьютеров, семейство протоколов, сообщать какой транспортный протокол (TCP или UDP) был выбран, в каком качестве приложение будет функционировать – в качестве клиента или сервера. Если приложение будет работать в качестве в качестве сервера, то необходимо указать сколько входящих запросов на соединение должна установить в очередь ОС, чтобы начать отклонять очередные запросы. Для этих случаев разработан API-интерфейс сокетов.
Сокет это уникальная совокупность IP адреса и номера порта протокола. Сокет идентифицируется небольшим целым числом, называемым дескриптором сокета. Сразу после создания, приложение должно указать каким образом сокет будет использоваться. Сам сокет является универсальным средством ввода/вывода и может использоваться для любой связи. Если сервер переводит сокет в режим ожидания запросов то сокет является пассивным, если клиентское ПО использует сокет для передачи запросов, то такой сокет является активным.
Основные системные вызовы в API-интерфейсе сокетов.
Вызов функции SOCKET
В приложении функция SOCKET вызывается для создания нового сокета, который может использоваться для сетевой связи. После вызова эта функция возвращает дескриптор вновь созданного сокета. Параметры вызова обозначает семейство протоколов, которое будет применяться в приложении (например, PF_INET для TCP/IP), и необходимый протокол или тип службы (например, потоковый или дейтаграммный).
Вызов функции CONNECT
После создания сокета клиент вызывает функцию CONNECT для установления активного соединения с удалённым сервером. Параметр функции CONNECT, который включает IP-адрес удалённого компьютера и номер порта протокола, позволяет клиенту указать удалённую оконечную точку. После установления соединения клиент может передавать с его помощью данные.
И клиенты, и серверы используют функцию SEND для передачи данных из соединения TCP. Клиенты обычно используют функцию SEND для передачи запросов, а серверы – для передачи ответов. При вызове функции SEND необходимо задать три параметра: дескриптор сокета, в который должны быть отправлены данные, адрес передаваемых данных и их длину. Обычно функция SEND копирует исходящие данные в буферы, находящиеся в ядре ОС, и позволяет приложению продолжать выполнение, в то время как происходит передача данных по сети. Если буферы системы переполняются, вызов функции SEND может быть заблокирован до тех пор, пока не появится возможность передать по протоколу TCP данные по сети и освободить в буфере место для новых данных.
И клиенты, и серверы используют функцию recv для приёма данных из соединения TCP. Сервер используют функцию для получения запроса, отправляемого клиентом путём вызова функции send. После отправления запроса клиент использует функцию recv для получения ответа.
Функция имеет три параметра: дескриптор сокета, адрес буфера, длина буфера. Функция recv извлекает байты данных, поступающих через сокет, и копирует их в буфер. Если данные не поступают, то вызов функции блокируется до тех пор, пока они не начнут поступать. Если поступает больше данных, чем помещается в буфере, функция recv извлекает из сокета только тот объём, который заполняет буфер. Если поступает данных меньше, чем помещается в буфере, recv извлекает все данные и возвращает число полученных байтов.
В случае использования протокола UDP, извлекается одна пользовательская дейтаграмма. Если буфер не может вместить полностью все сообщения, функция recv заполняет буфер и отбрасывает оставшиеся данные.
После завершения использования сокета в клиентской или серверной программе необходимо вызвать функцию CLOSE для его освобождения. Если сокет используется только одним процессом, функция CLOSE разрывает соединение и освобождает сокет, а если сокет не хранится в совместимом использовании несколько процессов, функция CLOSE уменьшает число ссылок на сокет и освобождает его, как только число ссылок достигает нуля.
Сразу после создания сокета в нём отсутствует информация об адресах оконечных точек (ему не присвоен ни локальный, ни удалённый адрес). В приложении для указания адреса локальной удалённой точки вызывается функция bind. Этот вызов принимает параметры, в которых задаются дескриптор сокета и адрес оконечной точки. В сервере функция bind используется в основном для указания общепринятого номера порта, через который он будет принимать запросы на установление соединения.
После создания сокет не является ни активным (т. е. готовым для использования клиентом), ни пассивным (т. е. готовым для использования сервером). До тех пор, пока в приложении не будут осуществлены дальнейшие действия. Серверы с установлением логического соединения вызывают функцию listen, чтобы перевести сокет в пассивный режим и подготовить его для приемов входящих на установление соединения.
Большая часть серверных программ состоит из бесконечного цикла, в котором принимается очередной входящий запрос на соединение, выполняется его обработка, а затем происходит возврат к выполнению операции приёма очередного входящего соединения. Даже если обработка каждого входящего соединения занимает несколько миллисекунд, может оказаться, что новый запрос на установление соединения поступает в тот момент, когда сервер занимается обработкой текущего запроса. Что бы не был потерян ни один запрос, сервер должен передать функции listen параметр, указывающий ОС, что запросы поступающие в сокет, нужно ставить в очередь. Поэтому, один параметр функции listen указывает сокет, который должен быть переведен в пассивный режим, а другой – размер очереди для сокета.
Вызов функции ACCEPT
Функция accept вызывается для извлечения из очереди следующего входящего запроса на установления соединения. Параметр функции accept указывает сокет, из очереди которого должен быть принят запрос на соединение.
Функция accept создаёт новый сокет для каждого нового запроса на соединение и возвращает дескриптор нового сокета вызываемому оператору. В сервере новый сокет используется только для нового соединения, а первоначальный сокет служит для приема следующих запросов на соединение. Сразу после приема запроса на соединения сервер начинает передавать данные через новый сокет. Закончив использование нового сокета, сервер его закрывает.
Создание клиентской части ПО
При создании клиентского ПО используют протоколы ТСР и UDP.
Алгоритм клиент ТСР.
(клиент с установлением логического соединения)
I. Найти IP-адрес и номер порта протокола сервера, с которым необходимо установить связь.
II. Распределит сокет.
III. Указать, что для соединения нужен произвольный, неиспользуемый порт протокола на локальном компьютере, и позволить ПО ТСР выбрать такой порт.
IV. Подключить сокет к серверу
V. Выполнять обмен данными с сервером по протоколу прикладного уровня (для этого требуется передавать запросы и принимать ответы).
VI. Закрыть соединение.
I. Для определения IP-адреса и номера порта протокола сервера может использоваться один из следующих методов:
· Доменное имя или IP-адрес сервера могут быть заданы в виде константы во время трансляции программ
· Клиентская программа может требовать у пользователя указывать сервер при вызове её на выполнение. В этом случае клиентское ПО становится более универсальным и позволяет менять местонахождение сервера
· Информация о место нахождение сервера предоставляется из постоянного хранилища данных (например, из файла на локальном диске). В этом случае выполнение клиентской программы зависит от наличия такого файла и перенос этого клиентского ПО на другой компьютер связан с дополнительными сложностями
· Для поиска сервера используется отдельный протокол (Например, групповой или широковещательной рассылки сообщения, на которое отвечают все серверы). Этот способ хорошо работает в небольшой локальной системе. Однако в объединенной сети приводит к дополнительному широковещательному трафику.
Если адрес сервера задан в виде константы, клиентское ПО работает быстрее и в меньшей степени зависит от конкретной локальной вычислительной среды. Однако при изменении места нахождения сервера такое клиентское ПО должно быть перетранслировано. А так же, что во время отладки клиент не может быть подлечен к другому серверу. Поэтому в некоторых клиентских программах применяется константа с именем компьютера вместо IP-адреса. Если вместо IP-адреса применяется константа с именем компьютера, то привязка адреса к потру протокола откладывается до момента вызова программы на выполнение. Это позволяет выбрать на узле обобщенное имя для сервера и ввести в систему доменных имен псевдоним для этого имени. Это позволяет менять местонахождение серверов без смены клиентского ПО. Чтобы переместить сервер достаточно сменить только псевдоним.
III. Сервер работает с общепринятым адресом порта протокола, который должны знать все клиенты. Однако, клиент ТСР не работает с заранее назначенным портом. Вместо этого необходимо выбрать локальный порт в качестве адреса оконечной точки. Как правило, для клиента может быть выбран любой порт при соблюдении следующих условий: во-первых, порт не должен совпадать с портами, которые уже используются другими процессами на ПК, и во-вторых, порт не должен быть предназначен для какой-либо службы в соответствии с общепринятым соглашением. Если клиенту требуется локальный порт протокола, он может выбрать случайным образом порт, пока не найдет тот, который отвечает указаны критериям. Однако, интерфейс сокетов позволяет это сделать автоматически, при использовании функции connect.
IV. Вызов функции connect не возвращает управление до тех пор, пока не будет установление соединения ТСР или ПО ТСР не исчерпает установленный таймаут и не откажется от дальнейших попыток установить соединение.
Алгоритмы и задачи проектирования серверного программного обеспечения
Характеристики протокола TCP
1. Двухточечное соединение – в нем имеются только две оконечные точки. С одной стороны – клиентское приложение, с другой – серверное.
2. Надежное установление соединения. Протокол TCP требует, чтобы клиентское приложение устанавливало соединение с сервером до начала обмена данными и гарантирует надежное установление соединения. Если какое-либо нарушение в работе исключает возможность поступления пакет или сервер не готов принять запрос на установление соединения, то попытка соединения завершается неудачей и клиент информируется об этом.
3. Передача с управлением потоком данных. Протокол TCP предусматривает управление скоростью передачи данных, поэтому исключает возможность для отправителя передавать данные быстрее, чем их может принять получатель. Поэтому TCP использоваться для передачи данных с быстродействующего компьютера на компьютер с низким быстродействием.
4. Надежная доставка. Протокол ТСР гарантирует, что после установления соединения данные будут поступать в том же порядке, в каком они были отправлены, без потерь и дублирования. О любом нарушении отправитель информируется.
5. Дуплексная передача. Единственное соединение ТСР обеспечивает одновременную передачу данных в любом направлении и в любое время, т. е. по одному соединению клиент может отправлять на сервер запросы, а сервер – передавать ответы.
6. Потоковая организация. ТСР предусматривает передачу потока байтов без установки границы между сообщениями.
Характеристики протокола UDP
1. Связь «многие ко многим». Протокол UDP допускает отправку многими приложениями сообщений одному получателю или передачу одним приложением сообщения нескольким получателям. Так же UDP позволяет использовать в приложения для доставки сообщений средства групповой или широковещательной рассылки базовой сети.
2. Ненадежная доставка. Сообщения могут быть потеряны, продублированы или доставлены не в том порядке, в каком они были отправлены. В нем не предусмотрены средства повторной передачи, а отправитель не информируется о нарушениях в работе.
3. Отсутствует управление потоком данных. Если дейтаграммы поступают быстрее, чем их может обработать принимающая система или приложение, то они отбрасываются без предупреждения или извещения.
4. Дейтаграммная организация. Отправитель, вызывая на выполнение функцию передачи данных, указывает точное число передаваемых байтов данных. UDP помещает эти данные в одно исходящее сообщение. С другой стороны предусматривает доставку данных на принимающий компьютер по одному сообщению за раз. Поэтому доставленные данные укладываются точно в такие же границы сообщений, которые были установлены приложением-отправителем. VUDP_сообщения = 65535 октетов – 20 октетов IP-заголовка – 8 октетов UDP-заголовка = 65507 октетов (октет = 1 байту).
Серверы с установлением логического соединения
Основным преимуществом использования протокола с установлением логического соединения является простота программирования. Т. к. такой транспортный протокол автоматически решает проблемы доставки пакетов, то в серверной программе реализовывается только функции управления и использования соединения.
· Проект с установление логического соединения требует создания отдельного сокета для каждого соединения. Издержки по распределению сокета и управлению соединением могут иметь большое значение в случае работы ОС с ограниченными ресурсами неопределенно долгое время.
· Простаивающее соединение, по которому не проходят пакеты, напрасно потребляет ресурсы. Если клиентская программа установила соединение с сервером, обменялась с ним несколькими запросами и завершилась аварийно, то сервер не может освободить распределенные ресурсы. В результате он исчерпает все свои ресурсы и прекратит функционирование.
Серверы без установления логического соединения
· Проект допускает обмен данными с несколькими хостами через один сокет.
· Не порождают проблем связанных с исчерпанием ресурсов.
· Надежно работают в локальной сети.
· Ответственность за обеспечение надежности должен взять на себя клиент, обеспечивая повторную передачу запросов в случае неполучения ответа.
· Если в сервере необходимо разбивать ответы на несколько пакетов данных, то в нем потребуется реализация механизма повторной передачи.
Параллельные и последовательные серверы
Последовательный сервер – это сервер, выполняющий обработку одного запроса за другим.
Параллельный сервер – это сервер, обрабатывающий сразу несколько запросов.
Последовательные серверы являются более простыми для разработки, но могут привести к снижению производительности, т. к. клиентам приходится ожидать доступа к службе. Параллельные серверы сложные для программирования и реализации, но обеспечивают лучшую производительность.
Четыре основных типа серверов
Последовательные серверы с установлением логического соединения
Последовательные серверы без установления логического
Параллельные серверы с установлением логического соединения
Параллельные серверы без установления логического
Алгоритмы последовательного сервера
Задачи проектирования, программирования, отладки последовательного сервера являются наиболее простыми. Обычно такие серверы лучше всего работают с простыми службами, доступ к которым предоставляется с помощью протокола без установления логического соединения.
Алгоритм последовательного сервера с установлением логического соединения
I. Создать сокет и установить связь с общепринятым адресом предоставляемой службы.
II. Перевести сокет в пассивный режим.
III. Принять из сокета следующий запрос на установление соединения и получить новый сокет для соединения.
IV. Считывать в цикле запросы от клиента, формировать ответы и отправлять клиенту в соответствии с прикладным протоколом
V. После завершения обмена данными с конкретным клиентом закрыть соединение и возвратиться к этапу III для приема нового запроса на установление соединения.
Схема организации процессов
В последовательном сервере с установлением логического соединения используется один поток выполнения, который функционирует в цикле неопределенно долгое время.
Сначала создается ведущий сокет, связанный с общепринятым портом и через который принимаются запросы на установление логического соединения.
Затем сервер входит в бесконечный цикл. При каждом проходе по циклу сервер вызывает функцию accept для получения очередного запроса на установление логического соединения из ведущего сокета. Чтобы исключить потребление сервером ресурсов во время ожидания запроса, функция accept блокирует поток сервера до момента поступления запроса. После получения запроса программное обеспечение TCP устанавливает соединение, функция accept возвращает дескриптор нового сокета и сервер продолжает работу. Если запрос на установление соединения не поступит, серверный процесс останется заблокированным на неопределенно долгое время в вызове функции accept.
Алгоритмы последовательного сервера без установления логического соединения
I. Создать сокет и установить связь с общепринятым адресом предоставляемой службы.
II. Считывать в цикле запросы от клиента, формировать ответы и отправлять клиенту в соответствии с прикладным протоколом.
Схема организации работы
Для организации работы последовательного сервера без установления логического соединения используется один поток выполнения, который обеспечивает взаимодействие сервера со многими клиентами с использованием одного сокета.
Функционирование одного потока сервера продолжается неопределенно долгое время. В нем используется один пассивный сокет, привязанный к общепринятому порту протокола предоставляемой службы. Сервер получает запрос из сокета, формирует ответ и передает клиенту с использование одного и того же сокета. Сервер использует адрес источника в запросе в качестве адреса назначения в ответе. Осуществляется это системным вызовом: recvfrom (s, buf, len, flags, from, fromlen).
S – используемый сокет
Buf – буфер, в который системы должна поместить очередную дейтаграмму
Len – место, доступное в буфере
Flags – управляет действиями функции в особых случаях
From – указывает второй буфер, в который система должна поместить адрес источника
Fromlen – первоначально указывает длину буфера; после возврата управления содержит длину адреса источника.
Для формирования ответа и передачи его используется системный вызов:
S – используемый сокет
Мessage – адрес буфера, содержащего передаваемые данные
Len – число байтов в буфере
Тoaddr – указатель на структуру данных, содержащую адрес получателя
Toaddrlen – длина структуры адреса.
Алгоритмы параллельного сервера
Основная причина применения принципов параллельной обработки в сервере связана с необходимостью сократить время отклика на запросы, поступающие сразу от нескольких клиентов. Параллельная организация работы способствует сокращению времени отклика при следующих условиях:
· Для формирования ответа требуется выполнение значительного объема операций ввода-вывода;
· Требуемое время обработки запросов резко изменяется от одного запроса к другому;
· Сервер работает на компьютере с несколькими процессорами.
В большинстве параллельных серверов применяется несколько потоков. В начале к работе приступает один поток, известный под названием ведущего; он открывает сокет
- к чему снится туфли на шпильке носить
- сколько стоит кондиционер 12 номер