Малко за производителността на мрежовото оборудване на Cisco

мрежовото

Под производителност имаме предвид пропускателната способност на устройството, измерена в Mbps. Тестовият стенд се състоеше от два лаптопа с инсталирана програма iPerf3. Методът на теста е доста прост. iPerf3 беше стартиран в режим на прехвърляне на TCP пакети. Използвани са 5 потока. Не си поставих за цел да определям реалната производителност на устройствата. За тази задача е необходимо по-сложно оборудване, тъй като е необходимо да се пресъздадат моделите на трафик на реална мрежа. Да, и ще е необходимо да се измери броя на обработените пакети. Нашата основна задача беше да оценим влиянието на използването на различни услуги върху работата на устройството, както и да сравним резултатите, получени на различни устройства. Така избраните инструменти на пръв поглед изглеждаха доста подходящи за задачите.

Cisco Integrated Services Router (ISR) поколение 1 и 2

Като начало бяха извадени от кутията два по-млади маршрутизатора Cisco 871 и 881. Това са рутери от различни поколения (871 по-стари - G1 и 881 по-нови - G2), които обикновено се поставят в малки офиси, например в отдалечени клонове на компанията.

Изследваните рутери имат сходни характеристики по отношение на софтуерната и хардуерната архитектура: операционната система е Cisco IOS, „мозъкът“ на устройствата е SoC MPC 8272 в 871 и SoC MPC 8300 в 881.

Тестването повлия на маршрутизирането на трафика (L3 превключване) на базата на CEF и Process Switching. И двата режима на работа на изследваните устройства са софтуерна обработка на пакети. Разликата е как рутерът решава къде да изпрати пакета. В случай на превключване на процеси, рутерът определя за всеки пакет къде да го изпрати и формира / модифицира необходимите заглавки вв рамките на отделен процес, базиран на таблицата за маршрутизиране и L2 таблици. Има така наречената процесорна обработка. В случай на CEF, рутерът използва предварително специално подготвени таблици FIB (префиксна таблица) и Adjacency (таблица с данни за съседи), което може значително да намали натоварването на процесора и да увеличи скоростта на обработка на пакети вътре в устройството.

За по-визуално сравнение данните за различни устройства са нанесени на една графика (Фигура 1).

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

Нека отбележим основните точки:

  1. Тъй като интерфейсите на устройствата са от типа FastEthernet, максималната пропускателна способност от точка до точка, получена чрез iPerf3, не надвишава 95 Mbps. В същото време натоварването на процесора за някои режими на тестване не достигна пиковите си стойности, което означава, че цифрата от 95 Mbps за тези рутери не е границата.
  2. Рутерът 881 изглежда по-добре, тъй като има по-усъвършенствано хардуерно пълнене (на първо място, процесор с общо предназначение, след това CPU).
  3. Както може да очаквате, виждаме забележимо влошаване на производителността, когато услугите са активирани.
  4. Когато CEF е деактивиран, имаме значително намаляване на производителността, тъй като рутерът започва да обработва всеки пакет по неоптимален начин.
  5. Активирането на опцията за регистриране в ACL води до увеличаване на натоварването на устройството (използване на процесора в този случай е 99%), което се отразява негативно на производителността. Това се дължи на факта, че опцията log принуждава рутера да обработва всеки пакет, който попада в маркираната линия на ACL в режим Process Switching, което значително увеличава натоварването на процесора.
Предлагам да разгледаме по-подробно натоварването на процесора в случай на маршрутизиране в режим CEF и превключване на процеси. Маршрут доCEF режим:

