Другие отзывы о втб. Префиксы и карты

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

К примеру, при указании карты Visa и введении любой первой цифры, отличной от четвёрки, ничего не сработает. Номера всех карт Visa начинаются с цифры «4».

Абсолютное большинство карт в России выпускаются от платёжных систем Visa и MasterCard. Для них справедливы следующие комбинации цифр в начале номера:

  • Visa: 4-
  • MasterCard: 51- 52- 53- 54- 55-

Полный список префиксов банковских карт, в зависимости от платёжной системы, можно найти .

Контрольная сумма

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

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

В 1954 году Ганс Питер Лун создал алгоритм, который в дальнейшем вошёл в международный стандарт ISO/IEC 7812-1, на основе которого и строятся номера карт.

Причинами выбора такого алгоритма стали его простота и эффективность. Обычный человек после пары-тройки пробных просчётов сможет вычислять контрольную цифру в уме. При этом, метод гарантированно обнаруживает ошибку при неправильном вводе одной цифры номера. Помимо этого, алгоритм обнаруживает почти все случайные парные замены цифр (типичная ошибка человека при вводе). Однако тут есть и минусы. Контрольная сумма - всего 1 цифра. Значит, существует 10% шанс, что случайно сгенерированный номер окажется верным для алгоритма.

Алгоритм Луна работает очень просто и имеет вариации только в зависимости от количества цифр в последовательности (чётное или нечётное число элементов). Также создатель предлагал нумеровать цифры справа налево, но можно и так.

Изначально у нас есть последовательность из 16 цифр.

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

Получившаяся последовательность складывается.

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

Существуют и более навороченные алгоритмы проверки , но посчитать их в уме уже не так просто.

Другие примеры использования

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

Чётность

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

Решение заключалось в контроле по паритету. 8 бит в байте складывались, и их сумма была либо чётной, либо нечётной. Для каждого бита создавался дополнительный контрольный бит - бит чётности. Если сумма битов в байте была чётной, то в контрольный бит записывалась единица, иначе - нуль.

Метод крайне прост, но также и очень неэффективен. Нельзя сказать, какой из битов в байте был записан некорректно. Быть может, сам контрольный бит записался неверно? Двойная ошибка также могла попросту проскочить.

Сейчас память куда надёжнее, и обычные компьютеры более не используют проверку на чётность. Однако до сих пор существуют особо требовательные к надёжности системы (банковская сфера, энергетика и так далее). Там применяется особый тип памяти под названием ECC (Error Correcting Code Memory). Алгоритмы, подобные тем , что применяются в ECC, позволяют с абсолютной точностью обнаруживать каждый некорректный бит и исправлять его значение на верное.

RAID

Несмотря на активный переход к твердотельным накопителям (SSD), магнитные жёсткие диски (HDD) по-прежнему остаются основным методом хранения информации. Они значительно дешевле, а соотношение цены за бит хранимой информации в них пока что недостижимо для SSD.

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

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

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

Изначально аббревиатура RAID означала «Redundant Array of Inexpensive Disks». Смысл заключался именно в использовании более дешёвых и менее надёжных дисков. Было понятно, что диски выходят из строя, но с учётом сохранения данных, такие диски обходились суммарно дешевле, нежели более дорогие и относительно более надёжные диски.

Сейчас, когда жёсткие диски в целом стали куда надёжнее, само значение RAID изменилось. Теперь это «Redundant Array of Independent Disks».

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

Банковская карта – это специальная пластиковая карточка с чипом или магнитной лентой, которая дает доступ к управлению банковским счетом клиента.

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

Где находится и что означает номер банковской карты

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

#1. Цифра, которая стоит самой первой, определяет принадлежность к той или иной платежной системе:

  • Цифра 3 – карточки Maestro или American Express
  • Цифра 4 – VISA
  • Цифра 5 – MasterCard
  • Цифра 6 – Maestro

