Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 protocolos IP (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/IPhttps://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 TransporteWeb 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