Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы по КИС.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
62.42 Кб
Скачать
  1. Передача данных. Модели передачи данных. Синхронное и асинхронное взаимодействие.

Сетевая модель OSI (англ. open systems interconnection basic reference model — базовая эталонная модель взаимодействия открытых систем.

Модель OSI

Тип данных

Уровень (layer)

Функции

Данные

7. Прикладной (application)

Доступ к сетевым службам

6. Представительский (presentation)

Представление и шифрование данных

5. Сеансовый (session)

Управление сеансом связи

Сегменты

4. Транспортный (transport)

Прямая связь между конечными пунктами и надежность

Пакеты

3. Сетевой (network)

Определение маршрута и логическая адресация

Кадры

2. Канальный (data link)

Физическая адресация

Биты

1. Физический (physical)

Работа со средой передачи, сигналами и двоичными данными

Прикладной уровень (уровень приложений; англ. application layer) — верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:

  • позволяет приложениям использовать сетевые службы:

    • удалённый доступ к файлам и базам данных,

    • пересылка электронной почты;

  • отвечает за передачу служебной информации;

  • предоставляет приложениям информацию об ошибках;

  • формирует запросы к уровню представления.

Протоколы прикладного уровня: RDPHTTPSMTPSNMPPOP3FTPXMPPOSCARModbusSIPTELNET и другие.

Представительский уровень (уровень представления; англ. presentation layer) обеспечивает преобразование протоколов и шифрование/дешифрование данных. Запросы приложений, полученные с прикладного уровня, на уровне представления преобразуются в формат для передачи по сети, а полученные из сети данные преобразуются в формат приложений. На этом уровне может осуществляться сжатие/распаковка или кодирование/декодирование данных, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально.

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

Протоколы Предст.уровня: SSL, AFP, ICA, LPP, NCP, XDR

Сеансовый уровень (англ. session layer) модели обеспечивает поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений.

PPTP, RPC, NetBIOS, SMPP

Транспортный уровень (англ. transport layer) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приема), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDP ограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери пакета целиком или дублирования пакетов, нарушения порядка получения пакетов данных; TCP обеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и, наоборот, склеивая фрагменты в один пакет.

TCP, UDP, SPX, NBF

Сетевой уровень (англ. network layer) модели предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и «заторов» в сети.

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

IP/IPv4/IPv6, IPX, X.25