#2. Первые шесть цифр номера банковской карты обозначают идентификационный код банка-эмитента, организации, которая собственно выдала владельцу карту, а также тип самой карты. На примере данной карты мы видим что БИН ВТБ24 – 427229. Я порылся в своем кошельке и могу сказать, что БИН Сбербанка 427683 , БИН Русского Стандарта 51009. Проверить к какому банку относится тот или иной БИН, можно по ссылке . Найти БИН конкретного банка можно попробовать в Wiki .

#3. Седьмая и восьмая цифры говорят о программе банка, в рамках которой выпущена карта.

#4. Остальные цифры, вплоть до последней персонализируют карту специальным математическим алгоритмом.

#5. Последняя цифра карточного номера называется контрольной, ее используют для проверки корректности номера по определенному алгоритму, название которого – алгоритм «Луна». Проверка валидности карты проводится следующим образом: каждая вторая цифра номера, начиная с конца, удваивается. Четные цифры не изменяются. Если удвоенное число больше 9, его цифры суммируются и полученный результат ставится на место этого числа. Цифры окончательного номера суммируются. Число, полученное в результате суммирования, должно делиться на десять, только тогда номер карты считается правильным. Алгоритм «Луна» дает возможность определить наличие ошибок в блоке цифр номера карты, но не показывает, где именно они были допущены. Кроме того, он не указывает на неточности в комбинациях из двух одинаковых цифр, расположенных рядом.

PS. Виды банковских карт

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

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

Банковские карты по территориальному признаку:

  • международные;
  • национальные;
  • локальные;
  • действующие в одном учреждении.

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

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

К примеру, при указании карты Visa и введении любой первой цифры, отличной от четвёрки, ничего не сработает. Номера всех карт Visa начинаются с цифры «4».

Абсолютное большинство карт в России выпускаются от платёжных систем Visa и MasterCard. Для них справедливы следующие комбинации цифр в начале номера:

  • Visa: 4-
  • MasterCard: 51- 52- 53- 54- 55-

Полный список префиксов банковских карт, в зависимости от платёжной системы, можно найти .

Контрольная сумма

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

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

В 1954 году Ганс Питер Лун создал алгоритм, который в дальнейшем вошёл в международный стандарт ISO/IEC 7812-1, на основе которого и строятся номера карт.

Причинами выбора такого алгоритма стали его простота и эффективность. Обычный человек после пары-тройки пробных просчётов сможет вычислять контрольную цифру в уме. При этом, метод гарантированно обнаруживает ошибку при неправильном вводе одной цифры номера. Помимо этого, алгоритм обнаруживает почти все случайные парные замены цифр (типичная ошибка человека при вводе). Однако тут есть и минусы. Контрольная сумма - всего 1 цифра. Значит, существует 10% шанс, что случайно сгенерированный номер окажется верным для алгоритма.

Алгоритм Луна работает очень просто и имеет вариации только в зависимости от количества цифр в последовательности (чётное или нечётное число элементов). Также создатель предлагал нумеровать цифры справа налево, но можно и так.

Изначально у нас есть последовательность из 16 цифр.

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

Получившаяся последовательность складывается.

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

Существуют и более навороченные алгоритмы проверки , но посчитать их в уме уже не так просто.

Другие примеры использования

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

Чётность

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

Решение заключалось в контроле по паритету. 8 бит в байте складывались, и их сумма была либо чётной, либо нечётной. Для каждого бита создавался дополнительный контрольный бит - бит чётности. Если сумма битов в байте была чётной, то в контрольный бит записывалась единица, иначе - нуль.

Метод крайне прост, но также и очень неэффективен. Нельзя сказать, какой из битов в байте был записан некорректно. Быть может, сам контрольный бит записался неверно? Двойная ошибка также могла попросту проскочить.

