Сети для самых матёрых. часть тринадцатая. mpls traffic engineering

Краткое введение

Происхождение MPLS

В середине -1990 -х IP -технологии достигла быстрого развития благодаря своей простой технологии и низкой стоимости, а данные в Интернете увеличили масштабное увеличение. Однако из -за ограничений аппаратной технологии IP -технология, основанная на самом длинном алгоритме соответствия, должна использовать программное обеспечение для поиска маршрутизации и низкой производительности вперед. Следовательно, производительность переадресации IP -технологии стала узким местом для ограничения разработки сети в то время.

Чтобы адаптироваться к разработке сети,Атм (Asynchronuuuuuuus mode)Улучшенный. Усыновление банкоматовТег определения (то есть Xinyuan)И необходимо только поддерживать таблицу метки с гораздо меньшей таблицей маршрутизации, которая может обеспечить много производительности пересылки, чем методы маршрутизации IP. Тем не менее, протокол банкоматов является относительно сложным, и затраты на развертывание сети банкоматов высоки, что затрудняет популяризацию технологий банкоматов.

Как объединить преимущества IP и банкомата стала горячей темой. В этом контексте производится многопротоколная технология обмена этикетками MPLS (многопротокол -переключение метки).

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

С разработкой технологий ASIC скорость маршрутизации поиска больше не является узким местом, которое препятствует развитию сети, что делает MPLS больше не имеет очевидных преимуществ в улучшении скорости пересылки. Тем не менее, MPLS поддерживает многослойные этикетки и функции плоскости пересылки, так что они широко использовались в VPN (виртуальная частная сеть), инженерия трафика, QoS (качество обслуживания).

Определение MPLS

MPLS расположен между уровнем ссылки и сетевым уровнем в стеке протоколов TCP/IP.Он используется для предоставления услуг подключения к IP -слою и в то же время получить сервис от уровня ссылки. MPLS заменяет IP -репост на обмене метками. Метка представляет собой короткий и длинный идентификатор соединения, который имеет только локальное значение, аналогично VPI/VCI ATM и DLCI RAME.

MPLS не ограничивается каким -либо конкретным протоколом уровня ссылок и может использовать любые два -слойные носители для передачи группировки сети. MPLS IPv4 (Версия 4 Интернет -протокола 4) , , IPv6 (Интернет -протокол версии 6) «Многопротокол» в MPLS относится к поддержке различных сетевых протоколов.

Можно видеть, что MPLS не является бизнесом или приложением. На самом деле именно туннельная технология может обеспечить безопасность передачи информации в определенной степени.

Режимы QoS

  1. Uniform Mode
  2. Pipe Mode
  3. Short-Pipe Mode

cisco

Упрощение настройки туннелей

  • LDP over TE
  • RSVP Auto-Mesh

RSVP Auto-Mesh/Auto-Tunnel

  1. Знакомой командой включаем возможность Auto-tunnel в режиме Mesh:
  2. Определяем потенциальные PE в ACL:
  3. Заводим шаблон конфигурации:

Заключение

  • OSPF с его Opaque LSA
  • IS-IS с

Управлять тем, как построится RSVP LSP

  • Метрика (IGP или TE)
  • Требования к ресурсам
  • Explicit-path
  • SRLG
  • Administrative Groups/Affinity

IGP распространяет и заносит в TEDB

  • Состоянии линий
  • Метриках
  • Свободных ресурсах с учётом приоритетов удержания (Hold Priority)
  • SRLG
  • Attribute-Flag/Administrative Group

Требования туннеля:

  • Требуемая полоса и приоритет установки
  • Affinity/Administrative Group
  • Explicit-Path

RSVP-TE в своих сообщениях передаёт:

  • Требуемую полосу для резервирования с приоритетом установки и удержания
  • Режим резервирования — SE или FF
  • ERO — список узлов для прокладывания LSP
  • RRO — реальный список узлов и меток на каждом участке
  • Информацию о необходимости FRR

