Pós-Graduação: Eng. de Redes e Sistemas de Telecomunicações
TL012 – Introdução às Redes de Telecomunicações
Prof. Edson J. C. Gimenez
Campinas 2016 Créditos:
- Prof. Antônio Marcos Alberti
- Prof. Carlos R. dos Santos
- Prof. José Marcos Câmara Brito
2
Conceito:
Critério de avaliação:
Prova (com consulta) – peso 8
Lista de Exercícios – peso 2
Conceito Final:
Conceito A: NF ≥ 85
Conceito B: 70 ≤ NF < 85
Conceito C: 50 ≤ NF < 70
Conceito D: NF < 50
Conceito E: NC
3
Referências Bibliográficas
Tanenbaum e Wetherall – Redes de Computadores, 5a ed.
Pearson,2011.
Forouzan – Comunicação de Dados e Redes de Computadores,
4ª ed. McGraw Hill, 2008.
Stallings – Redes e Sistemas de Comunicação de Dados, 5a ed.
Campus, 2005.
Peterson e Davie – Redes de Computadores: uma abordagem de
sistemas, 5a ed. Campus, 2013.
Kurose e Ross – Redes de Computadores e a Internet: uma
abordagem top-down, 6a ed. Pearson, 2013.
Wendell Odon – CCNA ICND: Guia de Certificação do Exame.
Alta Books, 2005.
5
Tópicos
Contextualização
Classificação das Redes
Métricas de Desempenho
Técnicas de Comutação
Padronização de Redes
Modelo de Referência OSI
Meios de Transmissão
Topologias
6
Contextualização
O que é Comunicação?
O que é Telecomunicação?
Fonte
: M
ichaelis
e W
ikip
edia
“Ação, efeito ou meio de comunicar”. “É o processo pelo qual uma informação gerada em um ponto no espaço e no tempo chamado fonte é transferida a outro ponto no espaço e no tempo chamado destino”.
“Denominação geral das comunicações a distância”. “É a transmissão, emissão ou recepção, por fio, radioeletricidade, meios ópticos ou qualquer outro processo eletromagnético, de símbolos, caracteres, sinais, escritos, imagens, sons ou informações de qualquer natureza”.
7
Contextualização O que é Informação?
Quais são os requisitos para uma telecomunicação?
Fonte
: M
ichaelis
e W
ikip
edia
“Informação: do latim informatione. Ato ou efeito de informar.” “Informação é um conjunto de dados que quando reunidos são capazes de informar”.
Alguém ou algo que receba a informação. Alguém ou algo que transmita a informação. Um sistema ou rede capaz de transportar a informação.
8
Como colocar a informação no sistema ou rede?
Como retirar a informação do sistema ou rede?
Contextualização
Através do uso de um terminal.
Através do uso de um terminal.
9
Contextualização Como representar a informação nos terminais?
Como transmitir a representação da informação?
Valores contínuos: Analógico.
Valores discretos: Digital.
010010100010101
Utilizando ondas eletromagnéticas que se propagam através de um meio físico.
Esta função é chamada de Codificação de Fonte.
Esta função é a Codificação de Linha ou a Modulação.
10
Contextualização Como separar o inicio de uma informação e o final da
anterior?
Como lidar com erros de transmissão?
Através de controles anexados a informação:
Cabeçalho + Carga Útil = Quadro
Utilizando redundância: É a função de Controle de Erro.
Fazendo retransmissões: É a função Retransmissão Automática.
Esta função é chamada de Delineamento de Quadro.
01010101 11010100 11110101
Info 3 Info 2 Info 1
01010101 110???00 11110101
Info 3 Info 2 Info 1
11
Contextualização Como paralisar o envio de informações para um terminal
lento?
E se houverem mais que dois terminais na rede?
Através de controles de fluxo.
A solução envolve a Topologia física da rede, bem como a técnica de Múltiplo Acesso a ser usada.
Esta função é chamada de Controle de Fluxo.
11010100 11110101
Info 2 Info 1
?
12
Contextualização Qual topologia física usar?
Qual a técnica de múltiplo acesso usar?
E se várias estações transmitirem simultaneamente em um
meio físico compartilhado?
Anel, barramento, estrela, malha, etc.
Particionamento de canal, acesso aleatório, passagem de permissão, hibridas, etc.
Haverá colisões, e uma técnica de Múltiplo Acesso adequada deve ser usada para realizar retransmissões.
13
?
Contextualização Como ampliar a rede para atender terminais em uma
cidade inteira?
A solução é utilizar elementos de rede, bem como funções de Comutação e Roteamento.
14
Contextualização Como determinar o terminal de destino de uma dada
informação?
A solução é utilizar esquemas de Endereçamento e informações no cabeçalho dos quadros.
?
01010101
Info 1?
15
Contextualização Como transmitir informações enormes, como um DVD?
Como recuperar estas informações do outro lado?
E se der erro?
A solução é Fragmentar esta informação em um grande número de pacotes.
A solução é Remontar esta informação a partir de um grande número de pacotes recebidos com sucesso.
Novamente, usando a função de Retransmissão Automática.
Classificação das Redes (quanto a área de abrangência)
Local Area Networks (LANs)
Metropolitan Area Networks (MANs)
Wide Area Networks (WANs)
Personal Area Networks (PANs)
16
Características:
Operam dentro de uma área geográfica limitada
Permitem o acesso múltiplo a meios físicos com uma grande
largura de banda (altas taxas)
Controle privativo da rede, sob administração local
Fornece conectividade ininterrupta aos serviços locais
Conecta dispositivos fisicamente adjacentes
Redes Locais - LANs
17
Principais dispositivos:
Principais tecnologias:
Ethernet (IEEE802.3)
Wi-Fi (IEEE802.11)
Redes Locais - LANs
18
Características:
Operam em uma ampla área geográfica
Permitem o acesso através de interfaces seriais operando a
baixas velocidades
Fornece conectividade ininterrupta e intermitente
Conecta dispositivos separados através de grandes áreas
geográficas
Redes Longa Distância – WANs
19
Principais dispositivos:
Principais tecnologias:
Sistemas celular (2G, 3G, 4G, ...), Sistemas Satélite,
IP/MPLS, xDSL, Frame Relay, Hierarquias digitais T (EUA) e
E (Europa), ATM, SONET, etc.
Redes Longa Distância – WANs
20
Características:
Rede que abrange uma área metropolitana (uma cidade ou
uma área suburbana).
Geralmente consiste em uma infraestrutura permitindo
interligar redes locais em uma mesma área geográfica,
servindo ainda de acesso a WAN.
Principais tecnologias:
WiMAX, Redes Mesh, FDDI, etc.
Redes Metropolitanas – MANs
21
Características:
Rede que abrange uma área bastante limitada; tipicamente,
com os dispositivos bastante próximos uns dos outros.
Exemplo: Bluetooth – IEEE802.15
Redes de Área Pessoal – PANs
22
Internet
A Internet é um conglomerado de redes (rede de redes).
Não é de propriedade de nenhum grupo, porém alguns
órgãos (associações) cuidam de seus padrões e controle,
tais como IETF, IANA, Comitê Gestor de Internet no Brasil
(CGI), etc.
23
Dispositivos Finais:
Formam a interface entre o usuário e a rede de comunicação.
Exemplos:
Computadores (estações de trabalho, laptops, servidores de
arquivo, servidores Web), impressoras de rede, telefones
VoIP, câmeras de segurança, dispositivos móveis, etc.
No contexto de rede, são mencionados como hosts
Um dispositivo host pode ser tanto a origem ou o destino de
uma mensagem transmitida pela rede.
Para distinguir um host de outro, cada host em uma rede é
identificado por um endereço.
Dispositivos de Rede
24
Dispositivos Intermediários:
Fornecem conectividade e operam por trás do cenário para
garantir que os dados fluam através da rede.
Conectam os hosts individuais à rede e podem conectar
múltiplas redes individuais para formar uma internetwork
(rede interconectada).
Exemplos:
Dispositivos de Acesso a Rede (hubs, switches, access
points (APs))
Dispositivos de Redes Interconectadas (roteadores)
Servidores e Modems de Comunicação
Dispositivos de Segurança (firewalls, IDS)
Dispositivos de Rede
25
26
Fatores que Impactam no Desempenho da Rede
Pode-se citar os seguintes fatores:
Estabelecimento de Conexões
Empacotamento
Armazenamento
Roteamento/Comutação
Escalonamento
Contenção
Acesso ao Meio
Transmissão/Propagação
Erros
Falhas
Segmentação/Remontagem
27
Estabelecimento de Conexões
Em muitas tecnologias, as informações dos clientes da
rede só podem ser enviadas, se uma conexão for
estabelecida de antemão.
O estabelecimento de conexões, demanda o envio de
mensagens de sinalização, através da rede, que além de
consumir recursos da rede, acrescentam um atraso inicial
na transmissão de dados.
28
Empacotamento
Muitas vezes, a taxa de chegada de informações dos
clientes da rede é inferior ao tamanho dos pacotes
utilizados.
Neste caso, é necessário o
armazenamento temporário das
informações, até que haja
informações suficientes
para preencher um pacote.
Tamanho do pacote
Atraso de empacotamento
Amostra Amostra
Amostra Amostra
Cabeçalho Payload
29
Armazenamento e Escalonamento
Redes que utilizam comutação de pacotes compartilham
recursos de transmissão, aumentando a eficiência de uso
dos recursos.
Entretanto, em algumas situações, o tráfego de pacotes
pode ser maior do que a capacidade de transmissão da
rede.
Nestes casos, estruturas de armazenamento de pacotes
precisam ser utilizadas (filas ou buffers).
Porta 0
Porta 1
Porta 2
0 0
Porta 0
Porta 1
Porta 2 10 pacotes/segundo
5 pacotes/segundo
0 0 E
E
E
30
Armazenamento e Escalonamento
Escalonadores (E) são utilizados em pontos de
armazenamento, para selecionar a ordem em que os
pacotes serão servidos.
Filas cheias causam a perda de pacotes e
retransmissões.
Escalonadores simples não permitem a priorização de
tráfego.
Porta 0
Porta 1
Porta 2
0 Porta 0
Porta 1
Porta 2
0 0 E
E
E
0
5 pacotes/segundo 0 0
5 pacotes/segundo
31
Roteamento e Comutação
Em cada nó da rede, os pacotes precisam ser
encaminhados na direção do cliente de destino.
Este encaminhamento demanda por tempo de
processamento, tanto em comutadores, quanto em
roteadores.
Os algoritmos de roteamento influenciam diretamente na
carga em cada enlace e, consequentemente, no tempo de
espera nas filas.
32
Acesso ao Meio
Quando existe compartilhamento do meio de transmissão,
protocolos de controle de acesso ao meio são utilizados.
Estes protocolos impactam no tráfego da rede, limitando-o
em termos de vazão e acrescentando atraso (devido as
retransmissões).
33
Transmissão e Propagação
Dependendo do meio de transmissão utilizado e das
distâncias a serem percorridas, atrasos de propagação
significativos podem ser introduzidos.
Se a taxa for pequena, o atraso de transmissão pode ser
significativo para grandes pacotes.
T R
0
1
N
0
1
N
propagação
transmissão Tamanho do pacote
Atraso de transmissão
Distância Atraso de propagação
34
Erros e Falhas
Probabilidades de erro de bit podem variar desde
aproximadamente 10-3 (transmissão wireless) até 10-12
(transmissão em fibra óptica).
Em situações drásticas, a ocorrência de erros de
transmissão, impacta não só na perda de informações,
mas também no atraso devido a retransmissões.
Probabilidade erro
Probabilidade de perda de informações
Probabilidade de retransmissão
35
Erros e Falhas
De forma geral, quanto maior for um pacote, maior a
probabilidade de que ocorra um erro/falha durante a sua
transmissão.
Falhas podem ocorrer no meio de transmissão, se ele for uma fibra ou um cabo, e nos equipamentos eletrônicos/ópticos da rede.
Em algumas tecnologias, uma falha pode implicar, até no bloqueio de novas conexões e na redução da eficiência da rede.
Tamanho do pacote
Probabilidade de erro/falha de pacote
Probabilidade de retransmissão
36
Segmentação e Remontagem A segmentação de mensagens grandes, em vários
pacotes, introduz pequenos atrasos no envio da informação e reduz a eficiência de transmissão, uma vez que novos cabeçalhos deve ser inseridos.
A reconstrução de mensagens segmentadas implica no armazenamento de todos os pacotes, até que a mensagem original possa ser entregue ao destinatário.
Fragmentos Eficiência de transmissão
Pacote Tamanho do buffer
37
Segmentação e Remontagem Em alguns casos, é necessária a reordenação dos
pacotes recebidos, o que insere atrasos de processamento.
De forma geral, se um dos pacotes for perdido, será
necessária a sua retransmissão.
Em algumas tecnologias, toda a mensagem original
precisa ser retransmitida.
38
Overhead
Geralmente, cada camada insere informações de controle
dos seus protocolos no inicio (header) e/ou no final
(trailer) de cada pacote recebido.
header trailer
39
Métricas de Desempenho
O desempenho das redes de comunicações é tipicamente
medido através das seguintes métricas de desempenho:
Ocupação
Atraso
Perda
Bloqueio
Utilização
Vazão
Eficiência
40
Métricas de Desempenho
Ocupação
Mede a quantidade de elementos presentes em um
sistema.
Exemplo: a quantidade de carros em um estacionamento.
Nas redes de pacotes, mede a quantidade de bytes em uso
nos nós de rede, enquanto nas redes telefônicas mede o
número simultâneo de chamadas em uma central.
41
Métricas de Desempenho
Atraso
É o tempo parcial ou total gasto para realizar as funções
implementadas em cada camada da rede.
Praticamente todas as atividades realizadas para enviar ou
processar informações implicam na ocorrência de atrasos.
Dentre os principais atrasos existentes estão:
Atraso de Estabelecimento de Conexões
Atraso de Empacotamento
Atraso de Transmissão/Propagação
Atraso de Armazenamento
Atraso de Roteamento/Comutação
Atraso de Segmentação/Remontagem
Atraso de Retransmissão
Atraso de Processamento
42
Métricas de Desempenho
Perda
Indica se a rede está perdendo pacotes.
As principais causas de perda de pacotes são:
Falta de recursos de armazenamento.
Erros ou falhas.
Congestionamento.
Atraso elevado.
Colisão no acesso ao meio.
Total
PerdidoP
43
Métricas de Desempenho Bloqueio
Em algumas tecnologias, se a rede não possui mais
recursos para atender uma nova conexão, esta poderá ser
bloqueada.
Utilização Indica a fração dos recursos de
transmissão/armazenamento que
estão sendo utilizados.
Capacidade
VazãoU
Capacidade
OcupaçãoU
Tentativas
InsucessosB
44
Métricas de Desempenho
Vazão
Indica a taxa efetiva de transmissão.
Algumas tecnologias que utilizam o compartilhamento do
meio físico podem possuir uma vazão consideravelmente
abaixo da capacidade de transmissão disponível.
Eficiência
Indica a razão entre a quantidade de informação útil
transmitida e a quantidade total de informações utilizadas
para efetivar tal transmissão (carga útil + overhead).
ControlesInformação
Informação
45
Técnicas de Comutação
Comutação de Circuitos
Modo de Operação Orientado a Conexão
Comutação de Pacotes
Modo de Operação Não Orientado a Conexão
Datagramas
Circuitos Virtuais
Datagramas x Circuitos Virtuais
46
Comutação de Circuitos
Implica na existência de um enlace dedicado de
comunicação entre dois usuários, que é composto por uma
seqüência de enlaces conectados entre si através dos nós
da rede.
Em cada enlace um canal dedicado é alocado para a
conexão entre os usuários.
Na comutação de circuitos, a informação é transportada
como um fluxo contínuo de bits.
47
Comutação de Circuitos Em cada nó os comutadores devem ter a inteligência para
alocar canais e recursos de comutação e para encontrar uma rota através da rede.
A comutação de circuitos pode ser ineficiente, pois a capacidade alocada nem sempre é utilizada por completo durante a duração da conexão.
Entretanto, uma vez estabelecida a conexão, os dados são transmitidos a uma taxa constante e com um atraso fixo.
Uma das maiores vantagens da comutação de circuitos é a sua transparência.
48
Modo de Operação Orientado à Conexão
Antes que qualquer informação possa ser transmitida pela
rede, é necessário o estabelecimento de um circuito fim a
fim entre os usuários.
Geralmente, este procedimento é feito através do
roteamento de mensagens de sinalização pela rede.
Os nós da rede reservam canais para atender as
requisições de conexões e enviam adiante mensagens de
sinalização para os próximos nós da rede, até que um
circuito fim a fim seja estabelecido entre os usuários finais.
49
Comutação de Pacotes
Não existe um enlace dedicado para a comunicação entre
dois usuários: seus pacotes podem compartilhar um ou
mais enlaces da rede. Ou seja, os enlaces da rede não
estão explicitamente reservados para os usuários.
O compartilhamento é feito na camada de enlace.
50
Comutação de Pacotes As informações são transmitidos através de pacotes, que
podem ser de tamanho fixo ou variável.
Quando um usuário tem uma mensagem muito grande para ser transmitida, esta mensagem pode ser quebrada em vários pacotes através de um procedimento chamado de segmentação.
No destino, os pacotes são remontados na mensagem original através de um procedimento chamado remontagem.
51
Comutação de Pacotes Cada pacote contém uma porção com os dados do usuário
(carga útil ou payload) e uma porção com informações de controle e de endereçamento (cabeçalho ou header), que são utilizadas para rotear/encaminhar os pacotes pela rede.
Em cada nó da rede, os pacotes são recebidos, armazenados e roteados/encaminhados para o próximo nó em função dos seus endereços de destino/identificadores virtuais.
52
Comutação de Pacotes Em cada nó recursos de comutação e de armazenamento
podem ou não ser reservados para atender o tráfego de pacotes dos usuários.
Na comutação de pacotes, a eficiência dos canais é alta, pois eles podem ser dinamicamente compartilhados por muitos pacotes de vários usuários ao mesmo tempo.
Porém, os pacotes podem enfrentar atrasos variáveis, e até mesmo serem descartados dependo do nível de congestionamento da rede.
53
Comutação de Pacotes Devido as estas características, as redes de comutação de
pacotes são bem mais flexíveis que as redes de comutação de circuitos, podendo atender uma gama em maior de taxas de transmissão.
Quando as redes de comutação de circuitos estão congestionadas, novas conexões podem ser bloqueadas.
Porém, em redes de comutação de pacotes, novas conexões são sempre aceitas, podendo ocasionar o aumento do atraso e freqüentemente a perda de pacotes.
Redes de comutação de pacotes permitem a utilização de prioridades, permitindo portanto beneficiar a qualidade de serviço de algumas conexões em prol de outras.
54
Modo de Operação Não Orientado à Conexão
Não é necessário o estabelecimento de um circuito fim a
fim entre os usuários antes de iniciar a transmissão de
dados.
Mas como os pacotes são
enviados pela rede até o destino
se nenhum caminho foi estabelecido?
A solução para este problema é conhecida como
comutação de pacotes baseada em datagramas.
55
Datagramas
No roteamento de datagramas, cada pacote é tratado
independentemente, sem nenhuma referência com os
pacotes enviados anteriormente, a não ser pelo endereço
do destinatário.
Em cada nó da rede, tabelas de roteamento são usadas
para encaminhar os pacotes, que podem ser enviados por
diferentes caminhos através da rede.
56
Datagramas
Por causa disto, pacotes recém enviados podem chegar
antes no destino do que pacotes enviados anteriormente.
Para resolver este problema, no destino os pacotes devem ser reordenados.
A determinação do trajeto dos pacotes é feito através de um algoritmo de roteamento.
Em cada nó, os pacotes são comutados em função de
uma tabela de roteamento.
57
Datagramas
Usuário A
Usuário C
RoteadorRoteador
Roteador Roteador
3 2 1 1
3
2
3 2 3 2 1
Usuário D
Usuário B
1
58
Circuitos Virtuais
A comutação de pacotes também utilizar o modo de
operação orientado a conexão.
Esta solução é conhecida como comutação de pacotes
baseada em circuitos virtuais.
Neste caso, uma rota predefinida é estabelecida antes que
os pacotes sejam enviados.
Inicialmente, um pacote de requisição de conexão é
enviado ao primeiro nó da rede, que decide se aceita ou
não a nova conexão.
59
Circuitos Virtuais
Se a conexão for aceita por este nó, o pacote de
requisição de conexão é enviado para um próximo nó da
rede, que é escolhido de acordo com critérios de custos e
do endereço de destino.
O pacote de requisição prossegue até o nó mais próximo
do destino.
Se todos os nós concordaram com a nova conexão, a
transmissão de pacotes de dados é iniciada sobre a
mesma rota do pacote de requisição.
60
Circuitos Virtuais
Usuário A
Usuário C
RoteadorRoteador
Roteador Roteador
3 2 1
3 2 1
Usuário D
Usuário B
3 2 1
1
2
3
61
Padronização de Redes
Projetar e implementar redes de comunicação utilizando
soluções de diferentes fabricantes é uma tarefa árdua.
Cada fornecedor e revendedor de soluções de rede
possui o seu próprio ponto de vista, idéias, visão
sistêmica, implementações, soluções, etc.
Neste contexto, padronizações representam o consenso
entre diversos players, sendo extremamente importantes
na evolução e aceitação de novas tecnologias.
62
Padronização de Redes
Produtos que obedecem padrões:
Aumentam o tamanho do mercado.
Permitem a produção em massa.
Fornecem economias de escala.
Reduzem o preço ao consumidor final.
Aumentam a aceitação.
Permitem a interoperação com outros fabricantes.
63
Padronização de Redes
Dentre os principais organismos de padronização
existentes hoje, podemos destacar:
ITU (International Telecommunication Union)
ISO (International Standards Organization)
ANSI (American National Standards)
NIST (National Institute of Standards and Technology)
IEEE (Institute of Electrical and Electronics Engineers)
IS (Internet Society)
ABNT (Associação Brasileira de Normas Técnicas)
64
Padronização de Redes
ITU (International Telecommunication Union)
Organismo internacional que atua em três setores:
Radio Communications Sector (ITU-R).
Telecommunications Standardization Sector (ITU-T).
Development Sector (ITU-D).
Inclui quatro classes de membros:
Governos Nacionais
Membros do Setor (fornecedores, prestadores de serviço, operadoras,
companhias de mídia)
Membros Associados (pequenas organizações interessadas em um
assunto específico)
Agências Reguladoras
65
Padronização de Redes
ISO (International Standards Organization)
Constituída a partir de 89 organizações de padronizações
nacionais.
Atua num número muito grande de áreas que vão desde
administração (ISO 9000) até telecomunicações (ISO
8602), passando por diversas áreas da indústria, sociedade
e governo.
Coopera com o ITU-T para evitar a ironia de produzir dois
padrões oficiais e internacionais mutuamente
incompatíveis.
ANSI (American National Standards)
Representante dos EUA na ISO.
Apesar do nome, é privada e não governamental.
Os padrões da ANSI são geralmente adotados pela ISO.
NIST (National Institute of Standards and Technology)
Seus padrões são obrigatórios para os produtos comercializados nos EUA.
IEEE (Institute of Electrical and Electronics Engineers)
Maior organização profissional do mundo.
Exemplos: 802.3 e 802.11.
66
Padronização de Redes
67
Padronização de Redes IETF (Internet Engineering Task Force)
A padronização da Internet tem os seus próprios mecanismos, muito diferentes daqueles utilizados no ITU-T e ISO.
O primeiro comitê criado para manter os pesquisadores em contanto e desenvolver a Internet foi o IAB (Internet Activities Board).
Quando um padrão era necessário, os membros da IAB anunciavam a mudança na forma de relatórios técnicos chamados de RFCs (Request for Comments).
Com o crescimento da Internet, muitos fabricantes começaram a desenvolver produtos para a Internet, e não queriam mudanças frequentes nos padrões.
Surgiu então a IETF, que possui representantes de um grande número de organizações.
68
Modelo de Referência OSI
Como organizar a rede de forma modular?
Como separar as diversas funções desempenhadas pelos
protocolos da rede?
Como tornar uma função independente das demais?
Arquitetura em camadas
As funções a serem executadas são organizadas em
grupos, que são alocados à camadas funcionais.
Reduz a complexidade do projeto.
É mais flexível no que diz respeito a modificações.
O número, o nome, o conteúdo e a função de cada camada
difere de uma rede para outra.
69
Modelo de Referência OSI
Arquitetura em camadas (cont.)
O objetivo de cada camada é oferecer determinados serviços
para as camadas superiores.
A camada N presta um serviço para a camada N+1.
O que se define em cada camada:
O serviço a ser executado.
Interface com as camadas superior e inferior.
70
Modelo de Referência OSI
Baseado em uma proposta desenvolvida por Day e
Zimmermann em 1983 no âmbito da ISO (International
Standards Organization).
É considerado a primeira iniciativa na direção da
padronização internacional de protocolos usados em
várias camadas.
Formalmente, é chamado de Modelo de Referência ISO
OSI (Opens Systems Interconnection), pois trata da
interconexão de sistemas de comunicações abertos.
71
Modelo de Referência OSI
Sumário das
Camadas e
seus Serviços.
• Controle de erro pto a pto
• Controle de acesso ao meio
• Endereçamento físico
• Seleção de caminhos (rotas)
• Endereçamento lógico
• Controle de Congestionamento
• Gerencia conexões fim a fim
• Controle de fluxo
• Controle de erro fim a fim
• Gerencia o diálogo entre as
aplicações
• Formatação/sintaxe
•Criptografia/Compressão
• Suporte às Aplicações da Rede
• Escolha do Meio Físico
• Modulação/Codificação de Linha
• Interfaceamento
72
Modelo de Referência OSI
Aplicação
Apresentação
Sessão
Transporte
Física
Rede
Enlace
7
6
5
4
3
2
1
Aplicação
Apresentação
Sessão
Transporte
Física
Rede
Enlace
7
6
5
4
3
2
1
Meio Físico
C7 Mensagem
C6 Mensagem C7
C5 Mensagem C7 C6
C4 Mensagem C7 C6 C5
C3 Mensagem C7 C6 C5 C4
C2 FCS Mensagem C7 C6 C5 C4 C3
1011100011110000 ........... 1110000011001001
Mensagem Mensagem
73
Modelo de Referência OSI
SAP (Service Access Point)
Ponto onde o serviço está disponível.
Os SAPs da camada N são os locais onde a camada N+1
consegue acessar os serviços oferecidos.
Cada SAP tem um identificador único.
PDU (Protocol Data Unit)
Unidade de dados que a camada N+1 passa para a camada
N, através do SAP.
Composta de uma parte de dados (SDU - Service Data Unit)
e uma parte de controle (PCI - Protocol Control Information).
74
Modelo de Referência OSI
Transmissão de Dados
SDU
SDU PCI
PCI SDU
PDU
Camada N+1
SAP
Camada N SDU
Arquitetura TCP/IP
A versão atual do TCP/IP foi padronizada
em 1981
A idéia chave do TCP/IP era fornecer
uma transmissão confiável de dados para
qualquer destino da rede sob quaisquer
circunstâncias.
Desde então, o modelo TCP/IP tornou-se
o padrão no qual a Internet se baseia.
76
78
Modelo de Referência OSI x Pilha TCP/IP
Rede
IP
EstaçãoRoteador
EstaçãoRoteador
Física
Enlace
Internet
Transporte
Aplicação
Física
Enlace
Internet
Transporte
Aplicação
Física
Enlace
Internet
Física
Enlace
Internet
To:
Cc:
Subject:
Aula Final
Teste para mostrar a interação entre camadas.
APLICAÇÃO
TRANSPORTE
REDE
ENLACE
FÍSICO
SOFTWARE
DE
APLICAÇÃO
Software de origem
79
TRANSPORTE
REDE
ENLACE
FÍSICO
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar
a interação
entre as camadas.
CABEÇALHO
DADOS
APLICAÇÃO
SOFTWARE
DE
APLICAÇÃO
Aplicação de origem
80
APLICAÇÃO
REDE
ENLACE
FÍSICO
SOFTWARE
DE
APLICAÇÃO
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar
a interação
entre as camadas.
CABEÇALHO
DADOS
TRANSPORTE
OPTIONS
CHECKSUM URGENT POINTER
PORTA ORIGEM PORTA DESTINO
NÚMERO DE SEQÜÊNCIA
ACK
FLAGS CDC TAMANHO JANELA
Transporte de origem
81
APLICAÇÃO
TRANSPORTE
ENLACE
FÍSICO
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar a interação entre as camadas.
CABEÇALHO
DADOS
OPTIONS
END. IP DESTINO
V COMP. TOTAL
IDENTIFICAÇÃO
TTL
END. IP ORIGEM
OPTIONS
CHECKSUM URGENT POINTER
PORTA ORIGEM PORTA DESTINO
NÚMERO DE SEQÜÊNCIA
ACK
FLAGS CDC TAMANHO JANELA
CC TDS
FLAGS OFFSET
PROT. CHECK CABEÇAL.
SOFTWARE
DE
APLICAÇÃO
REDE
Rede de origem
82
APLICAÇÃO
TRANSPORTE
REDE
FÍSICO
Preâmbulo SFD FCS
SOFTWARE
DE
APLICAÇÃO
ENLACE
DA SA TY Info
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar a interação entre as camadas.
OPTIONS
END. IP DESTINO
V COMP. TOTAL
IDENTIFICAÇÃO
TTL
END. IP ORIGEM
OPTIONS
CHECKSUM URGENT POINTER
PORTA ORIGEM PORTA DESTINO
NÚMERO DE SEQÜÊNCIA
ACK
FLAGS CDC TAMANHO JANELA
CC TDS
FLAGS OFFSET
PROT. CHECK CABEÇAL.
Enlace de Origem
83
APLICAÇÃO
TRANSPORTE
REDE
ENLACE
FÍSICO
SOFTWARE
DE
APLICAÇÃO
APLICAÇÃO
TRANSPORTE
REDE
ENLACE
FÍSICO
SOFTWARE
DE
APLICAÇÃO
1010101010101011001101
010
Transmissão - Recepção
84
APLICAÇÃO
TRANSPORTE
REDE
FÍSICO
Preâmbulo SFD FCS
SOFTWARE
DE
APLICAÇÃO
ENLACE
DA SA TY Info
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar a interação entre as camadas.
OPTIONS
END. IP DESTINO
V COMP. TOTAL
IDENTIFICAÇÃO
TTL
END. IP ORIGEM
OPTIONS
CHECKSUM URGENT POINTER
PORTA ORIGEM PORTA DESTINO
NÚMERO DE SEQÜÊNCIA
ACK
FLAGS CDC TAMANHO JANELA
CC TDS
FLAGS OFFSET
PROT. CHECK CABEÇAL.
Enlace de destino
85
APLICAÇÃO
TRANSPORTE
ENLACE
FÍSICO
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar a interação entre as camadas.
CABEÇALHO
DADOS
OPTIONS
END. IP DESTINO
V COMP. TOTAL
IDENTIFICAÇÃO
TTL
END. IP ORIGEM
OPTIONS
CHECKSUM URGENT POINTER
PORTA ORIGEM PORTA DESTINO
NÚMERO DE SEQÜÊNCIA
ACK
FLAGS CDC TAMANHO JANELA
CC TDS
FLAGS OFFSET
PROT. CHECK CABEÇAL.
SOFTWARE
DE
APLICAÇÃO
REDE
Rede de destino
86
APLICAÇÃO
REDE
ENLACE
FÍSICO
SOFTWARE
DE
APLICAÇÃO
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar
a interação
entre as camadas.
CABEÇALHO
DADOS
TRANSPORTE
OPTIONS
CHECKSUM URGENT POINTER
PORTA ORIGEM PORTA DESTINO
NÚMERO DE SEQÜÊNCIA
ACK
FLAGS CDC TAMANHO JANELA
Transporte de destino
87
TRANSPORTE
REDE
ENLACE
FÍSICO
Subject: Aula Final
Prioridade: Urgent
Encryption: None
Teste para mostrar
a interação
entre as camadas.
CABEÇALHO
DADOS
APLICAÇÃO
SOFTWARE
DE
APLICAÇÃO
Aplicação de destino
88
To:
Cc:
Subject:
Aula Final
Teste para mostrar a interação entre camadas.
APLICAÇÃO
TRANSPORTE
REDE
ENLACE
FÍSICO
SOFTWARE
DE
APLICAÇÃO
Software de destino
89
90
Meios de Transmissão – camada física
A camada física fornece os meios para transportar os
bits que formam o quadro de camada de enlace de
dados através dos meios de transmissão.
Meios de transmissão:
Par trançado
Cabo coaxial
Fibra óptica
Espaço livre
Padrões de camada física
Organização
de
padronização
Padrões de rede
ISO • ISO 8877: Adotou oficialmente os conectores RJ (por exemplo, RJ-11, RJ-45)
• ISO 11801: Rede de cabeamento padrão semelhante a EIA/TIA 568.
EIA/TIA
• TIA-568-C: Telecomunicações - padrões do cabeamento, usados por quase
todas as redes de voz, vídeo e dados.
• TIA-569-B: Padrões de edifícios comerciais para caminhos e espaços de
telecomunicações
• TIA-598-C: Código de cores de fibra ótica
• TIA-942: Padrão da infraestrutura de telecomunicações para centros de
dados
ANSI • 568-C: Pinagens RJ-45.Co-desenvolvido com EIA/TIA
ITU-T • G.992: ADSL
IEEE • 802.3: Ethernet
• 802.11: LAN sem fio (WLAN) e mesh (certificação Wi-Fi)
• 802.15: Bluetooth
91
Vantagem: barato, fácil de instalar e possui baixa resistência à
corrente elétrica.
Desvantagem: limitado por distância e interferência de sinal.
Os dados são transmitidos como sinais elétricos.
Quanto maior a distância percorrida pelo sinal, mais ele se
degrada, maior sua atenuação.
Cabeamento de cobre
Internet Internet
92
Os três tipos principais de meio físico de cobre usados nas redes
são: par trançado não blindado (UTP), par trançado blindado
(STP) e Coaxial.
Cabeamento de cobre
93
Fibra x cobre
Problemas de
implementação
Meio físico em
cobre Fibra ótica
Largura de banda suportada 10 Mbps – 10 Gbps 10 Mbps – 100 Gbps
Distância Relativamente curto
(1 – 100 metros)
Relativamente alto
(1 – 100.000 metros)
Imunidade à interferência
eletromagnética e à
interferência da frequência de
rádio
Baixa Alta
(Totalmente imune)
Custos de meio físico e
conector Menor Maior
Habilidades necessárias para
a instalação Menor Maior
98
Padrões de cabeamento UTP
Fonte: Guia Completo de Cabeamento de Redes – José M. S. Pinheiro. Rio de Janeiro: Elsevier, 2003.
99
100
Transmissão sem Fio
Ideal para:
Usuários que desejam mobilidade.
Interligar pontos por onde é difícil (ou impossível) se passar
cabeamento físico.
Características dependem da faixa de frequência utilizada.
Fonte: Tanenbaum
Topologias
Definem a estrutura da rede.
Topologia Física:
Define o layout efetivo dos meios físicos - fisicamente, como
os dispositivos estão interligados
Anel
Barramento
Estrela (Estrela Estendida)
Malha (Aberta e Fechada)
Hierárquica.
Topologia Lógica:
Define (logicamente) como os meios físicos são acessados
pelos hosts para o envio de dados
Broadcast
Passagem de token
101
102
Topologias
(a) Barramento
(b) Anel
Computador
Cabo coaxial
fino 50 . Computador
repetidor
(HUB)
Domínio de colisão.
Conector em T.
Sem repetidores ou
comutadores.
Domínio de difusão ou
divisão de canal.
Informação circula
o anel.
103
Topologias
(a) Malha Completa
(b) Estrela
(c) Hierárquica – Malha Incompleta
Primeira rede telefônica:
telefone para telefone.
Segunda rede telefônica:
surge estação de comutação.
Terceira rede telefônica:
malha entre centrais.
106
Tópicos
Serviços Providos pela Camada de Enlace
Delimitação de Quadros
Controle de Erros
Controle de Fluxo
Protocolos de Retransmissão
HDLC
PPP
107
Serviços Providos pela Camada de Enlace
O objetivo da camada de enlace é lapidar um enlace de
transmissão ponto-a-ponto cru, transformando-o em um
enlace confiável e eficiente para a camada de rede.
Para isso os seguintes serviços são providos pela camada
de enlace:
Delineamento de Quadros
Controle de Erros
Controle de Fluxo
Transmissão de Dados Ponto-a-Ponto
Controle de Acesso ao Meio
Será discutido mais adiante.
108
Delineamento de Quadros
Para prover o serviço de transporte ponto a ponto a
camada de enlace conta com os serviços providos pela
camada física.
A camada física por sua vez tenta enviar os frames da
camada de enlace como um fluxo de bits através do meio
físico.
Este fluxo de bits pode sofrer erros durante a transmissão,
de forma que:
O número de bits recebido pode ser igual, menor ou maior
que o número de bits transmitidos.
Os bits recebidos podem estar corrompidos.
109
Delineamento de Quadros
Assim, a camada física confia para a camada de enlace a
detecção e, se necessário, a correção de erros.
A solução mais usual para resolver este problema é
calcular um checksum para cada frame transmitido e
transmiti-lo juntamente com o frame.
Quando o frame é recebido no destino, o checksum é
recalculado e comparado com o checksum recebido.
Se eles forem diferentes, a camada de enlace saberá que
ocorreu um erro e poderá tentar recuperar a informação
original danificada.
110
Delineamento de Quadros
Contudo, para calcular este checksum é preciso conhecer
o inicio e o fim de cada frame.
Uma possibilidade seria deixar intervalos de tempo entre
os frames, entretanto além de ineficiente esta solução
teria que contar com uma rede totalmente síncrona, o que
não existe na prática.
Assim, alguns métodos alternativos foram desenvolvidos:
Bytes de Flag com Enchimento de Bytes
Flags de Inicio e Fim com Enchimento de Bits
111
Delineamento de Quadros
Bytes de Flag com Enchimento de Bytes
Resolve o problema da resincronização após um erro,
através da utilização de bytes especiais no inicio e fim de
cada frame.
O valor do byte é o mesmo tanto no inicio quanto no final
de cada frame.
Este byte é conhecido por byte de flag ou byte bandeira.
Desta forma, se o receptor perder um frame, ele só precisa
procurar pelo próximo byte de flag para localizar o inicio do
próximo frame.
Dois bytes de flag consecutivos indicam o final de um frame
e o inicio de outro.
112
Delineamento de Quadros
Bytes de Flag com Enchimento de Bytes (cont.)
Entretanto, uma situação critica pode acontecer neste
método: o que aconteceria se no frame existisse um
caractere de dados igual ao byte de flag?
Para resolver este problema, a camada de enlace do
transmissor deve inserir um caractere especial de escape
(ESC) antes de qualquer byte de flag encontrado no frame.
Esta técnica é chamada de enchimento de bytes (byte
stuffing).
E se um byte igual ao caractere especial de escape
aparecer nos dados?
113
Delineamento de Quadros
Bytes de Flag com Enchimento de Bytes (cont.)
Também será inserido um caractere especial de escape a
sua frente, indicando que este caractere apareceu
naturalmente nos dados.
Fonte: Tanenbaum
114
Delineamento de Quadros Flags de Inicio e Fim com Enchimento de Bits
Neste método é utilizado um padrão de bits para indicar o início e o fim de um quadro, inserindo-se bits de escape quando a seqüência de início e/ou fim aparece dentro dos dados transmitidos.
A cada seqüência de 5 bits “1” consecutivos nos dados a serem transmitidos é inserido um bit de escape “0”.
Quando o receptor recebe 5 bits “1” consecutivos, seguido por um bit “0”, ele automaticamente retira o bit “0”.
115
Controle de Erros
Tendo resolvido o problema do delineamento de quadros,
o próximo problema é:
Como ter certeza que todos os frames transmitidos foram
recebidos sem erros e na ordem adequada pela camada de
rede?
A maneira usual de assegurar o envio confiável de
informações é provendo o transmissor com algum
feedback a respeito do que esta acontecendo na outra
ponta do enlace.
Tipicamente, isto é feito através do uso de um esquema
de confirmações positivas/negativas.
116
Controle de Erros
Se o transmissor recebe uma confirmação positiva
(positive acknowledgement) sobre um frame transmitido,
significa que este frame chegou no destino com sucesso.
Por outro lado, se o transmissor receber uma confirmação
negativa (negative acknowledgement) sobre um frame
transmitido, significa que este frame não chegou no
destino com sucesso.
Agora, o que aconteceria se um receptor nunca chegasse
a receber um frame transmitido devido a uma falha de
hardware?
117
Controle de Erros O receptor não faria nada, pois ele não tem motivo
nenhum para reagir.
Já o transmissor poderia ficar esperando para sempre pela confirmação positiva/negativa do frame transmitido.
Para resolver este problema a solução comumente adotada é a utilização de um relógio.
Quando o transmissor envia um frame, ele inicializa um relógio, que é configurado para expirar depois de um certo intervalo de tempo.
Este intervalo de tempo deve ser suficiente para que o frame seja transmitido, processado e confirmado.
118
Controle de Erros
Entretanto, se o frame ou a confirmação forem perdidas, o
relógio vai zerar alertando o transmissor de que algo deu
errado.
A solução óbvia neste caso é retransmitir o frame.
Agora, o que aconteceria se o relógio zerasse, o frame
fosse retransmitido, e por algum motivo, o frame anterior
também chegasse ao ponto de destino?
Para evitar este problema, geralmente são utilizados
números de seqüência de tal forma que o receptor possa
separar os frames originais de frames retransmitidos.
119
Controle de Erros
Mas como é feita a detecção/correção dos erros?
São acrescentados bits de detecção e correção de erros
(EDC) que oferecem redundância na transmissão.
Tanto os dados quanto o cabeçalho podem ser protegidos.
Quanto maior o número de bits EDC (Error Detection and
Correction) maior a proteção fornecida.
Quadro Quadro
120
Controle de Erros
Verificação de Paridade
Paridade com Bit único: Detecta erro de um único bit
Paridade Bi-dimensional: Detecta e corrige erros de um único bit
0 0
sem erros erro de paridade
erro de 1 bit corrigível
erro de paridade
bit de paridade
121
Controle de Erros
CRC – Cyclic Redundancy Checking
Dado um bloco de dados M(x), o transmissor gera um bloco
T(x), tal que T(x) seja exatamente divisível por um
polinômio gerador P(x) com grau r.
Para se obter T(x), deve-se multiplicar M(x) por xr, e dividir
o resultado por P(x). O resto desta divisão, ou seja R(x), é
somada a xr . M(x), produzindo:
T(x) = xr . M(x) + R(x)
No receptor, T’(x) é dividido por P(x). Se não houver resto,
T’(x) é considerado igual a T(x).
122
Controle de Erros
CRC – Cyclic Redundancy Checking
Mensagem = 1010001101 => M(x) = x9 + x7 + x3 + x2 +1
Polinômio gerador: P(x) = x5 + x4 + x2 + 1
Transmissão
1. M(x).xr = M(x).x5 = x14 + x12 + x8 + x7 + x5
2. xr.M(x)/P(x) = Q(x) + R(x)/P(x)
Q(x) = x9 + x8 + x6 + x4 + x2 + x
R(x) = x3 + x2 + x
3. T(x) = xr.M(x) + R(x)
T(x) = x14 + x12 + x8 + x7 + x5 + x3 + x2 + x
123
Controle de Erros
CRC – Cyclic Redundancy Checking
Mensagem = 1010001101 => M(x) = x9 + x7 + x3 + x2 +1
Polinômio gerador: P(x) = x5 + x4 + x2 + 1
Recepção
1. Divide-se T’(x)/P(x) = Q(x) + R(x)/P(x)
T’(x) = x14 + x12 + x8 + x7 + x5 + x3 + x2 + x
P(x) = x5 + x4 + x2 + 1
R(x) = 0
2. Se R(x) = 0, T’(x) = T(x).
124
Controle de Fluxo
Outro importante serviço provido pela camada de enlace é
o controle de fluxo.
O controle de fluxo visa resolver o seguinte problema: o
que fazer com um transmissor que transmite mais
informação do que o receptor pode aceitar.
Esta situação pode acontecer quando o transmissor está
rodando em uma máquina rápida (ou sem carga) e o
receptor em uma máquina lenta (ou sobrecarregada).
O transmissor continua enviando frames até que o
receptor fique completamente sobrecarregado e não
tenha outra alternativa a não ser descartar frames.
125
Protocolos de Retransmissão
Dentre os principais protocolos de retransmissão temos:
Protocolo Stop-and-Wait
Protocolos de Janela Deslizante
Go-Back N
Selective Repeat
Estes protocolos também são utilizados para controle de
fluxo e de congestionamento.
126
Protocolo Stop-and-Wait
O transmissor envia um frame e aguarda por uma
confirmação antes de enviar o próximo frame.
Se o frame recebido estiver corrompido, o receptor irá
descartá-lo.
Se o frame não for recebido, o transmissor irá retransmiti-
lo após um timeout.
A transmissão de quadros é half-duplex.
0 1 2 2 3 4 5 6
0 1 E
Timeout
2 3 4 5 6
Erro
127
Protocolo Stop-and-Wait É importante observar que tanto os frames de dados
quanto os de confirmação podem ser danificados ou perdidos completamente.
Em geral, assume-se que se um frame for danificado em trânsito, o hardware do receptor detectará este erro quando o checksum for computado.
Para contornar a ocorrência de erros de transmissão um relógio geralmente é utilizado no transmissor.
As confirmações são utilizadas não só para controle de fluxo mas também para efetuar retransmissões de frames perdidos.
128
Protocolo Stop-and-Wait
Números de seqüência são utilizados para evitar que um
mesmo frame seja enviado duas ou mais vezes para a
camada de rede no receptor.
Isto pode acontecer se uma confirmação positiva fosse
perdida.
Protocolos na qual o transmissor aguarda por uma
confirmação positiva antes de avançar para o próximo
frame são chamados de PAR (Positive Acknowledgment
with Retransmission).
129
Protocolos de Janela Deslizante
Outro avanço no aumento da eficiência de transmissão
são os chamados protocolos de Janela Deslizante (Sliding
Window).
Estes protocolos, ao invés de transmitirem um único frame
e aguardarem pela sua confirmação para que um próximo
frame possa ser transmitido, iniciam transmitindo vários
frames e avançam a janela de transmissão à medida que
confirmações vão sendo recebidas.
130
Protocolos de Janela Deslizante
Ou seja, o transmissor mantém um conjunto de números
de seqüência (igual ao tamanho da janela de transmissão)
correspondente aos frames que ele está autorizado a
transmitir.
Já o receptor, mantém um conjunto de números de
seqüência, correspondente aos frames que estão
autorizados a serem recebidos.
Tipicamente, o tamanho da janela de transmissão é igual
ao tamanho da janela de recepção, podendo permanecer
fixo em um determinado valor ou variar com o tempo.
131
Protocolos de Janela Deslizante
Sempre que um pacote chega da camada de rede para
ser transmitido, o transmissor aloca para o frame que
transportará este pacote o número de seqüência mais alto
disponível.
À medida que uma confirmação chega, a janela avança
eliminado o número de seqüência mais baixo.
A janela do transmissor mantém continuamente uma lista
de frames transmitidos, mas não confirmados.
132
Protocolos de Janela Deslizante
Fonte: Tanenbaum (a) Janela deslizante de tamanho 1, com 8 números de seqüência. (b) Após o envio do primeiro frame. (c) Após a recepção do primeiro frame. (d) Após a primeira confirmação ter sido recebida.
133
Protocolos de Janela Deslizante
O transmissor deve manter em um buffer os frames
transmitidos, a fim de retransmiti-los, em caso de perda
ou dano.
Assim, a capacidade de armazenamento deve ser igual ao
tamanho da janela utilizada.
Qualquer frame recebido que esteja fora da janela, será
descartado, sem qualquer comunicação ao transmissor.
Caso contrário, o frame é passado para a camada de
rede, uma confirmação é gerada, e a janela avança em
uma unidade.
134
Protocolos de Janela Deslizante
O envio de frames em paralelo através de um canal não
confiável possui uma complicação adicional: o que
acontece se um frame entre vários é danificado ou
perdido? O que o receptor deve fazer com os demais
frames que chegaram após o frame danificado?
Existem duas soluções possíveis:
Retransmitir todos os frames: Go-Back N
Retransmitir somente o frame perdido: Selective Repeat
135
Protocolo Go-Back N
Os frames 0 e 1 são corretamente recebidos.
O frame 2 é perdido.
O transmissor, sem saber do ocorrido, continua a enviar
frames, até que o relógio do frame 2 expire.
Quadros descartados no ato da chegada através da
verificação da numeração de seqüência.
Fonte: Tanenbaum
136
Protocolo Go-Back N
Então, o transmissor retransmite o frame 2 e todos os
demais frames na seqüência.
Neste caso, todos os frames recebidos após o frame 2 ter
sido perdido são descartados.
Embora a janela de recepção seja maior que 1, na
ocorrência de um erro, o receptor age como se tivesse
uma janela de tamanho 1.
137
Protocolo Selective Repeat
Os frames 0 e 1 são corretamente recebidos.
O frame 2 é perdido.
Quando o frame 3 chega ao receptor, este percebe que está faltando o frame 2 e envia uma confirmação negativa para o transmissor.
Fonte: Tanenbaum
Quadros armazenados em buffer.
Nak 2 – Não recebi o quadro 2.
Ack 1 – Confirma somente a recepção do quadro 1.
Ack 5 – Confirma a recepção de todos os quadro até 5.
138
Protocolo Selective Repeat
O frame 3, ao invés de ser descartado ou enviado à
camada de rede, é armazenado em um buffer.
Quando os frames 4 e 5 chegam, eles também são
armazenados.
Finalmente, a confirmação negativa do frame (NAK –
Negative Acknowledgment) 2 chega ao transmissor, que
retransmite este frame, imediatamente.
Quando o frame 2 retransmitido chega, todos os frames
são entregues à camada de rede em ordem.
139
Protocolo Selective Repeat
Se o NAK for perdido, o relógio do transmissor cairá a
zero para o frame 2 e ele será retransmitido, mas com um
atraso maior do que se o NAK tivesse sido recebido.
Portanto, o uso de confirmações negativas acelera a
retransmissão de frames em caso de falha.
Selective repeat corresponde a um receptor com uma
janela maior que 1.
Esta solução requer o uso de buffers com grande
capacidade de armazenamento na camada de enlace.
140
Comparação Go-Back N x Selective Repeat Go-Back N
Ignora toda a seqüência de frames a partir do errado.
Não confirma a recepção.
Aguarda a retransmissão de todos os quadros a partir do errado.
É um procedimento ruim para canais de comunicação com muito erro.
Selective Repeat
Guarda os quadros da seqüência após o quadro errado.
Não confirma o quadro errado.
Aguarda a retransmissão do mesmo.
É um procedimento bem mais eficiente em termos de aproveitamento de banda, mas requer mais memória no nível de enlace do receptor.
141
HDLC – High-level Data Link Control
O HDLC é um protocolo de transmissão de dados voltado
para a camada de enlace do modelo OSI.
O protocolo HDLC é um padrão da ISO (3309-1979)
desenvolvido a partir do SDLC – Synchronous Data Link
Control proposto pela IBM nos anos 70.
As principais funções do protocolo HDLC são:
1. Delineamento – Provê o delineamento de frames para a
transmissão sobre um enlace de rede síncrona.
2. Correção de Erros – Provê a detecção e correção de erros.
3. Controle de Fluxo – Provê o controle de fluxo dos frames.
142
HDLC - Tipos de estações
Estação Primária (Mestre)
Controla todas as outras estações do enlace.
Envia quadros de comando.
Mantém um enlace lógico separado para cada estação
secundária.
Estação Secundária (Escrava)
Sob controle da estação primária.
Envia quadros de resposta.
Estação Combinada
Pode enviar comandos e respostas.
143
HDLC - Configurações do enlace
Não-Balanceado
Uma estação primária e uma ou mais estações secundárias.
Suporta operação full duplex e half duplex.
Balanceado
Duas estações combinadas. Também suporta operação full
duplex e half duplex.
1ª
2ª 2ª 2ª
Comandos
Respostas
Combinada
Comandos
Combinada
Respostas
144
HDLC – High-level Data Link Control
O frame HDLC possui os seguintes campos:
Flag
São dois flags de delineamento 01111110 (0x7E), um no inicio e outro
no final do frame HDLC (Flags de Inicio e Fim com Enchimento de
Bits).
Pode encerrar um quadro e iniciar outro.
Receptor busca pela seqüência de flag para iniciar o sincronismo.
Bit stuffing usado para evitar confusão com dados contendo a
seqüência 01111110.
0 inserido após seqüência de cinco 1s.
Flag 01111110
(0x7E) Endereço Controle Dados Checksum
Flag 01111110
(0x7E)
145
HDLC – High-level Data Link Control
Endereço
Identifica a estação secundária que está enviando ou que irá receber
um determinado quadro.
Usualmente tem 8 bits.
LSB de cada octeto indica se o octeto é o último (1) ou não (0).
Todos os bits iguais a 1 indicam broadcast.
Controle
O campo de controle é usado para numeração de seqüência com
janela deslizante de 3 bits, confirmações e outros propósitos.
Checksum
Este campo é utilizado para detecção/correção de erros sobre parte do
frame HDLC.
146
PPP – Point-to-Point Protocol
O PPP é um protocolo desenvolvido para conectar
computadores a Internet através de enlaces ponto a ponto.
É descrito na RFC 1661 do IETF e consistente com as
Recomendações X.25 do ITU-T.
O PPP foi projetado para o transporte simplificado de
pacotes através de um enlace full-duplex com operação
bidirecional que assegura que os pacotes serão entregues
no destino em ordem.
147
PPP – Point-to-Point Protocol As principais funções do protocolo PPP são:
1. Delineamento – Fornece um método de enquadramento que delimita o início/fim de cada quadro com um padrão de bits.
2. Controle de Enlace – Provê um controle de enlace para ativar a linha de comunicação, testá-la, negociar opções e desativá-la quando não mais necessária. Isso é feito pelo sub-protocolo LCP (Link Control Protocol).
3. Controle de Rede – Provê um mecanismo de negociação de opções de rede, de modo independente do protocolo de camada de rede adotado. Isso é implementado por um NCP (Network Control Protocol) para cada camada de rede suportada.
4. Encapsulamento – Permite multiplexar diferentes protocolos de camada de rede simultaneamente em um mesmo enlace.
148
PPP – Point-to-Point Protocol
O frame PPP tem um formato parecido com o formato do
frame HDLC.
A maior diferença é que o PPP é orientado a caracteres
(enchimento de bytes), enquanto o HDLC é orientado a
bits (enchimento de bits).
O frame PPP possui os seguintes campos:
Flag 01111110
(0x7E)
Endereço 11111111
(0xFF)
Controle 00000011
Payload Checksum Flag
01111110 (0x7E)
Protocolo Enchimento
149
PPP – Point-to-Point Protocol
Flag – Todos os frames PPP iniciam com o mesmo byte de
flag utilizado no HDLC.
Endereço – É sempre configurado para 0xFF para indicar
que todas as estações podem aceitar o frame.
Controle – O valor default é 00000011. Este valor indica um
frame não numerado. Ou seja, o PPP por default não provê
a transmissão confiável usando números de seqüência e
confirmações. Os detalhes sobre a transmissão confiável
utilizando PPP são discutidos na RFC 1663. Na prática, é
pouco usada.
150
PPP – Point-to-Point Protocol
Protocolo – Identifica a qual protocolo pertence a informação
armazenada no payload. Foram definidos códigos para os
protocolos LCP, NCP, IP, IPX, AppleTalk, etc.
Payload – O tamanho máximo do campo de informações,
excluindo o campo de enchimento, é determinado pelo MRU
– Maximum Receive Unit, o qual possui o valor default de
1500 bytes. Outros valores podem ser negociados.
Enchimento – Na transmissão o campo de informações pode
ser preenchido por enchimento até que o valor do MRU seja
atingido. É de responsabilidade de cada protocolo de rede
distinguir entre informação e enchimento.
153
Tópicos
Introdução
Protocolos de Múltiplo Acesso
FDMA
TDMA
Aloha
Slotted Aloha
CSMA
CSMA-CD
CSMA-CA
Polling
154
Introdução
As redes de podem ser divididas em duas categorias de
acordo com o seu tipo de enlace:
As que usam enlaces ponto a ponto. Ex: PPP, ATM.
As que utilizam enlaces de difusão. Ex. Ethernet, WLAN.
Em qualquer enlace de difusão, a questão fundamental é
determinar quem tem direito de usar o canal quando há
uma disputa por ele.
Fonte: Kurose
155
Introdução
Existem vários protocolos destinados a solucionar este
problema.
Na literatura, os enlaces de difusão também são referidos
por canais de multiacesso ou canais de acesso aleatório.
Os protocolos usados para determinar quem será o
próximo em uma canal de multiacesso pertencem a uma
subcamada da camada de enlace, chamada subcamada
MAC (Medium Access Control Sublayer).
Estes protocolo são chamados de protocolos de acesso
múltiplo.
156
Protocolos de Múltiplo Acesso
Os protocolo de multiacesso podem ser classificados em
três classes:
Particionamento de Canal
Dividem o canal em pedaços menores (compartilhamentos de tempo,
freqüência).
Alocam um pedaço para uso exclusivo de cada nó.
Ex. TDMA, CDMA.
Acesso Aleatório
Permite colisões e provê “recuperação” de colisões.
Ex. Aloha, Slotted Aloha, CSMA, CSMA/CD, CSMA/CA.
Passagem de Permissão
Compartilhamento estritamente coordenado para evitar colisões.
Ex. Polling, Token Passing.
157
FDMA
Nesta técnica o recurso de comunicação compartilhado (o
transponder de um satélite, por exemplo) é dividido em
sub-canais, sendo que cada sub-canal ocupa uma banda
de freqüência e é alocado a uma estação.
Uma estação que deseje efetuar uma transmissão pode
fazê-lo a qualquer instante, utilizando o sub-canal a ela
associado.
Por razões de implementabilidade, existe uma banda de
guarda entre dois sub-canais adjacentes, resultando em
perda de capacidade.
158
FDMA
Estrutura Básica do FDMA
tempo
frequência
sub-canal 1
sub-canal 2
sub-canal 3
sub-canal M
banda de guarda
159
TDMA
Na técnica TDMA o tempo é dividido em períodos
sucessivos chamados de quadros.
Cada quadro é composto de M janelas sucessivas, e cada
janela de tempo é alocada a uma estação.
Cada estação da rede só pode transmitir durante sua
janela de tempo, podendo haver um tempo de espera
entre o instante em que uma estação deseja transmitir e o
instante em que ela pode começar a fazê-lo.
161
Aloha
Desenvolvido na década de 1970 por Norman Abramson
e seus colegas na Universidade do Havaí.
Existem duas versões do Aloha:
Puro
Slotted
Elas diferem quanto ao fato de o tempo estar ou não
dividido em slots discretos, nos quais todos os quadros
devem ser ajustar.
162
Aloha
Na técnica de acesso denominada Aloha Puro as
estações transmitem no instante que desejarem, sem se
importar com as demais estações da rede.
Após transmitir um pacote, a estação passa a aguardar
uma mensagem de reconhecimento positivo por parte do
receptor.
Caso esta mensagem não seja recebida dentro de um
intervalo de tempo denominado timeout, uma colisão é
caracterizada, e a estação retransmite após um intervalo
aleatório de tempo.
164
Aloha
Um quadro será transmitido com sucesso, se:
Se nenhum outro quadro for transmitido no intervalo de tempo
entre t0 e t0 + t.
Se nenhum outro quadro for transmitido no intervalo de tempo
entre t0 + t e t0 + 2t.
A probabilidade de k quadros serem submetidos durante
um determinado tempo de quadro t é obtida pela
distribuição de Poisson:
!][
k
eGkP
Gk
t
165
Aloha
A probabilidade de não haver nenhum quadro em um
intervalo de tempo t é dado por Pt[0]:
Portanto, a probabilidade de que nenhum quadro seja
gerado em dois intervalos de tempo t (2t) é:
A vazão S = G.P[transmissão com sucesso em 2t]:
GG
G
t ee
P
!0
]0[0
GGG
t eeeP 2
2 ]0[
GGeS 2
166
Aloha
S é o número médio de bits transmitidos com sucesso por
segundo dividido pela taxa de transmissão no canal,
definido como vazão normalizada.
G é o número médio de bits transmitidos com e sem
sucesso por segundo dividido pela taxa de transmissão no
canal, definido como carga total normalizada.
S G G S
167
Aloha
O valor máximo de S ocorre quando:
Então:
Resolvendo tem-se G = 0.5. Assim, a vazão máxima será
S = 0.1839 ou S = 18.39 %.
0dG
dS
0 2 2 2 G G
Ge e dG
dS
169
Slotted Aloha
No Slotted Aloha as estações somente podem iniciar uma
transmissão no inicio de cada time slot.
Esta mudança, fez com que o período de vulnerabilidade
do Aloha fosse reduzido pela metade, uma vez que
somente existe a possibilidade de colisão no “tempo de
quadro” t.
Assim, a vazão S = GP0 para o sistema slotted será:
GGeS
170
Slotted Aloha
O valor máximo de S pode ser encontrado fazendo-se
dS/dG = 0.
Neste caso, G = 1.
Assim, a vazão máxima será:
Em uma rede com M estações, a relação entre vazão e
carga é dada por:
368.01 1 eGeS G
1
1
M
M
GGS
171
Slotted Aloha
Desempenho do Slotted Aloha (S x G)
0 2 4 6 8 100
0.1
0.2
0.3
0.4
M = infinito
M = 10
M = 100
Carga to tal
Va
zão
A vazão máxima é de 36,8%
172
CSMA Os protocolos CSMA podem ser considerados um
refinamento dos protocolos Aloha.
No CSMA as estações escutam o meio antes de transmitir, e só o fazem se detectarem o meio livre.
Assim como no Aloha, a operação dos protocolos CSMA pode ser com divisão do tempo em janelas (slotted CSMA) ou não (unslotted CSMA).
Tipos
P-persistente
1-persistente
Não-persistente
173
CSMA p-Persistente
Se aplica a canais segmentados (slotted).
Uma estação, quando pronta para transmitir, escuta o
canal.
Daí seguem duas possibilidades: canal disponível e canal
ocupado.
Se ele estiver disponível, a estação poderá transmitir com
uma probabilidade p.
Ou seja, existe um probabilidade q = 1 – p de que haja
adiamento da transmissão até o inicio do próximo slot.
174
CSMA p-Persistente
Supondo que tenha havido um adiamento, se o próximo
slot também estiver desocupado, poderá haver uma
transmissão ou um novo adiamento com as
probabilidades p e q, respectivamente.
Este processo se repete até o quadro ser transmitido ou
até que outra estação inicie transmissão.
Neste último caso, a estação age como se tivesse havido
uma colisão (ou seja, aguarda durante um intervalo de
tempo aleatório e reinicia as tentativas de transmissão).
Se o canal estiver ocupado, a estação esperará pelo
próximo slot e reiniciará o algoritmo anterior.
175
CSMA 1-Persistente
Quando uma estação tem dados a transmitir ela primeiro
escuta o canal continuamente para ver se mais alguém
está transmitindo no momento.
Se o canal estiver ocupado, a estação espera até que ele
fique ocioso.
Quando o canal estiver desocupado, a estação transmite
um quadro.
176
CSMA 1-Persistente
Se ocorrer uma colisão, a estação espera um intervalo de
tempo aleatório e começa tudo de novo.
É denominado 1-persistente porque transmite com
probabilidade 1 sempre que encontra o canal
desocupado.
Vazão (unslotted)
)1(
)21(
1121
211aGaG
aG
eaGeaG
eaGGaGGGS
177
CSMA Não-Persistente
Antes de transmitir uma estação escuta o canal.
Se ninguém mais estiver transmitindo, a estação iniciará a
transmissão.
Entretanto, se o canal já estiver sendo utilizado, a estação
não permanece escutando continuamente a fim de se
apoderar de imediato do canal após detectar o fim da
transmissão anterior.
Em vez disso, a estação aguarda durante um intervalo de
tempo aleatório e, em seguida verifica a ociosidade do
canal.
178
CSMA Não-Persistente
Vazão:
sendo a o atraso de propagação normalizado com relação
ao atraso de transmissão de um pacote.
aG
aG
eaG
GeS
21unslotted
ae
aGeS
aG
aG
1slotted
.propa
179
Comparação CSMA
S x G (Não-persistente)
0.01 0.1 1 10 1000
0.2
0.4
0.6
0.8
1
unslotted e slotted, a = 0
unslotted, a = 0.01
slotted, a = 0.01
unslotted, a = 0.1
slotted, a = 0.1
unslotted, a = 1
slotted, a = 1
Carga total
Vazã
o1.0.
propaSe
então prop .10
180
CSMA-CD
A diferença do CSMA para o CSMA-CD (Carrier Sense
Multiple Access with Collision Detection) está na forma
como as colisões são detectadas.
No CSMA-CD as estações permanecem escutando o
meio durante sua transmissão para detectar possíveis
colisões.
Se uma colisão ocorre, as estações abortam a
transmissão de seus pacotes, transmitem um sinal de
reforço de colisão, e geram um atraso aleatório, após o
qual as estações voltam a escutar o meio para uma
tentativa de retransmissão do pacote.
181
CSMA-CD
A transmissão do sinal de reforço de colisão garante que
todas as estações que participaram da colisão a
perceberam.
Para garantir que as estações possam perceber se seus
pacotes sofreram colisão, os mesmos devem ter um
comprimento mínimo igual a duas vezes o máximo tempo
de propagação na rede.
As formas de implementação do CSMA-CD são similares
às do CSMA, ou seja, não-persistente, p-persistente e 1-
persistente, com divisão do tempo em janelas (slotted) ou
não (unslotted).
182
CSMA-CD
A expressão a seguir permite calcular a vazão (S) em
função da carga total (G) para o CSMA-CD unslotted não-
persistente, considerando-se uma rede com infinitas
estações:
representa o tempo de transmissão do reforço de colisão
normalizado em relação ao tempo de propagação.
aGaGaGaG
aG
eeaGeaGGe
GeS
2121
183
CSMA-CA
A Detecção de Colisão (Collision Detection) é uma boa
idéia para redes cabeadas, entretanto não pode ser usada
em redes wireless:
A implementação da detecção de colisão exigiria rádios
que podem receber e transmitir ao mesmo tempo. Isto
encareceria o custo consideravelmente.
Em um ambiente wireless não se pode garantir que todas
as estações conseguem ouvir as demais estações da rede.
Detectar o meio livre não significa que não haja um sinal de
rádio nas redondezas da estação.
184
CSMA-CA Para contornar este problema é utilizada a técnica de
Prevenção de Colisão (Collision Avoidance) junto com um mecanismo de confirmações positivas.
Uma estação que deseja transmitir “sente” o meio.
Se ele estiver ocupado a estação adia a transmissão por um tempo aleatório dado pelo algoritmo de backoff exponencial binário.
Se o meio estiver livre por um certo tempo (chamado DIFS - Distributed Inter Frame Space) a estação pode transmitir.
185
CSMA-CA
A estação destinatária irá verificar o quadro transmitido e
enviar uma confirmação positiva (ACK) se estiver tudo ok.
A recepção desta confirmação indica ao transmissor que
não houve colisão.
Agora, se a estação transmissora não receber o ACK,
então ela assume que houve uma colisão e retransmite o
quadro após um intervalo de tempo aleatório.
186
Polling O Rodízio de estações é uma técnica determinística de
múltiplo acesso que evita colisões.
Existe um nó controlador que executa o rodízio, determinando que estações estão autorizadas a transmitir e por quanto tempo.
O nó controlador deve divulgar a decisão para todas as estações da rede. Normalmente, em rede sem fio isto feito via broadcast.
Assim, toda estação que deseja transmitir deve solicitar autorização ao nó controlador, que baseado em políticas determina a ordem de transmissão.
187
Exercícios: Um engenheiro está em dúvida sobre qual protocolo de acesso aleatório deve
utilizar em um enlace de 1000 metros de comprimento. Os quadros são de tamanho
fixo igual a 40000 bits. A carga submetida é igual a 100 quadros por segundo. A
velocidade da luz no meio é de 250000 km/segundo. A taxa de transmissão no
enlace é de 1 Mbps. As opções de protocolo disponíveis são Slotted Aloha, CSMA
Não-Persistente Slotted e CSMA/CD Não-Persistente Unslotted.
Pede-se:
a) O valor do atraso de propagação normalizado? [a = 10-4 ]
b) O valor da vazão para o Slotted Aloha? [S = 0,073263]
c) O valor da vazão para o CSMA Não-Persistente Slotted? [S = 0,799808]
d) O valor da vazão para o CSMA/CD Não-Persistente Unslotted? [S = 0,79987]
189
Tópicos
Endereçamento Físico
Endereçamento Lógico
Endereçamento IP
Endereços Reservados
Endereços Públicos e Privados
Endereçamento Estático e Dinâmico
190
Endereço Físico
O endereço físico, ou endereço MAC, está associado ao
adaptador de rede (NIC).
Constituído de 48 bits, representados na forma
hexadecimal (Ex.: 00-06-5B-28-82-2B)
24 bits (OUI) + 24 bits (serial)
* OUI - Organizationally Unique Identifier
Cisco CCNA
191
Endereço Lógico
O endereço lógico, ou endereço IP, é atribuído pelo
administrador.
IPv4 (IP versão 4)
Constituído de 32 bits
Formato decimal com ponto
192.168.10.84
IPv6 (IP versão 6)
Constituído de 128 bits
Formato hexadecimal
1080::8:800:200C:417A
193
Endereçamento IP
Endereço lógico (endereço de camada 3) composto de 32 bits (IPv4), divididos em quatro octetos 11000000.10101000.00000001.00001000
Representado na forma decimal com ponto 192.168.1.8
Formado por duas partes: identificação da rede (NetId)
identificação do host (HostId)
Endereçamento hierárquico Identifica de forma exclusiva as redes IP e seus hosts
O tamanho destinado para identificação da rede e dos hosts varia de acordo com a classe a que pertencem.
194
Endereçamento IP
Classes de endereçamento
Subdivisão de endereços:
Cls Intervalo decimal do 1º octeto
Bits de ordem superior do 1º octeto
ID de rede/host (N = Rede, H = Host)
Máscara de sub-rede padrão
Número de redes Hosts por rede (endereços que possam ser usados)
A 1 - 126* 0 N.H.H.H 255.0.0.0 126 (27 - 2) 16, 777,214 (2
24 - 2).
B 128 - 191 1 0 N.N.H.H 255.255.0.0 16,382 (214
- 2) 65,534 (2 16
- 2)
C 192 - 223 1 1 0 N.N.N.H 255.255.255.0 2,097,150 (221
- 2) 254 (2 8 - 2)
D 224 - 239 1 1 1 0 Reservado para multicasting
E 240 - 254 1 1 1 1 0 Experimental, usado para pesquisa
195
Endereços IP reservados
Não podem ser atribuídos a nenhum dispositivo de rede
Endereço de rede
Identifica a rede
Campo host formado por “zeros” (Ex.: 200.10.10.0/24)
Endereço de broadcast
Permite o envio de pacotes para todos os hosts de uma rede
específica
Campo host formado por “uns” (Ex.: 200.10.10.255/24)
Endereço de loopback (local host)
Reservado às funções de loopback e diagnósticos
127.x.x.x (ex.: 127.0.0.1)
196
Endereços IP Públicos
Endereços exclusivos (não pode haver mais de uma máquina
conectada a uma rede pública com o mesmo endereço IP)
Endereços globais e padronizados
Obtidos de um provedor de serviços de Internet ou através de
registro
Problema!
Com o rápido crescimento da Internet, os endereços IP públicos
começaram a ficar escassos
Para ajudar a solucionar o problema, foram desenvolvidos
novos esquemas de endereçamento:
Endereços IP privados (IPs falsos)
CIDR (classless interdomain routing)
IPv6
197
Endereços IP Privados
Permitem que redes privadas (que não estão conectadas à
Internet) usem quaisquer endereços de host, contanto que cada
host dentro da rede privada seja exclusivo.
A RFC 1918 reserva três blocos de endereços IP para uso
interno e privado.
Classe A: 10.0.0.0 a 10.255.255.255
Classe B: 172.16.0.0 a 172.31.255.255
Classe C: 192.168.0.0 a 192.168.255.255
A conexão de uma rede que usa endereços privados à Internet
exige a conversão dos endereços privados em endereços
públicos. Esse processo de conversão é chamado de NAT
(Network Address Translation)
198
Endereçamento estático
O administrador atribui manualmente os endereços IP aos hosts
Funciona bem em redes pequenas, que mudam pouco.
Dispositivos que se recomenda a atribuição estática de IP:
servidores de aplicativos, impressoras de rede e roteadores
199
Endereçamento dinâmico
Os endereços IP são atribuídos dinamicamente aos hosts
RARP (Reverse Address Resolution Protocol)
IP BOOTP (Bootstrap Protocol)
DHCP (Dynamic Host Cpnfiguration Protocol)
201
Protocolo RARP (RFC 903 – Jun/84)
O protocolo RARP (Reverse Address Resolution Protocol) é
usado para associar um endereço MAC conhecido a um
endereço IP
Permite que um dispositivo que possua apenas o endereço
MAC, não possui ainda o endereço IP, envie uma solicitação
requisitando seu endereço IP
A solicitações RARP é enviada em broadcast para a rede local.
A resposta à esse solicitação é dada pelo servidor RARP da
rede local
202
BOOTP (Bootstrap Protocol) (RFC 951 – Set/85)
Faz uso do UDP para transportar as mensagens, enviando a
solicitação em broadcast, cuja resposta será dada pelo
servidor BOOTP
O cliente recebe a resposta e verifica o endereço MAC. Se
encontrar seu endereço MAC no campo do endereço de
destino ele obtém e armazena o endereço IP e as outras
informações fornecidas pela mensagem de resposta
Um problema do BOOTP é não fornecer, na verdade,
atribuição dinâmica de endereços. O administrador cria um
arquivo de configuração que especifica os parâmetros de cada
dispositivo.
203
DHCP (Dynamic Host Configuration Protocol) (RFC 2131, 2132)
Permite que um host obtenha um endereço IP dinamicamente,
sem que o administrador da rede tenha que configurar um
perfil individual para cada dispositivo.
Necessita apenas que um servidor DHCP tenha definido um
intervalo de endereços IP disponíveis
À medida que ficam online, os hosts entram em contato com o
servidor DHCP e solicitam um endereço IP.
O servidor DHCP escolhe um endereço disponível e o
concede a esse host (em geral, por um tempo limitado).
206
Tópicos
Serviços Providos pela Camada de Rede
Classificação dos Algoritmos de Roteamento
Roteamento por Inundação
Roteamento pelo Caminho mais Curto
Algoritmo de Dijkstra
Roteamento por Vetor de Distância
Roteamento por Estado de Enlace
207
Serviços Providos pela Camada de Rede
O papel da camada de rede é aparentemente simples:
transportar pacotes de uma estação remetente a uma
estação destinatária.
Para realizar esta tarefa, três importantes funções podem
ser identificadas:
Determinação do Trajeto
Estabelecimento de Conexão
Comutação dos Pacotes
208
Classificação dos Algoritmos de Roteamento
Podemos classificar os algoritmos de roteamento de acordo
com:
A dinâmica das tabelas de roteamento:
Estáticos: os trajetos são definidos e não mais alterados, a menos que
haja alteração topológica da rede.
Dinâmicos: os trajetos são alterados periodicamente para refletir
mudanças no estado da rede, tais como congestionamentos, falhas,
carga, etc.
A forma como a decisão de roteamento é tomada:
Centralizado, Isolado ou Distribuído;
O número de caminhos utilizados:
Caminho Simples: um único trajeto deve ser utilizado entre dois pontos.
Múltiplos Caminhos: mais de um trajeto pode ser utilizado entre dois
pontos.
209
Roteamento por Inundação
Uma forma extrema de roteamento isolado é o chamado
roteamento por inundação.
Neste tipo de roteamento, um pacote é enviado para todas
as portas de saída de um roteador, com exceção da porta
por onde o pacote foi recebido.
O roteamento por inundação gera uma enorme quantidade
de cópias de um pacote na rede.
Para eliminar as cópias não mais necessárias, mecanismos
de enxugamento devem ser utilizados.
210
Roteamento por Inundação
Um exemplo de um mecanismo de enxugamento é um
contador de hops inicializado com a distância entre fonte e
destino ou com a distância máxima da rede, sendo
decrementado em cada roteador.
As principais aplicações do roteamento por inundação são:
Medição de características da rede.
Atualização simultânea de bancos de dados distribuídos.
Transmissão de pacotes com o menor tempo possível.
211
Roteamento pelo Caminho mais Curto
Baseado em informações de custo de cada enlace.
Tentam encontrar o caminho de menor custo, ou seja, um
caminho que minimize a soma dos custos de cada enlace.
Exemplos de parâmetros de custo:
Comprimento do enlace
Atraso estimado
Confiabilidade
Taxa de transmissão
Dentre os principais algoritmos de roteamento pelo
caminho mais curto estão:
Algoritmo de Dijkstra
Algoritmo de Bellman-Ford
212
Algoritmo de Dijkstra
Foi desenvolvido por Edsger Wybe Dijkstra em 1959.
Variáveis:
D(v) = distância do nó fonte (1) para o nó (v).
l(i,j) = custo entre o nó (i) e o nó (j).
N = conjuntos de nós com distância definida.
213
Algoritmo de Dijkstra
Inicialização:
Faça N = {1}.
Para cada nó (v) fora de N, faça D(v) = l(1,v). Se (v) não
está conectado a N, faça D(v) = infinito.
Passo Principal:
Encontre um nó (w) fora de N tal que D(w) seja mínimo.
Adicione este nó (w) a N.
Atualize D(v) para todos os nós restantes que ainda não
estão em N, fazendo:
D(v) = Min [D(v), D(w)+l(w,v)]
O algoritmo pára quando todos os nós fizerem parte de N.
215
Algoritmo de Dijkstra
Roteamento Resultante:
(5)
(a)
Step number1 6
32
4 5
2
1
1
12
(3) (4)
(1) (2)
(0)
216
Roteamento por Vetor de Distância
O algoritmo de roteamento por vetor de distância opera
mantendo uma tabela (isto é, um vetor) que fornece:
A melhor distância conhecida até cada destino.
Qual saída deve ser tomada para atingir cada destino (next
hop).
Cada nó faz uma estimativa do custo necessário para
atingir os seus vizinhos.
217
Roteamento por Vetor de Distância
Periodicamente os nós enviam estas estimativas para os
seus vizinhos.
A melhor distância é calculada em função das estimativas
de custos levantadas pelo próprio nó e recebidas dos
seus vizinhos.
218
Roteamento por Vetor de Distância
Rede Exemplo:
Considere o nó j.
As estimativas de atraso de j até os seus vizinhos são:
Fonte: Tanenbaum
219
Roteamento por Vetor de Distância
Rede Exemplo:
O nó j também possui os vetores de distância dos seus nós
vizinhos:
Fonte: Tanenbaum
220
Roteamento por Vetor de Distância
Rede Exemplo:
De posse destas informações o nó j
executa o algoritmo de Bellman-Ford
para determinar qual é a menor
distância e o próximo hop na
direção de cada um dos
nós da rede.
Desta forma o nó J atualiza a sua
tabela. Fonte: Tanenbaum
221
Roteamento por Vetor de Distância
Os nós passam mensagens de controle para outros nós
levando os seus vetores de distância até que o algoritmo
esteja completo em cada nó, com convergência para o
caminho mais curto.
Durante a fase de convergência o roteamento por vetor de
distância é propenso a formação de loops.
Outra desvantagem do algoritmo é que o tempo de
convergência pode ser longo quando ocorre a perda de
um roteador ou de um enlace.
222
Roteamento por Estado de Enlace
Cada roteador que utiliza o algoritmo de roteamento por
estado de enlace realiza as seguintes tarefas:
Descobre seus vizinhos e aprende os seus endereços.
Faz estimativas de custos para cada um dos seus vizinhos
e armazena estas informações.
Cria um pacote para difundir estas informações para todos
os outros roteadores.
Calcula o caminho mais curto para cada um dos outros
roteadores utilizando o algoritmo de Dijkstra.
225
Tópicos
Introdução
Monitoramento de Conformidade
Leaky Bucket
Token Bucket
Gerenciamento de Buffer
Descarte Seletivo
Random Early Detection (RED)
Weighted Random Early Detection (WRED)
226
Introdução
O que significa congestionamento em uma rede de
comutação de pacotes?
Quais são as conseqüências de um congestionamento?
É a situação em que o número de pacotes nas filas
dos comutadores/roteadores aumenta rapidamente,
chegando até mesmo a ultrapassar a capacidade de
armazenamento.
• Aumento do atraso.
• Perda de pacotes.
• Redução da vazão.
227
Introdução
O controle de congestionamento envolve diversas ações,
dentre as seguintes:
Evitar a formação de um congestionamento.
Reconhecer que uma situação de congestionamento está
se formando.
Enviar um sinal apropriado para os clientes da rede que
estão causando o congestionamento.
Reagir ao congestionamento através do gerenciamento de
buffer e descarte de pacotes.
Se necessário, retransmitir as informações perdidas
durante o congestionamento.
228
Introdução (Continua...)
Maximizar a eficiência do uso dos recursos de
armazenamento. Para isso é utilizado o gerenciamento de
estrutura de filas (BM – Buffer Management).
Distribuir os recursos de armazenamento de forma justa
entre os fluxos ou conexões, de forma que a QoS de cada
fluxo seja respeitada.
Decidir quais pacotes devem ser descartados quando a
ocupação da estrutura de filas ultrapassa um determinado
valor. Para isso é utilizada função de descarte seletivo (SD –
Selective Discard).
229
Introdução Dentre as técnicas existentes para reconhecer que uma
situação de congestionamento está se formando estão:
O monitoramento de limiares de ocupação nos buffers da
rede.
Quando um determinado limiar é ultrapassado, ações são
tomadas.
A utilização de relógios no transmissor para cada pacote
transmitido.
Quando o relógio é extrapolado (timeout), o pacote é
retransmitido e o tamanho da janela deslizante é ajustado.
230
Monitoramento de Conformidade
Verifica se o tráfego submetido para a rede está de acordo
com o contrato de tráfego negociado.
Para isso, a rede atua sobre os pacotes não conformes por
meio da função de policiamento de tráfego (TP – Traffic
Policing).
O policiamento é geralmente realizado na interface usuário
rede, embora também possa ser realizado entre duas
redes.
231
Monitoramento de Conformidade
O policiamento de tráfego é uma função não intrusiva:
Não atrasa ou modifica as características de um
determinado fluxo, a não ser pela remoção de pacotes não
conformes e pela mudança da prioridade dos pacotes.
Dois algoritmos utilizados para o policiamento de tráfego
são:
Leaky Bucket
Token Bucket
232
Algoritmo Leaky Bucket
O algoritmo do “balde furado” ou leaky bucket é baseado
na analogia com um balde que é enchido com I unidades
toda vez que um pacote de tamanho fixo (célula) é
recebido, e que perde constantemente uma unidade a
cada intervalo de tempo. L é a capacidade do balde.
I
X
Chegada de um novo pacote Incrementa de I
L
t = 0
I-1
X
L
t = 1
I-2
X
L
t = 2
233
Algoritmo Leaky Bucket
Variáveis:
LCT – Tempo da chegada da última célula conforme.
ta(k) – Tempo de chegada da célula k.
X – Ocupação do balde no instante LCT.
Y – Ocupação do balde no instante ta(k).
L – Capacidade do balde.
X
L
t = LCT
I
X
L
t = ta(k)
Y Região Conforme:
0 < Y < L
Região Não Conforme: Y > L
234
Algoritmo Leaky Bucket
O algoritmo é executado toda vez que uma novo pacote de
tamanho fixo ou célula é recebida. Portanto, o enchimento
e a drenagem do “balde” são feitos de acordo com o
instante de tempo da chegada da última célula conforme
(LCT).
Ou seja, quando uma célula é recebida no instante ta(k), o
“balde” esvazia de (ta(k)–LCT), o que é equivalente a
continuamente esvaziar o “balde” uma unidade a cada
unidade de tempo.
235
Algoritmo Leaky Bucket
Uma ocupação negativa do “balde” é resultado da chegada
atrasada de uma célula. Neste caso, é necessário zerar o
“balde” a fim de prevenir o acumulo de créditos, que
acarreta a geração de longos surtos de células (bursts).
Se a célula recebida é considerada conforme, o “balde” é
enchido de I unidades.
O algoritmo Leaky Bucket também é conhecido pela
notação GCRA (I,L), onde I é o incremento e L é
capacidade do balde.
236
Algoritmo Token Bucket
Este regulador de tráfego é uma variação do Leaky Bucket
e a tradução mais aproximada seria “balde de fichas”.
Neste algoritmo, o balde furado retém fichas, geradas a
uma taxa de r fichas/segundo.
Para que um pacote possa ser transmitido, ele deve
capturar e destruir uma ficha.
Assim, o Token Bucket permite que créditos de banda
sejam guardados até o tamanho máximo do balde, que
vale BT fichas (ou pacotes).
237
Algoritmo Token Bucket
Isto significa que rajadas de até BT pacotes podem ser
enviadas serialmente, permitindo um maior escoamento do
tráfego.
Entretanto, mesmo havendo fichas disponíveis a taxa
máxima de saída é P pacotes por segundo.
Segundo Giroux, o tamanho máximo do balde pode ser
relacionado com os demais parâmetros do contrato da
seguinte forma:
SCRPCR
PCR
MBSBT
238
Gerenciamento de Estruturas de Filas
O objetivo é administrar de forma eficiente o espaço
disponível em uma estrutura de filas e isolar o tráfego
destinado a diferentes filas.
A eficiência é conseguida através do compartilhamento do
espaço físico disponível no maior número possível de filas.
239
Descarte Seletivo
Descarta pacotes para evitar ou reduzir o nível de
congestionamento na rede.
Exemplos de mecanismos de descarte:
Descarte Baseado na Prioridade dos Pacotes
Descarte Baseado na Classe de Serviço
Descarte Baseado em Parâmetro de QoS
Descarte Aleatório
Descarte Baseado na Ocupação das Filas
240
Random Early Detection (RED) Baseia-se no princípio do descarte antecipativo de pacotes
para evitar o congestionamento.
Quando o tamanho da fila ultrapassa um determinado limiar, inicia-se um processo de descarte aleatório de pacotes, onde a probabilidade de descarte é função da taxa de ocupação da fila.
O descarte antecipativo irá resultar na diminuição na chegada de pacotes ao destino. Conseqüentemente, tem-se a redução na janela de transmissão e uma reversão na tendência de congestionamento.
Entretanto, este mecanismo não é eficaz se o protocolo de transporte não reage à perda de pacotes.
241
Weighted Random Early Detection (WRED)
A probabilidade de um pacote entrante ser descartado é
definida pela ocupação da fila e por um peso associado ao
fluxo (ou classe de fluxo) ao qual o pacote pertence.
O objetivo é que pacotes de maior prioridade tenham
menor probabilidade de descarte.
Por exemplo, uma probabilidade de descarte menor pode
ser associada a fluxos de pacotes com maior prioridade ou
a fluxos de pacotes que fizeram reserva de recursos.