Как се класифицира трафика за да бъде след това подложен на селекция по скорост за клиент.
(Предварително се извинявам за грешките, които ще допусна при бърозото писане).
Понеже се навъдиха всякакви писачи по темата, които даже имат претенциите да препоръчват творенията си, искам да напиша как се решава задачата, известна сред ланаджиите-идиоти като разделяне на трафика на "peering" (да ви имам и понятията) и "международен" (въх!
'>. Точно идиотски са самоделните решения тип "ТНТМ"
Защо толкова малко хора си дават труда да седнат с лист и химикал и да поразсъждават така, както биха разсъждавали доставчиците, които събират трафика и го класифицират.
Какво значи локален канал (известен като "peering")? Повечето хора си представят едни безкрйно широки канали и по тях достъпват на висока скорост всичко българско. Това са пълни безмислици. Скоростта в самия български интернет е страшно неравномерно разпределена. Висока скорост има само там, където между доставчиците има напречна свързаност и то в рамките на населеното място. Пример е София, където всеки доставчик оперира през някоя от MAN средите и се свързва с другите формирайки виртуални LAN мрежи (VLAN). Дори и там скоростта на свързаност е обект на договорка и не е безгранична. Ако един клиент от Софийска мрежа реши да достъпи файлов съвър във Варна, нали никой не си прави заблуда, че това ще е с някаква висока скорост? Или пък торент сесия до клиент в Малко Търново ще е със скоростта, която ще има сесия с близкия съсед през два квартала? И после има обаждания от клиенти със съдържание "е нали е пиъринг това бе, защо нямам висока скорост". В момента положението е такова, че скоростта до мрежи в чужбина е по-висока от скоростта до повечето мрежи в провинцията.
И тук идват самоделките и мега техническите схеми на разни "специалисти", съгласно които има само два канала и клиентите биват разпределяни по скорост в тях. И веднага се вижда, че по единия канал се задава дефицит на трафик, който може да препълни дори дадено направление, да внесе в него загуби на пакети и да направи услугата "к'ъв да е Интернет". Това е така, защото хората, които правят подобни схеми и идея си нямат от топология. И после творят, че дори и продават подобна услуга (мега наглост!
'>, пишат статии и дори не ги е срам да си напишат името като автори на подобни идиотии.
Много от тях се измъкват с оправдание "ами то сега едното по-скъпо от другото", "ами то да работи там нещо" и подобни. Ето заради такъв начин на разсъждения в българското интернет пространство е пълен мрак, дерибейство и безпростветност. И после били обидени защо не им признавали "труда" и не им давали парички за това. Типична постсоциалистическа наглост - да правя каквкто мога, а да ми плащат както искам и да ме признават за баш тарикат. Прочели нещо от тук и там, въоръжили се с неумение да решават елементарни транспортни задачи и после "ау, ами то така сега, какво да направим, то не съм аз виновен, ами Пешо". Също така има оправдания "ами той моя доставчик така иска и аз затова такава идиотска схема правя" и т.н. Ами при прости клиенти (все LAN корифеи, знаещи и можещи, опъващи жици по дървета), големите доставчици се изхитряват да дават за много пари малко услуги. Като клиентът не изисква нещо, то не се предлага.
Ценово оправдание "ами едиия канал е по-скъп от другия" издиша от всякъде, защото ако се следва схемата на разделяне на скоростите, едното разделяне (това с т.нар. "peering") води до създаване на дефицит на скорост и следователно излиза, че по-скъпия канал е по-качествен (като параметри и най-вече ниво на загуби на пакети), а по-евтиния е много по-лош, защото в него има дефицитни откъм скорост направления, които не са покрити с политики за скорост (примерно по едно направление могат да дойдат не повече от 720 Kbps, а на "шейпъра" (велика българска думичка използвана от култовите администратори), сложен клас за 10 Mbps).
Това със списъка с "български" мрежи винаги ме е просълзявало от умиление. Разбира се, аз не мога да очаквам, че всички хора са наясно защо това, че една мрежа е описана с поле "country: BG" в RIPE DB (от където се извлича списъка), не я прави достъпна на висока скорост или дори не я прави "българска". Това по този списък да правиш извод за свързаността до дадена мрежа е признак на стрхотен дефицит от познания. Също така този списък не отчита и ценовата схема на каналите, защото има български мрежи, които продават трафика от и към тях на цени по-големи от тези, които са за Интернет (известен сред широките LAN маси като "международен" канал - канал между народите) - warez-и и не знам си какви още източници на филмчета, музика и кадри с голи какички и батковци.
***
Протоколите, чрез които се маршрутизират пакетите не знаят нищо за принадлежността на една мрежа към дадена държава. За BGP4 (основен маршрутизиращ протокол в момента), няма географски признаци, които той да следва. В него са заложени съвсем различни параметри.
За да не си губя времето с описание на нечия простотия, обяснявам как се извършва разпределението по скорости.
Нека аз съм краен разпределител за домашни клиенти. Аз купувам трафик от доставчик и искам той да ми класифицира канала чрез три виртуални LAN-а така. Първи канал (първи виртуален LAN) - Интернет, втори канал (втори виртуален LAN) - локален канал със скорост до точките му на терминиране не по-малка от 80 Mbps, трети канал (трети виртуален LAN) - локален канал със скорост до точките му на терминиране не по-голяма от 10 Mbps. При себе си имам три маршрутизатора, които получават през BGP сесията селектирани маршрутите за трите канала. Тези маршрутизатори са т.нар. "първи вал" в моята автономна система. Вторият вал маршрутизатори са тези при клиентските мрежи и всеки маршрутизатор от втория вал има по една сесия с всеки машрутизатор от първия вал. На маршрутизаторите от втория вал има само контрол на трафика касаещ вътрешната мрежа (превентори на полюции на трафика, защита от потоци с голяма плътност на пакетите и т.н.). На всеки маршрутизатор от първия вал се прави контрол на трафика за всеки клиент по даден канал. И това (ако маршрутизатора е с OS Linux), става само със селектор, без да се прави изобщо маркиране с iptables.
Може да се направи и по-сложна схема на селекция, но тази е достатъчно илюстративна. Може и да се разпредели натоварването по по-уместен начин, но горното стига да опише идеята.
Няма да описвам BGP community схемата при доставчка. Това е обект на различна дискусия и ако някой много иска, ще му бъде обеснено с примери.
***
И нека сега да не започваме по стар български обичай с оправдания от рода "ама то така скъпо, ама то много сложно и т.н.". Никой не е абониран да бъде доставчик и на никой не е гарантирано конституционно правото да бъде доставчик. Това, че е много модерно да доставяш свързаност към Интернет, а предишната или сегашна дейност да ти е месопреработване и продажба на коли втора употреба, изобщо не значи, че ти трябва да оцелееш като доставчик на свързаност. В момента всеки иска да е интернет доставчик, да купува евтинко каналите и да ги разпределя без особени схеми и усилия и да печели повечко. Доставчиците у нас са твърде много и 80% от тях са пълна скръб и трябва да фалират. Не може човек със съзнание на земеделец и скотовъд, да се занимава с мрежи. Хора с манталитет "аз съм админ, тука един леймъри дето не са чували ко туй слак ги мачкам и рулирам", да отварят по една сергия на женския пазар и да почват да се занимават с единственото нещо, което могат. Ето затова не ни взимат не сериозно в чужбина. Защото съм бил в три комисии за одит на телекомуникационни структури у нас и ме е срам от колегите ми от чужина, защото те са в шок от това, което виждат тук. И после този одит отива при инвеститора и той казва "за какво да инвестирам в България, като пазара им е кирлив, а "спациалистите" прости". И от догодина като почнат да идват у нас телекоми, те изобщо няма да се занимават да закупуват даден LAN. Ще пускат своя среда, ще предлагат своя услуга и ще мачкат с качество. На "мегаспециалистите" ще им остане само да си пият ракията и да псуват що сме в Европа и що по-кадърни от тях идват и им взимат клиентите.