Направить трафик в туннель

  • Статический маршрут или PBR
  • IGP Shortcut (или Forwarding Adjacencies)
  • Вендорозависимые механизмы: автоматически на Juniper или Tunnel-policy на Huawei/HP

Make-Before-Break:

  • Переоптимизации туннелей
  • FRR
  • Важный туннель пытается вытеснить менее важный.

Shared Explicit или Fixed Filter:Защита туннелей:

  • Когда ломается линия/узел, в первые 50 мс отрабатывает FastReRoute, спасая те пакеты, что уже идут в LSP.
  • Потом Ingress LSR узнаёт о проблемах с основным LSP и перенаправляет трафик в резервный LSP — так уже спасаются все последующие пакеты.
  • Далее Ingress LSR пытается восстановить основной LSP в обход проблемного участка, если это возможно.

Приоритет туннелей:

  • Setup Priority
  • Hold Priority.

Механизмы упрощения настройки:

  • LDP over TE
  • RSVP Auto-Mesh/Auto-tunnel

Правила обработки полей CoS в MPLS DS-TE:

  • Uniform. На всём пути оператор обрабатывает трафик на основе значения поля CoS изначального PDU и полем может быть переписано им.
  • Pipe. Значение поля CoS изначального PDU не меняется. Egress PE обрабатывает пакет на основе заголовка MPLS.
  • Short-pipe. Значение поля CoS изначального PDU не меняется. Egress PE обрабатывает пакет на основе изначального поля CoS PDU.

Полезные ссылки

  • Три документа от cisco на тему MPLS TE. Длинно и по делу:
    1. MPLS Traffic Engineering
    2. Advanced Topics in MPLS-TE Deployment
    3. Deploying MPLS Traffic Engineering
  • Cisco же об FRR: MPLS Traffic Engineering. Traffic Protection using Fast Re-route (FRR)
  • На практике об Autobandwidth: Deploying MPLS Traffic Engineering
  • MPLS TE Affinity
  • DiffServ Tunneling Modes for MPLS Networks
  • Отличный подбор видео об MPLS: labminutes.com

тутглоссарии linkmeupБлагодарностиАндрею ГлазковуАлександру КлипперуАлександру ФатинуАртёму Чернобаю

Программа курса MPLS 2.3

Модуль №1 — Концепции MPLS

  • Введение в базовые концепции MPLS. Терминология и архитектура MPLS.
  • Введение в метки MPLS и стеки меток. Добавление меток. Стекирование меток MPLS
  • Сервисы MPLS. Маршрутизация и MPLS. Что такое MPLS VPN. Задачи MPLS:TE (Traffic Engineering)
  • Обработка и реализация QoS в MPLS. Any Transport over MPLS — AToM. Взаимодействие различных MPLS-технологий

Модуль №2 — Назначение и распределение меток

  • Как работают Label Distribution — протоколы. Установка LDP-сессии. Обнаружение LDP-соседей. Управление LDP-сессиями.
  • Распределение информации о метках по всей сети. Label Switched Paths. Технология PHP. Как влияет IP-процессинг на LSP. Назначение меток в MPLS-сетях. Распределение и анонсирование меток. Поиск петель в MPLS.
  • Что такое MPLS Steady-State. Сходимость протоколов динамической маршрутизации после отказа MPLS-туннеля.

Модуль №3 — Реализация кадрового режима MPLS на платформе Cisco IOS 15.х

  • Что такое Cisco Express Forwarding. Механизмы экспресс-коммутации. Кэширование и ip route-cache cef.
  • Настройка кадрового режима MPLS на Cisco IOS. MPLS ID маршрутизатора, настройка MPLS на интерфейсе, настройка MTU для MPLS, управление IP TTL и условное распределение LDP-меток
  • Мониторинг кадрового режима MPLS на платформе Cisco IOS (show mpls ldp parameters, interfaces, discovery; show mpls ldp neighbor, bindings; show mpls forwarding-table, show ip cef detail)
  • Отладка кадрового режима MPLS на платформе Cisco IOS. Типовые проблемы установки LDP-сессии, распределения меток, передачи кадра и CEF.

