Стандарты и интерфейсы Ethernet 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Стандарты и интерфейсы Ethernet



 

Технология Ethernet позволяет использовать различные среды передачи, для каждой из которой имеется стандартное название вида XBaseY, где X — скорость передачи, Мбит/с (10, 100, 1000…); Base — ключевое слово (обозначает смодулированную передачу); Y — условное обозначение среды передачи и дальности связи. Все современные версии Ethernet используют кабель «витая пара» или оптоволоконный и звездообразную топологию. Центральным устройством звезды может быть повторитель (он же хаб, hub) или коммутатор (switch). Возможно и двухточечное соединение двух узлов. Для старых версий на коаксиальном кабеле была характерна шинная топология, главным недостатком которой является низкая надежность всей сети. Есть и экзотический вариант пассивной оптической шины 10BaseFP. Иногда в сетях применяются конверторы среды передачи (media converter), преобразующие типы интерфейсов. Чаще всего используются конверторы «витой пары» в оптику, также применяют и конверторы одномодового оптоволокна в многомодовое.

Для Ethernet со скоростью 10 Мбит/с существуют следующие стандарты.

♦ 10Base5 — сеть на толстом коаксиальном кабеле RG-8 (50 Ом) с шинной топологией, максимальная длина кабельного сегмента — 500 м. Для подключения сетевой адаптер должен иметь интерфейс AUI, подключаемый кабелем-спуском (4 экранированные витые пары) к трансиверу, установленному на кабеле. В настоящее время для новых сетей не применяется (дорого, громоздко, неэффективно и бесперспективно).

♦ 10Base2 — сеть на тонком коаксиальном кабеле RG-58 (50 Ом) с шинной топологией, максимальная длина кабельного сегмента — 185 м. Для подключения сетевой адаптер должен иметь интерфейсный разъем BNC (или AUI с трансивером). Это самый дешевый (по оборудованию) вариант сети; перспектив на развитие нет.

♦ 10BaseT — сеть на витой паре категории 3 и выше (2 пары проводов), длина луча — до 100 м (на кабеле категории 5 можно достигать дальности и 200 м, но это не рекомендуется). Для подключения сетевой адаптер должен иметь интерфейсный разъем RJ-45 (или AUI с трансивером). Это эффективный вариант сети начального уровня, позволяет расширять полосу пропускания заменой концентраторов-повторителей на коммутаторы. При кабельной проводке категории 5 и выше позволяет переходить на скорости 100 и даже 1000 Мбит/с (с заменой карт и концентраторов).

♦ 10BaseF и FOIRL — сеть на оптоволоконном кабеле (пара волокон). Для подключения адаптер должен иметь интерфейс AUI, на который устанавливается оптический трансивер. Используются дешевые многомодовые трансиверы (длина волны — 850 нм) с дальностью до 1 км. Для дальних дистанций (десятки км на одномодовом волокне) используются одномодовые трансиверы (1310 нм), которые могут работать и с многомодовым волокном (до 2 км).

Для сетей Fast Ethernet со скоростью 100 Мбит/с существуют следующие стандарты.

♦ 100BaseTX — сеть на витой паре категории 5 и выше (2 пары проводов), длина луча — до 100 м. Сетевой адаптер подключается через разъем RJ-45. Это популярный и оптимальный (цена/производительность) вариант подключения узлов к сети. При качественной кабельной проводке позволяет переходить на скорость 1000 Мбит/с (с заменой карт и концентраторов).

♦ 100BaseT4 — сеть на витой паре категории 3 и выше (4 пары проводов), длина луча — до 100 м. Разъем RJ-45, вариант малораспространенный.

♦ 100BaseFX — сеть на оптоволоконном кабеле (пара волокон). Используются одномодовые трансиверы (1310 нм), которые могут работать и с многомодовым волокном (до 2 км). Дальность в полнодуплексном режиме — десятки км.

♦ 100BaseSX — сеть на оптоволоконном кабеле с дешевыми многомодовыми трансиверами (850 нм), дальность — до 300 м. Совместима с 10BaseF, поддерживается автосогласование режима и скорости (10/100).

Для сетей Gigabit Ethernet со скоростью 1000 Мбит/с существуют следующие стандарты.

