Buscar

Rede de Computadores-91-185

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

Continue navegando