Cisco IOS

Cisco IOS
FejlesztőCisco Systems
Forráskódzárt forrású
Stabil verzió15.1(4)M2[1]
(2011. szeptember 27.)
Fejlesztői verzió15.2(1)T1[2]
Frissítés2011. szeptember 23.
HardverA Cisco útválasztók és Catalyst hálózati kapcsolók többsége
Felhasználói felületCLI
Státuszaktív
WeboldalCisco IOS

A Cisco IOS (eredetileg Internetwork Operating System) a jelenlegi Cisco útválasztók és hálózati kapcsolók túlnyomó többségén használt szoftver. Az IOS egy útválasztó, kapcsoló, hálózatokat összekapcsoló és telekommunikációs funkciókat megvalósító csomag, amely egy több feladat egyidejű megoldására alkalmas operációs rendszerrel van integrálva.

Az IOS parancssori interfész (CLI – Command Line Interface) többszavas parancsok fix készletét biztosítja – az elérhető készletet a „mode” és az aktuális felhasználó jogosultsági szintje határozza meg. A „Global Configuration Mode” olyan parancsokat ad, amellyel megváltoztatható a rendszer konfigurációja, az „interface konfigurációs mód” által biztosított parancsokkal pedig meg lehet változtatni a specifikus interfész konfigurációját. Minden parancshoz egy jogosultsági szint van rendelve, 0–tól 15–ig, amelyek csak a szükséges jogosultságokkal érhetők el a felhasználók által. A parancssori interfészen keresztül elérhető parancsokat a jogosultsági szintek határozzák meg.

Verziókezelés

[szerkesztés]

A Cisco IOS verziószáma három számból és néhány betűből áll, általános alakban a.b(c.d)e, ahol:

  • a főverziószám.
  • b alverziószám.
  • c a kiadás száma, amely 1-gyel kezdődik, és az új kiadásokkal növekszik az a.b sorozat kiadásaival megegyezően.
  • d (az általános kiadásoktól függetlenül) az átmeneti build száma.
  • e (nulla, egy vagy két betű) a kiadott sorozat azonosítója, ami lehet üres (az éppen aktuális fejlesztési vonal (mainline) jelöli ki, lásd lejjebb), T (technológiai), E (vállalati), S (szolgáltatói), XA egy speciális funkciójú sorozat, XB egy másik speciális funkciójú sorozat, stb.

Rebuilds: Egy rebuild verziót gyakran egy adott IOS verzió egyszerű, speciális problémájának vagy sebezhetőségének javítására adnak ki. Például a 12.1(8)E14 egy rebuild, a 14 jelöli a 12.1(8)E 14-dik rebuild-jét. A rebuild-ok arra szolgálnak, hogy vagy gyorsan javítsanak egy hiányosságot, vagy eleget tegyenek olyan felhasználóknak, akik nem akarnak későbbi főverzióra frissíteni, mert kritikus infrastruktúrát futtathatnak az eszközeiken, és ezért inkább szeretnék minimalizálni a változtatást és a kockázatot.

Ideiglenes kiadások: általában heti rendszerességgel készülnek, és egy éppen aktuális fejlesztési feladatot valósítanak meg. A Cisco támogató weboldala adhat egynél több lehetséges ideiglenes megoldást is egy kapcsolódó kérdésre (ennek oka általános körben nem ismert)

Karbantartási kiadások: szigorúan tesztelt kiadások, melyek fejlesztésekkel és hibajavításokkal állnak rendelkezésre. A Cisco javaslata szerint érdemes feltelepíteni a Karbantartási kiadásokat, ahol lehet, az Ideiglenes és Rebuild kiadásokon felül.

Sorozatok

[szerkesztés]

