Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # # # # # # # # # # # # #
- # Virtualização #
- # Professor Dorgival #
- # notasdogarcia.blog.com #
- # # # # # # # # # # # # #
- // O objetivo da aula de hoje é cobrir os conceitos gerais de redes.
- // (apesar de redes ser um pré-requesito do curso)
- A idéia da aula de hoje é criar um vocabulário comum.
- Modelando com um grafo, nos entenderemos os nodos como os servidores, ou elementos de interconecções.
- Arestas serão os canais de comunicação de ponto a ponto.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Protocolo é o conceito mais mal definido em redes de computadores.
- CONCEITO:
- Protocolo é o que define a comunicação entre dois hosts.
- Pode ser as menssagens, os códigos que implementam o TCP, ou ao conjunto de funcionalidades de abrir conecção, fechar conecção e enviar dados.
- A vantagem é que normalmente a palavra não fica ambigua inserida em um contexto.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- // O professor mostrou um diagrama:
- Redes são trabalhadas em camadas,
- A mais básica é o aplicativo, ou seja o programa em execução,
- seguida pelo roteamento RRP e então pela conecção de host à host HHP.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Passos para comunicação em rede.
- Ao digitar uma URL na interface do seu navegador, quais os passos para que o site seja carregado no seu computador?
- Esse vai ser o tema da aula de hoje.
- - Comunicação entre processos.
- - DNS
- - Roteamento
- - Serviço (HTTP)
- - ARP -> Fica por baixo do roteamento.
- - UDP -> Isso fica embaixo do DNS
- - TCP -> embaixo do HTTP
- - IP -> Embaixo do TCP
- - TCP gerencia da conecção
- - Caches
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Comunicação entre processos:
- Quem espera é chamado de Servidor.
- Quem faz a comunicação ativamente é o Cliente.
- Servidor:
- - Inicio
- - Abertura passiva -> Avisa pro sistema operacional que ele está pronto para trabalhar.
- - Abertura completa -> É quando ele recebe uma menssagem da abertura ativa do Cliente.
- - Recepção do pedido -> Aguarda um pedido de um Cliente.
- - Envio de resposta -> É quando a resposta é enviada ao Cliente.
- - Termino -> O término pode envolver um processamento por ambas as partes, ou apenas por uma delas.
- Cliente
- - Inicio
- - Abertura ativa -> É quando ele envia uma menssagem de abertura ativa para o Servidor.
- - Envio de pedido
- - Recepção da resposta
- - Término
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- De forma mais detalhada:
- //xxx
- Servidor:
- - Inicio -> Chama o processo socket() que cria a estrutura de dados (é um bufferzinho de espera).
- - Abertura passiva -> bind() avisa que está aqui, listen() reserva a conecção para o Servidor.
- - Abertura completa -> accept() é feito para aceitar o pedido de conecção do connect() do Cliente.
- - Recepção do pedido -> recv() recebe os dados
- - Envio de resposta -> send() envia os dados
- - Termino -> close() encerra a comunicação
- Cliente
- - Inicio -> socket()
- - Abertura ativa -> connect()
- - Envio de pedido -> send()
- - Recepção da resposta -> recv()
- - Término -> close()
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- 2 - Qual a máquina onde está o serviço? DNS (Domain Name Service).
- O documento de definição do protocolo da internet não é mais o identificador usado, hoje usa-se o DNS para se traduzir os endereços para palavras:
- www.google.com ou minha.ufmg.br etc.
- como existem os pontos, as coisas são feitas com uma hierarquia. A raiz são coisas do tipo: .org, .net .com etc.
- A cada acesso o Cliente pergunta à raiz se ele conhece o ip do servidor desejado.
- no caso de minha.ufmg.br, o servidor br redireciona o pedido para o servidor ufmg que informa ao cliente o endereço do servidor "minha"
- Uma outra possibilidade é o servidor retornar o endereço do membro imediatamente abaixo da hierarquia
- para o Cliente e deixar o cliente falar com os demais servidores. (esse foi o caso que o professor exemplificou)
- Uma fonte de otimização para o DNS é que a resposta do servidor pode mudar dependendo do dia horário etc, o servidor redireciona o cliente para
- o servidor que ele achar mais inteligente, ou mais eficiente.
- Então existem um conjunto de servidores centrais pelo mundo (são um total de 13 por questões tecnicas)
- // (a questão técnica é que as informações de 13 servidores ocupavam cerca de 512 bytes que é o mínimo necessário para se acessar a internet)
- // 6 fev 2007
- // teve outro em 2002
- // também acho que em 31 de março de 2012 vai ter outro ataque xP
- Hoje não existem mais 13 máquinas porque houve um ataque a um tempo atraz que derrubou alguns dos servidores (não derrubou todos porque ele foi bem feito)
- Hoje ainda temos 13 endereços, porém existem vários e vários servidores expalhados pelo mundo que respondem a estes endereços, porque? mais seguro.
- Mas praticamente todos eles tem o mesmo endereço IP. E dependendo de onde voce está no mundo voce é redirecionado para uma máquina diferente.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- 3 Consulta DNS usa UDP
- As menssagens chegam, são jogados em um porto via UDP e então aguardando um "bind()" de um programa para le-las.
- CONCEITO:
- Porto ou Porta (port em ingles) é uma fila de menssagens que ficam aguardadndo para serem lidas em um roteador.
- // Existe um tal de pacote UDP pesquise isso, parece que isso carrega um conjunto de dados.
- // esse pacote fica dentro do pacote IP
- Se voce tem vários computadores voce tem vários endereços.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- O endereço de IP pode ser divido em:
- rede | sub-rede | maquina
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Pacote IP deve usar a rede local -> para identificar qual pc é qual em uma rede local usamos o ARP que fica dentro do roteador.
- Address Resolution Protocol.
- O endereço da rede interna é chamado de endereço MAC
- O protocolo básicamente é enviar uma menssagem pra todo mundo, e esperar que a máquina procurada responda qual seu endereço MAC
- Isso é mto importante em núvem, porque se voce considera uma rede local com centenas de computadores, se todos perguntarem a todos para encontrar uma maquina,
- voce ganha uma rede local congestionada.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Agora que já temos acesso ao endereço IP e endereço MAC vamos falar do:
- HTTP
- Ele funciona com o TCP:
- Transmission Control Protocol (TCP)
- Ele serve como o UDP, porém ele dá garantia de que os dados enviados serão recebidos sem erros.
- Porque não usar somente ele? Porque ele é mais lento.
- Segmento TCP
- Esse segmento contem vários dados em palavras de 32 bits:
- 16 bits: source port, 16 bits destination
- 32: sequence number (pra chegar na ordem)
- 32 ACK Number
- HLEN Reserved coisas Window Advertisement
- 16: Checksum 16 urgent pointer
- Opition (if any) padding
- data
- // Coisas são protocolos.
- Three-way handshake
- A comunicação só é estabelecida quando voce já conseguiu enviar 3 menssagens.
- Essas menssagens tem contadores, para garantir que elas não foram enviadas duas vezes.
- // TCP tenta permitir uma unica conecção por vez.
- // Mas é previsto que se duas pessoas apertarem enter exatamente no mesmo instante e o sinal chegasse juntinho, o sistema aceitaria duas conecções.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- 7 - Segmento SYN viaja pela rede (roteamento)
- Qual o menor caminho entre dois endereços?
- Cada roteador no meio do caminho tem que redirecionar a menssagem pra um lado.
- Protocolos de encontrar o menor caminho entre dois pontos são
- o RIP: Rout Information Protocol - simples mas lento, OSPF Open Shortest Path First complexo mas rápido
- Esses pacotes são publicados na internet para que se saiba o que mandar para determinado roteador.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- TCP identifica não só o ip como também o porto de origem e de destino.
- diferente do UDP (o udp só identifica os roteadores, não as redes locais)
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Controle de conecxão
- ele controla bem congestionamentos, e detecta qual a fração justa de conecção para cada máquina de forma que fica bem dividido, o que é muito legal.
- é um sistema que vai testando, ele vai aumentando a velocidade até um pacote ser perdido aí ele diminui dransticamente a conecção, e assim ele continuar o tempo todo, o grafico fica um sobe dece doido.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- Caches
- Existem caches no servidro na rede e no seu computador.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- É dentro da rede complexa de hoje que veremos o conceito de núvem, e os problemas citados sobre como evitar esse problema.
Advertisement
Add Comment
Please, Sign In to add comment