Cisco IOS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: fix citazione web (v. discussione)
m apostrofo tipografico
Riga 4:
 
== Storia ==
La prima versione del sistema operativo fu pubblicata nel [[1984]] anno della fondazione stessa della Cisco, ma il suo sviluppo iniziò nel [[1980]] ad opera di un impiegato della Scuola di Medicina di [[Università di Stanford|Standford]], tale Bill Yaeger che aveva scritto un programma per collegare instradatori di diversi tipi di rete. In seguito lavorò fino al 1984 assieme ai fondatori della Cisco, Sandra Lerner e Len Boseck per migliorare il programma stesso. L’ultimaL'ultima versione del sistema operativo è del 2011 ed è indicizzata come la 15.1.
 
== Generalità ==
Riga 14:
Inoltre mette a disposizione varie funzioni di filtro dei pacchetti in base ad una [[Lista di controllo degli accessi|lista di controllo]] (''access-list'') e dei diritti nella modalità con cui si accede al sistema operativo.
 
Si distingue fra la configurazione base d’avviod'avvio (''startup-config''), conservata nella memoria non volatile e caricata automaticamente all’accensioneall'accensione e la configurazione corrente (''running-config'').
 
Le immagini del sistema operativo hanno una denominazione normalizzata per esempio ''c3000-js-l_121-3.bin'', in cui ''3000'' si riferisce al modello dell'instradatore.
Riga 22:
Attualmente ci sono anche delle interfacce grafiche e la possibilità di configurazione e monitoraggio del sistema tramite il [[protocollo di rete]] [[Simple Network Management Protocol|SNMP]], per quanto limitato ad alcune funzioni.
 
Esiste anche un programma clone dello IOS per normali calcolatori, [[Quagga (software)|Quagga]], che gira su [[Linux]], ne imita l’interfaccial'interfaccia a riga di comando e svolge funzioni di instradamento.
 
== Versioni ==
Riga 41:
Le varie serie del sistema operativo si distinguono per le loro potenzialità e rispecchiano necessità, possibilità e prospettive di sviluppo dei sistemi di rete locali e geografici per come le vede la ditta Cisco a livello di mercato.
 
La serie principale è progettata per essere la più stabile ed avanzata che la Cisco può offrire in un certo momento e le sue potenzialità non vengono estese per tutto il suo ciclo di vita. I relativi aggiornamenti rappresentano semplici correzioni degli eventuali errori presenti. L’ultimaL'ultima serie più avanzata, cosiddetta tecnologica (serie T) viene presa come base di partenza per la realizzazione della versione principale successiva: per esempio la versione tecnologica 12.1T è la base per la 12.2 principale. Per questo per determinare le potenzialità di una certa versione basta guardare alla serie T precedente.
 
La serie T è invece quella in cui vengono aggiunte sempre nuove potenzialità ed è parimenti la più esposta a falle, le cui correzioni vengono aggiunte durante tutto il ciclo di vita della versione. Prima della versione 12.0 la serie avanzata veniva indicata con una P.
Riga 66:
Su instradatori tipo il Cisco 7200 che hanno funzioni di inoltro basate solo su programmi e non su un instradamento “fisico” (elettronico, non informatico), la gestione del traffico, compreso il filtraggio della lista di controllo degli accessi ma anche la funzione di inoltro, viene eseguita con segnali di interruzione ([[interrupt]]) usando una funzione di inoltro rapido (CEF, ''Cisco Express Forwarding'') o distribuito (dCEF, ''distributed CEF''). Questo significa che lo IOS per inoltrare un pacchetto non ha bisogno di iniziare un processo fisico di commutazione. I protocolli di routing come OSPF o BGP girano a livello di processo utente.
 
Su instradatori con inoltro elettronico invece, tipo quelli della serie Cisco 12000, lo IOS calcola via hardware la tabella di inoltro FIB grazie ai circuiti elettronici dell’instradatoredell'instradatore stesso e la trasmette alla parte del dispositivo preposta all’inoltroall'inoltro vero e proprio dei pacchetti, quale un processore di rete o un ASIC.
 
Lo IOS ha un’architetturaun'architettura monolitica, ossia basata su una singola immagine dello stesso, contenuta nella memoria, nella quale operano tutti i processi. La memoria è quindi condivisa fra i processi e non c’èc'è alcuna forma di protezione dei loro singoli campi di memoria; se per un errore di programmazione un processo sconfina nel campo di memoria dell’altrodell'altro, si può avere un’alterazioneun'alterazione dei dati da trasmettere.
 
La memoria viene inoltre usata fin quando non viene occupata completamente, dato che il kernel non la svuota prima dell’iniziodell'inizio dell'esecuzione di un nuovo processo: il singolo processo deve effettuare una chiamata al kernel stesso prima che altri processi possano avere la possibilità di venir eseguiti.
 