Модуль №4 — Технология MPLS VPN

  • Введение в MPLS VPNs. Модели Overlay VPN и Peer-to-Peer VPN. Плюсы и минусы MPLS VPN
  • Архитектура MPLS VPN. Что такое Route Distinguisher’ы и Route Target’ы.
  • Работа маршрутизации MPLS VPN. Поддержка интернет-маршрутизации. Как работают FIB-таблицы на PE-роутерах. Логика сквозного обмена обновлениями маршрутной информации (end-to-end routing update flow)
  • Продвижение пакетов в сети MPLS VPN. End-to-End VPN Forwarding. Что такое Penultimate Hop Popping. Обмен стекированными VPN-метками между PE-роутерами. Влияние MPLS VPN на обмен метками и передачу пакетов данных.

Модуль №5 — Реализация MPLS VPN

  • Применение механизмов MPLS VPN на платформах Cisco IOS
  • Конфигурация VRF-таблиц
  • Конфигурация сессии MP-BGP между PE-маршрутизаторами
  • Конфигурация маломасштабируемых протоколов маршрутизации между устройствами PE и CE
  • Мониторинг работы MPLS VPN
  • Конфигурация OSPF в качестве протокола маршрутизации между устройствами PE и CE
  • Конфигурация BGP в качестве протокола маршрутизации между устройствами PE и CE
  • Отладка MPLS VPN

Модуль №6 — Сложные MPLS VPN

  • Применение продвинутых функций импорта и экспорта из VRF
  • Введение в перекрывающиеся VPN
  • Введение в VPN с центральными сервисами
  • Введение в сервис управляемого CE

Модуль №7 — MPLS VPN и предоставление доступа в интернет

  • Введение в топологии доступа в Интернет при MPLS VPN
  • Внедрение разделенных услуг MPLS VPN и доступа в интернет
  • Внедрение доступа в Интернет как выделенная VPN

Модуль №8 — Обзор MPLS TE

  • Введение в концепцию TE
  • Понимание компонент MPLS TE
  • Конфигурация MPLS TE на платформах Cisco IOS
  • Мониторинг базовых настроек Basic MPLS TE на платформах Cisco IOS

Стандартная продолжительность курса

5 дней

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

Возможно, вам также будет интересно

Компания NXP Semiconductors представила GloTOP 2.5G, новейшее дополнение к своему семейству телематических решений ATOP.
GloTOP предназначено специально для работы с российской спутниковой навигационной системой ГЛОНАСС и позволяет легко и быстро интегрировать телематические приложения в автомобили. Будучи оснащенным системой параллельного приема сигналов ГЛОНАСС и GPS, GloTOP может …

В конце 2010 г. Министерство связи и массовых коммуникаций РФ приняло долгожданное решение о регламентации использования Wi-Fi в России. В статье рассмотрены стандарты 802.11 в соответствии с требованиями действующих российских нормативных документов.

Известно, что сигналы 5G должны занять свое место в уже перегруженном спектре и работать в более сложных спектральных условиях. Однако даже в этом спектре, с его ограничениями и проблемами прохождения радиоволн, потребность в более высокой пропускной способности данных продолжает расти. Поэтому разработчики по-прежнему ищут новые способы более эффективного использования доступного спектра за сч…

Administrative Groups или Affinity

Вот сейчас должно стать страшно. Мне страшно.

  • Метрика MPLS TE.
  • Требования к полосе пропускания канала и приоритет замещения.
  • Explicit-path.
  • SRLG.

RFC3630Идея в том, что каждый интерфейс мы помечаем определёнными цветами.
А потом говорим, что вот этот туннель может идти по красным и фиолетовым линиям, но не может по зелёным, жёлтым и коричневым.
Раз уж примеры у нас в консоли Cisco, то далее буду использовать термин Attribute-Flag наравне с Administrative group, что не совсем правильно.Affinity и маска

  1. РРЛ это или нет
  2. Магистральная линия или в сторону сегмента доступа
  3. Канал через интернет или нет