Сейчас память куда надёжнее, и обычные компьютеры более не используют проверку на чётность. Однако до сих пор существуют особо требовательные к надёжности системы (банковская сфера, энергетика и так далее). Там применяется особый тип памяти под названием ECC (Error Correcting Code Memory). Алгоритмы, подобные тем , что применяются в ECC, позволяют с абсолютной точностью обнаруживать каждый некорректный бит и исправлять его значение на верное.

RAID

Несмотря на активный переход к твердотельным накопителям (SSD), магнитные жёсткие диски (HDD) по-прежнему остаются основным методом хранения информации. Они значительно дешевле, а соотношение цены за бит хранимой информации в них пока что недостижимо для SSD.

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

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

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

Изначально аббревиатура RAID означала «Redundant Array of Inexpensive Disks». Смысл заключался именно в использовании более дешёвых и менее надёжных дисков. Было понятно, что диски выходят из строя, но с учётом сохранения данных, такие диски обходились суммарно дешевле, нежели более дорогие и относительно более надёжные диски.

Сейчас, когда жёсткие диски в целом стали куда надёжнее, само значение RAID изменилось. Теперь это «Redundant Array of Independent Disks».

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

Смотрим номер карты на своем пластике

Номер банковской карты – это индивидуальный номер, который присваивается конкретной карте конкретного клиента конкретной платёжной системой в конкретном банке.

Как, глядя на карту, можно определить номер банковской карты?
Каждая банковская карта имеет свой, индивидуальный номер, который расположен на лицевой стороне карты чуть выше имени её владельца. Номер банковской карты может быть:

  • Напечатанным, т.е нанесённым на карту с помощью краски;

  • Эмбоссированным, т.е. выдавленным на карте.
Номер карты состоит, как правило, из 16 цифр, разделённых на 4 блока по 4 цифры, и является номером доступа к банковскому счёту владельца карты. Каждая цифра из номера на карте имеет своё, конкретное значение. Структуру идентификационного номера пластиковой карты выглядит так:

0 000 00 00 0000 0000

Где каждая из 16 цифр карты обозначает следующее:


  • Первые 6 цифр - это банковский идентификатор эмитента (банка), выпустившего карту (БИН карты), который конкретная платежная система присваивает конкретному банку под конкретный тип карт. По БИН-у можно определить платежную систему и тип карты в рамках этой платежной системы, а первая цифра из шести, всегда показывает принадлежность к определённой платёжной системе.

    Итак, номер карты всегда начинается с цифры, которая указывает на платежную систему, а именно: Мир - 2; VISA – 4; American Express – 3, MasterCard – 5, Maestro - 3, 5 или 6, JCB International - 3, China UnionPay - 6, УЭК - 7,

    Так, например, Классические карты МИР Сбербанка России и Пенсионная карта МИР начинаются со следующих цифр - 2200 0000 0000 0000; Дебетовая карта «Аэрофлот» (системы Visa Gold & Visa Classic) Сбербанка или Классическая карта Visa начинаются с - 4276 0000 0000 0000


  • Цифры с 7 по 15-ю - это идентификационный номер пластиковой карты и в нем зашифрован тип банковского продукта (кредитная или дебетовая карта), валюта карты, регион выпуска и другая информация.

  • Последняя, 16 цифра – это проверочное число. По определённому алгоритму происходит проверка соответствия номера карты и проверочного числа, что позволяет определить «правильность» номера карты.

Расположение номера карты на банковской карточке показано здесь:

Номер банковской карты

