Acompanhamento - IC - Levindo GTN [02]
-
Upload
levindo-gabriel-taschetto-neto -
Category
Documents
-
view
95 -
download
2
Transcript of Acompanhamento - IC - Levindo GTN [02]
![Page 2: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/2.jpg)
Artigos lidos na área de verificação de redes
• Network Troubleshooting with SDN-RADARAvanesov,T; Kantor,M; Gheorghe,G; Popoviciu,C; Palattella,M.R.; Engel,T Monitoramento da rede feito pelos Sonar Agents (Scripts que coletam dados pela experiência de usuários em serviços específicos).
• FlowChecker: Configuration Analysis and Verification of Federated OpenFlow InfrastructuresAl-Shaer,E; Al-Haj,S Configuração e verificação das infraestruturas do openflow utilizando BDD's, nele, a rede é configurada como uma máquina de estados.
• VeriFlow: Verifying Network-Wide Invariants in Real TimeKhurshid,A; Zou,X; Zhou,W;Caesar,M; Godfrey,P.B. Divisão da rede em classes equivalentes, tendo como um dos problemas a incerteza se dois pedaços, gerados pela divisão, se sobrepõem.
![Page 3: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/3.jpg)
Artigos lidos na área de verificação de redesDetecção de Loop's e verificação de Reachability
• Header Space Analysis: Static Checking For NetworksKazemian,P; Varghese,G; McKeown,N. É feita a criação de um predicado que representa todas as regras de determinado switch, daí pode-se fazer detecção de loop's (inserção de pacote totalmente genérico na rede) e verificação de reachability de maneira eficiente, já que utiliza somente valores binários para a representação da regra.
• Efficient Verification of Network Reachability PropertiesYang,H. É feita a decomposição das regras do switch em predicados subatômicos, a intersecção entre os predicados subatômicos gera um predicado, e a união dos predicados forma a regra para o switch (formada apenas por bit's zeros e uns).
![Page 4: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/4.jpg)
Utilização do Alloy
• A síntaxe do Alloy foi aprendida via slides disponibilizados pelo MIThttp://alloy.mit.edu/alloy/tutorials/day-course/
• O maior problema, além da síntaxe, encontrado na utilização do Alloy, foi adaptar os dados, gerados pela flowtable, para fazer verificações lógicas.
• Alguns pequenos modelos de rede foram gerados (próximo slide), porém não foi dado procedência ao trabalho com o uso do Alloy.
![Page 5: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/5.jpg)
Utilização do Alloy – Criação de regras
![Page 6: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/6.jpg)
Novo problema abordado
O novo problema abordado, na bolsa de IC, na área de verificação de redes, é o de reachability (verificar se um determinado pacote que entra em switch A chega ou não em seu destino). Antes de iniciar o algoritmo para verificação de reachability, foramlidos dois artigos na área, os quais são citados no terceiro slide. A ideia de ambos os artigos é criar algum modo de criar um identificador para o switch (regra base do switch), de maneira que não se precise fazer testes exaustivos com os pacotes que entram na rede.
![Page 7: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/7.jpg)
Algoritmo proposto para verificação de reachability em redes com switches openflow
A ideia base do algoritmo encontra-se em modelar a rede apenas por valores booleanos, para que todas as operações lógicas seja do tipo bit a bit. Para isso, tem-se utilizado a classe BitVector 3.4.4 para Python (https://pypi.python.org/pypi/BitVector/3.4.4). Para cada regra contida no switch, cria-se uma regra concisa, de 33 bits, sendo 32 bits para representar o match e 1 bit (por enquanto), para representar o action.
As regras serão armazenadas em uma tabela hash, permitindo acesso às chaves (match) em tempo linear. Os valores da tabela hash serão representados pelos bit's referentes ao action de cada regra.
![Page 8: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/8.jpg)
Algoritmo proposto para verificação de reachability em redes com switches openflow
A montagem da regra base para cada switch será feita da seguinte maneira: Todas as informações referentes ao match de uma regra contida no switch serão convertidas para números binários de 32 bits. Como ainda estamos trabalhando com actions do tipo allow e deny, os mesmos serão representados por um bit de valor 1 e 0, respectivamente. Após essa conversão, dentro da regra é feita a intersecção bit a bit entre todas as informações referentes ao match da regra. Com os 33 bits referentes a cada regra é montada uma tabela hash, os 32 bits mais significativos servirão como chave e o bit menos significativo será o valor.
![Page 9: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/9.jpg)
Algoritmo proposto para verificação de reachability em redes com switches openflow
O pacote também será moldado com 33 bits, sendo que os 32 bits serão para o match do pacote e o bit menos significativo será sempre 1. Tendo a tabela montada, para saber se determinado pacote passa ou não, primeiramente é feito o acesso à tabela hash, para encontrar os 32 bits mais significativos da tabela que, fazendo a operação de XNOR bit a bit com os 32 bits mais significativos do pacote, resulta em 32 bits ligados em 1. Ao ter-se encontrada a regra referente ao pacote na tabela, é feita a operação lógica AND entre o valor da tabela e o bit menos significativo do pacote, como o bit menos significativo do pacote é sempre 1, se a operação de AND resultar em 0, o pacote não passa.
![Page 10: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/10.jpg)
Próxima etapa
A próxima etapa será a finalização do verificador de reachability e fazer testes funcionais e de desempenho do mesmo.
![Page 11: Acompanhamento - IC - Levindo GTN [02]](https://reader036.fdocumentos.tips/reader036/viewer/2022082720/58874ff61a28ab5a628b7071/html5/thumbnails/11.jpg)
Título do capítuloObrigado !
Instituto de Informática