A Cisco IOS kiadásai különböző „sorozatokra” (train) oszthatók, amelyek különböző szolgáltatások készleteit tartalmazzák. A sorozatok nagyjából a Cisco által megcélzott elkülönült piacokat és felhasználói csoportoknak felelnek meg.

  • A mainline sorozat a cég által kínált legstabilabb kiadás, működési ideje alatt szolgáltatásai nem bővülnek, a frissítések csak hibajavításokat céloznak. A megelőző technológiai sorozat képezi forrását az éppen aktuális mainline sorozatnak, például a 12. 1T – es sorozat lesz az alapja a 12. 2 mainline-nak. Ezért ha meg akarjuk határozni az elérhető szolgáltatásokat egy részleges mainline kiadásban, akkor az előző T sorozatú mainline kiadást kell nézni.
  • T – technológiai sorozat; a hibajavítások mellett új szolgáltatásokat is kap az életciklusa alatt, emiatt potenciálisan kevésbé stabil a mainline sorozatnál. A 12. 0 verziót megelőző Cisco IOS kiadásokban a P jelölte a technológiai sorozatot. A Cisco nem javasolja a T sorozat termelési környezetben való használatát, kivéve, ha sürgősen implementálni kell egy T sorozathoz tartozó új IOS szolgáltatást.
  • S – szolgáltatói sorozat; csak a cég core router termékein fut, és kifejezetten a szolgáltatást nyújtó vásárlókra van szabva.
  • E – vállalati sorozat; vállalati környezetben való implementálásra van szabva.
  • B – széles sávú sorozat; támogatja az internetalapú széles sávú szolgáltatásokat.
  • X - XA, XB...speciális funkciójú sorozatok.

Időről időre a speciális igényeknek tervezett sorozatok jelennek meg, például a 12.0AA sorozat a Cisco AS5800 terméke számára szükséges programkódot tartalmazott.

Csomagok / Szolgáltatáskészletek

[szerkesztés]

A legtöbb Cisco terméken futó IOS rendelkezik egy vagy több „szolgáltatáskészlettel” vagy „csomaggal”; tipikusan nyolc csomag van a Cisco routereknek és öt csomag a Cisco hálózati switcheknek. Például a Cisco IOS kiadások Catalyst switcheken való használata elérhető volt „standard” verziókban (csak alap IP-útválasztást biztosítva), „javított” verziókban teljes IPv4 útválasztási támogatással, és „fejlett IP szolgáltatások” verziókban, amely kiterjesztett szolgáltatásokat adott, mint az IPv6-támogatás.

Az egyes csomagok megfeleltethetők egy-egy szolgáltatás kategóriának, úgy, mint:

  • IP adat
  • Konvergált hang- és adatátviteli
  • Biztonság és VPN

További információkért a Cisco IOS csomagkezeléséről lásd a White Paper: Cisco IOS Reference Guide oldalt. Egy bizonyos funkció eléréséhez szükséges pontos szolgáltatáskészlet meghatározható a Cisco Feature Set Browser használatával. Az 1900-as, 2900-as és 3900-as szériaszámú ISR routerektől kezdődően a Cisco átvizsgálta az IOS licence modelljét. A routerek telepített IP bázissal jelennek meg, és további szolgáltatáscsomag licenceket lehet telepíteni, hogy kiterjesszék az eszköz szolgáltatásait. Az elérhető szolgáltatáscsomagok a következők:

  • Adat – olyan szolgáltatásokat biztosít, mint BFD, IP SLAs, IPX, L2TPv3, Mobile IP, MPLS.
  • Biztonság – olyan szolgáltatásokat ad hozzá, mint VPN, Firewall, IP SLAs, NAC.
  • Egységes közösségek – olyan szolgáltatásokat ad hozzá, mint CallManager Express, Gatekeeper, H.323, IP SLAs, MGCP, SIP, VoIP.

Architektúra

[szerkesztés]

A Cisco IOS összes verziójában elkülönülnek az útválasztási és csomagtovábbítási funkciók. Az útválasztás és egyéb protokollok Cisco IOS folyamatokként futnak és közreműködnek egy útválasztási információs bázisban /Routing Information Base (RIB)/. Ez a feldolgozás után generál egy végső IP továbbítási táblát (FIB, Forwarding Information Base), amelyet a router továbbítási funkciója használ fel. A csak szoftveres továbbítással ellátott routereken (mint például a Cisco 7200) a forgalom kezelése, beleértve a hozzáférés-vezérlési lista szűrését és továbbítását, a megszakítások szintjén történik Cisco Express Forwarding (CEF)-t vagy dCEF (Distributed CEF)-t használva. Ez azt jelenti, hogy az IOS-nek nem kell kontextust váltania egy csomag továbbításához. Az olyan útválasztási funkciók, mint az OSPF vagy BGF a folyamatok szintjén futnak. Az olyan hardver alapú továbbítással rendelkező routereken, mint a Cisco 12000 sorozat, a szoftveren belül számolja az IOS a FIB-et, majd ezt betölti a hardveres továbbító részbe (mint például egy ASIC vagy hálózati processzor), amely végrehajtja az aktuális csomagtovábbítást.