Взяли только первые 8 бит для простоты.

  1. Чтобы это не был РРЛ ()
  2. Чтобы это был магистральный линк (1)
  3. Канал не через интернет ()

Attribute-Flag 0000 0100 — Не РРЛ, магистральный и не через Интернет. Attribute-Flag && Mask = 0000 0100 = Affinity && Mask — сюда можно пускать трафик.
Attribute-Flag 0100 0000 — Не РРЛ, но в сторону сегмента доступа, да ещё и через интернет. Attribute-Flag && Mask = 0100 0000 ≠ Affinity && Mask — сюда нельзя пускать трафик.
Attribute-Flag 0000 0101 — Оптика, не РРЛ, магистральный и не через Интернет. Attribute-Flag && Mask = 0000 0100 = Affinity && Mask — сюда можно пускать трафик

Не важно, оптика или нет — результат тот же.

0x0RFC 7308разжёвывает Affinity

Практика

Файл конфигурации.

Надёжность и сходимость

  1. Защита на физическом уровне. Например, APS в SONET или LAG в Ethernet.
  2. IP — решение всех проблем. IGP, BGP, VRRP итд.
  3. Набор технологий в MPLS.
  • Path Protection
  • Local Protection

Метод конфигурации статического LSP

Карта сеткиПокажите, запустите OSPF как IGP в узле и реализуйте туннельный подшипник MPLS между LSRA до LSRC, настроенные статические LSP на узле.

Рисунок 1-9 Статическая группа конфигурации LSP Групповой диаграммы

Примеры файлов конфигурации, такие какПоказывать:

Таблица 1-1 Пример статического файла конфигурации LSP

LSRA

LSRB

LSRC

#
sysname LSRA
#
mpls lsr-id 192.168.1.9
#
mpls
#
interface GigabitEthernet1/0/0
 undo shutdown  
 ip address 10.1.1.1 255.255.255.0
 mpls           
#               
interface LoopBack1
 ip address 192.168.1.9 255.255.255.255
#               
ospf 1          
 area 0.0.0.0   
  network 10.1.1.0 0.0.0.255
  network 192.168.1.9 0.0.0.0
#               
 static-lsp ingress AtoC destination 192.168.3.9 32 nexthop 10.1.1.2 out-label 20
#
return
#
sysname LSRB
#
mpls lsr-id 192.168.2.9
#
mpls
#
interface GigabitEthernet1/0/0
 undo shutdown  
 ip address 10.1.1.2 255.255.255.0
 mpls           
#               
interface GigabitEthernet2/0/0
 undo shutdown  
 ip address 10.2.1.1 255.255.255.0
 mpls           
#               
interface LoopBack1
 ip address 192.168.2.9 255.255.255.255
#               
ospf 1          
 area 0.0.0.0   
  network 10.1.1.0 0.0.0.255
  network 10.2.1.0 0.0.0.255
  network 192.168.2.9 0.0.0.0
# 
 static-lsp transit AtoC in-label 20 outgoing-interface GigabitEthernet2/0/0 nexthop 10.2.1.2 out-label 40
#
return
#
sysname LSRC
#
mpls lsr-id 192.168.3.9
#
mpls
#
interface GigabitEthernet1/0/0
 undo shutdown  
 ip address 10.2.1.2 255.255.255.0
 mpls           
#               
interface LoopBack1
 ip address 192.168.3.9 255.255.255.255
#               
ospf 1          
 area 0.0.0.0   
  network 10.2.1.0 0.0.0.255
  network 192.168.3.9 0.0.0.0
#
 static-lsp egress AtoC incoming-interface GigabitEthernet1/0/0 in-label 40
#
return

Проверьте результаты конфигурации: проверьте состояние статического LSP на устройстве, на основе LSRA, статуса LSP AS UP.