♦ 1000BaseCX — соединение активного оборудования коротким (до 25 м) кабелем STP или двухосевым кабелем.

♦ 1000BaseT — соединение витой парой категории 5 и выше (4 пары) на расстояние до 100 м. Разъемы RJ-45.

♦ 1000BaseSX — соединение по паре многомодовых волокон, дальность — 200–500 м (в зависимости от параметров волокна).

♦ 1000BaseLX — соединение по паре одномодовых волокон, дальность — до 50 км (в зависимости от параметров трансиверов).

Выше были приведены ограничения на длину каждого физического соединения в сети, однако для работоспособности (надежной работы протокола разрешения коллизий) должны выполняться и дополнительные условия, подробно описанные в литературе [3]. Задача уменьшения диаметра домена коллизий решается применением коммутаторов, а преодоление коллизионных ограничений на длину каждого соединения обеспечивается переходом на полнодуплексный режим связи (в котором коллизий нет как таковых). Для 10-Мбитных сетей Ethernet должны соблюдаться перечисленные ниже условия.

♦ Для коаксиала — правило «5-4-3»: не более 5 сегментов могут соединять не более 4 повторителей, станции (адаптеры) можно подключать не более чем в 3 сегментах.

♦ Для витой пары (и оптики) — между любой парой узлов может быть не более 4 повторителей (хабов).

♦ Для любых сетей: диаметр домена коллизий — самое большое расстояние («электрическая» длина кабелей между парой узлов) — не должен превышать 5 км.

♦ Число узлов в домене коллизий — не более 1024 (реально их не должно быть более 30–50).

Для сетей Fast Ethernet ограничения жестче.

♦ Диаметр домена коллизий — не более 205 м.

♦ Число повторителей в домене коллизий — не более двух класса II, не более одного класса I.

В Gigabit Ethernet применяются только коммутаторы, так что действуют только ограничения на длину соединений.

Для оптических соединений применяемые разъемы разнообразны: ST, SC, MT-RJ и другие. Коаксиальные разъемы для «толстого» и «тонкого» кабелей различны (серии «N» и BNC соответственно). Отметим, что каждый сегмент коаксиала должен оканчиваться терминаторами 50 Ом и быть заземлен в одной точке. «Схемная земля» компьютера не имеет гальванической связи с экраном коаксиального разъема, так что следует избегать случайного касания BNC-разъемов с металлическими частями, связанными с шасси компьютера. Сети на коаксиале требуют правильного заземления, нарушение правил чревато выгоранием адаптеров.

Для витой пары применяются разъемы RJ-45 (рис. 10.1), назначение контактов разъема сетевого адаптера (порт MDI) приведено в табл. 10.1. Порты концентраторов 10BaseT, 100BaseTX и 100BaseT4 имеют тип MDIX, у них сигналы TX и RX поменяны местами. Для подключения конечных узлов к портам активного оборудования (соединение портов MDI-MDIX, рис. 10.2, а) используется «прямой» кабель (рис. 10.3, а), для непосредственного соединения адаптеров (MDI-MDI, рис. 10.2, б) или соединения двух коммуникационных устройств (MDIX-MDIX) применяют «перекрестный» кабель (рис. 10.3, б). В коммуникационных устройствах, как правило, один из портов снабжают переключателем MDI-MDIX или дополнительным разъемом.

 

Рис. 10.1. Разъем RJ-45: a — вилка, б — розетка

 

Таблица 10.1. Разъем RJ-45 адаптера Ethernet

 

Контакт 10BaseT/100BaseTX 100BaseT4 1000BaseTX
  Tx+ Tx_D1+ BI_D1+
  Tx- Tx_D1- BI_D1-
  Rx+ Rx_D2+ BI_D2+
  Не подключен BI_D3+ BI_D3+
  Не подключен BI_D3- BI_D3-
  Rx- Rx_D2- BI_D2-
  Не подключен BI_D4+ BI_D4+
  Не подключен BI_D4- BI_D4-

 

Рис. 10.2. Сеть 10BaseT/100BaseTX: а — звезда, б — двухточечное соединение

 

Рис. 10.3. Интерфейсные кабели Ethernet: а — «прямой», б — «перекрестный»