Общото използване на процесора е 47%. От тях 42% се изразходват за обработка на прекъсвания, причинени от предаването на пакети. Има два вида прекъсвания на предаване на пакети: прекъсване на получаване и прекъсване на предаване на пакет. Прекъсването при получаване на пакет се инициира от интерфейсния процесор, когато пакетът е получен през интерфейса на рутера и е готов за обработка. При получаване на такова прекъсване процесорът спира да обработва текущите процеси и започва да обработва пакета. Тъй като CEF режимът е активиран, процесорът решава къде да изпрати пакета въз основа на CEF таблиците (FIB и Adjacency) по време на прекъсването. Тези. не е необходимо да изпраща пакет за процесорна обработка, което означава, че мощността на процесора е значително спестена. В резултат на това само 5% от използването на процесора се изразходва за процеси в рутера. Прекъсване за изпращане на пакет се изпраща към процесора, когато пакет е изпратен от интерфейсния процесор надолу по комуникационния канал. Централният процесор отговаря на това прекъсване, като актуализира броячите и освобождава паметта, разпределена за задържане на пакета. По отношение на приноса към общото натоварване на устройството, това прекъсване е по-малко интересно.

Маршрутизиране в режим на превключване на процеси:

Също така ще бъде интересно да разгледаме използването на процесора в случай на ACL с опцията за регистриране.

Опцията за дневник в ACL принуждава рутера да изпраща всеки пакет към процесора, което, както в предишния пример, е високото използване на процесора на процеса на въвеждане на IP.

Нека сега да разгледаме такова устройство като защитната стена Cisco ASA 5505. Можем да кажем, че ASA 5505 е устройство, подобно на маршрутизатора Cisco 881 по отношение на позиционирането (за малки офиси и клонове). Тези устройства са приблизително в същия ценови сегмент и имат относително сходни хардуерни спецификации.ASA 5505 използва процесор AMD Geode с тактова честота 500 MHz. Най-голямата разлика е операционната система. ASA 5505 използва ASA OS. Говорихме за разликите между рутерите и ASA по отношение на функционалността в отделна статия. Нека сега да разгледаме ефективността на ASA и влиянието на различните услуги върху нея.

малко

От диаграмата се вижда, че пропускателната способност на ASA 5505 във всички режими на работа е ограничена само от техническите аспекти на стойката. Освен това, ако разгледаме натоварването на процесора, то за всички опции е почти идентично:

Могат да се направят следните изводи:

  1. С относително сходна цена и хардуерни параметри, ASA 5505 осигурява по-добра производителност от 881 рутер.
  2. Ефективността на ASA е практически независима от услугите (във всеки случай не беше възможно да се идентифицира в рамките на този стенд).
  3. Опцията за регистриране (log) в ACL не води до влошаване на производителността. Поради тази специфична реализация на функцията за маршрутизиране в устройството.
По този начин ASA OS изглежда по-балансирана по отношение на въздействието на услугите върху производителността на устройството.

Продължавай. Предлагам да разгледаме как стоят нещата с влиянието на услугите върху производителността на маршрутизаторите Cisco ISR 4000. Това е най-новата линия маршрутизатори на Cisco за малки и средни инсталации. Както си спомняме, тези рутери използват операционната система Cisco IOS XE, която може да работи в многопоточен режим. По отношение на хардуера тези рутери използват многоядрени процесори.

И така получаваме от кутията най-младия Cisco ISR 4000 - 4321. Активираме лиценза за производителност на него, за да получим декларираната максимална производителност от 100 Mbps изапочваме да тестваме. Важно е да се отбележи, че рутерите ISR 4000 винаги използват шейпър, който ограничава максималната производителност на устройството. Използват се два прага: основна (за 4321 е 50 Mbps) и разширена (за 4321 е 100 Mbps; активира се с лиценз за изпълнение) производителност. Тази схема на работа е насочена към получаване на предсказуеми стойности на производителността на устройството, като не му позволява да се „задуши“ от голямо количество трафик.

Първо, тестваме ефективността на чистото маршрутизиране в режим CEF без допълнителни услуги. Стартирайте iPerf3 и получете 95 Mbps. очакван. В този момент разглеждаме натоварването на процесора:

Това е резултатът! Използване на процесора 1%. Готино! Но не всичко е толкова перфектно. Разбирането на този феномен идва след по-подробно проучване на спецификата на IOS XE.