Path Protection

  1. Primary — это основной LSP, который и будет использоваться для передачи трафика.
  2. Secondary — запасной LSP. Если Ingress PE узнаёт от падении основного — он переводит трафик на запасной.
    Последний в свою очередь тоже может быть:
    • Standby — всегда наготове: путь заранее вычислен и LSP сигнализиован. То есть он сразу готов подхватить трафик. Может также называться Hot-standby.
    • Non-standby — путь заранее вычислен, но LSP не сигнализирован. При падении основного LSP Ingress LSP сначала с помощью RSVP-TE строит запасной, потом пускает в него трафик. Зато полоса не простаивает зарезервированная. Может называться Ordinary.
  3. Best Effort — если основной и запасной пути сломались или не могут быть удовлетворены условия, то RSVP-TE построит хоть как-нибудь без резервирования ресурсов.

шаблона

Принципы работы технологии MPLS

В зависимости от этапа трансляции данных маршрутизаторы в системе MPLS могут реализовывать различные функции коммутации и управления пакетами.

Как было отмечено выше, MPLS работает только в P Network, в то время как C Network работает как обычная IP-сеть. Технология MPLS начинает действовать с того момента, как IP-пакет попадает в клиентские сети.

Граничные маршрутизаторы выполняют функции назначения и удаления меток. Так, например, на рис. 3 входной граничный маршрутизатор LER1 вставляет метку в пакет, поступивший из внешней сети, между заголовком IP и заголовком уровня 2. Кроме того, LER1 устанавливает класс эквивалентности пересылки пакета (Forwarding Equivalency Class, FEC), определяющий пакеты, пересылаемые одинаково. Маршрут, проходящий через один или более LSR, по которому следуют пакеты одного и того же класса FEC, называется скоммутированным по меткам маршрутом LSP. Этот путь определяется полным набором меток во внутренних маршрутизаторах (LSR1–LSR6), через которые передается пакет в домене MPLS. В технологии MPLS также используется понятие LSP-tunnel, под которым подразумевается последовательность маршрутизаторов, в которой первый маршрутизатор является входным, а последний — выходным пунктом некоего виртуального туннеля.

Внутренние маршрутизаторы LSR пересылают пакет с меткой от одного узла к другому. При этом метка заменяется в зависимости от задачи.

Информация о маршруте пакета передается на все подключенные PER с использованием любого протокола, поддерживаемого системой протокола. Такой процесс часто называют термином PER–CER при описании сетей MPLS VPN. Информация о клиенте сохраняется в исполнительной копии программы в виде виртуальной маршрутизации вместо стандартной таблицы маршрутов. Данная процедура обозначается как Virtual Routing & Forwarding (VRF).

Каждому клиенту присваиваются свои собственные уникальные метки-ярлыки. При этом разграничители маршрутов (Route Distinguishers, RD) позволяют выделить нужный сайт клиента среди всех остальных, доступных данному РЕR. Обмен информацией с целевым устройством реализуется с помощью протоколов IGP (Interior Gateway Protocols), в качестве которых могут быть использованы OSPF, RIP, EIGRP и др.

В большинстве случаев замена меток осуществляется с помощью LDP (Label Distribution Protocol). Однако необходимо иметь в виду, что в случае использования MPLS/BGP VPN применяется многофункциональный протокол BGP (MP–BGP).

Для дополнительной протокольной сигнализации и трафик-инжиниринга в сетях MPLS, как правило, применяется протокол резервирования сетевых ресурсов (Resource ReSerVation Protocol, RSVP).

Следует упомянуть режим работы маршрутизаторов MPLS, связанный с созданием таблицы пересылки (Label Information Base, LIB), которая содержит входную метку и дополнительные вложенные записи. Вложенная запись может нести информацию о назначенной выходной метке, номере выходного интерфейса и адресе следующего внутреннего маршрутизатора LSR.

Выходной граничный маршрутизатор LER2 (рис. 3) снимает метку и направляет пакет во внешнюю сеть .

Рис. 3. Пример простой сети MPLS

Функции контроля, управления и пересылки данных технологии MPLS схематически показаны на рис. 4.

Рис. 4. Уровни управления и пересылки данных технологии MPLS