В локальных сетях обычно используется кабельная проводка, состоящая из стационарных кабелей, оканчивающихся розетками, и коммутационных шнуров. Стационарную проводку выполняют так, что она обеспечивает «прямое» соединение контактов своих интерфейсных разъемов. Коммутационные шнуры могут быть как «прямыми», так и «перекрестными». Заметим, что связи контактов 4, 5, 7 и 8 требуются только в 100BaseT4 и 1000BaseTX, но для 10BaseT и 100BaseTX они не мешают, так что кабельное хозяйство едино.

В Gigabit Ethernet 1000BaseTX применяются только «прямые» кабели. Универсальные порты совместимы с Fast Ethernet (поддерживают автосогласование). Если два порта Gigabit Ethernet соединить «перекрестным» кабелем, они свяжутся в режиме 100BaseTX.

Для приведенных выше реализаций Ethernet на витой паре предусмотрен протокол согласования режимов (autonegotiation), который исполняется каждый раз при установлении соединения после физического подключения и (или) инициализации портов. Протокол основан на обмене служебными импульсами (они отличны от кадров передаваемой информации). Этот протокол позволяет соединяемым портам выбрать самый эффективный из режимов, доступных обоим портам. Приоритеты режимов в порядке убывания: 1000BaseT, 100BaseTX полнодуплексный, 100BaseT4, 100BaseTX полудуплексный, 10BaseT полнодуплексный, 10BaseT полудуплексный. Протокол автоматического согласования может быть отключен (или не реализован), в этом случае режим работы задается принудительно при конфигурировании порта. Возможность переключения режимов отражается в названиях портов (например, Fast Ethernet 10/100), поддержка режима 100BaseT4 встречается нечасто.

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

В стандарте Ethernet (10 Мбит/с) определен интерфейс AUI (Attachment Unit Interface — интерфейс устройства подключения), с помощью которого к адаптеру можно подключать трансивер (приемопередатчик) для любой среды передачи. В трансивере располагаются оконечные цепи передатчика, приемника и детектор коллизий. Назначение контактов интерфейса AUI приведено в табл. 10.2, здесь используется разъём DB-15 (розетка на адаптере, вилка на трансивере).

 

Таблица 10.2. Разъем AUI-интерфейса Ethernet

 

Контакт Сигнал
  Collision
  Collision+
  Transmit+
  Receive (экран)
  Receive +
  DC Power GND
  He подключен
  He подключен
  Collision -
  Transmit -
  Transmit (экран)
  Receive -
  DC Power (+12B)
  DC Power (экран)
  He подключен

В стандарте на Fast Ethernet фигурирует интерфейс MII (Media Independent Interface — интерфейс, независимый от среды передачи). В MII данные для приемника и передатчика передаются в некодированном виде по 4-битным параллельным шинам (с частотой синхронизации 2,5 и 25 МГц для скоростей 10 и 100 Мбит соответственно) или в последовательном коде (для 10 Мбит/с). В интерфейсе имеются сигналы синхронизации и управления приемником и передатчиком, состояния линии (наличие несущей, коллизия), а также последовательный интерфейс управления SMI (см. п. 11.2), по которому можно общаться с управляющими регистрами трансивера. Определен и физический разъем для подключения сменных модулей (40-контактный двухрядный), но в ПК он практически не встречается.

 

Сетевые адаптеры

 

Интерфейсы локальных сетей в ПК обеспечивают сетевые адаптеры, или сетевые интерфейсные карты (Network Interface Card, NIC). Адаптеры имеют передающую и принимающую части, которые в случае поддержки полного дуплекса должны быть независимы друг от друга. Задача передающей части: по получении со стороны центрального процессора (ЦП) блока данных и адреса назначения для передачи получить доступ к среде передачи, сформировать и передать кадр (добавить преамбулу, CRC-код), делая повторные попытки в случае обнаружения коллизий. Адаптер должен сообщить процессору об успехе или невозможности передачи. Приемная часть, просматривая заголовки всех кадров, проходящих в линии, «выуживает» из этого потока кадры, адресованные данному узлу уникальным, широковещательным или групповым способом. Адаптер можно программно настроить и на «неразборчивый» режим (promiscuous mode), в котором он будет принимать все кадры без разбора. Кадры принимаются в буфер и проверяются на отсутствие ошибок (длина кадра, корректность CRC). О приеме корректных кадров уведомляется центральный процессор и организуется передача кадра из локального буфера адаптера в системную память компьютера. Ошибочные кадры, как правило, игнорируются, хотя адаптер может собирать статистику их появления. На практике попадаются и адаптеры, не обнаруживающие ошибок в поврежденных кадрах. Диагностика сети с таким адаптером непроста.