IOS XE е операционна система, базирана на Linux, внимателно променена и оптимизирана от доставчика. Традиционната операционна система Cisco IOS работи като отделен Linux процес (IOSd). Най-интересното е, че в IOS XE имаме отделен основен процес, който изпълнява функциите на равнината на данните. Тези. имаме ясно разделение на нивото на управление и данни на програмно ниво. Процесът, отговорен за контролната равнина, се нарича linux_iosd-imag. Това всъщност е познатият ни IOS. Процесът, отговорен за равнината на данните, се нарича qfp-ucode-utah. QFP, познато? Веднага си спомняме мрежовия процесор QuantumFlow Processor в рутерите ASR 1000. Тъй като IOS XE първоначално се появи на тези рутери, процесът, отговорен за предаването на пакети, получи съкращението qfp в името си. В бъдеще, за ISR 4000, очевидно те не са променили нищо, с единствената разлика, че в ISR 4000 QFP евиртуален (работи на отделни ядра на процесор с общо предназначение). В допълнение към озвучените процеси, в IOS XE има и други спомагателни процеси.

По този начин, за да видим колко мощност на процесора е заредена, анализираме изхода на следните специфични за IOS XE команди:

Нашият рутер използва четири ядра (CPU 0, 1, 2 и 3). Командата ни позволява да получим информация за изтеглянето на всеки от тях.

Можете да видите хардуера на рутера, като покажете стандартна информация за Linux от файла dmesg: more flash:/tracelogs/dmesg.

Процесор, използван в ISR 4321: CPU0: Intel® Atom(TM) CPU C2558 @ 2,40 GHz степпинг 08

Следната команда ни позволява да видим използването на мощността на процесора от различни процеси:

В този пример IOS изяжда само 2%, а QFP изяжда 150% (което е еквивалентно на пълно изразходване на едно ядро ​​и половина).

И така, какво показва в крайна сметка командата „покажи процесите на процесора“? Той показва използването на vCPU, което е разпределено за IOSd процеса. Едно от процесорните ядра е разпределено за този процес на рутери ISR 4000.

От всичко това можем да заключим, че в IOS XE архитектурата за обработка на пакети се е променила значително в сравнение с конвенционалната IOS. IOS вече не обработва абсолютно всички пакети. Този процес обработва само онези пакети, които изискват процесорна обработка. Въпреки това IOS XE използва по-новия механизъм Fastpath, който реализира прехвърлянето на пакети за обработка на процесора чрез отделна нишка в IOSd, а не чрез прекъсвания. Прекъсвания в IOSd възникват само когато обработката чрез Fastpath не е възможна.

Представени са резултатите от тестана фигура 3. За по-голяма яснота стойностите на пропускателната способност (и те са еднакви за нас във всички случаи) и използването на процесора на QFP процеса са нанесени на една графика. Процесът на IOSd не е интересен поради факта, че във всички режими натоварването на виртуалния процесор в IOSd е минимално - 1%.

малко

По време на тестването не беше възможно да се установи зависимостта на производителността на рутера ISR 4321 от включването на услуги. Има леко увеличение в използването на процесора, но не много. Също така си струва да се отбележи, че активирането на опцията за дневник в ACL вече не води до драматично влошаване на производителността, тъй като пакетът не се изпраща до процесора.

На примера на няколко устройства от различни поколения и типове се опитахме да разгледаме как производителността зависи от включването на различни услуги. Като цяло получените резултати се вписват в известни досега факти. Америка не сме открили. Кратките заключения, получени в резултат на тестването, могат да бъдат формулирани, както следва:

  1. Има значително влошаване на производителността на ISR G1 и G2 рутери, когато услугите са активирани.
  2. Производителността на ASA се влияе по-малко от услугите. На сравнима цена с рутер получаваме повече производителност.
  3. Въздействието върху производителността на разрешаването на услуги на ISR 4000 е минимално.
Благодаря ви за вниманието. Надявам се, че малко информация от статията ще помогне при работата с оборудването на Cisco.