Неделя, Декември 28, 2008

4 байтови автономни системи - Що е то?

Повечето хора, които се занимават с мрежова администрация и имат собствена AS( автономна с-ма) знаят, че ASN (номер на автономната с-ма) е 16 битово число от 0 – 65535 (16 бита всъщност са 65536). Като ASN от 64512 до 65534 са резервирани за частно ползване (като частните IP адреси, описани в rfc 1918). А ASN 23456 e пряко свързан с новите 4 байтови ASN и за него ще стане въпрос малко по-надолу. Имайки това в предвид лесно можем да стигнем до извода, че валидните ASN на практика са 64 510. Като за момента глобално алокираните, тези които се използват са 49 150, което значи че ефективният остатък е 15 360 - крайно недостатъчен брой, имайки предивд с какви темпове се разраства глобалната мрежа.

За щастие умните глави от IETF са измислили как да се предотврати евентуален недостатък и са измислили нов начин за представяне на ASN, а именно - 4 байтови ASN, които дават ефективен брой ASN = 2^32 ~ 4,3 милиарда - достатъчен брой за поне 60-70 години напред. И тук е моментът да вметна нещо - докато от IP адрес се нуждае всеки, който иска да се свърже към интернет, то от AS се нуждаят само доставчиците, които имат пуснато BGP.

Да се върнем на въпроса - ако 2 байтовите ASN са от 0 - 65535, а 4 байтовите от 0 до 4294967295, то е логично да се зачудим как всъщност се прави разлика м/у "старите" и "новите" ASN, тъй като "новите" на практика съдържат "старите" (малко объркано...). На практика има 3 начина да се записват ASN:

  • asplain - най-простият - всички числа си се записват десетично, както си му е реда, от 0 до 4294967295.
  • asdot+ - тази парадигма разбира номерата на low-order и high-order 16-битови стойности, разделени от точка. Пример - 2 байтовата автономна система 3145 може да бъде записана като high-order стойноста е 0, а low-order е самото число, тоест 0.3145. Аналогично 32987 ще бъде 0.32987. До тук всичко би трябвало да е ясно. Интересният момент идва със автономни системи, които са по-големи от 65535. Например как бихме представили 65536 - число, което е по-голямо от това което можем да представим с low-order стойността. Тук вече се намесват и high-order стойностите, които представляват множители. Тоест 65536 ще представим като 1.0. Тоест автономна система 1.0 = 1 * 65536 + 0 = 65536. В този ред на мисли автономна система 131322 ще представим като 2.250 = 2 * 65536 + 250. Мисля че стана ясно.
  • asdot - това на практика е микс от предните 2. Всички автономни системи от 0 - 65535 се записват десетично, а всички които са по-големи се записват по asdot+ парадигмата.
До тук смятам да спра. В някоя от следващите публикации ще засегна въпроса какви точно промени са направени по самият BGP протокол, за да може да се използват "новите" автономни системи.

Всякакви коментари и градивна критика са добре дошли.

Ps/1



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

LordDoskias, 2008
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Bulgaria License.