Архитектура MPLS имеет двухуровневую структуру — уровень управления (Control Plane) и уровень пересылки данных (Data Plane). В процессе пересылки пакета по сети MPLS от одного узла к другому метки могут меняться. При этом роутеры на каждом этапе обмениваются соответствующей информацией и выполняют определенные функции.

Сеть MPLS может конфигурироваться с помощью специальных программных средств.

Сразу после появления IP-пакета в сети MPLS ему присваивается метка, которая вставляется между заголовком канального уровня и заголовком IP.

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

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

Принцип работы MPLS

Принцип работы MPLS в основном включает в себя две части:

  • Архитектура MPLS относится к независимому принципу работы внутри одного устройства, работающего MPLS.

  • Структура сети MPL относится к совместному принципу работы нескольких устройств, работающих на MPLS.

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

Архитектура MPLS состоит из плоскости управления и плоскости пересылки:

  • Плоскость управления не подключена. Основной функцией является установка и LSP (переключенный путь метки) для Lable Forballing Information Base.

  • Прямая плоскость, также известная как плоскость данных (плоскость данных), подключена для соединения,Вы можете использовать ATM, Ethernet и другие две -Layer Network загрузку. Основная функция состоит в том, чтобы добавить и удалить этикетку IP -пакета. В то же время репортировать пакеты, полученные в соответствии с этикеткой.

Архитектура MPLS показана на рисунке 1-1.

Рисунок 1-1 Схема архитектуры MPLS

  • A: Протокол маршрутизации IP устанавливает соседа, взаимодействует информация и генерирует таблицу маршрутизации IP.

  • B: Протокол обмена меткой получает информацию о маршрутизации из таблицы маршрутизации IP. Префикс маршрутизации в таблице маршрутизации IP сочетается с FEC (класс эквивалентности пересылки). В традиционном пересылке IP самого длинного алгоритма сопоставления все пакеты на одну и ту же маршрутизацию являются FEC.

  • C: Оптимальный маршрут, активированный в таблице маршрутизации IP, генерирует пересылку IP.

  • D: Протокол преобразования ярлыков создан для распределения соседа, чтобы выделить этикетку для FEC и опубликовать его соседям.

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

Рисунок 1-2 MPLS Схема процесса переадресации данных MPLS

Структура сети MPLS

Типичная структура сети MPLS показана на рисунке 1-3:

Рисунок 1-3 Схема сетевой структуры MPLS

Основной композиционной единицей сети MPLS является маршрутизатор Exchange LSR (маршрутизатор переключения метки):

  • LSR, расположенный на краю домена MPLS, и подключение других сетей называется Edge Router LER (маршрутизатор края метки). Если у LSR есть один или несколько соседних узлов, которые не запускают MPLS, то LSR является LER.

  • LSR внутри области называется Core LSR (Core LSR). Если LSR -соседний узл работает MPLS, LSR является основным LSR.

Переоптимизация туннелей

На самом деле зависит от производителя

  1. CSPF находит новый путь, удовлетворяющий всем условиям. В нашем случае R1->R5->R2->R6->R3->R4.
  2. Ingress PE сигнализирует новый RSVP LSP, отправляя RSVP PATH.
  3. Получив RSVP RESV, он понимает, что новый LSP готов.
  4. Отправляет RSVP PATH TEAR, чтобы сломать старый LSP.
  5. Когда RSVP RESV TEAR возвращается — всё закончено.

Auto-Bandwidth

И такая дребедень целый день.OverflowUnderflow

честном документе

Приоритеты туннелей

Setup PriorityHold Priority4665

  1. Если сломать LSP2, полосы хватает для LSP3. В этом случае Setup приоритет LSP3 выше, чем Hold LSP2. Ingress PE LSP2 узнаёт, что его LSP вероломно разломали и будет искать новый путь — его удача, если он найдёт.
  2. Если сломать LSP2, полосы всё равно не хватит для LSP3. LSP1 маршрутизатор не отдаст. И тогда LSP1 и LSP2 остаются, а Ingress PE LSP3 будет искать другие возможности для самореализации.

Hard preemptionSoft preemption

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: