Baixe o app para aproveitar ainda mais
Prévia do material em texto
Rede de Computadores João Luiz de Almeida Filho (joaoluiz.af@pq.uenf.br) Provas P1 - 12/05 P2 - 07/07 PF - 14/07 Redes de computadores ● Redes de computadores são estruturas físicas (equipamentos) e lógicas (programas, protocolos) que permitem que dois ou mais computadores possam compartilhar informações e informações entre si. ● São projetadas para compartilhar recursos de hardware e software e viabilizar a troca de informações entre usuários. Exemplo de rede Protocolo Um protocolo define o formato e a ordem das mensagens trocadas entre duas ou mais entidades comunicantes, bem como as ações realizadas na transmissão e/ou no recebimento de uma mensagem ou outro evento. Propriedades: Interoperabilidade Transparência INTEROPERABILIDADE Desenvolvimento de tecnologias que permitem a interconexão de diferentes tipos de redes, acomodando múltiplas plataformas de hardware e software, baseados em um conjunto de protocolos que definem as regras de comunicação. Os protocolos permitem que dispositivos de diferentes fabricantes se comuniquem de forma transparente ao usuário. TRANSPARÊNCIA Os componentes físicos e lógicos da rede de computadores são dispostos de forma a tornar a rede transparente ao usuário. Ambientação ● Todo e qualquer sistema, para estar “em rede”, necessita de um meio de transmissão; ● Todo e qualquer sistema, para estar “em rede”, necessita de um adaptador de rede; ● Todo e qualquer sistema, para estar “em rede”, necessita de um endereço IP; ● De forma geral, para que sistemas em rede comunique se é necessário que os mesmos usem o mesmo protocolo. OBS.: um sistema “em rede” não significa, necessariamente, que o mesmo está conectado à Internet. Uso das redes de computadores ● Finalidades comerciais ○ além do comércio eletrônico, as redes de computadores também geraram benefícios em relação ao compartilhamento de recursos e à comunicação entre funcionários. ● Finalidades Domésticas ○ (i) aplicações baseadas na interação entre pessoas e uma base de dados remota; (ii) serviços construídos para possibilitar a comunicação entre pessoas; (iii) comércio eletrônico; (iv) aplicações de entretenimento; e (v) serviços para Internet das Coisas. ● Mobilidade ○ Redes sem fios e o exercito Classificação ● Quanto à extensão física: ○ LAN: Local Area Network ■ Abrange a área de um prédio ou campus (alguns autores usam a nomeclatura CAN - Campus Area Network para classificar essas redes); ○ MAN: Metropolitan Area Network ■ Abrange a área de uma cidade; ○ WAN:Wide Area Network ■ Uma rede presente em localidades (cidades, estados, países) diferentes. Internet ● A Internet é uma rede de computadores mundial, isto é, uma rede que interconecta milhões de equipamentos de computação em todo o mundo ● É possível PARAR a Internet? ○ “Pesquisar história da internet” Introdução Contextualização: - Qual a importância da rede de computadores nos dias atuais? - impacto dos Smartphones Topologias A topologia de rede é a forma como você organiza os elementos de uma rede de comunicação. A estrutura topológica pode ser representada física ou logicamente. Na topologia lógica, os dispositivos de comunicação são modelados como nós e as conexões entre os dispositivos são modeladas como links ou linhas entre os nós. Já a topologia física descreve como os computadores são interligados fisicamente. As distâncias entre nós, interconexões físicas, taxas de transmissão ou tipos de sinais podem diferir entre duas redes, mas suas topologias lógicas podem ser idênticas. Topologias Ruas (topologia física) Sentidos (topologia lógica) Topologia - Tipos de topologias de rede Um administrador de redes têm várias opções ao escolher qual tipo de topologia usar. A escolha dependerá do tamanho e escala da sua organização, seus objetivos de negócios e seu orçamento. Topologias - Vocês já conhecem! Topologia - Topologia Estrela É o tipo de configuração fisica mais comum. A rede é organizada de forma que os nós sejam conectados a um dispositivo central (hub), que atua como ponto de interconexão. Qualquer dado enviado pela rede viaja pelo hub central antes de terminar em seu destino. PRÓS: ● Gerenciamento conveniente de um local central. ● Se um nó falhar, a rede ainda funciona. ● Os dispositivos podem ser adicionados ou removidos sem interromper a rede. ● Mais fácil de identificar e isolar problemas de desempenho CONTRAS: ● Se o hub central falhar, toda a sua rede cairá. ● O desempenho e a largura de banda são limitados pelo nó central. ● Pode ser caro para operar Topologia - Topologia Estrela Exemplo IEEE 802.11 IEEE 802.3u “Fast Ethernet” Topologia - Topologia Estrela Hub x Switch Fisicamente, hubs e switches são parecidos, mas eles funcionam de forma bem diferente. Hub ● funcionam como repetidores de sinal elétrico ● Quando um pulso chega em uma das portas do hub, ele retransmite este pulso para todas as outras portas, Switch ● capacidade de identificar a origem e destino do frame. ● Quando um host transmite, apenas o host destino recebe o frame. ● Esta característica dos switches permite que vários hosts transmitam simultaneamente, aproveitando melhor a banda da rede. Topologia - Topologia Estrela HUB ou Switch? HUB Switch Topologia - Barramento Também chamada de topologia de backbone, bus ou linha, orienta os dispositivos ao longo de um único cabo que vai de uma extremidade da rede à outra. Os dados fluirão ao longo do cabo conforme ele se desloca até seu destino. O dado trafegado é recebido por todos os computadores mas há uma regra para o recebimento da mensagem PRÓS: ● Econômico para redes menores. ● Layout simples; todos os dispositivos conectados por meio de um cabo. ● Mais nós podem ser adicionados ao alongar a linha CONTRAS: ● A rede é vulnerável a falhas de cabo ● Cada nó adicionado diminui as velocidades de transmissão ● Os dados só podem ser enviados em uma direção de cada vez Topologia - Barramento IEEE 802.3A (10BASE2) “Classic Ethernet” Conector BNC “T” BNC Ethernet NIC Topologia - Anel Os nós são configurados em um padrão circular. Os dados viajam por cada dispositivo à medida que percorrem o anel. Em uma grande rede, repetidores podem ser necessários para evitar a perda de pacotes durante a transmissão. PRÓS: ● Custo-beneficio ● Barato para instalar ● Fácil de identificar problemas de desempenho CONTRAS: ● Se um nó cair, ele pode derrubar vários nós com ele. ● Todos os dispositivos compartilham largura de banda, o que pode limitar a taxa de transferência. ● Adicionar ou remover nós significa tempo de inatividade para toda a rede Topologia - Anel IEEE 802.5 “IBM Token Ring” Tipo1 Topologia - Anel Multistation Access Unit (MAU) Conector Token RingTwo examples of Token Ring networks: a) Using a single MAU b) Using several MAUs connected to each other IEEE 802.5 “IBM Token Ring” https://en.wikipedia.org/wiki/Media_Access_Unit Topologia - Árvore Um nó central conecta hubs secundários. Esses hubs têm uma relação pai-filho com os dispositivos. O eixo central é como o tronco da árvore. Onde as ramificações se conectam estão os hubs secundários ou nós de controle e, em seguida, os dispositivos conectados são anexados aos branches. PRÓS: ● Extremamente flexível e escalável ● Facilidade na identificação de erros, uma vez que cada branch da rede pode ser diagnosticado individualmente CONTRAS: ● Se um hub central falhar, os nós serão desconectados (embora as ramificações possam continuar a funcionar de forma independente). ● A estrutura pode ser difícil de gerenciar de forma eficaz. ● Usa muito mais cabeamento do que outros métodos. Topologia - Árvore LAN WAN Topologia Malha - Mesh Os nós são interconectados. Os modos full-mesh conectam todos os dispositivos na rede diretamente. Em uma topologia de malha parcial, a maioria dos dispositivosse conecta diretamente. Isso oferece vários caminhos para entrega de dados. Os dados são entregues pela distância mais curta disponível para transmissão. PRÓS: ● Confiável e estável ● Nenhuma falha de nó único faz com que a rede fique offline CONTRAS: ● Grau complexo de interconectividade entre nós ● Trabalho intensivo para instalar ● Usa muito cabeamento para conectar todos os dispositivos. Topologia Qual é a melhor? Comutação por circuitos, pacotes, mensagens O termo comutação surgiu com o desenvolvimento das Redes Públicas de Telefonia e significa alocação de recursos da rede (meios de transmissão, etc.) para a comunicação entre dois equipamentos conectados àquela rede. Para maior viabilidade de comunicação entre o um grande número de pontos, surge a Rede de Comutação, que nada mais é que um serviço de transferência de informações entre nós ou pontos. Comutação Como era na telefonia? Antigamente, a conexão para uma ligação telefônica, por exemplo, era feita por meio de uma telefonista que conectava (interligava) um cabo aos terminais de entrada e saída em um painel, manualmente. Porém, hoje esse processo é automatizado pelo equipamento de comutação. Comutação Como era na telefonia? Um processo de comutação é aquele que reserva e libera recursos de uma rede para sua utilização. As comutações de circuitos e de pacotes são usadas no sistema telefônico atual. A comutação de circuito particularmente é usada no tráfego de voz, ela é a base para o sistema telefônico tradicional, e a comutação de pacotes é usada para o tráfego de dados, sendo por sua vez, a base para a Internet e para a Voz sobre IP. Comutação por Circuitos (Circuit Switching) É um tipo de alocação de recursos para transferência de informação que se caracteriza pela utilização permanente destes recursos durante toda a transmissão. Antes de ser enviada qualquer informação, procede-se ao estabelecimento de uma ligação “física” ponta-a-ponta entre os terminais que pretendem comunicar, ou seja, estabelece-se um “caminho físico” dedicado. Comutação por Circuitos (Circuit Switching) Nesse tipo de comutação, há a garantia da taxa de transmissão, e a informação de voz chegará na mesma ordem desde o transmissor até o receptor. Comutação por Circuitos (Circuit Switching) O caminho pode conter trechos de fibra óptica ou de microondas, mas a ideia básica funciona: quando a chamada telefônica é estabelecida, haverá um caminho dedicado entre as extremidades até que a ligação termine. Comutação por Circuitos (Circuit Switching) Na comutação de circuitos, ocorrem três fases (RIBEIRO, 2011): ● Estabelecimento do circuito: antes que os terminais (telefones) comecem a se comunicar, há a reserva de recurso necessário para essa comunicação, esse recurso é a largura de banda. ● Transferência da voz: ocorre depois do estabelecimento do circuito, com a troca de informações entre a origem e o destino. ● Desconexão do circuito: terminada a comunicação, a largura de banda é liberada em todos os equipamentos de comutação. Largura de banda, ou bandwidth em inglês, é o conceito que determina a medida da capacidade de transmissão, em especial de conexão ou rede. Comutação por Circuitos (Circuit Switching) Na comutação de circuitos, há a necessidade de estabelecer um caminho fim-a-fim (ponta-a-ponta) antes que qualquer informação seja enviada. Na prática, aquele tempo que o telefone do receptor leva para tocar logo depois do número discado, é justamente o momento em que o sistema telefônico procura pela conexão física. Logo o sinal de chamada se propaga por todo o trajeto para que possa ser reconhecido. (TANEMBAUM, 2003). Comutação por Circuitos (Circuit Switching) O circuito dedicado pode ser composto por: ● Enlaces Físicos Dedicados; ● Canais de Frequência (canal FDM); ● . ● Canais de Tempo (canal TDM) Comutação por Circuitos (Circuit Switching) Utilização de Enlaces Físicos Dedicados; ● Todo o caminho é dedicado para o comunicação entre os dois pontos: Sistemas de telefonia antigo ● Recursos fim-a-fim são reservados por “chamada” ● Não há nenhum compartilhamento de recursos ou meio. ● QoS QoS (Quality of Service ou Qualidade de Serviço) - Em redes de comutação de circuitos, refere-se à probabilidade de sucesso em estabelecer uma ligação a um destino. Comutação por Circuitos (Circuit Switching) A multiplexação é uma função que transmite 2 ou mais sinais individuais, de forma simultânea, por meio de um único cabo ou via wireless. Comutação por Circuitos (Circuit Switching) Utilização Canais de Frequência (canal FDM - Frequency Division Multiplexing) O FDM permite que meios de transmissão únicos, como cabo de cobre ou cabo de fibra óptica, sejam compartilhados por vários sinais independentes gerados por vários usuários. Comutação por Circuitos (Circuit Switching) Utilização Canais de Frequência Canais de Tempo (canal TDM - Time Division Multiplexing) Multiplexação por divisão de tempo (do inglês Time Division Multiplexing - TDM) é um tipo de multiplexação que permite transmitir simultaneamente vários sinais, dentro do mesmo espaço físico (meio de transmissão),[1] onde cada sinal (canal de comunicação), possui um tempo próprio e definido de uso da banda para transmissão. https://pt.wikipedia.org/wiki/Multiplexa%C3%A7%C3%A3o https://pt.wikipedia.org/wiki/Rede_de_transmiss%C3%A3o https://pt.wikipedia.org/wiki/Multiplexa%C3%A7%C3%A3o_por_divis%C3%A3o_de_tempo#cite_note-1 https://pt.wikipedia.org/wiki/Comunica%C3%A7%C3%A3o Comutação por Circuitos (Circuit Switching) A sigla TDMA vem do inglês Time Division Multiple Access , que quer dizer "Acesso Múltiplo por Divisão de Tempo". O TDMA é um sistema de celular digital que funciona dividindo um canal de frequência em até oito intervalos de tempo distintos. Cada usuário ocupa um espaço de tempo específico na transmissão, o que impede problemas de interferência. Os sistemas celulares de segunda geração como o GSM utilizam o TDMA na sua interface com a estação móvel. O GSM consiste na divisão de cada canal celular em três períodos de tempo para aumentar a quantidade de dados que pode ser transmitida. Cada canal TDMA americano tem a mesma largura de banda dos canais AMPS, 30 KHz, e é usado por três assinantes. https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesa https://pt.wikipedia.org/wiki/Celular https://pt.wikipedia.org/wiki/Frequ%C3%AAncia https://pt.wikipedia.org/wiki/GSM https://pt.wikipedia.org/wiki/Hertz Comutação de Mensagens (Message Switching) Na comutação de mensagem não é estabelecido um caminho dedicado entre os dois equipamentos que desejam trocar informações como ocorre na comutação de circuitos. Sistemas de comutação de mensagens são hoje em dia geralmente implementados sobre comutação de pacotes ou de circuitos. Por exemplo, e-mail Comutação de Mensagens (Message Switching) A mensagem que tem que ser enviada é transmitida a partir do equipamento de origem para o primeiro elemento de comutação, que armazena a mensagem e a transmite para o próximo elemento (store-and-forward) (B). Assim, a mensagem é transmitida pela rede até que o último elemento de comutação entregue-a ao equipamento de destino (D). Neste tipo de comunicação, a rede não estabelece o tamanho da mensagem, podendo esta ser ilimitada. Comutação de Mensagens (Message Switching) Principais características: ● Não é estabelecido nenhum caminho físico dedicado entre o emissor e o receptor, ou seja, o canal não é dedicado e sim compartilhado; ● O emissor coloca a mensagem de forma INTEGRAL no meio físico de TX (Transmissao) junto com o endereço do destinatário; ● A mensagem é então passada de nó em nó de forma integral até atingir o destino. ● As mensagens só seguem para o nó seguinte após terem sido integralmente recebidas do nó anterior; ● Cada nó memoriza a mensagem temporariamente e em seguida envia para o próximo nó que repete o processo até o destinatário, este processo é conhecidocomo Store-And-Forward. Comutação de Mensagens (Message Switching) Vantagens: ● Maior aproveitamento das linhas de comunicação; ● Uso otimizado do meio; ● Congestionamentos reduzidos porque cada nó guarda temporariamente as mensagens recebidas; ● Podem estabelecer-se esquemas de prioridade, permitindo atrasar o envio das mensagens de baixa prioridade e reenvio imediato das mensagens prioritárias. Desvantagens: ● Aumento do tempo de transferência das mensagens; ● Não é bom para aplicações de tempo real nem para aplicações que exijam interatividade: ○ Atrasos no tempo de memorização; ○ O tempo gasto na busca do próximo nó não é determinístico. ● Os nós envolvidos no percurso tem de ser máquinas com grande capacidade de armazenamento, visto que, necessitam armazenar as mensagens inteiras temporariamente. Comutação de Pacotes (Packet Switching) A comutação de pacotes é a técnica que envia uma mensagem de dados dividida em pequenas unidades chamadas de pacotes. Não exige o prévio estabelecimento de um caminho físico para a transmissão dos pacotes de dados. Os pacotes podem ser transmitidos por diferentes caminhos e chegar fora da ordem em que foram transmitidos. É mais tolerante a falhas em relação a comutação de circuitos, pois os pacotes podem percorrer caminhos alternativos até o destino de forma a contornar os equipamentos de comutação inativos. (TANEMBAUM, 2003). Comutação de Pacotes (Packet Switching) A principal diferença entre a comutação por mensagens e a comutação de pacotes é o tamanho dos bloco de transmissão é definido pela rede. Em conseqüência, a mensagem a ser transmitida deve ser quebrada em unidades menores. Para iniciar, a comutação de circuitos exige que um circuito seja configurado de ponta a ponta antes de se iniciar a comunicação. Já a comutação de pacotes não exige qualquer tipo de configuração antecipada (KUROSE; ROSS, 2009). Comparando com a comutação com circuitos Comparando com a comutação por mensagens Comutação de Pacotes (Packet Switching) Ao quebrar a mensagem em pacotes, a rede pode transmitir os pacotes de uma mesma mensagem por vários caminhos diferentes, otimizando os recursos da rede. A desvantagem é que os pacotes podem chegar na ordem trocada, necessitando da criação de mecanismos de ordenamento. Porém, nesse tipo de comutação, não há a reserva prévia de largura de banda, e assim, também não há o desperdício de recursos. A largura de banda é fornecida sob demanda. (RIBEIRO, 2011). Comutação de Pacotes (Packet Switching) Na comutação de pacotes é utilizado o mesmo tipo de transmissão que a comutação por mensagens, a store-and-forward, onde o pacote é recebido e armazenado por completo pelo equipamento e depois encaminhado para o próximo destino. Em cada um desses equipamentos, o pacote recebido tem um endereço de destino, que possibilita indicar o caminho correto para o qual ele deve ser encaminhado. (RIBEIRO, 2011). Comutação de Pacotes (Packet Switching) ● Vantagens: ○ Uso otimizado dos recursos de forma livre, a medida que for necessário, sem reserva prévia; ○ Ideal para dados; ○ Erros recuperados no enlace onde ocorreram; ○ Dividir uma mensagem em pacotes e transmiti-los simultaneamente reduz o atraso de transmissão total da mensagem; ○ Utilizam a largura de banda total disponível para transferir os pacotes (otimização da largura de banda). ● Desvantagens: ○ Sem garantias de banda, atraso e variação do atraso (jitter); ○ Quando a demanda é maior que os recursos oferecidos há congestionamento com uma geração de fila, podendo haver falha e perda de pacote; ○ Por poder usar diferentes caminhos, atrasos podem ser diferentes. Ruim para algumas aplicações tipo voz e vídeo; ○ Overhead de cabeçalho; ○ Disputa nó-a-nó; ○ Atrasos de enfileiramento e de processamento a cada nó. Arquiteturas de redes: OSI, IEEE, TCP/IP Rede de computadores. ● Sistema complexo: diferentes aplicações (p. ex, navegador Web, email), tipo de informação (p. ex, vídeo, áudio, voz), conexões entre computadores, meios físicos de transmissão… Arquitetura de rede ● Reduz a complexidade desse sistema – Define, distribui e organiza os protocolos de rede – Tipicamente definidas em camadas O modelo OSI Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization) desenvolveu um modelo de referência chamado OSI (Open Systems Interconnection), para que fabricantes pudessem criar protocolos a partir desse modelo. Camadas do Sistema OSI O modelo de referência OSI é o método para descrever como os conjuntos interconectados de hardware e software de rede podem ser organizados para que trabalhem concomitantemente no mundo das redes. O modelo OSI oferece um modo de dividir arbitrariamente a tarefa da rede em pedaços separados, que estão sujeitos ao processo formal de padronização. Para fazer isso, o modelo de referência OSI descreve sete camadas de funções de rede. Camadas do Sistema OSI Cada camada do modelo OSI lida com uma tarefa específica e se comunica com as camadas acima e abaixo dela. Os ataques de DDoS são direcionados a camadas específicas de uma conexão de Rede: os ataques na camada de aplicativos são direcionados à camada 7 e os ataques na camada de protocolo são direcionados às camadas 3 e 4. https://www.cloudflare.com/learning/ddos/what-is-a-ddos-attack/ https://www.cloudflare.com/learning/ddos/application-layer-ddos-attack/ https://www.cloudflare.com/learning/ddos/application-layer-ddos-attack/ https://www.cloudflare.com/learning/ddos/what-is-layer-7/ Por que o modelo OSI é importante? Embora a internet moderna não siga estritamente o modelo OSI (segue mais de perto um conjunto mais simples de protocolos da internet), o modelo continua sendo muito útil para solucionar problemas de Rede. Seja uma pessoa que não consegue colocar seu notebook na internet ou um site que esteja inativo para milhares de usuários, o modelo OSI pode ajudar a resolver e isolar a fonte do problema. Se o problema puder ser reduzido a uma camada específica do modelo, muito trabalho desnecessário poderá ser evitado. Encapsulamento Na transmissão de um dado: ● Cada camada recebe as informações da camada imediatamente superior; Acrescenta as informações pelas quais ela é responsável; ● Passa os dados para a camada imediatamente inferior; ● Esse processo é chamado encapsulamento; Como ocorre a comunicação no modelo OSI? Como ocorre a comunicação no modelo OSI? (encapsulamento) 7. Camada de aplicativos Essa é a única camada que interage diretamente com os dados do usuário. Os softwares aplicativos, como navegadores web e clientes de e-mail, dependem da camada de aplicação para iniciar as comunicações. Os softwares aplicativos clientes não fazem parte da camada de aplicação, que, na verdade, é responsável pelos protocolos e manipulação de dados dos quais o software depende para apresentar dados significativos ao usuário. Ex: ● Protocolo HTTP ● Protocolo FTP ● Protocolo SMTP ● Protocolo IRC 6. Camada de apresentação Essa camada é a principal responsável pela preparação dos dados para que possam ser usados pela camada de aplicação; em outras palavras, a camada 6 torna os dados apresentáveis para que os aplicativos os consumam. Dois dispositivos de comunicação que se comunicam podem usar métodos de codificação diferentes; por isso, a camada 6 é responsável pela tradução dos dados de entrada em uma sintaxe que a camada de aplicação do dispositivo receptor possa entender. Se os dispositivos se comunicarem por meio de uma conexão criptografada, a camada 6 será responsável por adicionar a criptografia na extremidade do remetente e decodificar a criptografia na extremidade do destinatário, podendo, assim, apresentar dados não criptografados e legíveis à camada de aplicação. Finalmente, a camada de apresentação também é responsável por compactar os dados recebidos da camada de aplicação antes de entregá-los à camada 5. Isso ajudaa aumentar a velocidade e a eficiência da comunicação ao minimizar a quantidade de dados que serão transferidos. 5. Camada de sessão Essa é a camada responsável pela abertura e fechamento da comunicação entre os dois dispositivos. O tempo decorrido entre o momento em que a comunicação é aberta e fechada é conhecido como "sessão". ● Permite que duas aplicações em computadores diferentes estabeleçam uma sessão de comunicação; ● Mantém a conexão ativa ● Diferentes usuários conectados; ● Sincronização; ○ Sincroniza a transferência de dados com pontos de verificação. ● Ex.: Gerenciador de downloads 4. Camada de transporte A camada 4 é responsável pela comunicação de ponta a ponta entre os dois dispositivos. Isso inclui pegar os dados da camada de sessão e dividi-los em porções chamadas segmentos antes de enviá-los para a camada 3 (rede). ● Camada de comunicação fim-a-fim; ○ Process-to-process; ○ Controle de fluxo e ordem; Ex.: ● TCP ● UDP 3. Camada de Rede A camada de rede é responsável por facilitar a transferência de dados entre duas redes diferentes. Se os dois dispositivos que estão se comunicando estiverem na mesma rede, a camada de rede será desnecessária. A camada de rede divide os segmentos da camada de transporte em unidades menores denominadas pacotes no dispositivo remetente e remonta esses pacotes no dispositivo receptor. A camada de rede também encontra o melhor caminho físico para que os dados cheguem ao seu destino, o que é conhecido como "roteamento". ● Endereçamento lógico dos pacotes; ○ Tradução de endereços lógicos em endereços físicos; ● Qualidade de serviço(QoS): Prioriza a entrega de determinado pacote; ○ Determinação da rota ○ Baseia-se em condições de tráfego e prioridades; Ex: ● IP ● IPX ● IPsec, ● ICMP, ● NAT https://pt.wikipedia.org/wiki/IPsec https://pt.wikipedia.org/wiki/Internet_Control_Message_Protocol https://pt.wikipedia.org/wiki/NAT 2. Camada de enlace de dados A camada de enlace de dados é muito semelhante à camada de rede, a não ser pelo fato de que a camada de enlace de dados facilita a transferência de dados entre dois dispositivos na MESMA rede. A camada de enlace de dados pega os pacotes da camada de rede e os divide em pedaços menores denominados "quadros". Como a camada de rede, a camada de enlace de dados também é responsável pelo controle de fluxo e pelo controle de erros na comunicação intrarrede. ● Também chamada Link de Dados; ● Fornecer informações sobre os endereços físicos de origem e destino(MAC Address) do quadro; ● Controlar o acesso ao canal compartilhado; O MAC address 1. Camada física Essa camada inclui o equipamento físico envolvido na transferência de dados, como cabos e comutadores. Essa também é a camada em que os dados são convertidos em um fluxo de bits, que é uma sequência de 1s e 0s. A camada física de ambos os dispositivos também precisa aceitar de comum acordo uma convenção de sinal para que se possa distinguir os 1s dos 0s em ambos os dispositivos. Arquitetura IEEE 802 O padrão IEEE (leia-se I3E) 802 trata-se de um conjunto de padrões desenvolvidos pelo IEEE para definir métodos de acesso e controle para redes locais (LANs) e metropolitanas (MANs). A série 802 não foi a única série de padrões de protocolos criada pelo IEEE, porém a mais importante. IEEE - Instituto de Engenheiros Eletricistas e Eletrônicos Arquitetura IEEE 802 Os protocolos IEEE 802 correspondem à camada física e à camada Enlace de dados do modelo ISO/OSI Porém a camada de enlace é dividida em duas sub-camadas: ● LLC - Logical Link Control (IEEE 802.2) ● MAC - Media Access Control (IEEE 802.1) IEEE - Instituto de Engenheiros Eletricistas e Eletrônicos Arquitetura IEEE 802 -(Redes Locais de Computadores) Camada de Controle de Enlace Lógico  ● A camada de protocolo de comunicação de dados de controle de link lógico (LLC) é a subcamada superior da camada de link de dados (camada 2) do modelo OSI ● A subcamada LLC atua como uma interface entre a subcamada de controle de acesso ao meio (MAC) e a camada de rede. ● Foi desenvolvida pela IEEE em parceria com a ANSI (American National Standards Institute) ● É comum aos vários métodos de acesso definidos na família de padrões IEEE 802 (LAN e MAN), exceto Ethernet. ● Adotada pela ISO em 1998 Camada de Controle de Enlace Lógico ● LLC define os service access points (SAPs) para a camada de rede da pilha de protocolo OSI ○ O SAP é um local conceitual no qual uma camada OSI pode solicitar os serviços de outra camada OSI. ● Oculta os diversos tipos de redes 802 e, fornecendo um único formato e uma única interface para a camada de rede. Camada de Controle de Enlace Lógico Multiplexação - possibilita que vários protocolos de rede (por exemplo, IP, IPX e DECnet) coexistam em uma rede multiponto e sejam transportados no mesmo meio de rede. Ele também pode fornecer controle de fluxo e mecanismos de gerenciamento de erros de solicitação de repetição automática (ARQ). ● LLC pode fornecer 3 tipos de serviço: ○ 1 – sem conexão e sem reconhecimento; ○ 2 – com conexão; ○ 3 – com reconhecimento e sem conexão. ● LLC fornece uma interface padronizada para o MAC que é específico para cada meio de transmissão (Ethernet, Token Ring, FDDI, 802.11, etc.) Camada de Controle de Enlace Lógico Possibilita que vários protocolos da camada rede (por exemplo, IP, IPX e DECnet) coexistam em uma rede multiponto e sejam transportados no mesmo meio de rede por meio da multiplexação Camada de Controle de Enlace Lógico O uso mais comum do LLC ocorre do seguinte modo: quando a camada de rede de uma máquina transmite um quadro para a subcamada LLC (através de primitivas de acesso), esta fica responsável por adicionar um cabeçalho LLC contendo números de seqüência e de confirmação. A estrutura resultante é inserida no campo de carga útil de um quadro 802.x e, em seguida, é transmitida. No receptor ocorre o processo inverso. O pacote resultante é geralmente referido como unidade de dados de protocolo LLC (PDU) e as informações adicionais adicionadas pela subcamada LLC são o LLC HEADER. Camada de Controle de Acesso ao Meio A subcamada de controle de acesso ao meio (MAC, também chamada de controle de acesso ao meio) é a camada que controla o hardware responsável pela interação com o meio de transmissão com fio, óptico ou sem fio. ➽ Endereço MAC ➽ Organização do acesso ao meio físico compartilhado – Barra, Anel, Wireless ➽ Detecção de erros (CRC) ➽ Delimitação de quadros ➽ Técnicas – CSMA-CD (802.3) – Token Ring (802.5) – Token Bus (802.4) – DQDB (802.6) – CSMA/CA (802.11) – Polling (802.15) Camada de Controle de Acesso ao Meio MAC fornece uma abstração de controle da camada física de modo que as complexidades do controle do link físico sejam invisíveis para a LLC e as camadas superiores da pilha de rede. ➽ Endereço MAC ➽ Organização do acesso ao meio físico compartilhado – Barra, Anel, Wireless ➽ Detecção de erros (CRC) ➽ Delimitação de quadros ➽ Técnicas – CSMA-CD (802.3) – Token Ring (802.5) – Token Bus (802.4) – DQDB (802.6) – CSMA/CA (802.11) – Polling (802.15) Camada de Controle de Acesso ao Meio Ao enviar dados para outro dispositivo na rede, a subcamada MAC: 1. encapsula quadros de nível superior em quadros apropriados para o meio de transmissão. 2. adiciona uma sequência de verificação de quadro para identificar erros de transmissão, 3. então encaminha os dados para a camada física assim que o método de acesso ao canal apropriado permitir. Camada de Controle de Acesso ao Meio Funções da subcamada MAC (IEEE Std 802-2001): ● Delimitação e reconhecimento de quadros ● Endereçamento de estações de destino (tanto como estações individuais quanto como grupos de estações) ● Transmissão de informações de endereçamento da estação de origem ● Transferência transparente de dados de PDUs LLC ou de informações equivalentes na subcamada Ethernet ● Proteção contraerros, geralmente por meio da geração e verificação de sequências de verificação de quadros ● Controle de acesso ao meio físico de transmissão MAC - Endereçamento ● Os endereços de rede local usados em redes IEEE 802 e redes FDDI são chamados de endereços de controle de acesso ao meio; ● Um endereço MAC destina-se a ser um número de série exclusivo. Os endereços MAC são normalmente atribuídos ao hardware de interface de rede no momento da fabricação. ● A parte mais significativa do endereço identifica o fabricante, que atribui o restante do endereço, fornecendo assim um endereço potencialmente exclusivo. O Controle de Acesso ao Meio Em topologias com domínio de colisão, como fazer com que não haja colisões de pacotes de dados? O Controle de Acesso ao Meio Resolvendo problemas de colisões: O MAC é responsável por compensar colisões iniciando a retransmissão se um sinal de congestionamento for detectado. Mecanismo de controle de acesso ao canal ● Os mecanismos de controle de acesso ao canal fornecidos pela camada MAC também são conhecidos como método de acesso múltiplo. ● O método de acesso múltiplo pode detectar ou evitar colisões de pacotes de dados se um método de acesso de canal baseado em contenção de modo de pacote for usado. ● O método de acesso múltiplo mais difundido é o CSMA/CD baseado em contenção usado em redes Ethernet. Técnica CSMA/CD - Carrier Sense Multiple Access with Collision Detection MAC Finalizando Ao receber dados da camada física, o MAC garante a integridade dos dados verificando as sequências de verificação de quadros do remetente e retira o preâmbulo e o preenchimento do remetente antes de passar os dados para as camadas superiores. Camada Fisica A camada PHY (Physical Layer) fornece o serviço de transmissão de dados e o serviço de gestão da camada física. Ex.: em . Bluetooth (IEEE 802.15.4), A PHY manipula a camada física do rádio realizando a seleção de canais, ativação e desativação do rádio e a verificação de energia e sinal. As principais faixas de frequência de operação de rádio são as seguintes: ● 868–868.6 MHz (1 canal) ● 902–928 MHz (10 canais) IEEE 802 - Nível Físico ➽A camada PHY permite a transmissão de bits através de um meio físico – Cabo coaxial – Par trançado – Fibra ótica IEEE 802 - Nível Físico ➽A camada PHY permite a transmissão de bits através de um meio físico – Cabo coaxial – Par trançado – Fibra ótica IEEE 802 - Nível Físico PHY define o Método de codificação: O Ethernet utiliza a codificação Manchester para a representação dos bits na transmissão. Ele utiliza subidas e descidas no nível de tensão (-0,85V e +0,85V) para codificar o bit 0 e o bit 1. IEEE 802 - Nível Físico Phy determina a taxa de Transmissão: Em Wifi, o ruído pode fazer permitir apenas conexões mais lentas. Wifi 5ghz na uenf?? A camada física permite que canais tenham frequencias compartilhadas no IEEE802.11 Arquitetura TCP/IP Arquitetura TCP/IP é um conjunto de protocolos de comunicação entre computadores em rede que se caracteriza pela definição de um modelo padrão de camadas para implementação na arquitetura de rede. O TCP/IP consiste na junção dos protocolos TCP (Transmission Control Protocol – Protocolo de Controle de Transmissão) e o IP (Internet Protocol – Protocolo de Inter-rede). Request For Comments - RFC Request for Comments (RFC (acrónimo; em português, "pedido de comentários") são documentos técnicos criados por indivíduos e organizações que lidam com tecnologia. Um documento RFC pode ser criado por diferentes fontes, como IETF (Internet Engineering Taskforce), IRTF (Internet Research Taskforce), ou IAB (Internet Architechture Board), além de poder também ser produzido por autores independentes. O sistema que cuida e analisa as RFC é sustentado pela Sociedade da Internet (ISOC - Internet Society). A RFC 3286, por exemplo, possui todas as especificações necessárias para a implementação do controle de fluxo de dados, também conhecido como streaming, e assim permitir que sites como o Youtube, Vimeo e DailyMotion funcionem. https://pt.wikipedia.org/wiki/Acr%C3%B3nimo https://pt.wikipedia.org/wiki/Internet_Engineering_Task_Force https://pt.wikipedia.org/wiki/Internet_Engineering_Task_Force https://pt.wikipedia.org/wiki/Internet_Research_Task_Force https://pt.wikipedia.org/w/index.php?title=Internet_Architechture_Board&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Internet_Society https://tools.ietf.org/html/rfc3286 https://pt.wikipedia.org/wiki/YouTube https://pt.wikipedia.org/wiki/Vimeo https://pt.wikipedia.org/wiki/Dailymotion Arquitetura TCP/IP - Conceitos básicos da arquitetura TCP/IP A lógica de posicionamento das camadas dispõe que aquelas mais superiores encontram-se mais próximas do usuário e trabalham com dados mais abstratos. Cada uma das camadas é programada para responder por um grupo de tarefa específicas Serviços são definidos para garantir a integridade e entrega dos dados trafegados do que será executado na camada superior. Arquitetura TCP/IP - Aplicação A camada de aplicação é o topo da arquitetura TCP/IP e integra Aplicação, Sessão e apresentação. Nela são realizadas a maior parte das requisições para execução de tarefas na rede. A comunicação entre os programas e os protocolos de transporte e é responsável por tudo que está relacionado aos serviços de comunicação que visam a interação junto ao usuário. Dentro da camada de aplicação são utilizados alguns dos seguintes protocolos: ● TELNET (Terminal Virtual); ● FTP (File Transfer Protocol); ● SMTP (Send Mail Transfer Protocol); ● DNS (Domain Name System); ● HTTP (Hypertext Transfer rotocol). Arquitetura TCP/IP - Aplicação ● TELNET (Terminal Virtual); ● FTP (File Transfer Protocol); ● SMTP (Send Mail Transfer Protocol); ● DNS (Domain Name System); ● HTTP (Hypertext Transfer Protocol). Arquitetura TCP/IP - Aplicação ● Todos os protocolos da camada de aplicação tem a habilidade de usar os protocolos de transportes UDP ou TCP ● Por exemplo, o TFTP usa o protocolo UDP porque normalmente são usados em LANS que são curtas. Então, a probabilidade de erros é menor ● Por outro lado, O SMTP, usa TCP porque é frequentemente usado na internet e portanto necessita verificação de erros Arquitetura TCP/IP - Protocolo de Transporte A camada de transporte é a segunda camada de cima para baixo na hierarquização da arquitetura TCP/IP, e corresponde igualmente à mesma camada no modelo OSI. Neste nível são executadas ações relacionadas à confiabilidade e integridade dos dados por meio de funções como o controle de fluxo, controle de erro, sequenciação e multiplexação de mensagens. Os protocolos definidos para esta camada são o UDP (User Datagram Protocol) e o TCP (Transmission Control Protocol), com o objetivo de garantir a conversação entre dois hosts. Arquitetura TCP/IP - Transporte ● UDP (User Datagram Protocol) - Oferece uma maneira direta para enviar e receber datagramas sobre uma rede IP com poucos serviços de recuperação de erros. ● TCP (Transport Control Protocol) - Oferece verificação de ordem e erros dos dados enviados pela rede. O TCP, tal como o UDP, usa o IP para a entrega dos datagramas à rede. Os pontos de acesso à aplicação são identificados por portas acessadas por multiplexação,, o que permite múltiplas ligações em cada host. As portas podem ser associadas com uma aplicação (Processo). https://pt.wikipedia.org/wiki/Protocolo_UDP https://pt.wikipedia.org/wiki/Protocolo_IP https://pt.wikipedia.org/wiki/Porta_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/Multiplexa%C3%A7%C3%A3o Arquitetura TCP/IP - Internet Protocol ● A camada de internet, também conhecida como inter-redes, é responsável pelo envio de pacotes por hosts a qualquer rede e pela garantia de que esses dados cheguem ao seu destino final. ● Equivalente a camada de rede do modelo OSI, na arquitetura TCP/IP a camada de internet tem como embasamento os protocolosIP (Internet Protocol) e ICMP (Internet Control Message Protocol). Arquitetura TCP/IP - Internet Protocol ● O protocolo IP (Internet Protocol), pega os pacotes recebidos da camada de Transporte e adiciona uma informação de endereço virtual: o endereço do computador que está enviando dados e o endereço do computador que vai receber estes dados. ● Estes endereços virtuais são chamados de endereços IP. ● Os pacotes transmitidos através da rede são chamados de quadros. Internet Protocol - Endereçamento O IP é o elemento comum encontrado na Internet pública dos dias de hoje. É descrito no RFC 791 da IETF, que foi pela primeira vez publicado em Setembro de 1981. Há duas versões do protocolo: ● Uma designada designada de versão 4, ou IPv4 que oferece endereçamento de 32-bits. ● A outra chamada IPv6 tem endereçamento de origem e destino de 128 bits. https://pt.wikipedia.org/wiki/Internet https://tools.ietf.org/html/rfc791 https://pt.wikipedia.org/wiki/IETF https://pt.wikipedia.org/wiki/IPv6 Arquitetura TCP/IP - Endereçamento ● O endereçamento define como os endereços IP dos nós finais são atribuídos e como as sub redes dos endereços de IP dos nós são divididos e agrupados. ● O protocolo IPv4 já é bastante antigo e tem muitos problemas. ○ Os mais graves são falhas de segurança, que periodicamente são descobertas e não têm solução. ● O IPv6, resolve grande parte dos problemas de segurança da internet hoje ● Os endereços IPv4 são "travados" geograficamente ○ Cerca de três quartos dos endereços IP disponíveis para a internet estão localizados nos Estados Unidos (mesmo que nunca usados), sobram apenas pouco mais de um bilhão de endereços para o resto do mundo Protocol ICMP Internet Control Message Protocol (em português, Protocolo de Mensagens de Controle da Internet) É utilizado para comunicar informações da camada de rede, sendo o uso mais comum para fornecer relatórios de erros à fonte original: ● Um pacote IP não consegue chegar ao seu destino (i.e. Tempo de vida do pacote expirado) ● O Gateway não consegue retransmitir os pacotes na frequência adequada (i.e. Gateway congestionado) ● O Roteador ou Encaminhador indica uma rota melhor para a máquina a enviar pacotes. https://pt.wikipedia.org/wiki/Camada_de_rede https://pt.wikipedia.org/wiki/IP https://pt.wikipedia.org/wiki/Gateway https://pt.wikipedia.org/wiki/Roteador https://pt.wikipedia.org/wiki/Encaminhador Protocolo IGMP IGMP (Internet Group Management Protocol) é um protocolo usado para controlar os membros de um grupo de multicast IP, gerenciando os grupos de multicast controlando a entrada e a saída de hosts deles. Este protocolo pode ser utilizado para aproveitar melhor os recursos de uma rede de modo a informar roteadores a enviar o multicast apenas para os hosts pertencentes aos grupos. Pode ser usado para jogos em rede ou distribuição de vídeo pela rede. Multicast é a transmissão de informação para múltiplos destinatários simultaneamente, usando a estratégia mais eficiente, onde as mensagens só passam por um link uma única vez e somente são duplicadas quando o link para os destinatários se divide em duas direções. https://pt.wikipedia.org/wiki/Multicast https://pt.wikipedia.org/wiki/Host https://pt.wikipedia.org/wiki/Roteador Arquitetura TCP/IP - Interface de rede Esta é a camada de base da arquitetura TCP/IP, correspondente às camadas de enlace de dados e física do OSI, onde ocorre a conexão básica do host com a rede por meio de algum protocolo capaz de enviar pacotes IP. Permite transmitir dados a outros computadores dentro de uma mesma rede física, além de realizar o envio do datagrama recebido pela camada de internet através de meios físicos. Para se manter em funcionamento a camada de Interface de rede utiliza como principais protocolos: ● Ethernet para Redes Locais (LAN – Local Area Network) ● PPP (Point-to-Point Protocol) para Redes de Longa Distância (WAN – Wide Area Network). Principais benefícios da arquitetura TCP/IP Por meio do protocolo TCP, que é orientado a conexão e está localizado na camada de Transporte do modelo OSI, a arquitetura TCP/IP prevê como benefício primordial a segurança no processo de troca de dados entre hosts. Além disso, são vantagens do uso deste modelo de arquitetura os seguintes pontos: ● Padronização, por ser um protocolo roteável, completo e passível de integração com todos os sistemas operacionais disponíveis hoje no mercado; ● Interconectividade, em função de se tratar de uma tecnologia que possibilita a conexão entre sistemas não compatíveis; ● Roteamento, habilitando a conexão remota de internet tanto por tecnologias mais antigas quanto mais recentes; ● Protocolo robusto, apresentando um conjunto de protocolos escalável, multiplataforma e que permite a utilização em sistemas operacionais entre dois pontos distantes; ● E Internet, que representa a vantagem de obtenção de acesso à internet por meio da suíte TCP/IP de protocolos. Camada de aplicação - Histórico As primeiras aplicações de rede criadas no final da década de 70 e início da 80 eram baseadas em texto como o BBS ( Bulletin Board System) e E-mail. Os BBS chegaram ao Brasil em meados dos anos 80 (!) e eram mais ou menos como provedores web (com fóruns, servidor de e-mail, bate-papo e download de arquivos), só que funcionavam de forma isolada. Internet – TechTudo » BBS: a internet antes da internet » Arquivo http://www.techtudo.com.br/platb/internet/2011/07/08/bbs-a-internet-antes-da-internet/ http://www.techtudo.com.br/platb/internet/2011/07/08/bbs-a-internet-antes-da-internet/ Camada de aplicação - Histórico Nos anos 90 apareceram a WWW, softwares de chat, programas de compartilhamento de arquivos e etc. Camada de aplicação - Histórico Nos anos 2000 aparecem as chamadas por voz sobre ip (Voip) e vídeo conferências. São desenvolvidos os primeiros jogos multiusuários pela internet e redes sociais e nasce as primeiras lojas on-line Camada de aplicação - Histórico Atualmente a computação tem ficado mais pulverizada e móvel. Hoje utilizamos aplicativos no celular que devem ficar 24 horas conectado, Tvs inteligentes, IoT etc Camada de aplicação - Princípios ● O objetivo do desenvolvimento do software de rede é a comunicação. Neste sentido, o desenvolvedor deve se preocupar como deverá ser essa comunicação. ● A maioria das linguagens de programação há API’s que permitem a comunicação entre programas ● Estas API’s são responsáveis pela comunicação fim a fim e não se preocupam com os equipamentos de rede. Na verdade estes são transparentes para aplicação Camada de aplicação - Princípios ● Na maioria das vezes, a comunicação em rede é baseada em serviços e estes serviços são centralizados em um hospedeiro chamado de servidor. ● O servidor é acessado por outros hospedeiros que são chamados de clientes. ● Os clientes normalmente não se comunicam diretamente entre si e o servidor possui um endereço físico ● Esta arquitetura cliente-servidor é a base da Web atual e difere da arquitetura da rede implementada Camada de aplicação - Princípios O comportamento de um sistema cliente-servidor normalmente é conhecido como requisição e resposta: –Servidor implementa um serviço específico –Cliente é o processo que requisita um serviço de um servidor enviando-lhe uma requisição e espera a resposta do servidor Camada de aplicação - Princípios Arquiteturas - Tolerância a falhas ● Muitas vezes um servidor não é capaz de atender todas as requisições. ● Deste modo, para evitar uma negação de serviço (DoS - Denial of Service) réplicas do servidor são utilizadas para balancear a carga. ● Alguns casos são utilizados Data Centers que possuem inúmeras réplicas dos servidores como o google. ● Para evitar ociosidade dos equipamentos existe a possibilidade do aluguel de servidores virtuais (Computação em nuvem). Camada de aplicação - Princípios Arquiteturas - Arquitetura Descentralizadas ● Contrapondo a arquitetura cliente-servidor,existe a arquitetura P2P (Peer-to-Peer), onde Cada máquina opera funções logicamente equivalentes. Porém sobre conjunto de dados diferentes. ● Neste caso, a interação entre os processos é simétrica: Cada processo atuará como cliente e servidor ao mesmo tempo. Camada de aplicação - Princípios Arquiteturas - Arquitetura Descentralizadas Os peers não pertecem aos provedores de serviços e sim aos usuários O sistema P2P é interessante para o compartilhamento de arquivos, telefonia, IPTV e troca de mensagens Nos sistemas P2P existe uma auto-escalabilidade - cada peer aumenta a carga, porém, acrescenta capacidade Camada de aplicação - Princípios Arquiteturas - Arquitetura Descentralizadas Desafios: ● Segurança - Como manter os meus dados seguros? ● Incentivo - Como incentivar as pessoas a usarem o sistema P2P? ● ISP Amigável - Normalmente a taxa de download oferecida pelo ISP é maior do que a de upload. Camada de aplicação - princípios Comunicação entre processos. ● O que é um processo? ● Como você faria dois processos se comunicarem? ○ Por exemplo, um processo modificar o conteúdo de uma variável de outro. Comunicação entre processos Interfaces Socket -> è uma das primitivas do Sistema Operacional para troca de mensagem. ● O socket não se preocupa com a infraestrutura de rede. ● O socket utiliza a camada de transporte para transmissão ● Dependendo do tipo da aplicação diferente tipos de protocolo de transporte pode ser utilizado ● Você precisa de uma entrega confiável? Comunicação entre processos É necessário a utilização de endereços para haver a comunicação entre dois processos. ● Porque? Como fazer a comunicação unicast em redes de difusão? ● Na pilha TCP/IP usa-se o endereço da camada de interedes para esta comunicação. ● Em uma rede local precisaria do ip? o que você usaria? Comunicação entre processos - Portas Além do endereço é necessário identificar o endereço receptor, pois, um host pode executar vários processos e para isso utilizamos as portas. A maioria dos protocolos da camada de transporte suportam multiplexação para que se possa enviar dados de mais de uma aplicação ao mesmo tempo Requisitos das Aplicações Requisições de Aplicações comuns da Internet Aplicações e seus Protocolos de Transporte Web e HTTP Página web consiste de objetos (arquivos) ● Objeto pode ser arquivo HTML, imagem JPEG, applet Java, arquivo de áudio ● Página web consiste de arquivo HTML base que inclui diversos objetos referenciados. ● Cada objeto é endereçável por uma URL (Uniform Resource Locator) Visão geral do HTTP HTTP: HyperText Transfer Protocol -> Protocolo da camada de aplicação da Web ● RFC 1945 (HTTP 1.0 - 1996) ● RFC 2616 (HTTP 1.1 - 1999) ● RFC 7540 (HTTP 2.0 - 2015) Modelo cliente/servidor: ● cliente: navegador que pede, recebe (usando protocolo HTTP) e “apresenta” objetos Web (Microsoft Edge, Firefox, Chrome) ● servidor: servidor Web envia (usando protocolo HTTP) objetos em resposta a requisições (Apache, Microsoft Internet Information Server Visão geral do HTTP usa TCP: 1. Cliente inicia conexão TCP (cria socket) para o servidor, porta 80 2. Servidor aceita conexão TCP do cliente 3. Mensagens HTTP (mensagens do protocolo da camada de aplicação) trocadas entre navegador (cliente HTTP) e servidor Web (servidor HTTP) 4. conexão TCP é fechada HTTP é “sem memória” - servidor não mantém informação sobre pedidos anteriores do cliente. Conexões HTTP HTTP não persistente ● no máximo um objeto enviado sobre uma conexão TCP ● conexão então é fechada ● Permite fazer download de múltiplos objetos por múltiplas conexões HTTP persistente ● múltiplos objetos podem ser enviados sobre única conexão TCP entre cliente e o servidor ● padrão Mensagem pedido HTTP ● 2 tipos de mensagens HTTP: pedido (request), resposta ● Mensagem pedido HTTP: ○ ASCII (formato que permite leitura por humanos) Mensagem pedido HTTP: formato geral Upload de entrada de formulário Dados de entrada Mensagem resposta HTTP Códigos de estado da resposta HTTP Acesse um servidor web usando Telnet: telnet set localecho 1) Abre a conexão TCP o www.geocites.ws (abre conexão) 2) Pedigo GET HTTP GET www.geocites.ws/ HTTP/1.0 Host: www.geocites.ws 3) 2x enter DNS: Dominain Name System DNS Base de dados distribuída, hierárquica DNS: servidores de nomes raiz Servidores TLD e autoritários Servidores top-level domain (TLD): responsáveis pelos domínios com, org, net, edu etc e todos os domínios top-level nacionais uk, fr, ca, jp. · Network Solutions mantém servidores para o TLD “com” TLD · Educause para o TLD “edu” Servidores DNS autorizados: servidores DNS de organizações, provêm nome de hospedeiro autorizado para mapeamentos IP para servidores de organizações (ex.: Web e mail). · Podem ser mantidos por uma organização ou provedor de serviços Servidor de nomes local Não pertence estritamente a uma hierarquia ·Cada ISP (ISP residencial, companhia, universidade) possui um · Também chamado de “servidor de nomes default” ·Quando um hospedeiro faz uma pergunta a um DNS, a pergunta é enviada para seu servidor DNS local · Age como um proxy, encaminhando as perguntas para dentro da hierarquia DNS: armazenando e atualizando registros Uma vez que um servidor de nomes apreende um mapeamento, ele armazena o mapeamento num registro do tipo cache · Registro do cache tornam-se obsoletos (desaparecem) depois de um certo tempo · Servidores TLD são tipicamente armazenados em cache nos servidores de nome locais Mecanismos de atualização e notificação estão sendo projetados pelo IETF · RFC 2136 · http://www.ietf.org/html.charters/dnsind-charter Registros do DNS DNS: protocolo e mensagem Registro de um nome Camada de transporte Fato Rápido: A camada de rede não oferece garantias de entrega Camada de transporte do modelo TCP/IP ● São executados nos sistemas finais: ○ lado transmissor: quebra as mensagens da aplicação em segmentos, repassa-os para a camada de rede ○ lado receptor: remonta as mensagens a partir dos segmentos, repassa-as para a camada de aplicação ● TCP e UDP. Objetivo Fornecer comunicação lógica entre processos de aplicação executando em diferentes hospedeiros Camada de transporte do modelo TCP/IP Provê a comunicação entre duas pontas (fonte e destino) entre dois processos. ● Também conhecido como two-way communication ● Os processos podem estar localizados na mesma máquina (Unix Socket) ou na rede (TCP/IP Sockets). Soquete: Serviços Protocolos da camada de transporte Internet Entrega confiável, ordenada (TCP) ● controle de congestionamento ● controle de fluxo ● estabelecimento de conexão (“setup”) Entrega não confiável, não ordenada: UDP ● extensão sem “gorduras” no “melhor esforço”” do IP ● serviços não disponíveis: ○ garantias de atraso máximo ○ garantias de largura de banda mínima UDP: User Datagram Protocol [RFC 768] UDP: Cabeçalho do segmento Demultiplexação Demultiplexação não orientada a conexões: exemplo Demultiplexação não orientada a conexões Como garantir a entrega confiável de dados? Princípios de Transferência confiável de dados (rdt) Transferência confiável: o ponto de partida Transferência confiável: Nosso ponto de partida rdt1.0: transferência confiável sobre canais confiáveis rdt2.0: especificação da FSM rdt2.0 tem uma falha fatal! rdt2.1: transmissor, trata ACK/NAKs corrompidos rdt2.1: receptor, trata ACK/NAKs corrompidos rdt2.1: discussão rdt3.0: canais com erros e perdas Rdt 3.0 em ação Transmissor rdt3.0 TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581
Compartilhar