Per i prodotti Cisco che offrivano una grossa disponibilità di tempo macchina, tipo il Cisco CRS-1, queste limitazioni erano inaccettabili e che mancava nei sistemi operativi della concorrenza emersi dalla metà degli anni novanta ad oggi, tipo lo JunOS della [[Juniper Networks|Juniper]]. La risposta della Cisco fu quella di sviluppare una nuova versione dello IOS chiamata IOS-XR, che offriva sia modularità che protezione di memoria fra i processi, istruzioni alleggerite, presvuotamento della memoria prima di ogni processo e capacità di riavvio indipendente dei singoli processi bloccatisi. Lo IOS-XR usa un microsistema operativo di base a risposta immediata (in tempo “reale”, ossia in brevissimo tempo utile) importato da un’altraun'altra ditta (QNX) cui si è dovuto riadattare gran parte del codice attuale dello IOS con un’operaun'opera massiccia di riprogrammazione. Questo microsistema operativo di base rimuove tutti i processi base che non siano effettivamente fondamentali, primari (e quindi non degni di girare sul microsistema operativo di base) e li esegue come semplici processi secondari (applicativi).
 
Grazie a queste caratteristiche lo IOS-XR è capace di raggiungere i livelli di disponibilità di tempo-macchina necessari per la nuova piattaforma di instradatori. Per questi motivi lo IOS e lo IOS-XR sono sistemi molto differenti, sebbene si abbia una certa correlazione fra le loro funzionalità ed il progetto complessivo.
 
Nel 2005 la Cisco ha introdotto lo IOS-XR sulla piattaforma per la serie Cisco 12000, estendendo l’architettural'architettura a microsistema degli instradatori CRS-1 a quelli maggiormente diffusi. Ancora più recentemente (nel 2006) la Cisco ha messo a disposizione una certa modularità di programmazione dello IOS, estendendo il microsistema QNX in un ambiente operativo più tradizionale pur rimanendo inalterata la possibilità di aggiornamento richieste dal mercato; il commutatore per grandi aziende Catalyst 6500 ne fa uso.
 
== Sistema di allocazione dati ==
Riga 83:
* Flash: si usa per allocare immagini complete del sistema ovvero per farne una copia
* Flh
* Nvram: è uno dei componenti di configurazione interna dei dispositivi e si usa per allocare la configurazione base d’avviod'avvio
* RCP
* Disk0
Riga 118:
* Indicazione della versione del sistema, del modello di instradatore, delle sue potenzialità etc.:
show version
* Indicazione di informazioni dettagliate sull’interfacciasull'interfaccia dell'instradatore:
show interface
* Breve panoramica degli indirizzi di rete (IP) e dello stato delle interfacce del dispositivo:
Riga 129:
 
== Sicurezza e vulnerabilità ==
Lo IOS è risultato vulnerabile a sconfinamenti di memoria cuscinetto oltre a falle di altro genere che hanno pregiudicato sia il buon funzionamento del sistema operativo stesso che delle applicazioni. La Cisco risponde in genere molto velocemente, mettendo a disposizione correzioni in tempi brevi, prova ne è la frequenza con cui escono le nuove versioni di aggiornamento. Ciononostante persiste una ben nota falla nella sicurezza sin dal 1995 riferita alla criptazione delle parole chiave nell’interfaccianell'interfaccia a riga di comando e che non viene riparata per motivi di compatibilità. Le parole chiave d’accessod'accesso sono cifrate secondo un algoritmo cosiddetto di tipo 7 (una versione modificata da tale Williams dell'algoritmo di compressione dati di tali Lempel e Zev su cui è basato il comando unix “arc”). Si supponga di intercettare per esempio il comando:
 
Router(config)#username jdoe password 7 0832585B1910010713181F
 
La parola chiave può essere facilmente decriptata con il programma getpass, disponibile già dal 1995, nell’esempionell'esempio si ottiene come risultato “stupidpass”. Questa falla è documentata in molti siti in rete ed è addirittura riportata sul sito della Cisco nella sezione Consigli dei lettori (Technical Services News / Reader Tips) ed ivi riferita alla procedura per decriptare una chiave di rete (pre-shared key). Comunque sia il programma getpass decripta solo parole chiave generate nella semplice modalità utente, ma non può nulla se si abilita la modalita di cifratura con il comando “secret”. In realtà non si tratta di una vera e propria falla dovuta alla Cisco perché il tipo di cifratura è noto all’utenteall'utente (cliente) e non viene pubblicizzato come più sicuro di quello che è. Piuttosto questo caso ha svelato che non è lo IOS ad essere insicuro ma l’usol'uso che gli utenti, ossia i gestori di rete ne fanno, fidandosi erroneamente di una presunta invulnerabilità di tale cifratura.
 
In ogni caso la Cisco raccomanda di implementare il modello di sicurezza delle 3 A (Authentication, Authorization and Accounting, AAA). Questo modello può essere combinato con basi di dati locali, modalità di prossimità (RADIUS) e TACACS+.