Для примера приведу две банковские карты Сбербанка России, на которых номер карты, состоящий из 16 цифр, разделённ на 4 блока по 4 цифры:

  • Классическая карта МИР Сбербанка


    Карта национальной платёжной системы МИР

  • Карта с индивидуальным дизайном


    Карта международной платёжной системы VISA

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

    Из 18 цифр, как правило, состоят номера карт платёжной системы Maestro, но бывают и карты платёжной системы Visa. Так, например, номер карты мгновенной выдачи «Momentum» Visa Сбербанка России состоит из 18 цифр (4-4-4-6 знаков), которая выглядит так:


    Карта мгновенной выдачи «Momentum» Visa Сбербанка - Номер из 18 цифр

    А номера карт платёжной системы American Express состоит только из 15 цифр, разбитых на группы из 4-6-5 знаков. Из 15 цифр состоят и виртуальные карты Visa и MasterCard Сбербанка. Вот как такие номера размещаются на картах:


    Карта The Platinum Card Банка "Русский Стандарт" системы American Express - Номер из 15 цифр


    Виртуальные карты Сбербанка системы MasterCard - Номер из 15 цифр

    Иногда номер карты на поверхности банковской карты не указывается, но есть первые 4 цифры. Эти 4 цифры обычно указываются под первой группой цифр номера карты, наносятся типографским способом и обозначают четырехзначный BIN (BASE Identification Number - базовый идентификационный номер), который повторяет первую группу цифр номера карты. При отсутствии на карте номера, только он укажет, к какой системе относится карта.
    Так, например, в подарочной карте Visa Сбербанка иногда указываются только цифры 4374:


    Карта с четырмя цифрами номера


    Как узнать банк по номеру карты?

    Можно ли по номеру карты узнать банк, которому принадлежит карта? Узнать, а вернее определить, можно, но только нужной информации в открытом доступе практически нет. Банк определяется по первым 6 цифрам номера карты, которые показывают банковский идентификационный номер в платёжной системе, сокращённое название - БИН. Далее банковский идентификационный номер сверяется со списком банковских БИНов, но вот списка БИНов то как раз в свободном доступе не встречала. Думаю что это является закрытой информацией платежных систем, которая доступна только ее участникам.

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

    Для чего нужен номер банковской карты?

    Номер банковской карты нужен для проведения следующих финансовых операций:


    • при оформлении «перевода с карты на карту» как внутри одного банка, так и между отдельными банками внутри одной системы (VISA- VISA, Master Card- Master Card).

    • при оплате товаров и услуг в интернет-магазинах (не поддерживающих технологию 3-d Secure), где требуется ввести реквизиты банковской карты (ФИО держателя, номер карты и срок окончания её действия, тоже указанный на карте).

    При перевыпуске карты в связи с утерей или в связи с изменением личных данных – номер карты частично изменится. При перевыпуске в связи с истечением срока её действия может не поменяться.

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

На рис. 6.20 AS1 обеспечивает подключение к Internet сети клиента (AS65001). Так как клиент имеет соединение только с этим провайдером и у него нет в ближайшем будущем планов по подключению через еще один канал к другому провайдеру, то ему выделяется номер частной AS. Если же клиенту потребуется организовать подключение к Internet через еще одного провайдера, то соответствующий его региону реестр сети Internet обязан будет присвоить его AS уникальный номер.

Все префиксы, генерируемые в AS65001, будут иметь атрибут AS_PATH 65001. Рассмотрим, каким образом распространяются сведения о префиксе 172.16.220.0/24 из AS6500I (рис. 6.20). Для того чтобы AS1 передала сведения об этом маршруте в сеть Internet, необходимо избавиться от номера частной AS, Когда префикс попадает в сеть Internet, он будет уже иметь в качестве источника номер AS провайдера. Обратите внимание, что префикс 172.16.220.0/24 приходит в NAP с AS_PATH 1.

Протокол BGP изымает номера частных AS, только если требуется передать информацию об их маршрутах каким-либо внешним узлам. Это означает, что изъятие номеров AS должно быть задано на маршрутизаторе RTC как элемент конфигурации соединения с соседним узлом RTE.

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

Дополнительные сведения об архитектуре сетей с использованием частных AS вы можете получить в RFC 22702 .

Атрибут AS_PATH и объединение маршрутов

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

