Основные принципы взаимосвязи открытых систем




 

Международная организация по стандартизации (МОС, International Standardization Organization, ISO) предложила в 1978 г. эталонную модель взаимодействия открытых систем (ВОС, Open System Interconnect, OSI). На основе этой модели был разработан стек протоколов, не получивший широкого распространения, хотя он и был принят в качестве национального стандарта правительством США еще в 1990 году (проект GOSIP). Тем не менее, модель OSI является главной методологической основой для анализа и разработки сетей.

Стандартом де-факто для глобальных сетей в настоящее время является стек протоколов TCP/IP, разработанный в середине 70-х годов по заказу Министерства обороны США. Позднее была выработана и модель TCP/IP.

В локальных сетях, наряду с TCP/IP, применяются стеки IPX/SPX, NetBIOS/SMB, XNS, DECnet и другие.

Различия между моделями ВОС и TCP/IP происходят из различных целей и методологий разработки протоколов и услуг. Разработка модели OSI была направлена на довольно амбициозную цель – установление механизмов для распределенной обработки данных в аппаратно и программно разнородных компьютерных средах. Цели разработки протоколов TCP/IP были гораздо скромнее и прагматичнее: установление механизмов для соединения сетей и предоставление пользователям этих сетей набора базовых коммуникационных услуг.

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

Разработка протоколов TCP/IP происходила в среде, ориентированной на практическое применение. В центре внимания были конкретные проблемы, касающиеся связи сетей и обслуживания пользователей. Разработку TCP/IP начинали ради решения проблем сети ARPANET – в первую очередь, взрывного роста количества подключенных компьютеров и, соответственно, трафика, ими производимого. Протокол IP должен был предоставить средства разделения единой сети, которой была ARPANET, на множество подсетей, изолирующих внутренний трафик друг от друга. Нужно было создать сеть сетей вместо сети компьютеров.


МОДЕЛЬ ВЗАИМОДЕЙСТВИЯ ОТКРЫТЫХ СИСТЕМ

 

В 1984 году с целью упорядочения описания принципов взаимодействия устройств в сетях Международная организация по стандартизации (International Organization of Standardization – ISO) предложила семиуровневую эталонную коммуникационную модель «Взаимодействие Открытых Систем» (Open System Interconnection, OSI). Модель OSI стала основой для описания стандартов на взаимодействие открытых систем. Она определяет только схему выполнения необходимых задач, но не дает конкретного описания их выполнения. Это описывается конкретными протоколами или правилами, разработанными для определенной технологии с учетом модели OSI. Уровни OSI могут реализовываться как аппаратно, так и программно.

Структура модели OSI

 

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

 

Прикладной (Application)
Представления (Presentation)
Сеансовый (Session)
Транспортный (Transport)
Сетевой (Network)
Канальный (Data Link)
Физический (Physical)

 

Рис. 7.1. – Структура модели OSI.

 

Ранее проблемы несовместимости частично сглаживались сравнительно небольшим набором протоколов каждого уровня. Но появление новых технологий, привело к повышению неоднородности локальных сетей. К этому же времени резко расширился список фирм производителей сетевого оборудования. И сразу возникли проблемы в несовместимости оборудования, в основном, по трем причинам:

- Отсутствие стандарта, либо неточная его реализация;

- Использование своего, фирменного, стандарта;

- Одностороннее улучшение действующего стандарта;

Но пользователи прекрасно понимают важность следования стандартам, и прекрасно знают, что лучшие сети – это те, в которых оборудование работает одинаково независимо от поставщика.

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

Эталонная модель OSI сводит передачу информации в сети у семи относительно простым подзадачам. Каждая из них соответствует своему строго определенному уровню модели. Тем не менее, в реальной жизни некоторые аппаратные и программные средства отвечают сразу за несколько уровней. Два самых низких уровней уровня модели реализуются как аппаратно, так и программно. Остальные пять уровней в основном, - программные.

Эталонная модель определяет назначение каждого уровня и правила взаимодействия уровней между собой.

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

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

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

 

Таблица 7.1.

Уровень Ключевое слово Данные Ответственность
Прикладной Разделение Сообщение Предоставляет сетевой сервис
Представления Форматирование Пакет Трансляция данных и файлов Шифрование данных Сжатие данных
Сеансовый Диалог Пакет Управление сессией Диалог Контроль за ошибками Обработка транзакций Поддержка вызовов удаленных процедур
Транспортный Надежность Сегмент, дейтаграмма, пакет Надежность передачи Гарантированная доставка Мультиплексирование сессий верхнего уровня
Сетевой Дейтаграмма Дейтаграмма Маршрутизация логических адресов Создание и ведение таблиц маршрутизации Фрагментация и сборка данных Неориентированная на соединение и ненадежная доставка
Канальный Кадр Кадр, пакет Окончательная доставка по физическому адресу устройства Синхронизация кадров Доступ к среде передачи
Физический Биты Биты Синхронизация битов Сигнализация, аналоговая или цифровая Электрическая и механическая спецификация

 

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

