Issuu on Google+

Afonso Praça caos!design

Redes e Internet Breve introdução

Baseado em slides extraídos do material dos professores Jim Kurose e Keith Ross relativos ao livro “Redes de Computadores e a Internet – Uma abordagem top-down”, terceira edição.


Porque precisamos de uma rede?


Porque precisamos de uma rede? A internet ĂŠ uma rede de redes


O que é a Internet?

. Milhões de elementos de computação interligados: . Executando aplicações distribuídas . Enlaces de comunicação fibra, cobre, rádio, satélite • Roteadores: decidem por onde enviar os pacotes recebidos • Protocolos: são padrões de comunicação para troca de informações. ex.: TCP, IP, HTTP, FTP


Endereçamento IP

Endereço IP: identificador de 32 bits para interfaces de roteadores e computadores (hosts) • Interface: conexão entre roteador ou computador (host) e enlace físico • Roteador tem tipicamente múltiplas interfaces

223.1.1.1 = 11011111 00000001 00000001 00000001


Endereçamento IP • Endereço IP: • Parte da sub-rede (bits de ordem superior) • Part do computador (host) (bits de ordem inferior) • O que é um sub-rede? • Interfaces de dispositivo com a mesma parte de sub-rede do endereço IP . Podem alcançar fisicamente uns aos outros sem intervenção de roteador

rede consistindo de 3 sub-redes


DNS

. O servidor DNS traduz nomes para endereรงos IPs e endereรงos IP para seus respectivos nomes.


O que ĂŠ um protocolo? Um protocolo humano e um protocolo de rede de computadores:


Uma visão mais de perto da estrutura da rede:

• Borda da rede: aplicações e hospedeiros • Núcleo da rede: roteadores rede de redes • Redes de acesso, meio físico: enlaces dez comunicação


As bordas da rede • Sistemas finais (hospedeiros): • Executam programas de aplicação • Ex.: Web, e-mail • Modelo cliente/servidor • O cliente toma a iniciativa enviando pedidos que são respondidos por servidores • Ex.: Web client (browser)/ server; e-mail client/server • Modelo peer-to-peer: • Mínimo (ou nenhum) uso de servidores dedicados • Ex.: Gnutella, KaZaA


O núcleo da rede . Malha de roteadores interconectados • A questão fundamental: como os dados são transferidos através da rede? • Comutação de circuitos: usa um canal dedicado para cada conexão. ex.: rede telefônica • Comutação de pacotes: dados são enviados em “blocos” discretos


Comutação de circuitos

. Recursos fim-a-fim são reservados por “chamada” • Taxa de transmissão, capacidade dos comutadores • Recursos dedicados: não há compartilhamento • Exige estabelecimento de conexão


Comutação de pacotes . Fluxo de dados dividido em pacotes • Cada pacote usa toda a banda disponível ao ser transmitido • Recursos são usados na medida do necessário Contenção de recursos: • A demanda agregada por recursos pode exceder a capacidade disponível • Congestionamento: filas de pacotes, espera para uso do link • Armazena e reenvia: pacotes se movem um “salto” por vez


Núcleo da rede: comutação de pacotes


Estrutura da Internet: rede de redes


O modelo em camadas

Convivendo com sistemas complexos:   . Padronizar o relacionamento das partes de um sistema complexo   . Modularização facilita a manutenção e atualização do sistema . As mudanças na implementação de uma camada são transparentes para o resto do sistema


Pilha de protocolos da Internet • Aplicação: suporta as aplicações de rede FTP, SMTP, HTTP • Transporte: transferência de dados hospedeiro-hospedeiro • TCP, UDP • Rede: roteamento de datagramas da origem ao destino • IP, protocolos de roteamento • Enlace: transferência de dados entre elementos vizinhos da rede • PPP, Ethernet • Física: bits “nos fios dos canais”


Encapsulamento


Requisitos de transporte de aplicação comuns

Aplicação file transfer e-mail real-time áudio/vídeo stored áudio/video jogos interativos e-business

Perdas

Banda

Sensível ao atraso

sem perdas sem perdas tolerante

elástica elástica aúdio: 5 Kb-1 Mb vídeo:10 Kb-5 Mb igual à anterior kbps elástica

não não sim, 100’s mseg

tolerante tolerante sem perda

sim, segundos sim, 100’s mseg sim


Serviços dos protocolos de transporte da Internet Serviço TCP: • Orientado à conexão: conexão requerida entre processos cliente e servidor • Transporte confiável entre os processor de envio e recepção • Controle de fluxo: o transmissor não sobrecarrega o receptor • Controle de congestionamento: protege a rede do excesso de tráfego . Não oferece: garantias de temporização e de banda mínima

Serviço UDP: • Transferência de dados não confiável entre os processos transmissor e receptor • Não oferece: estabelecimento de conexão, confiabilidade, controle de fluxo e de congestionamento, garantia de temporização e de banda mínima.


Exemplo de protocolo de aplicação: HTTP

HTTP: hypertext transfer protocol • Protocolo da camada de aplicação da Web  Modelo cliente/servidor • Cliente: browser que solicita, recebe e apresenta objetos da Web • Servidor: envia objetos em resposta a pedido


Visão geral do HTTP Utiliza TCP: • Cliente inicia conexão TCP (cria socket) para o servidor na porta 80 • Servidor aceita uma conexão TCP do cliente • mensagens HTTP (mensagens do protocolo de camada de aplicação) são trocadas entre o browser (cliente HTTP) e o servidor Web (servidor HTTP) • A conexão TCP é fechada HTTP é “stateless” • O servidor não mantém informação sobre os pedidos passados pelos clientes Protocolos que mantêm informações de “estado” são complexos! • Histórico do passado (estado) deve ser mantido • Se o servidor/cliente quebra, suas visões de “estado” podem ser inconsistentes, devendo ser reconciliadas


HTTP Usuário entra com a URL:

www.someSchool.edu/someDepartment/home.index 1a. Cliente HTTP inicia conexão TCP ao servidor HTTP (processo) em www.someSchool.edu. Porta 80

2. Cliente HTTP envia HTTP request message (contendo a URL) para o socket da conexão TCP

Tempo

1b. Servidor HTTP no hospedeiro www.someSchool.edu esperando pela conexão TCP na porta 80. “Aceita” conexão, notificando o cliente 3. Servidor HTTP recebe mensagem de pedido, forma response message contendo o objeto solicitado (someDepartment/home.index), envia mensagem para o socket


Afonso Praรงa caos!design


Redes de Computadores e a Internet