Для того чтобы избежать нежелательных последствий объединения маршрутов, в BGP имеется возможность задания типа объекта в AS_PATH параметром AS_SET, где все AS вносятся в список неупорядоченными. В этот набор входят номера AS, через которые проходит маршрут. Объединенные маршруты, в которых переносится информация AS_SET, имеют совокупный набор атрибутов, сформированный индивидуальными маршрутами.

На рис. 6.21 система AS1 объявляет маршрут в сеть 192.213.1.0/24, a AS2 объявляет маршрут в сеть 192.213.2.0/24. Система AS3 объединяет оба маршрута в 192.213.0.0/16. Автономная система, которая объявляет объединенный маршрут, считает саму себя генератором маршрута, независимо от того, откуда поступили составляющие его маршруты. Когда AS3 объявляет объединенный маршрут 192.213.0.0/16, значение в AS_PATH будет 3. Это приведет к потерям маршрутной информации, так как генераторы маршрутов ASI и AS2 уже не будут присутствовать в списке номеров AS__PATH. Если другие AS каким-то образом объявят объединенный маршрут системам AS1 и AS2, они примут этот маршрут, что приведет к возникновению петли маршрутизации. "Зная" значение AS_SET, AS3 может объявлять объединенный маршрут 192.213.0.0/16, сохраняя при этом информацию о составляющих его компонентах. Значение параметра AS_SET {1 2} указывает на то, что объединенный маршрут сформирован из отдельных маршрутов, поступивших от соответствующих AS, без определенного порядка следования. Информация, заключенная в атрибуте AS_PATH, с учетом параметра AS_SET будет выглядеть как 3 {1 2}.

Рис. 6.21. Влияние параметра AS_SET

Указание параметра AS_SET перед командой aggregate-address вызовет автоматическую генерацию набора AS, связанного с данным объединенным маршрутом.

Управление атрибутом AS_PATH

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

См. в главе 11 раздел "Управление атрибутом AS_PATH"

На рис. 6.22 AS50 подключена к двум провайдерам - AS200 и AS100. При этом AS100 имеет непосредственное соединение с NAP, в то время как AS200 для того, чтобы достичь NAP, должна пройти через промежуточный узел AS300.

На рис. 6.22 показан частный случай передачи информации о префиксе 192.213.1.0/24 через различные AS в NAP. Когда префикс 192.213.1.0/24 поступает в NAP через AS300, она имеет AS_PATH 300 200 50. Если этот же префикс поступает в NAP через AS100, то значение атрибута AS_PATH будет 100 50, т.е. короче, чем маршрут через AS300. Так, исходящий из NAP поток "предпочтет" более короткий маршрут согласно AS_PATH, и трафик в сеть 192.213.1.0/24 будет направлен через AS100.

К сожалению, AS50 ведет себя совершенно противоположным образом и старается передать весь входящий трафик по более высокоскоростному каналу ТЗ на AS200. Для этого на AS50 в атрибут AS_PATH вставляются фиктивные записи о несуществующих номерах AS на маршруте, и затем эти сведения отправляются с сообщениями об обновлениях маршрутов на AS 100. На практике для формирования фиктивных записей используется повтор собственного номера AS, т.е. AS50 повторяет свой номер столько раз, сколько требуется для того, чтобы изменить баланс в пользу AS200 и представить маршрут через нее менее длинным, чем через AS 100.

Рис. 6.22. Пример маршрутизации перед вводом фиктивных записей в AS_PATH

На рис. 6.23 показано, как AS50 вставляет два номера AS 50 50 в начало атрибута AS_PATH для префикса 192.213.1.0./24, который объявляется AS100. Когда префикс 192.213.1.0.0/24 поступает в NAP через AS100, значение AS_PATH будет 100 50 50 50, что длиннее, чем AS_PATH 300 200 50 через AS300. Таким образом, исходящий из NAP поток отдаст предпочтение более короткому маршруту, и трафик в сеть 192.213.1.0/24 будет проходить через AS300.