A Cisco IOS-nek „monolitikus” architektúrája van, ami azt jelenti, hogy egyszerű képként fut, és minden folyamata ugyanazon a memóriaterületen osztozik. A folyamatok között nincs memóriavédelem, ami azt jelenti, hogy az IOS kódjában lévő hibák miatt potenciálisan más folyamatok adatai is sérülhetnek. A rendszer nem preemptív, hanem „végigfuttatási ütemezővel” bír, ami azt jelenti, hogy a kernel nem szakítja meg a futó folyamatot, hanem annak kell egy kernelhívással visszaadnia a vezérlést, hogy más folyamatok is futhassanak. Az olyan Cisco termékek számára, amelyeknél elvárt a nagyon magas hozzáférhetőség, mint például a Cisco CRS-1, ezek a korlátozások nem voltak elfogadhatóak. Azonban az IOS után 10-20 évvel megjelenő versenyképes router operációs rendszereket, mint például a Juniper JUNO-ja, úgy tervezték, hogy ne tartalmazzon ilyen korlátozásokat. Erre a Cisco válasza az volt, hogy fejlesztenek egy új verziójú Cisco IOS-t, ezt IOS XR-nek nevezték el, amely olyan funkciókat kínált, mint modularitás és memóriavédelem a folyamatok között, könnyű folyamatszálak, megelőző ütemezés és képes legyen önállóan újraindítani a nem sikeres folyamatokat. Az IOS XR egy harmadik féltől származó valós idejű operációs rendszer mikrokernelt (QNX) használ, és az IOS kód nagy részét újraírták, hogy kihasználják az új kernel által kínált szolgáltatások előnyeit. A mikrokerneles architektúrában a kernelből kivettek minden olyan folyamatot, amelyeknek nem volt szükségszerű a kernelben futni és alkalmazásszinten futtatják őket. Ezzel a módszerrel az IOS XR képes teljesíteni az új router platform által elvárt magas hozzáférhetőséget. Így az IOS és az IOS XR nagyon különböző kódbázissal rendelkezik, bár a funkcionalitásban és kivitelezésben hasonlóak. 2005-ben a mutatta be a Cisco az IOS XR-t a Cisco 12000-es platformon, kiterjesztve a mikrokernel-architektúrát a CRS-1-től a Cisco széles körben alkalmazott core routeréig.

2006-ban a Cisco kiadott egy Cisco Software Modularityt, amely kiterjeszti a QNX mikrokernelt egy hagyományos IOS környezetben, de biztosítva a szoftverbővítési lehetőségeket, ha a vásárlók igénylik. Ez jelenleg a Cisco 6500 vállalati switchen érhető el.

Biztonság és sebezhetőség

[szerkesztés]

A Cisco IOS is sebezhetőnek bizonyult a puffertúlcsordulások és más operációs rendszereket és alkalmazásokat sújtó egyéb problémák tekintetében.

Mivel az IOS-nek bizonyos esetekben szüksége van kódolatlan jelszavakra (például CHAP hitelesítés), az alapértelmezetten a CLI-be begépelt jelszavak hashelése gyenge, például ’Type 7’ típusú hash, úgy, mint a „Router (config)#username jdoe password 7 0832585B1910010713181F” esetében. Ennek célja, hogy megelőzze a váll fölött átleséses („shoulder-surfing”) típusú támadásokat, amikor nem biztonságosos helyzetben nézzük a router konfigurációját, de könnyen visszafejthetők egy 1995-től elérhető szoftver, a „getpass” segítségével, bár a router „key chain” parancsával dekódolja a jelszavakat és a 7 típusú jelszóval mint kulcs léptet be, amelyet ezután kiad a „show key” parancsra; a fenti példa „stupidpass” – ként van visszafejtve. A program azonban nem fogja visszafejteni az 5 típusú jelszavakat vagy jelszókészleteket egy titkos parancs segítségével, amely salt-olt MD5 hashet használnak.

Megjegyzés: A Cisco azt javasolja, hogy az összes Cisco IOS-t használó eszközön implementálják az AAA protokollt (authentication, authorization, and accounting – autentikáció, autorizáció, naplózás). Az AAA használhat helyi, RADIUS és TACACS+ adatbázisokat. Vészhelyzet esetére azonban továbbra is szükség lehet helyi felhasználóra.

Jegyzetek

[szerkesztés]

Fordítás

[szerkesztés]
  • Ez a szócikk részben vagy egészben a Cisco IOS című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.