Сетевые адаптеры для PC выпускаются для шин ISA, EISA, MCA, VLB, PCI, PC Card. Существуют адаптеры, подключаемые к стандартному LPT-порту PC; их преимущество — отсутствие потребностей в системных ресурсах (порты, прерывания и т. п.) и легкость подключения (без вскрытия компьютеров), недостаток — при обмене они значительно загружают процессор и не обеспечивают высокой скорости передачи («потолок» — 10 Мбит/с). Есть адаптеры и для шины USB. Сетевые адаптеры интегрируются и в некоторые модели системных плат.

Эффективная скорость обмена данными по сети очень сильно зависит от архитектуры сетевых адаптеров и, при прочих равных условиях, от скорости передачи данных между локальной памятью адаптера и системной памятью компьютера, а также от возможности параллельного выполнения нескольких операций. В качестве «средств доставки» используются каналы прямого доступа к памяти (DMA), программный ввод-вывод (PIO), прямое управление шиной. Стандартные 8-битные каналы прямого доступа шины ISA способны развивать скорость до 2 Мбайт/с, 16-битные — до 4 Мбайт/с. Кадр максимальной длины (1514 байт) они передают примерно за 1,3 или 2,6 мс соответственно. По сравнению с 12 мс, требуемыми для передачи кадра в среде Ethernet, это время относительно невелико. Однако для Fast Ethernet, где тот же кадр в среде передается за 1,2 мс, такая транспортировка оказывается слишком медленной. Более высокую скорость обмена с буфером адаптера обеспечивает режим программного ввода-вывода (PIO), но он полностью загружает центральный процессор на время передачи. Более эффективны интеллектуальные адаптеры с прямым управлением шиной (bus mastering) ISA/EISA, сочетающие относительно высокую скорость (до 8 Мбайт/с ISA 16 бит и до 33 Мбайт/с EISA). Однако для скорости 100 Мбит/с производительности шины ISA уже недостаточно. На сегодняшний день широко применяются адаптеры шины PCI, где для 32-разрядного интерфейса при частоте 33 МГц пропускная способность достигает 132 Мбайт/с. Но для технологии Gigabit Ethernet и этого только-только хватает, правда, у PCI есть резервы: переход на частоту 66 МГц и разрядность 64 бит, что позволяют далеко не все системные платы. Особенно эффективны активные адаптеры, имеющие собственный процессор, для шины PCI. Они выполняют передачи на полной скорости PCI, практически не загружая центральный процессор. Это свойство особенно важно для серверов. Параллельное выполнение операций подразумевает поддержку полного дуплекса — полную независимость принимающей и передающей частей, а также возможность одновременного выполнения приема кадра в буфер, передачи другого кадра и обмена данными между буферной памятью адаптера и системной памятью компьютера. На производительность адаптера для ISA/EISA влияет и объем буферной памяти: при ограниченной (по сравнению со скоростью в линии) пропускной способности шины применяют буферную память объемом до 64 Кбайт, которую делят между передатчиком и приемником либо поровну, либо с преимуществом для передатчика. Для шины PCI при эффективных средствах доставки (интеллектуальное прямое управление шиной) для скорости 100 Мбит/с большой буфер не нужен — достаточно по 2 Кбайт на приемник и передатчик. Однако адаптеры Gigabit Ethernet опять снабжают буфером значительного размера (256 Кбайт).

Адаптеры можно разделить на две группы — адаптеры для рабочих станций и адаптеры для серверов. Деление условно — адаптеры для рабочих станций могут иметь черты, относящиеся к серверным. Использовать простые карты в серверах не стоит — они могут стать узким местом сети и «пожирателями» ресурсов ЦП.