Рис. 6.23. Пример маршрутизации после вставки фиктивных записей в AS_PATH

На практике фиктивные номера всегда должны дублировать номер AS, анонсирующей маршрут, или маршрут, полученный от соседнего узла (в том случае, когда AS увеличивает длину маршрута для входящих обновлений). Добавление какого-либо другого номера AS вводит систему в заблуждение и может привести к образованию петель маршрутизации или "черных дыр". Обратите внимание на точку в рис. 6.23, где происходит вставка фиктивных номеров.

Фильтрация маршрутов и управление атрибутами

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

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

См. в главе 11 раздел "Фильтрация маршрутов и управление атрибутами"

Фильтрация используется также на уровне протокола для того, чтобы ограничить "перетекание" обновлений маршрутов из одного протокола в другой. Ранее в этой главе мы обсуждали как возможность вложения BGP-маршрутов в IGP, так и IGP-маршрутов, а также статических маршрутов в BGP. Согласно терминологии Cisco, это называетсяпреобразованием (redistributing) маршрутной информации между протоколами. В этой главе мы также обсудим опасные последствия взаимного преобразования маршрутов между протоколами. Фильтрация необходима для точного определения информации, поступающей от BGP в IGP, и наоборот.

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

Входная и выходная фильтрация

Рис. 6.24. Пример входной и выходной фильтрации

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

С точки зрения обмена маршрутами между BGP-узлами, входная фильтрация указывает на то, что спикер BGP отсеивает маршрутную информацию, поступающую от других узлов, а при выходной фильтрации ограничения налагаются на маршрутную информацию, распространяемую самим спикером BGP другим узлам. Фильтрация выполняется одинаково, независимо от того, идет ли речь о внешних (EBGP) или о внутренних(1BGP) BGP-узлах.

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

Фильтрация и управление маршрутами

При фильтрации и управлении маршрутом иди набором маршрутов выполняется три основных действия.

1. Идентифицирование маршрутов.

2. Разрешение или запрещение работы с маршрутами.

3. Внесение изменений в атрибуты.

В оборудовании Cisco применяются списки разрешения доступа (access lists), списки префиксов (prefix lists) или списки разрешения доступа по заданному маршруту (as-path access lists) только для фильтрации. Также в оборудовании Cisco используется концепция карт маршрутов для фильтрации и для выполнения манипуляций с атрибутами. Карты маршрутов подробно обсуждаются в главе 11.

Идентификация маршрутов

Идентификация маршрутов - это установление критерия, по которому можно отличить один маршрут от другого. Подобный критерий может быть определен на основе префикса IP маршрута; автономной системы, сгенерировавшей маршрут; списка AS, через которые пролегает маршрут; значения атрибута маршрута и т.д. Список критериев включается в правила фильтрации, и маршрут сравнивается с первым критерием в списке. Если маршрут не соответствует первому критерию в списке, то он помечается как протиBGPечащий первому критерию в списке. Если маршрут соответствует критерию, он считается идентифицированным и не проверяется на соответствие другим критериям.

Если же маршрут при сравнении не соответствует ни одному из критериев, заданных

в списке, то он отвергается.

В общем случае идентификация маршрутов проводится на основе информации сетевого уровня о доступности сети (Network Layer Reachability Information - NLRI), атрибута AS_PATH или на основе обоих этих критериев. Каждый из этих методов идентификация более подробно описан в последующих разделах.

Идентификация маршрутов на основе NLRI

Маршрут BGP можно идентифицировать с помощью блока NLRI, который представляет собой префикс и маску (см. главу 4). Для выполнения фильтрации можно задавать отдельный префикс или диапазон префиксов. Если маршрут входит в диапазон разрешенных префиксов, то он будет идентифицирован.

См. в главе 11 раздел "Идентифицирование и фильтрация маршрутов на основе

