quinta-feira, 13 de março de 2008

Cisco IOS - Nomenclatura e Versões (Parte 1)

Entender como funciona a nomenclatura e as versões do Cisco IOS é importante quando estamos instalando um novo equipamento e mais ainda quando estamos fazendo uma atualização. Isso por que uma simples confusão pode resultar em um serviço que, "sem um motivo aparente", parou de funcionar depois da atualização.

_Versões


Primeiro veremos como funiona a numeração das versões do Cisco IOS. O formato geral para a numeração é a.b(c.d)e, onde:

  • "a" e "b" identificam a versão principal ou main version ("a" é chamado de major version e "b" minor version).
  • "c" é a versão de lançamento (release).
  • "d" (que é muitas vezes omitido) representa o número da versão intermediária (interim build number).
  • "e" (podendo ser nenhuma, uma ou duas letras) representa qual train pertence o IOS. Neste caso, podemos encontrar nenhuma letra (representa a train principal ou mainline), T (para Technology), E (para Enterprise), etc. Mais detalhes adiante.
Vejamos um exemplo: 12.3(1)T é a primeira release da train T da versão principal 12.3. A imagem 12.3(2)T é a release subsequente neste caso.

Juntamente com este padrão de numeração para as versões a Cisco adota um padrão de desenvolvimento onde as novas funcionalidades são adicionadas às versões da train T que, no final de seu ciclo de desenvolvimento e testes, irão integrar uma nova main release. Esta nova main release só receberá correções de bugs, ficando a cargo da nova train T receber a implementação de novas funcionalidades. Este processo está descrito na figura abaixo:

Ainda é importante citar as versões rebuilds, que são versões liberadas geralmente com apenas uma correção e de forma mais rápida e constante. Por exemplo, 12.1(8)E14 é a décima-quarta rebuild da imagem 12.1(8)E.

Ainda temos que destacar as seguintes trains:
  • A train mainline (que não possui letra) é a mais estável dentre as demais e o seu conjunto de funcionalidades não cresce durante o seu tempo de vida. As novas versões dentro desta train possuem apenas correções para bugs e problemas de segurança.
  • A train T (Technology train) recebe atualizações de bugs, problemas de segurança e novas funcionalidades e, portanto, é menos estável que a train mainline.
  • A train S (Service Provider) é aconselhada para equipar os roteadores do núcleo principal de provedores de serviço e é personalizada para tanto.
  • A train E (Enterprise) é personalizada para ambientes Enterprise.
  • A train B (Broadband) possui suporte especial para funcionalidades de banda-larga (broadband access).
  • As trains X* (XA, XB, ...) possuem funcionalidades especiais que devem ser documentadas conforme o lançamento das mesmas.

_Nomenclatura

Até meados de 2006 a Cisco utilizava um conjunto de códigos de letras para especificar as diversas funcionalidades disponíveis no IOS que hoje são agrupudas em pacotes (ou packages). A lista abaixo reúne os códigos de letras mais utilizados na nomeclatura das imagens do IOS até 2006:
  • i - IP routing
  • j - Enterprise
  • p - Service Provider
  • y/y5 - IP Routing (low-end routers, missing some IP routing/features like BGP)
  • k2/k8/k9 - Encryption(DES=k8, 3DES=k9)
  • o - Firewall
  • s - Plus, or "LAN Only" on Cat6K/7600
  • l - Runs from Flash
  • m - Runs from RAM
  • z - Compressed image
Para uma lista completa de códigos deve-se consultar a documentação clicando aqui. Nada melhor que um bom exemplo para clarear as idéias; c2600-ik9o3s3-mz.122-15.T9.bin é o nome do arquivo de uma imagem do IOS com as seguintes características:
  • c2600 = Imagem para a plataforma 2600 series.
  • i = versão com funcionalidades de IP routing.
  • k9 = possui suporte a criptografia.
  • o3 = versão com suporte a firewall/ids.
  • s3 = versão "Basic limited routing / limited memory"
  • mz = é executada da memória RAM e está comprimida.
  • 122-15.T9 = é a versão 12.2, já houve 15 atualizações, train T e está na 9a. compilação.
É importante entender esta nomenclatura para saber quais os pacotes de funcionalidades necessários no caso de um upgrade de uma imagem que ainda está no modelo antigo para uma imagem do IOS que segue o novo modelo de nomenclatura.

Este novo modelo segue um padrão um pouco menos complicado e com menos opções, além de poder ser utilizado em todas as plataformas de roteadores igualmente (cross-plataform). Os pacotes disponíveis para os roteadores são (nomes dos arquivos correspondentes entre parênteses):
  • IP Base (cxxxx-ipbase-mz)
  • IP Voice (cxxxx-ipvoice-mz)
  • Advanced Security (cxxxx-advsecurityk9-mz)
  • Service Provider Services, also known as SP Services (cxxxx-spservicesk9-mz)
  • Enterprise Base (cxxxx-entbase-mz)
  • Advanced IP Services (cxxxx-advipservicesk9-mz)
  • Enterprise Services (cxxxx-entservicesk9-mz)
  • Advanced Enterprise Services (cxxxx-adventerprisek9-mz).
Já as funcionalidades estão distribuídas entre os diversos pacotes de acordo com o diagrama abaixo, onde o pacote Advanced Enterprise Services é um conjunto completo de todas as funcionalidades disponíveis em uma versão do IOS:
Lembre-se que até agora estamos falando do IOS para roteadores. A forma de pacotes e funcionalidades para switches segue um padrão ligeiramente diferente. Para maiores informações é necessário consultar a documentação oficial da Cisco aqui. Este documento também pode ser consultado para saber mais detalhes sobre as funcionalidades existentes em cada pacote. Sempre que estivermos trabalhando com imagens de IOS é importante consultar as ferramentas web oficiais da Cisco:Para finalizar, se você quiser verificar qual a imagem está em execução no seu equipamento, basta entrar com o comando show version no modo de execução global e procurar por uma descrição semelhante a que vemos abaixo:
System image file is "flash:c3725-entbase-mz.124-6.T.bin"
Veja também:

Um comentário:

Vinicius Buscacio disse...

Show. Muito bom mesmo. Parabéns pelo post.