Адаптеры для рабочих станций проще и дешевле — для них не требуется (пока?) скорости выше 100 Мбит/с, полный дуплекс встречается редко, к использованию процессорного времени особо жестких требований не предъявляют. Долгие годы широко применяются адаптеры, программно совместимые с картами NE2000 — 16-битными неинтеллектуальными картами для шины ISA разработки Novell-Eagle. Совместимость с этой моделью имеют и ряд карт для шины PCI. Наиболее удобны и популярны двухскоростные карты 10/100 Мбит/с — для их подключения в современных сетях легко найти оптимальное место. Карты обычно имеют колодку для установки Boot ROM, современные модели часто обеспечивают возможность «пробуждения» по сети (remote wake up), поддерживают интерфейс DMI и ACPI. Для этого они имеют специальный дополнительный 3-проводный интерфейс — кабель с коннектором, подключаемый к системной плате. По этому кабелю системная плата с питанием в стандарте АТХ подает дежурное напряжение (линия +5VSB), даже когда основное питание на системную плату и все устройства не подается. От этой линии питается «дежурная» принимающая схема, которая настроена на прием кадра специфического формата (Magic Packet) no сетевому интерфейсу. По приему этого кадра сетевой адаптер через кабель подает пробуждающий сигнал РМЕ на системную плату, которая дает сигнал на включение блока питания; компьютер включается и загружается ОС с поддержкой DMI. Теперь администратор может выполнить все запланированные действия, а по окончании ОС на компьютере, завершая свою работу, выключает питание.

Адаптеры для серверов должны иметь высокопроизводительную шину — сейчас используют PCI32/64 бит 33/66 МГц, раньше в серверах часто применяли шину EISA или MCA. Для серверных карт критична загрузка ЦП при обмене данными, поэтому эти карты наделяют интеллектом для прямого управления шиной и параллельной работы узлов адаптера. Полнодуплексные адаптеры должны поддерживать управление потоком по 802.3х. Ряд совершенных моделей поддерживают приоритизацию трафика по 802.1р, фильтрацию многоадресного трафика, поддержку ВЛС с маркированными кадрами (tagged VLAN), Fast IP, аппаратный подсчет контрольных сумм IP-пакетов. Поддержка ВЛС позволяет серверу, подключенному одной линией к коммутатору, быть членом нескольких ВЛС, определенных на всей локальной сети. Для повышения надежности серверные карты могут поддерживать резервирование линий (Resilient Link) — резервный адаптер и линия связи заменяют основной канал в случае его отказа. При этом резервному адаптеру присваивается MAC-адрес основного, чтобы сеть «не заметила» подмены. Резервирование линий должно поддерживаться программными драйверами, чтобы замена происходила прозрачно и для серверных приложений. «Самоизлечивающиеся» драйверы (Self-Healing Drivers) в случае обнаружения проблем функционирования («зависании») могут автоматически выполнить сброс и повторную инициализацию адаптера. Удаленная загрузка и пробуждение по сети серверам, как правило, не требуется. Адаптеры (совместно с драйверами) могут поддерживать SNMP и RMON. Для серверов выпускаются и многопортовые (как правило, на 4 порта) адаптеры, конфигурируемые как для раздельного независимого использования, так и для резервирования друг друга. Такие карты позволяют экономить слоты PCI (для шины EISA проблема экономии слотов не была острой). Типовая скорость для серверных карт на сегодняшний день — 100 Мбит/с, производительность Gigabit Ethernet может быть востребована лишь очень мощными серверами.

Адаптер может иметь один или несколько интерфейсных разъемов:

♦ BNC — коаксиальный разъем для подключения к сегменту сети 10Base2;

♦ AUI — розетка DB-15 для подключения внешних адаптеров (трансиверов) 10Base5, 10Base2, 10BaseT, 10BaseF, FOIRL;

♦ RJ-45 — 8-контактное гнездо для подключения кабелем «витая пара» к концентратору (хабу или коммутатору) 10BaseT, 100BaseTX и/или 100BaseT4;

♦ SC (пара), иногда ST — оптические разъемы для подключения к концентраторам 100BaseFX, 1000BaseSX, 1000BaseLX.