На рис. 6.25 представлен критерий фильтрации 10.1.0.0 0.0.255.255, который действителен для диапазона маршрутов, идентифицированных префиксом 10.1.0.0 и инверсной маской 0.0.255.255. Нули в маске указывают на соответствие маршрута, в то время как единицы обозначают бит, который не анализируется при фильтрации. Таким образом, диапазон 10.1.0.0 0.0.255.255 будет идентифицировать все маршруты от 10.1.Х.Х. Вместе с префиксами, приведенными на рис. 6.25, фильтр будет идентифицировать маршруты 10.1.1.0/24, 10.1.2.0/24 и 10.1.2.2/30 и отвергать маршруты 11.2.0.0/16 и 12.1.1.0/24. Фильтрация, основанная на префиксах, более детально будет рассмотрена в последующих главах.

Рис. 6.25. Пример критерия фильтрации на основе NLRI

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

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

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

Идентификация маршрутов на основе атрибута AS_PATH

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

к заданной BGP-системе. Сам по себе список - это строка символов из следующего набора:

Цифры от 0 до 9

Пробелы

Левая фигурная скобка {

Правая фигурная скобка }

Левая скобка (

Правая скобка)

Начало ввода строки

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

Точка.

Например, список атрибута AS_PATH 10 2 в действительности состоит из символа начала ввода строки, за которым следуют символы 1 и 0, пробел и символ 2. И завершает строку символ конца ввода строки.

Ш См. в главе 11 на с. 288 раздел "Идентифицирование и фильтрация маршрутов на основе атрибута AS_PATH"

Идентификация маршрутов по списку AS_PATH заключается в его сравнении с

нормальным выражением (regular expression). Нормальное выражение представляет собой комбинации символов, представленных формулой вида Л 200 100$. Подобное нормальное

выражение представляет собой список, который начинается с 200, далее следует пробел и список заканчивается значением 100. Символы Л и $ обозначают, соответственно, начало и конец ввода строки.

Примечание

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

Разрешение и запрещение маршрутов

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

Управление атрибутами

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

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

Заметим, что в каждом случае могут применяться один или несколько критериев. Маршрут может проверяться по префиксу и по атрибуту AS_PATH. Например, для того, чтобы была разрешена работа по нему, он должен соответствовать всем заданным критериям.

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

Рис. 6.26. Пример фильтрации маршрутов и управления их атрибутами

Односимвольные выражения

В односимвольных выражениях маршрутная информация сравнивается с одним символом. Нормальное односимвольное выражение вида 3 осуществляет сравнение с символом 3 в строке ввода. Имеется возможность задания диапазона одиночных символов, с которыми должно проводиться сравнение. Диапазоны таких символов заключаются в квадратные скобки (). Порядок расположения символов внутри диапазона не имеет значения. Например, нормальное выражение, состоящее из диапазона символов , будет проверяться на совпадение с любым символом из заданного диапазона. Так, при задании строк, содержащих "hello" и "there", выясняется, что обе они соответствуют нормальному выражению, так как содержат символ е.

Диапазоны символов ограничиваются конечной точкой диапазона. Например, можно

задавать диапазоны , которые охватывают все маленькие буквы от а до z и все цифры от 0 до 9, соответственно.

Задавая знак вставки (Л ) в начале диапазона, можно отменять или отрицать соответствие той или иной записи правил фильтрации. Так, например, диапазон [^a-dA-D] будет проверяться на соответствие любым символам, кроме а, Ь, с, d, А, В, С и D. Некоторые символы, такие как знак доллара $ и знак подчеркивания _, имеют специальное назначение (табл. 6.4).

Чтобы специальные символы воспринимались как часть вводимой строки, ставьте перед ними обратный слеш (\). Например, диапазон будет означать, что анализу подвергаются строки, содержащие символы а, Ь, с и $. В табл. 6.4 представлены специальные символы, применяемые в нормальных выражениях.

Таблица 6.4. Cneциальные символы для нормальных выражений

Название символа

Специальное значение

Соответствует всем символам, включая пробел