Протоколы и интерфейсы

 

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

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

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

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

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

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

В модели OSI различается два основных типа протокола. В проколах с установлением соединения (Connection-Oriented Network Service, CONS) перед обменом данными отправитель и получатель должны вначале установить соединение и, возможно, выбрать протокол, который они будут использовать. После завершения диалога они должны разорвать соединение.

Вторая группа протоколов – протоколы без предварительного установления соединения (Connectionless Network Service, CLNS). Такие протоколы называются также дейтаграммными протоколами. Отправитель передает сообщение когда оно готово. В сетях используются как те, так и другие протоколы.

Уровни модели OSI

 

Физический уровень

 

Физический уровень – самый низкий в модели OSI. На этом уровне определяются электрические, механические, функциональные и иные параметры реализации физической связи. Физический уровень описывает процесс прохождения сигналов через среду передачи между сетевыми устройствами. Ею может быть медный кабель (коаксиальный кабель, витая пара и т.д.), оптоволокно, радиоканал. Поэтому к физическому уровню относятся характеристики сред передачи: полоса пропускания, помехозащищенность, волновое сопротивление и др. Так же, стандартизируются типы разъемов, и определяется назначение каждого контакта.

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

 

Ethernet.

Физический уровень состоит из трех подуровней: согласования, интерфейса MII (Media Independent Interface – интерфейс, независящий от среды) и физического уровня (Physical Layer Device, PHY). Последний обеспечивает кодирование данных, поступающих от подуровня MAC, для передачи по физической среде определенного типа, обеспечивает синхронизацию передаваемых данных, а так же их прием и декодирование. Интерфейс MII поддерживает независимый от физической среды способ обмена данными между подуровнем MAC и подуровнем PHY. Подуровень согласования нужен для согласования работы подуровней МАС и PHY.

 

Согласование
Интерфейс MII
FX PHY (оптоволокно) TX PHY (витая пара (две пары)) T4 PHY (витая пара (четыре пары))

 

FDDI

Физический уровень разделен на два подуровня: независящий от среды подуровень PHY (Physical Media Independent) и зависящий от среды подуровень PMD (Physical Media Dependent). Работу всех уровней контролирует протокол управления станцией SMT (Station Management). Подуровень PMD обеспечивает передачу данных от одной станции к другой по конкретной физической среде, а подуровень PHY выполняет кодирование и декодирование данных, циркулирующих между подуровнем MAC и PMD, а так же обеспечивает тактирование информационных сигналов.

 

ATM

Применительно к технологии АТМ физический уровень делится на два подуровня: подуровень согласования с системой передачи (Transmission Convergence, TC) и подуровень физической среды (Physical Medium, PM). Подуровень согласования с системой передачи выполняет упаковку ячеек, поступающих с верхнего уровня модели ATM, в передаваемые транспортные кадры. На этом уровне так же выполняется подсчет контрольной суммы и т.д. Подуровень физической среды регламентирует скорость передачи данных и отвечает за синхронизацию между передачей и приемом.

 

Подуровень Назначение
Согласования с системой передачи Согласование скорости ячеек Вычисление и проверка контрольной суммы Адаптация ячеек к формату передаваемого кадра Генерация и удаление кадра
Физической среды Битовая синхронизация Передача в конкретной физической среде

 

Канальный уровень

 

Канальный уровень обеспечивает надежную передачу данных через физический канал. Канальный уровень оперирует блоками, которые называют кадрами (frame). В локальных сетях используется разделяемая среда передачи. Основным назначением канального уровня является прием кадра из сети и отправка его в сеть. При выполнении этой задачи канальный уровень осуществляет:

- Физическую адресацию передаваемых сообщений;

- Соблюдение правил использования физического канала;

- Выявление неисправностей;

- Управление потоками информации;

В технологии АТМ канальному уровню модели OSI соответствует уровень АТМ. Вместо прямой адресации по мере прохождения ячеек с информацией через коммутаторы в заголовках ячеек происходит преобразование идентификаторов виртуальных путей каналов. Добавляется так же новая функция: мультиплексирование и демультиплексирование ячеек.

Для доступа к среде в локальных сетях используются два метода:

- Метод случайного доступа;

- Метод маркерного доступа;

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

Метод маркерного доступа применяется в сетях Token Ring, ArcNet, FDDI и 100VG-AnyLan. Он основан на передачи от одной станции сети к другой маркера доступа. При получении маркера станция имеет право передать свою информацию.

Особенностью этих методов является то, что все станции участвуют в передаче на равных условиях.

Технология АТМ для доступа к среде передачи использует метод фиксированных слотов. Большинство реализаций транспортного механизма применяют транспортные кадры определенного размера, в которые упаковываются ячейки АТМ.

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

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