Для 10-мегабитных адаптеров характерны сочетания BNC+AUI или RJ-45+AUI, наиболее универсальные «Combo» имеют полный 10-мегабитный набор BNC/AUI/RJ-45. Первые модели карт на 10 и 100 Мбит/с имели пару разъемов RJ-45 — каждый для своей скорости. При наличии нескольких разных разъемов (например, BNC и RJ-45) одновременно они не используются — адаптер не может работать в качестве повторителя. Большинство современных адаптеров имеют один разъем RJ-45 и поддерживают два стандарта — 10BaseT и 100BaseTX. Многопортовые серверные карты имеют несколько независимых адаптеров, каждый со своим интерфейсом.

Интерфейсные карты потребляют системные ресурсы компьютера.

♦ Пространство ввода-вывода — как правило, 4-32 смежных адреса из области, адресуемой 10-битным (для шины ISA) или 16-битным (EISA, PCI) адресом. Используется для обращения к регистрам адаптера при инициализации, текущем управлении, опросе состояния и передаче данных.

♦ Запрос прерывания — одна линия (IRQ3, 5, 7, 9, 10, 11, 12 или 15), возбуждаемая по приему кадра, адресованного данному узлу, а также по окончании передачи кадра (успешной или безуспешной из-за коллизий). Без прерываний сетевые карты работать не могут, при некорректном назначении обращения к сети «зависают».

♦ Канал прямого доступа к памяти (DMA) используется в некоторых картах ISA/EISA; для прямого управления (bus mastering) шины ISA пригодны только 16-битные каналы 5–7.

♦ Разделяемая память (adapter RAM) адаптера — буфер для передаваемых и принимаемых кадров — для карт ISA обычно приписывается к области верхней памяти (UMA), лежащей в диапазоне A0000h-FFFFFh. Карты PCI могут располагаться в любом месте адресного пространства, не занятого оперативной памятью компьютера. Разделяемую память используют не все модели карт.

♦ Постоянная память (adapter ROM) — область адресов для модулей расширения ROM BIOS, 4/8/16/32 Кбайт в диапазоне C0000-DFFFFh. Используется для установки ПЗУ удаленной загрузки (Boot ROM) и антивирусной защиты.

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

♦ С помощью переключателей (джамперов), установленных на карте. Используется на адаптерах первых поколений шины ISA. Для выбора каждого ресурса, а также среды передачи имеется свой блок джамперов.

♦ С помощью энергонезависимой памяти конфигурации (NVRAM, EEPROM), установленной на карте с шиной ISA. Эти карты не имеют джамперов (jumperless), но конфигурируются вручную. Для конфигурирования требуется специальная утилита, специфическая для конкретной модели (семейства) карт.

♦ С помощью энергонезависимой памяти конфигурации, установленной на карте с шиной EISA или MCA, и системной памяти конфигурирования устройств (ESCD для EISA). Конфигурирование ресурсов осуществляется пользователем с помощью системной утилиты ECU (EISA Configuration Utility) для шины EISA.

♦ Автоматическое — PnP для шин ISA и PCI. Распределение ресурсов осуществляется на этапе загрузки ОС.

Выбор среды и скорости передачи может быть ручным (программным) или автоматическим. В ряде случаев имеет смысл делать явные назначения, чтобы избегать сюрпризов излишней автоматизации. Эти сюрпризы, как правило, порождаются недостаточной согласованностью адаптеров и их драйверов. При этом драйвер не может правильно распознать установленный режим и воспользоваться его преимуществами. Автоматическая настройка вносит дополнительные задержки в процесс инициализации (при загрузке) и не со всяким сетевым оборудованием работает корректно. Для некоторых моделей карт с интерфейсом 10Base2 (BNC-разъем) предлагается расширенный режим, увеличивающий дальность связи до 305 м против штатных 185. При необходимости длинных сегментов этим режимом можно воспользоваться, но при условии, что он имеется и включен во всех картах данного сегмента. В утилитах конфигурирования могут предлагаться и дополнительные настройки — оптимизация для клиента или сервера, поддержка модема и некоторые другие. Их установка должна соответствовать конкретному применению.

 



Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 858; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.131.168 (0.038 с.)