Канальный уровень (англ. data link layer) предназначен для обеспечения взаимодействия сетей по физическому уровню и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные, представленные в битах, он упаковывает в кадры, проверяет их на целостность и, если нужно, исправляет ошибки (формирует повторный запрос поврежденного кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием.

ATM, Ethernet, FDDI, Frame Relay, HDLC, Token ring, SLIP, PPP

Физический уровень (англ. physical layer) — нижний уровень модели, который определяет метод передачи данных, представленных в двоичном виде, от одного устройства (компьютера) к другому Осуществляют передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов.

IRDA, USB, 100BASE-FX, 100BASE-T, GSM, Firewire, DSL

Модели передачи данных

  1. Односторонняя передача данных

  2. Запрос-ответ

  3. Клиент-сервер

Синхронное взаимодействие

–Клиент, отправив запрос серверу, переходит в режим ожидания и может продолжать свою работу после получения ответа от сервера

•Преимущества

–Простота в реализации

•Недостатки

–Затраты времени на ожидание ответа

–Взаимодействию препятствует отсутствие постоянной/качественной линии связи между приложениями

–Взаимодействие возможно только при одновременной активности приложений

Асинхронное взаимодействие

–Клиент, отправив запрос серверу, продолжает свою нормальную работу, периодически проверяя наличие ответа от сервера

•Преимущества

–Высокая производительность

–Взаимодействие возможно при отсутствии постоянной/качественной линии связи между приложениями

–Взаимодействие возможно в случае, если приложения функционируют в различное время

•Недостатки

–Сложная реализация

  1. Передача данных. Сетевая модель OSI.(вопрос 6)

  1. Хранение данных. Категории данных.

5.1. Категории данных

•Хранение данных:

–Обеспечение целостности

–Обеспечение доступности

–Обеспечение защищенности

•Данные:

–Оперативные данные

–Архивные (учетные) данные

–Плановые данные

–Нормативно-справочная информация (НСИ)

•Данные:

–Первичные

–Вторичные

•Промежуточные

•Результатные

5.2. Базы данных

•Базы данных:

–Иерархические

–Сетевые

–Реляционные

–Объектно-ориентированные

•Базы данных:

–Централизованные

–Распределенные

Система управления базами данных (СУБД) –совокупность программных средств, обеспечивающих управление созданием и использованием баз данных

  1. Доступ к данным. Языки запросов.

Языки запросов:

–SQL

SQL – Structured Query Language – «структурированный язык запросов»

–Применяется для управления данными в реляционных БД

–LINQ

LINQ – Language Integrated Query – интегрированный язык запросов для платформы .NET

–Встраивается в исходный код программы

–Применяется для управления:

•данными в реляционных БД

•данными в документах XML

•объектами в памяти

–XQuery

XQuery – язык для обработки данных в формате XML

–XPath

XPath – язык для доступа к данным документа XML (подмножество XQuery)

  1. Средства доступа к данным. CLI. ODBC

–CLI –ODBC –JDBC –OLE DB –DAO –RDO –BDE –ADO –ADO .NET –Embedded SQL

CLI:

Call Level Interface (CLI) интерфейс уровня вызова

– Низкоуровневый программный интерфейс

– Стандартизирует функции доступа к СУБД

ODBC:

Open Database Connectivity (ODBC)

– Унифицированный интерфейс доступа к СУБД

– Основан на спецификации CLI

  1. Средства доступа к данным. JDBC.

–CLI –ODBC –JDBC –OLE DB –DAO –RDO –BDE –ADO –ADO .NET –Embedded SQL

JDBС:

Java Database Connectivity (JDBC)

–Программный платформонезависимый интерфейс доступа к СУБД из приложений Java

–Входит в состав Java SE

Драйвер JDBC типа 1

–Не зависит от СУБД

–Использует ODBC

–Низкая производительность

Драйвер JDBC типа 2

–Зависит от СУБД

–Использует клиентскую библиотеку СУБД

–Высокая производительность

Драйвер JDBC типа 3

–Не зависит от СУБД

–Использует промежуточный сервер

–Средняя производительность

Драйвер JDBC типа 4

–Зависит от СУБД

–Обращается напрямую к СУБД

–Высокая производительность

  1. Средства доступа к данным. OLE DB. ADO.

–CLI –ODBC –JDBC –OLE DB –DAO –RDO –BDE –ADO –ADO .NET –Embedded SQL

OLE DB:

OLE DB (Object Linking and Embedding, Database)

– Набор интерфейсов для доступа к различным источникам данных

– Реализован в виде объектной модели

– Основан на технологии COM

ADO:

ActiveX Data Objects (ADO)

– Высокоуровневый интерфейс доступа к данным

– Реализован в виде объектной модели

– Основан на OLE DB

  1. Технологии построения распределенных систем. Сравнительный анализ.

Remote Procedure Call (RPC) – Удаленный вызов процедур

Remote Method Invocation (Java RMI) – Удаленный вызов методов

Component Object Model (COM/DCOM) – Объектная модель компонентов

Common Object Request Broker Architecture (CORBA)

Message Oriented Middleware (MOM) – промежуточное ПО, ориентированное на сообщения

Web-services – Веб-сервисы

Enterprise Java Beans (EJB)

Microsoft .NET Remoting

  1. Технологии построения распределенных систем. Удаленный вызов процедур. Архитектура и алгоритм работы.

Remote Procedure Call (RPC) – удаленный вызов процедур

–Технология, позволяющая приложениям вызывать функции и процедуры в другом адресном пространстве

–Ориентирована на синхронное взаимодействие

–Базируется на архитектуре клиент-сервер

•Sun RPC •ONC RPC •XML-RPC •JSON-RPC •DCE/RPC

Архитектура RPC

Сервер – приложение, реализующее процедуры, предназначенные для удаленного вызова

Клиент – приложение, осуществляющее вызов удаленной процедуры сервера

Стаб (stub) – «заглушка» – промежуточный программный компонент, управляющий процессом вызова удаленной процедуры:

–Клиентский стаб

–Серверный стаб

Ядро (kernel) – компонент нижнего уровня управляющей передачей информации по сети

Алгоритм работы

1.Клиент вызывает локальную процедуру клиентского стаба.

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

3.Ядро клиента отправляет сообщение по сети на удаленную серверную машину

4.Ядро сервера принимает сообщение по сети и передает его серверному стабу

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

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

  1. Технологии построения распределенных систем. Удаленный вызов процедур. Связывание. (вопрос 14)

Связывание (binding) – процедура, устанавливающая соответствие между клиентом и сервером RPC:

Статическое связывание

•сетевое имя сервера задается внутри клиентской программы

•клиент привязан к конкретному серверу

Динамическое связывание

•связывание клиента и сервера происходит в процессе выполнения программы клиента

•клиент не привязан к конкретному серверу

  1. Технологии построения распределенных систем. Java RMI.

Remote Method Invocation (RMI) – удаленный вызов методов

–Java-технология, позволяющая приложениям вызывать методы объектов, находящихся в другом адресном пространстве

–Ориентирована на синхронное взаимодействие

–Базируется на архитектуре клиент-сервер

Распределенный объект (distributed object)

–Размещается на сервере

–Доступ к методам объекта осуществляется с удаленных клиентов

Архитектура RMI

Стаб (stub) – класс на стороне клиента, управляющий вызовом метода удаленного объекта

Скелетон (skeleton) – «каркас» – класс на стороне сервера, отвечающий за взаимодействие с клиентским стабом (JDK 1.1)

Уровень удаленных ссылок (Remote Reference Layer) – определяет и поддерживает семантику вызовов RMI

Транспортный уровень (Transport Layer) – отвечает за соединение и передачу данных между клиентом и сервером

Связывание через реестр RMI

•Клиенты RMI находят удаленные объекты через службы имен и каталогов

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

•RMI включает в себя собственную службу каталогов – RMI registry (реестр RMI)

1.Удаленный объект создается на сервере и регистрируется под некоторым именем в реестре RMI

2.Клиент обращается к реестру RMI и запрашивает объект по имени

3.Реестр RMI возвращает клиенту стаб, содержащий местоположение удаленного объекта

4.Используя данный стаб, клиент вызывает метод удаленного объекта

  1. Технологии построения распределенных систем. Component Object Model.

Component Object Model (COM) объектная модель компонентов

–Технология взаимодействия приложений компании Microsoft

–Базируется на архитектуре клиент-сервер

–Обеспечивает взаимодействие процессов между собой

–Ориентирована на синхронное взаимодействие

Distributed COM (DCOM)

–Расширение технологии COM

–Основана на технологии DCE/RPC

–Обеспечивает взаимодействие приложений, выполняющихся на различных компьютерах

COM+

–Расширение технологии COM

–Обеспечивает интеграцию с Microsoft Transaction Server и службой очередей сообщений

–Поддерживает асинхронное взаимодействие через службу MSMQ

Основные понятия COM/DCOM

COM-клиент – процесс, осуществляющий обращение к COM-объекту

COM-сервер – процесс, в котором создан COM-объект

COM-объект – серверный объект, предоставляющий некоторые услуги по запросу клиентов

–является экземпляром некоторого класса

–может иметь несколько интерфейсов

–создается по запросу клиента

–уничтожается автоматически

Класс

–характеризуется двумя идентификаторами:

•название класса

•CLSID – уникальный идентификатор GUID ({XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX})

COM-интерфейс – сущность, описывающая методы COM-объекта

–доступ к COM-объекту осуществляется через интерфейсы

–интерфейс характеризуется двумя идентификаторами:

•название интерфейса

•IID – уникальный идентификатор GUID

–Описывается при помощи языка IDL (MIDL)

MS Interface Definition Language (MIDL) – язык описания COM-интерфейсов