- Формировать кадры. При этом происходит формирование заголовка и размещение данных, поступивших с более высокого уровня. Кадры могут быть информационными и служебными.

- Анализировать и обрабатывать кадры.

- Принимать кадры из сети и отправлять кадры в сеть. В технологии АТМ на этом уровне формируется и удаляется заголовок ячеек.

IEEE (Institute of Electrical and Electronic Engineers, Институт электроники и электротехники) предложил другой, широко используемый, вариант модели OSI. IEEE-модель отличается тем, что в локальных сетях канальный уровень модели разделяется на два подуровня:

- Уровень управления логическим каналом (Logical Link Control – LLC).

- Уровень доступа к среде (Media Access Layer – MAC).

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

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

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

- Сервис без установления соединения с подтверждением доставки.

Главной функцией МАС-уровня является обеспечение доступа к каналу. На этом уровне формируется физический адрес устройства, присоединенного к каналу. Этот физический адрес так же называется МАС-адресом. Каждое устройство сети идентифицируется этим уникальным адресом, который присваивается всем сетевым интерфейсам устройства. МАС-адрес позволяет выполнять точечную адресацию кадров, групповую и широковещательную. При передаче данных в сети отправитель указывает МАС-адрес получателя.

Кроме того, МАС-уровень должен согласовать дуплексный режим работы уровня LLC с физическим уровнем. Для этого он буферизует кадры при передаче их по назначению в момент получения доступа к среде.

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

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

 

Сетевой уровень

 

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

Канальный уровень не позволяет производить адресацию в сложных сетях. Поэтому при объединении сетей в кадры канального уровня добавляется заголовок сетевого уровня. Этот заголовок позволяет находить адресат в сети с любой топологией.

Заголовок пакета сетевого уровня имеет унифицированный формат. Основное место в заголовке отводится адресу получателя. При этом используется не МАС адрес, а составной адрес – номер сети и номер абонента в данной сети. Такая адресация позволяет протоколам сетевого уровня составлять точную схему связи и выбирать оптимальные маршруты при любой топологии. Помимо адреса, заголовок сетевого уровня может содержать дополнительную информацию, например, время жизни пакета в сети, данные для фрагментации и сборки пакетов и т.д.

Логическое соединение на сетевом уровне обеспечивает механизм доставки пакетов от отправителя к получателю в масштабе времени, определяемом используемым сетевым протоколом. При этом различные сетевые протоколы могут вносить различные технологические задержки в передачу данных.

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

Существуют два метода назначения сетевого адреса:

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

- Во втором методе на сетевом уровне используется адрес канального уровня. Это избавляет администратора от присваивания адресов вручную и установления соответствия между сетевыми и канальными адресами одного и того же абонента в сети. Однако этот метод приводит к сложности интерпретации адреса узла в сетях с разным форматом адресов. Метод нашел применение в сетях построенных на базе протокола IPX.

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

- доставки пакетов в сетях с произвольной топологией;

- структуризации сети методом локализации сетевого трафика;

- согласования канальных уровней;

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

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

Протоколы сетевого уровня реализуются драйверами операционной системы, а так же программными и аппаратными средствами маршрутизаторов. Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP.

 

Транспортный уровень

 

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

Транспортный уровень обеспечивает передачу данных с той степенью надежности, которая требуется приложениям. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти классы сервиса отличаются предоставляемыми услугами: срочностью, возможностью восстановления прерванной связи, мультиплексированием нескольких соединений, а главное – обнаружением и исправлением ошибок передачи, таких как искажение, потеря и дублирование пакета.

Выбор класса сервиса транспортного уровня определяется умением приложения проверять данные и надежность всей системы транспортировки в сети.

Начиная с транспортного уровня, все вышеперечисленные протоколы реализуются программными средствами, обычно включаемыми в состав сетевой операционной системы. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX Novell.

 

Сеансовый уровень

 

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

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

 

Уровень представления

 

Уровень представления выполняет преобразование данных между устройствами с различными форматами данных (например, из ANSII в EBCDIC). Кроме того, он может выполнять шифрование и дешифрование данных. В режиме передачи уровень представления передает информацию от прикладного уровня сеансовому уровню после того, как он сам выполнит подходящую модификацию или конвертирование данных. В режиме приема этот уровень передает информацию наверх от сеансового уровня к прикладному. Уровень представления гарантирует, что информация, передаваемая прикладным уровнем одной системы, будет понятна прикладному уровню другой системы. Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает защищенный обмен сообщениями для протоколов прикладного уровня TCP/IP.

 

Прикладной уровень

 

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

Прикладной уровень – это, в действительности, просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры, гипертекстовые WEB-страницы, электронная почта. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message).

Существует огромное количество служб прикладного уровня. В качестве примеров протоколов прикладного уровня можно привести: NCP с операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS и TFTP, входящие в стек протоколов TCP/IP.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: