Kurose
“Redes de Computadores e a
Internet
Uma Abordagem Top-Down
”
5ª. Edição – Pearson
Cap.: 1 até 1.2.2
Como funciona uma rede?
Existem princípios de orientação e estrutura? Conceitos importantes:
◦ Terminologia e conceitos fundamentais
◦ Componentes básicos de HW e SW
◦ Serviços de transporte
◦ Enlaces e comutadores de dados
◦ Redes de acesso e meios físicos
Antigamente: PCs, estações Linux, servidores,
etc.
Sistemas modernos: TVs, laptops, consoles,
telefones, webcams, automóveis, dispositivos de sensoriamento ambiental, quadros de
imagens, sistemas de segurança.
SISTEMAS FINAIS (SF)
Enlaces de comunicação pacotes
Meios físicos: cabos coaxiais, fios de cobre,
fibras óticas, rádio.
Taxas de dados diferentes Medida em bits por segundo SF envia a outro SF:
◦ Segmentar
◦ Byte de cabeçalho a cada segmento
Comutadores encaminham pacotes
Mais comuns: roteadores e comutadores de
camada de enlace (switches)
Sequencia de enlaces: Rota ou caminho da
Redes rodovias, estradas e cruzamentos Fábrica – carga – caminhões
Depósito – carga descarregada e agrupada Pacotes caminhões
Enlaces rodovias
Comutadores cruzamento Sistemas prédios
Para estender uma rede depende de: Repetedor: Aumenta os limites
Ponte: Isola o tráfego entre as redes
Roteador: Liga duas ou mais redes, direciona e
filtra dados
Gateway: Conecta duas ou mais redes de tipos
ISP: Provedor Serviço de Internet Fornecem acesso à comunicação
◦ Corporativos
◦ De Universidades
◦ De Aeroportos
◦ De Hotéis
◦ De Cafés
Cada um é um rede de comutadores
Acessos de rede: Discado, banda larga,
Acesso aos provedores de conteúdo ISP’s de nível baixo e alto
Roteadores de alta velocidade – fibra ótica Cada rede ISP e gerenciada independente Executa o protocolo IP e obedece certas
convenções de nome e endereço
SF’s executam o TCP – envio e recebimento; e
Serviços a aplicações: correio eletrônico,
navegação na Web, msg instantânea, VoIP, video em tempo real, jogos, P2P, tv, etc.
Aplicações distribuidas – vários SF’s
As aplicações são executadas nos SF’s e não
Ideia aplicação executada nos SF’s
Criar componentes de software para SF’s Java, C, Python
Troca de dados entre diferentes SF
Como um componente em um SF orienta a
rede a enviar dados a outro SF?
Interface de Programação de Aplicação (API) –
regras do emissor para que a rede seja capaz de enviar ao SF destino
Exemplo uma pessoa enviar uma carta a
outra
O serviço postal necessita que a primeira
pessoa coloque a carta em um envelope,
escreva o nome completo, endereço, CEP na parte central do envelope, feche, colocar um selo no canto superior direito e colocar o
envelope em uma caixa de correio – “API do correio postal”
Exemplo de protocolo humano: ◦ Cumprimentar ◦ Resposta ◦ Preguntar a hora ◦ A hora é dada ◦ Finalizar
Porém podem ter falhas na comunicação:
Negativa, resposta rude, línguas diferentes, ou nenhuma resposta
É preciso de dois SF executem o mesmo
Protocolos de hardware – controlam o fluxo
de bits no ‘cabo’ entre duas placas
Protocolos controle congest. Em SF’s – taxa
de transmissão origem – destino
Protocolos em roteadores – caminho
Um protocolo define o formato e a ordem das
mensagens trocadas entre dois SF’s, bem
como as ações realizadas na transmissão/
recebimento da mensagem ou outro evento
Definição cliente (solicita o serviço) – servidor
(executa o serviço)
Programa cliente roda em um SF e o prog.
servidor em outro – aplicações distribuídas
Outras aplicações são P2P (programas
executam ações de cliente e servidor), p. ex. compartilhamento de arquivos
Muitas tecnologias usam infr. Telefônica Dial-up – linha telefônica – 56 kbps –
transmissão analógica – o acesso bloqueia a linha
DSL – linha digital de assinante – cabo –
acesso fornecido pela mesma empresa do
telefone – envio de dados e sinais telefônicos - canis de alta velocidade (50kHz-1MHz);
velocidade média (4kHz-50kHz) e bidirecional (até 4kHz)
Cabo HFC (híbrida fibra-coaxial) – tv a cabo –
fibra ótica para conexão entre terminais de distribuição – modens a cabo - ETHERNET
FTTH Fiber-To-The-Home –fibra direta da
central à residência – serviço de telefone e tv – fibra compartilhada
Ethernet – Usada pela rede LAN– par de fios
conectar comutador Ethernet – até 10 Gbps
Wi-Fi – Rede LAN sem fio – distância alguns
metros – Redes de acesso sem fio, pacotes enviados a estação-base (kms) (até 54Mbps)
Acesso sem fio longa distância – celular (até
10 km) até 1 Mbps – internet 3G
WiMAX – Tecnologia em desenvolvimento
para transmissão de 5 até 10 Mbps e distâncias superiores a 10 km
É um tipo de arquitetura de aplicação
Há um hospedeiro sempre em funcionamento Com endereço fixo (IP)
Ex: aplicação Web
Os clientes não se comunicam
Um único servidor pode não ser suficiente
Comunicação direita entre pares hospedeiros Pares controlados por usuários
Se comunicam se passar p/ servidor dedicado Exemplos:
◦ Bit Torrent
◦ eMule, LimeWire
◦ Telefonia na internet (Skype)
◦ IPTV
Cada par gera carga de trabalho, mas
O problema na Internet: tentar conectar
diferentes tecnologias de forma transparente
Linguagem comum independente da
tecnologia de rede
O TCP/IP fornece total transparência aos
usuários finais (LAN, MAN, WAN) mascarando os detalhes da tecnologia de hardware
(camada de transmissão/enlace de dados)
Sistemas abertos (OS)
Aplicações: SMTP (email), HTTP (WWW), DNS
IP: Função básica rotear pacotes de uma
máquina a outra
Baseado no endereço
Tecnologia de chaveamento de pacotes
IP não verifica entrega dos pacotes, ficando
essa responsabilidade para o TCP
Cada máquina precisa endereço IP
Conjunto de 32 bits (X varia 0-255): X.X.X.X DNS associa um nome ao IP
Aplicações: pares de processos (programas)
comunicantes – passam p/ redes subjacentes
Um processo envia e recebe mensagens da
rede através de interface chamada
socket
Analogia do
socket
com a porta da casa Processo (porta) processo Assume mecanismo de transporte do outro
lado da porta
Socket
: interface entre camadas de aplicaçãoe transporte (API) Interface de Programação da Aplicação
Dois protocolos de transporte TCP e UDP O criador da aplicação deve decidir qual
protocolo usar – serviços diferentes
Serviços do TCP
◦ Orientado à conexão: Cliente e servidor trocam informação camada de transporte antes de fluir mensagens camada de aplicação
◦ Confiável de transporte: Processos podem confiar entrega dados sem erro e na ordem correta
◦ Controle de congestionamento: Pode limitar a
O cliente e o servidor trocam informações de
controle da camada de transporte antes de fluir as mensagens da camada de aplicação
Alerta o cliente e o servidor - se preparam
para receber os pacotes
Após a fase de apresentação - Conexão TCP
entre os sockets
Conexão full-duplex (simultânea)
Ao terminar o envio a aplicação interrompe a
Processos comunicantes confiar no TCP
entrega todos os dados sem erro e em ordem
Um lado da aplicação envia um conjunto de
bytes dentro de um socket
Pode contar com o TCP para entregar os
dados no socket receptor sem falta de bytes nem duplicados
O TCP também inclui mecanismo de controle
de congestionamento
Limita a capacidade de transmissão (cliente
ou servidor) quando rede está congestionada
Tenta limitar a conexão do TCP à sua justa
porção de largura de banda da rede
Pode ter efeito prejudicial em aplicações de
áudio e vídeo em tempo real, pois são
tolerantes à perda e não precisam serviço de transporte totalmente confiável – usam UDP
Protocolo simplificado
Não orientado para conexão Não há apresentação
Não confiável de transferência de dados Não tem controle de congestionamento Utilizado em aplicações em tempo real –
garante taxa mínima na transferência – evita cabeçalhos de pacotes TCP