Звездочка

Соответствует 0

и более выражений

Знак плюс

Соответствует 1

или более выражений

Знак вопроса

Соответствует 0

или более встречающихся выражений

Знак вставки

Соответствует началу строки. Также используется для

инвертирования выражения, если используется внутри

диапазона символов - например [^диапазон]

Знак доллара

Соответствует концу строки

Подчеркивание

Соответствует точке (.), правой ({) и левой (})

фигурным скобкам, а также правой и левой обычным

скобкам, символам начала и конца строки или пробелу

Квадратные скобки

[диапазон]

Определяет диапазон символов в выражении

Разделяет конечные точки диапазона

Многосимвольные выражения

Многосимвольные нормальные выражения представляют собой упорядоченную последовательность односимвольных выражений. Выражение может быть комбинацией букв, цифр, других символов и символов специального назначения. Ниже приведен пример нормального многосимвольного выражения: 100 1. Это выражение анализируется на соответствие строке, в которой имеется последовательность100, затем пробел, затем 1 и любая цифра от 0 до 9. Таким образом, нормальному выражению будут соответствовать любые из строк: 123 100 10 11,100 19 или 19100 11 200 и т. д.

Создание комплексных нормальных выражений

Для создания комплексных нормальных выражений широко используются специальные символы, представленные в табл. 6.4. Знаки вставки (^) и доллара ($) используются для обозначения начала и конца строки. Другие символы, такие как звездочка (*), знак плюс (+) и знак вопроса (?), позволяют повторять определенные символы внутри нормального выражения.

В приведенном примере отражается соответствие любых сочетаний буквы а, включая ее отсутствие:

а* эквивалентно любому из выражений вида: (пусто), а, аа. ааа, аааа и т.д.

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

а+ эквивалентно выражениям а, аа, ааа, аааа и т.д.

В этом примере представлен список, который может содержать, а может и не содержать букву а:

ba?b эквивалентно выражениям bb или bab.

Для повторения записи в многосимвольном выражении оно заключается в круглые скобки. Например, выражение (ab)+ эквивалентно ab или abab.

Символ подчеркивания (_) соответствует символам начала (Л ) и конца ($) строки, символам скобок, пробелу, квадратным скобкам, точке или самому себе. Символ точки (.) соответствует одиночному символу, включая простой пробел. На рис. 6.27, в табл. 6.5 и 6.6 показано, как символы могут сопрягаться друг с другом при создании нормального выражения.

Давайте рассмотрим топологию сети, представленную на рис. 6.27. Автономные системы AS400, AS300, AS200, AS100 и AS50 генерируют маршруты в сети А, В, С, D и Е, соответственно. Маршрутизатор RTA в AS50 получает сведения обо всех маршрутах в эти сети от соседних систем - AS 100 и AS300. После инициализации процесса принятия решения в BGP маршрутизатор RTA подбирает наилучший маршрут к этим сетям согласно табл. 6.5.

Рис. 6.27. Пример топологии сети для создания комплексного нормального выражения

Таблица 6.5 . Выбор наилучшего BGP-маршрута для маршрутизатора RTA

Значение AS_PATH

В табл. 6.6 представлены нормальные выражения, которые можно было бы использовать при фильтрации маршрутов, объявляемых маршрутизатором RTA для NAP.

Таблица 6.6 . Выражения и результаты их воздействия

Маршруты, объявляемые в

Выражение

Маршрутная

Результат

NAP маршрутизатором RTA

информация

воздействия

Только локальные маршруты

Все маршруты

Все маршруты

Сеть А, Сеть В,

Сеть С, Сеть D,

Маршруты, сгенерированные

Сеть В, Сеть D

непосредственно клиентами

Маршруты из сетей клиентов и

Сеть А, Сеть В,

их клиентов

Сеть С Сеть D

Маршруты, сгенерированные

Маршруты, прошедшие через

Сеть С, Сеть D