| Linha 34: | Linha 34: | ||
<br> | <br> | ||
* | * Redes de computadores | ||
* MPLS | ** MPLS (Multiprotocol Label Switching) | ||
* Túneis LSP | ** Túneis LSP (Label-Switched Paths) | ||
* Teoria dos Grafos | ** SSH | ||
** Telnet | |||
** SNMP | |||
** Equipamentos: | |||
*** Juniper | |||
*** Cisco | |||
*** Huawei | |||
** Teoria dos Grafos | |||
*** DFS (Depth-first search) | |||
*** BFS (Breadth-first search) | |||
*** Conectividade | |||
*** Ciclos | |||
*** Caminho | |||
*** Subgrafo | |||
* Gephi | * Gephi | ||
* Processamento paralelo | * Processamento paralelo | ||
Edição das 19h02min de 30 de novembro de 2018
Título da Idéia
- Portal de coletas
Objetivos
- Criar uma solução que facilite a visualização de informações sobre os equipamentos e também realize configurações automáticas.
- Criação de túneis LSP entre os roteadores.
- Representar toda a planta da empresa por meio de técnicas como Graph Theory, Network Flow e Parallel computing.
- Criar uma API capaz de executar uma série de comandos pré definidas em um conjunto de equipamentos, baseado na autenticação de uma lista de usuários.
Conceito
Uma rede de telecomunicações é composta por diversos equipamentos interligados, formando uma estrutura que pode ser representada por um grafo. Essa complexa estrutura é capaz de enviar e receber milhares de informações, as quais podem ser utilizadas em diversas aplicações, porém é necessário um certo esforço desnecessário para obter, processar e utilizar.
Ao esquematizar essa rede como um grafo, é possível visualisá-la da forma que for mais conveniente para cada objetivo, seja em forma de backups, ocorrências, monitoramento, etc.
Para isso, é necessário que exista um sistema capaz de percorrer por todos os mínimos detalhes de forma eficaz e precisa, caso contrário seria uma ferramenta inviável.
Fase I - Estudo
Estudo Dirigido
- Redes de computadores
- MPLS (Multiprotocol Label Switching)
- Túneis LSP (Label-Switched Paths)
- SSH
- Telnet
- SNMP
- Equipamentos:
- Juniper
- Cisco
- Huawei
- Teoria dos Grafos
- DFS (Depth-first search)
- BFS (Breadth-first search)
- Conectividade
- Ciclos
- Caminho
- Subgrafo
- Gephi
- Processamento paralelo
- Processamento remoto
Fase II - Ensino
Conteúdo
Desenvolva um conteúdo que possa transmitir o conhecimento adquirido para outros Crie um material (Wiki, PDF, PPT, ...) que possa ser armazenado e facilmente atualizável
Apresentação
Apresente ao grupo (reunião, EAD, Blog, ...) Publique aqui
Metoldologia
Descrevas as metodologias usadas. Alguns exemplos:
Estratégia de Job Rotation Estudos básicos para conhecimento do potencial Estudos básicos para entendimento sobre o problema Estudos para dar base aos pesquisadores Benchmarking com empresas estrangeiras Aceleradoras de empresas Adoção de novas tecnologias Utilização da proposta de soluções Open-source Priorização no desenvolvimento interno Foco na não dependência de fornecedores Prática de formação dos talentos necessários
Fase III - Exemplo de Caso de Negócio
Benefícios para quem for oferecer esta solução
Descrever em tópicos os benefícios que uma pessoa ou uma empresa podem obter: ganhos, receitas, novos negócios, novos produtos, novas parcerias
Benefícios para o usuário
Descrever em tópicos os benefícios para os usuários desta solução.
Pode se inspirar no Canvas.
Direcionadores chave para esta iniciativa
Descrever em tópicos o que esta iniciativa pode proporcionar
Possíveis modelos de negócios
Descrever em tópicos os possíveis modelos de negócios
Business Case
Descrever um exemplo de negócio que permita avaliar a solução comercialmente
Barreiras encontradas
Aponte aqui quais foram os principais obstáculos encontrados para o desenvolvimento desta solução
Fase IV - Protótipo orientado ao Negócio
Escopo
Explique o escopo deste protótipo
Product Backlog
- https://docs.google.com/spreadsheets/d/1uMzWBxdoGnWcQ47jG-44_XluX4UdHEskFHr6UV0bHbU/edit?usp=sharing
- 01 Estudar Teoria dos Grafos - Depth-first search, Breadth-first search, Subgrafos, Conectividade, Network Flow
- 02 Estudar Gephi - Ferramenta utilizada como interface gráfica para representar os grafos
- 03 Estudar Processamento Paralelo - Executar comandos simultaneamente em diversos equipamentos
- 04 Estudar MPLS (Multiprotocol Label Switching) - Um dos protocolos utilizado para comunicação entre os equipamentos de transporte
- 05 Estudar LSP (Label-switched path) - Criação de túneis entre roteadores (como arestas em um grafo)
- 06 Estudar acesso remoto a sistemas - Executar comandos via SSH / Telnet / SNMP
- 07 Estudar lógica de programação - Melhor conhecimento lógico ajuda em diversas atividades, recomendo praticar em maratonas de programação
- 08 Estudar Github - Aprender como importar, exportar e usar o sistema git para versionamento. No caso utilizar github
- 09 Implementar Gephi - Visualizar qualquer tipo de grafo com informações variadas
- 10 Testar Gephi - Avaliar viabilidade da ferramenta
- 11 Implementar Discovery - Mapear todos os equipamentos na planta da algar de forma automática e eficiente
- 12 Testar Discovery - Avaliar viablidade da ferramenta
- 13 Integração discovery com gephi - Representar as informações do discovery no Gephi
- 14 Teste da integração - Avaliar viablidade da ferramenta
- 15 Resolver identificação do tipo de roteador - P, PE ou BORDA
- 16 Implementar criação de LSP tunnels - Implementar a criação de túneis de forma automática e eficaz, baseado na documentação
- 17 Testar criação de LSP tunnels - Avaliar viablidade da ferramenta
- 18 Implementar interface web para utilização da ferramenta de criação de túneis - Facilitar o uso
- 19 Testar interface web - Avaliar viablidade da ferramenta
- 20 Implementar API capaz de executar comandos simultaneamente - Executar comandos remotos de forma simultanea em diversos equipamentos com confiabilidade
- 21 Testar API - Avaliar viablidade da ferramenta
Limitações
Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.
PoC
Desenvolva um PoC (Proof of Concept)
Requisitos Funcionais
- What it should do?
- Input
- List of IP prefixes
- Credentials to enter in equipments
- Output
- List of equipments in network
- Loopback IP
- LSP
- OS
- List of equipments in network
- Input
- What do I need to know?
- Linux / Windows
- Run commands mannually
- Run local / remote command
- SSH
- Telnet
- Ping
- Files
- Read
- Write
- Delete
- Create
- Threads / Process
- Semaphore
- Deadlock
- ThreadPool
- Sweet Spot in concurrent threads/processes
- Data Structures
- Arrays
- Hash Table
- Exceptions
- Handle errors
- Create Logs
- Functions
- Global variables
- Local variables
- Paramiko?
- Help using SSH in python
- Linux / Windows
- What should I do?
- some_constants
- main()
- ping(hostname)
- run_local_command(command)
- run_remote_command(hostname, command)
- get_loopback_ip(hostname)
- get_lsp(hostname)
- get_os(hostname)
- get_info(hostname)
- build_ips_ping(prefixes)
- build_database(credentials_path)
Detalhamento Técnico
Descreva especificamente os aspectos técnicos desta pesquisa
Cronograma Macro
Histórico