Parte 1 - Básico - Ricardo Gonçalves Quintão

Propaganda
TCP/IP - Básico
Prof: Ricardo Gonçalves Quintão
Site: www.rgquintao.com.br
email: [email protected]
Bibliografia
• Redes de Computadores
– Autor: Andrew S. Tanenbaum
– Editora Campus
• Redes de Computadores e Internet
– Autor: Douglas E. Comer
– Editora Bookman
• Redes de Computadores e a Internet – Uma Nova Abordagem
– Autores: James F. Kurose; Keith W. Ross
– Editora Pearson Education
Organização do Curso
• Definição de Arquitetura de Redes
–
–
–
–
–
–
–
Modelo OSI
Transmissão de dados no modelo OSI
O modelo OSI, o padrão IEEE 802 e a arquitetura TCP/IP
Arquitetura TCP/IP
Comparação entre o modelo OSI e a arquitetura TCP/IP
Transmissão de dados no TCP/IP
A estrutura de dados no TCP/IP
• A Transmissão da Informação
– Tipos de Comutação
Organização do Curso
• A Arquitetura TCP/IP aplicada a Redes Locais
–
–
–
–
–
–
–
–
–
–
–
O acesso ao meio em redes locais (LANs)
Padrão IEEE 802
A camada de interface de redes da arquitetura TCP/IP
O padrão IEEE 802.3 (Ethernet – CSMA/CD)
Endereço MAC
Padrão Ethernet – História e Formatos
O formato de um quadro Ethernet
Desvantagens do protocolo CSMA/CD
Hubs
Formas de operações possíveis em Redes Ethernet
Tipos de Endereços
Organização do Curso
• A camada de Rede da Arquitetura TCP/IP
– Principais Características
– O protocolo IP
 O cabeçalho do protocolo IP
 Encapsulamento do Datagrama, MTU e Fragmentação
 O Endereçamento IP
 O endereço Loopback e o endereço Broadcast
 A Máscara de Rede de um Endereço IP
 A Alocação de Endereços IP na Internet
 Alguns Exemplos
 Sub-redes
 Teste de Conhecimento do Endereçamento IP
 Protocolo ARP
 Roteamento de Datagramas IP
 Tipos de Roteamento
 Protocolo ICMP
Organização do Curso
• A camada de Transporte da Arquitetura TCP/IP
– Principais Características
– O protocolo TCP
 Garantia de Ordenação
 Garantia de Entrega
 O mecanismo PAR
 Janela Deslizante
 Portas e Sockets – Identificando Conexões
 Cabeçalho do Segmento TCP
 O Estabelecimento de uma Conexão
 O Fechamento de um conexão
– O protocolo UDP
 Porquê usar UDP?
Organização do Curso
• A camada de Aplicação da Arquitetura TCP/IP
–
–
–
–
–
Principais Características
O protocolo Telnet
O protocolo FTP
O protocolo DNS
O protocolo SMTP
Arquitetura de Rede (definição)
• Em que consiste uma arquitetura de redes de Computadores e porque
implementá-la?
• Problemas que aparecem quando computadores se comunicam através de
uma rede:
–
–
–
–
–
Falha de hardware;
Congestionamento de rede;
Atraso/Perda de pacotes;
Dados corrompidos;
Duplicação de dados ou erro de sequência.
• Com todos estes problemas, fica praticamente impossível implementar um
único protocolo que lide com todos estes problemas de comunicação.
Arquitetura de Rede (definição)
• Ao invés disso, vários protocolos são desenvolvidos de modo que cada um
deles fique responsável em resolver/tratar uma parte do problema.
• Deste modo, vem o conceito de Arquitetura de Redes de Computadores, cuja
ideia principal é:
Estruturar a rede como um conjunto de camadas hierárquicas,
cada uma sendo construída utilizando as funções e serviços
oferecidos pelas camadas inferiores
• Definição: Uma arquitetura de Rede é formada por níveis (ou camadas),
interfaces e protocolos, onde cada nível oferece um conjunto de serviços ao
nível superior, usando funções realizadas no próprio nível e serviços
disponíveis (oferecidos) pelos níveis inferiores.
Arquitetura de Rede (definição)
• Um protocolo (ou protocolos) de um nível N (ou camada N) consiste no
conjunto de regras e formatos que governam a conversação de um nível N
qualquer, através das quais, informações ou dados do nível N são trocados
entre as entidades do nível N, localizadas em sistemas distintos.
• Uma interface, no contexto de arquitetura de redes, é o limite entre o nível N
e seu nível adjacente (N-1 ou N+1).
Arquitetura de Rede (definição)
Protocolo do Nível 4
Nível 4
Interface 3/4
Nível 4
Interface 3/4
Protocolo do Nível 3
Nível 3
Interface 2/3
Nível 3
Interface 2/3
Protocolo do Nível 2
Nível 2
Nível 2
Interface 1/2
Interface 1/2
Nível 1
Protocolo do Nível 1
Nível 1
Figura representando a relação de Nível, Interface e Protocolo
Arquitetura de Rede (definição)
• O projeto de protocolos em níveis é a maneira mais eficiente de se estruturar uma
rede. Uma vez definida claramente a interface entre os níveis, uma alteração na
implementação de um nível pode ser realizada sem causar impacto na estrutura global.
• Importância de um padrão  Inicialmente não existia uma arquitetura única de
rede, cada implementador desenvolvia sua própria arquitetura (proprietária). Para
permitir o intercâmbio de informações entre computadores de fabricantes distintos,
tornou-se necessário definir uma arquitetura única e aberta.
• ISO: Definição do modelo denominado RM-OSI, onde se propõe uma estrutura com 7
níveis como referência para a arquitetura dos protocolos de redes de computadores.
Deve ficar claro que o modelo RM-OSI não é uma arquitetura, pois não especifica
exatamente os serviços e protocolos de cada camada, apenas diz o que cada camada
deve fazer.
Arquitetura de Rede (modelo OSI)
Protocolo de Nível de Aplicação
Aplicação
Aplicação
Protocolo de Nível de Apresentação
Apresentação
Apresentação
Protocolo de Nível de Sessão
Sessão
Sessão
Protocolo de Nível de Transporte
Transporte
Transporte
Protocolo de Nível de Rede
Rede
Rede
Protocolo de Nível de Enlace
Enlace
Enlace
Protocolo de Nível de Físico
Físico
Físico
Arquitetura de Rede (Terminologia no RM-OSI)
• Serviço: representa um conjunto de funções oferecidas a um usuário do nível
superior. O serviço oferecido por um nível é acessado por um usuário através
de um ponto de acesso ao serviço (SAP).
– O serviço oferecido por uma camada a outra é especificado pelo conjunto de
primitivas de serviços trocadas entre as camadas e pela sua ordem. Um serviço
pode ser confirmado ou não confirmado.
– Um serviço confirmado envolve um acordo entre as partes (usuário que solicitou
o serviço e o usuário que é informado pelo serviço). O serviço confirmado
consiste na troca de 4 primitivas: request, indication, response e confirmation.
 Request  Primitiva originada na camada N+1 para a ativação de um serviço
específico na camada N.
 Indication  Primitiva originada na camada N para notificar a camada N+1 da
ativação de um serviço.
 Response  Primitiva originada na camada N+1 em resposta à primitiva Indication.
 Confirmation  Primitiva originada na camada N para a camada N+1 para completar
o ciclo.
– Um serviço não confirmado não necessita que as partes estejam de acordo sobre a
realização do serviço. Duas primitivas apenas são envolvidas: request e
indication.
Arquitetura de Rede (Terminologia no RM-OSI)
• O serviço oferecido por uma camada ainda possui duas vertentes maiores:
orientado à conexão e não orientado à conexão.
• O serviço orientado à conexão (serviço de circuito virtual) é dividido em 3
fases:
– Estabelecimento da conexão, cujo serviço é sempre confirmado, uma vez que
envolve acordo a priori entre as entidades (troca de 4 primitivas de serviço);
– Transferência de dados, que pode ter um serviço confirmado ou não (dependendo
se a entidade solicitante requer confirmação ou não);
– Liberação da conexão, que também pode ter um serviço confirmado ou não
confirmado.
• O serviço não orientado à conexão (serviço de datagrama) possui apenas 1
fase, a transferência de dados, sem que para isso seja estabelecida uma
conexão entre as entidades. Normalmente a fase de transferência de dados
possui um serviço não confirmado.
Arquitetura de Rede (Terminologia no RM-OSI)
• Entidade: é o elemento ativo de uma camada. Entidades de uma mesma
camada em máquinas diferentes são denominadas entidades pares ou
parceiras. As entidades da camada 1 implementam o serviço que é usado
pelas entidades da camada 2, e assim sucessivamente, até a camada 7, que
fornece os serviços aos usuários do ambiente de comunicação OSI.
• Serviços x Protocolos: são conceitos distintos:
– Um serviço é o conjunto de primitivas (operações) que uma camada oferece a
camada acima dela, sem dizer nada como essas operações são implementadas. A
camada inferior é a provedora do serviço e a camada superior é a usuária desse
serviço.
– Um protocolo é um conjunto de regras que governa a comunicação trocada entre
as entidades parceiras dentro de uma mesma camada.
– As entidades usam protocolos para implementar suas definições de serviço. Os
protocolos podem ser mudados como bem desejarem, desde que não mudem o
serviço visível aos seus usuários. Desta forma, serviços e protocolos são
completamente desvinculados.
Arquitetura de Rede (Terminologia no RM-OSI)
Usuário do
Serviço N
Usuário do
Serviço N
pontos de acesso ao serviço N
Entidade do
Serviço N
Protocolo de nível N
Entidade do
Serviço N
Camada N
pontos de acesso ao serviço (N-1)
Entidade do
Serviço (N-1)
Protocolo de nível (N-1)
Entidade do
Serviço (N-1)
Camada (N-1)
Arquitetura de Rede (Transmissão de Dados no RM-OSI)
• Na conversação entre camadas de um mesmo nível, na realidade, nenhum dado é
transferido diretamente da camada N em uma máquina para a camada N em outra
máquina. Ao invés disso, cada camada passa dados e informações de controle para a
camada imediatamente abaixo, até que o nível mais baixo seja alcançado.
• Abaixo no nível físico está o meio físico de comunicação, através do qual a
comunicação realmente ocorre.
• Quando um usuário no sistema A envia uma mensagem para o usuário no sistema B
no ambiente OSI:
– O processo de transmissão inicia-se com a entrega de dados a serem transmitidos
pelo usuário para uma entidade de nível de aplicação no sistema A. Esses dados
(do usuário) recebem a denominação de SDU (Service Data Unit), sendo portanto
a SDU do nível de aplicação.
Arquitetura de Rede (Transmissão de Dados no RM-OSI)
– A entidade do nível de aplicação junta aos dados do usuário um cabeçalho
denominado PCI (Protocol Control Information). O resultado dessa junção é
chamado de PDU (Protocol Data Unit). A PDU é a unidade de informação
trocada pelas entidades pares ao executar o protocolo de uma camada. A PDU do
nível de aplicação (cabeçalho + dados do usuário) é então passada para o nível de
apresentação.
– A entidade do nível de apresentação trata a unidade que recebe da mesma forma
que o nível de aplicação tratou os dados do usuário (a PDU do nível de aplicação
é uma SDU do nível de apresentação) e acrescenta seu cabeçalho compondo
assim a PDU do nível de apresentação.
– Esse processo continua até o nível de enlace, que geralmente acrescenta um
cabeçalho e um fecho (FCS – Frame Check Sequence) para detecção de erros. A
PDU do nível de enlace é transmitida pelo nível físico através do meio de
transmissão, depois de agregar ao quadro seu cabeçalho e seu fecho.
Arquitetura de Rede (Transmissão de Dados no RM-OSI)
– Quando o quadro é recebido pelo destinatário, o processo inverso ocorre. À
medida que a unidade de dados vai sendo passada para as camadas superiores,
cada camada retira o cabeçalho e fecho que foi acrescentado por sua entidade par
na origem, executa as operações do protocolo de acordo com a informação
contida no cabeçalho e passa a unidade de dados para a camada superior.
Arquitetura de Rede (Transmissão de Dados no RM-OSI)
SDU do Nível de Aplicação
Usuário A
Dados
Aplicação
A Dados
Apresentação
Sessão
Transporte
Rede
A A Dados
PDU do Nível de Aplicação
Dados
Usuário B
A Dados
Aplicação
A A Dados
Comunicação Virtual
S A A Dados
S A A Dados
T S A A Dados
E R T S A A Dados R E
Física
F E R T S A A Dados R E F
Sessão
T S A A Dados
Transporte
R T S A A Dados R
Rede
E R T S A A Dados R E
Enlace
F E R T S A A Dados R E F
Física
R T S A A Dados R
Enlace
Apresentação
Comunicação real
O modelo RM-OSI, o padrão IEEE 802 e a arquitetura
TCP/IP
• O modelo RM-OSI embora possa ser usado tanto em redes WAN quanto em
redes locais (LANs), foi originalmente pensado apenas para uso das redes
WAN.
• A aplicabilidade do modelo RM-OSI em redes locais não pode deixar de
levar em conta as particularidades dessas redes (elevado desempenho, baixo
retardo, baixa taxa de erro). Tais particularidades acabam influenciando em
muito a complexidade dos protocolos de níveis mais baixos, tendo o luxo de
serem mais simples.
• Um exemplo da dificuldade em se aplicar o modelo OSI em redes locais é o
fato da transmissão de dados nestas redes ser feita por difusão (todas as
estações recebem todos os pacotes), o que exige regras para acesso do meio
físico através de protocolos de acesso.
O modelo RM-OSI, o padrão IEEE 802 e a arquitetura
TCP/IP
• Tais protocolos de acesso poderiam ser colocados tanto no nível de enlace do
modelo OSI (uma vez que tratam do envio de um pacote de uma máquina a
outra) quanto no nível de rede (uma vez que trata do envio de um pacote da
estação de origem para a estação de destino).
• Para resolver esse impasse, o comitê de padronização de redes locais do IEEE
(802) definiu colocá-los como parte do nível de enlace. Essa proposta foi
adotada pela ISO e formalizada no conjunto de padrões 8802.
• Em outras palavras, o RM-OSI pode ser aplicável em redes locais, mas na
prática, acabou não sendo seguido na íntegra.
O modelo RM-OSI, o padrão IEEE 802 e a arquitetura
TCP/IP
• A coexistência de redes heterogêneas (LANs, MANs e WANs) fez com que
se tornasse necessário definir uma arquitetura voltada para a interconexão
dessas redes.
• Uma arquitetura importante no contexto de interconexão de redes
heterogêneas é a arquitetura TCP/IP.
• A arquitetura TCP/IP foi criada definindo um conjunto de protocolos, e não
funcionalidades das camadas como no OSI, devido principalmente ao fato do
modelo OSI ter sido elaborado após a implementação dos protocolos do
TCP/IP.
A Arquitetura TCP/IP
• A arquitetura TCP/IP baseia-se principalmente em: um serviço de transporte
orientado à conexão, fornecido pelo protocolo TCP (Transmission Control
Protocol), e em um serviço de rede não-orientado à conexão (datagrama não
confiável), fornecido pelo protocolo IP (Internet Protocol).
• A arquitetura TCP/IP dá uma ênfase toda especial à interligação de diferentes
tecnologias de redes. A idéia baseia-se no fato de que não existe nenhuma
tecnologia de rede que atenda aos anseios de toda a comunidade de usuários.
Alguns usuários precisam de redes de alta velocidade que normalmente
cobrem uma área geográfica restrita (LAN). Já outros usuários se contentam
com redes de baixa velocidade que conectam equipamentos a grandes
distâncias (WAN). Portanto a única forma de permitir que um grande volume
de usuários possa trocar informações é, interligar suas redes formando assim
uma “inter-rede”.
Arquitetura de Rede (Terminologia no RM-OSI)
Rede B
Inter-Rede
G
Rede A
G
G
Rede D
G
G
Rede C
Gateway
Conceito de Inter-Rede
A Arquitetura TCP/IP
• A arquitetura TCP/IP é organizada em 4 camadas conceituais construídas
sobre uma quinta camada que não faz parte do modelo.
Aplicação
Transporte
Rede
Interface de Rede
Meio Físico
A Arquitetura TCP/IP
• No nível de aplicação, os usuários usam programas de aplicação para acessar os
serviços disponíveis na inter-rede. As aplicações interagem com o nível de transporte
para enviar e receber dados. As aplicações podem utilizar o serviço orientado à
conexão, fornecido pelo TCP, ou o serviço não orientado à conexão fornecido pelo
UDP (serviço de datagrama). Algumas aplicações disponíveis no TCP/IP são: SMTP,
FTP, TELNET, DNS.
• O nível de transporte possui como função básica permitir a comunicação fim-a-fim
entre aplicações. Se o protocolo TCP for utilizado, os serviços de controle de erro,
controle de fluxo e seqüêncialização são fornecidos.
• O nível de rede é o responsável pela transferência de dados através da inter-rede,
desde a máquina origem até a máquina destino. Esse nível recebe pedidos do nível de
transporte para transmitir pacotes, que informa o endereço da máquina onde o pacote
deverá ser entregue.
A Arquitetura TCP/IP
• Uma vez que a arquitetura TCP/IP não faz nenhuma restrição às redes que são
interligadas para formar a inter-rede, qualquer tipo de rede pode ser ligada,
bastando que para isso seja desenvolvida uma interface de rede que
compatibilize a tecnologia específica da rede com o protocolo IP. É essa a
função do nível de interface de rede.
• O nível de interface de rede recebe portanto, os datagramas IP do nível de
rede e os transmite através de uma rede específica. Para realizar essa tarefa,
nesse nível, os endereços IP, que são endereços lógicos, são traduzidos para
os endereços físicos das estações ou gateways conectados à rede.
Comparação entre o Modelo RM-OSI e o TCP/IP
• A primeira grande diferença entre as arquiteturas OSI e TCP/IP está no número de
camadas. Enquanto na arquitetura OSI são definidas sete camadas, na arquitetura
TCP/IP são definidas quatro.
• O modelo OSI se preocupa muito mais com a formalização dos procedimentos do que
o TCP/IP. A arquitetura TCP/IP não descreve claramente os conceitos de serviço,
interface e protocolos, o que é feito no OSI.
• A arquitetura TCP/IP foi desenvolvida com o objetivo de resolver um problema
prático, de interligar redes de tecnologias distintas. Para isso, foi desenvolvido um
conjunto de protocolos que resolveu o problema de forma bastante simples. Como
exemplo, os níveis físicos e de enlace do RM-OSI são agrupados na camada interface
de rede.
• A arquitetura TCP/IP foi criada definindo um conjunto de protocolos, e não
funcionalidades das camadas como no RM-OSI, devido principalmente ao fato de o
modelo OSI ser elaborado após a implementação de alguns protocolos do TCP/IP.
Arquitetura de Rede (Terminologia no RM-OSI)
Modelo RM-OSI
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
Modelo TCP/IP
Aplicação
Transporte
Rede
Interface de Rede
Meio Físico
A Arquitetura TCP/IP
• Não existe até hoje um consenso sobre como descrever a arquitetura TCP/IP
sob a forma de camadas. Não diferenciar as camadas física e de enlace é o
maior dos problemas (alguns autores fazem essa separação, descrevendo o
TCP/IP em cinco camadas).
A Transmissão de Dados no TCP/IP
• Tal como no modelo OSI, dados são passados para os níveis abaixo quando
são enviados para rede e passados para os níveis acima quando são recebidos
pela rede.
• Cada camada adiciona informação de controle para garantir sua entrega. Essa
informação de controle chama-se header (cabeçalho), já que é colocada à
frente dos dados a serem transmitidos.
• Cada camada trata toda a informação recebida da camada acima como dados
e coloca seu próprio cabeçalho à frente da informação. Essa adição de
cabeçalho em cada camada é chamada de encapsulamento.
A Transmissão de Dados no TCP/IP
Dados
Aplicação
Camada de Aplicação
Cabeçalho
Dados
Camada de Transporte
Cabeçalho Cabeçalho
Dados
Camada de Inter-Rede
Cabeçalho Cabeçalho Cabeçalho
Dados
Cabeçalho Cabeçalho Cabeçalho Cabeçalho
Dados
Camada de Interface de Rede
Estrutura de Dados no TCP/IP
• Cada camada possui sua própria forma de estruturar os dados.
Conceitualmente, uma camada desconhece a estruturação feita pelas camadas
acima e abaixo dela. Cada camada possui sua própria forma de estruturação e
sua própria terminologia para descrever sua estrutura.
Tipos de Comutação
• As redes de comunicação podem ser classificadas segundo a maneira com
que a informação é encaminhada da origem ao destino, ou seja, podem ser
classificadas segundo o tipo de comutação. Existem 2 tipos básicos de
comutação: comutação de circuitos e comutação de pacotes.
• A comunicação via comutação de circuitos pressupõe a existência de um
caminho físico dedicado de comunicação entre duas estações. A comunicação
via comutação de circuitos envolve 3 fases:
– Estabelecimento do circuito: antes que as estações possam se comunicar, um
circuito fim-a-fim tem que ser estabelecido;
– Transferência da informação: uma vez estabelecida a conexão, os dados podem
ser transmitidos e recebidos pelas estações envolvidas;
– Desconexão do circuito: após um certo período de tempo a conexão pode ser
encerrada, em geral pela ação de uma das estações envolvidas.
Tipos de Comutação
• Vale notar que, na comutação de circuitos, o caminho alocado durante a fase
de estabelecimento de conexão permanece dedicado àquelas estações, até que
uma delas (ou ambas) decida desfazer o circuito. Acaba existindo então um
caminho dedicado e uma banda passante dedicada e fixa para a
comunicação.
• Como vantagem da comutação de circuitos, pode-se citar a garantia de banda
passante, uma vez que nenhuma outra atividade de rede pode diminuir tal
capacidade do circuito.
• Como desvantagem, pode-se citar o desperdício da banda alocada caso o
tráfego entre as estações não seja contínuo.
Tipos de Comutação
• Na comutação de pacotes não é necessário o estabelecimento de um caminho
dedicado entre as estações. Ao invés disso, se uma estação deseja transmitir
um pacote (unidade de dados), ela adiciona o endereço de destino a esse
pacote que será então transmitido pela rede de nó em nó.
• Em cada nó, o pacote é recebido e o próximo caminho de rota é determinado
com base no endereço de destino contido no pacote. Essa técnica de
comutação de pacotes é também chamada de técnica store-and-forward, dado
que pacotes caminham de nó em nó pela rede, sendo armazenados e
retransmitidos sucessivamente.
• Pode-se observar que na comutação de pacotes a banda passante é
dinamicamente alocada (existe a aquisição e liberação da banda conforme
necessário). Ao contrário da comutação de circuitos, não existe a garantia de
banda. Um pacote ocupa uma linha de transmissão apenas durante seu tempo
de transmissão.
Tipos de Comutação
• A não-garantia de banda passante no caso de comutação de pacotes acaba
sendo uma das desvantagens desse tipo de comutação, já que conforme a
atividade da rede aumenta, um dado par de estações recebe menos capacidade
da rede.
• Outra diferença interessante é que na rede de comutação de circuitos não
existe a preocupação em reagrupar os dados na ordem que foram
transmitidos, até porque todos já são enviados sequencialmente pelo circuito.
• Numa rede de comutação de pacotes, o processamento para verificar a
seqüência é necessária, pois vários pacotes podem estar trafegando pela rede
paralelamente. Cada pacote é tratado de maneira independente pela rede,
podendo chegar na ordem errada, dependendo da carga da rede, no caminho
que foi destinado o pacote.
Tipos de Comutação
• Umas das principais características de uma Rede Local (LAN) é ser uma rede
de difusão. Numa rede de difusão, todo dado transmitido por uma estação é
recebido por todas as outras estações que estejam diretamente interconectadas
a essa estação emissora através de um mesmo enlace físico.
• Uma outra importante característica de uma rede local é o fato de serem
construídas utilizando-se um meio físico compartilhado.
• Uma vez que o meio físico é compartilhado, é fundamental que se tenha
regras que disciplinem o acesso ao meio físico para a transmissão de dados.
Tais regras são implementadas pelos protocolos de acesso ao meio físico.
Tipos de Comutação
• Em redes locais, o meio físico é compartilhado por todas as estações
presentes em um mesmo enlace. Desta forma, a transmissão de um quadro em
redes locais requer um procedimento de acesso ao meio. Esse procedimento
é denominado MAC (Media Access Control), que varia em complexidade
devido à topologia e às demais características da rede.
• Dada a importância desse controle de acesso ao meio em redes locais, é
reservada uma subcamada dentro da arquitetura de rede, a qual é chamada de
subcamada MAC. Na arquitetura TCP/IP essa subcamada faz parte da camada
de interface de rede.
• Dependendo da tecnologia de rede local empregada, a subcamada MAC irá
apresentar um protocolo e um método de acesso (semântica da subcamada)
associado, como por exemplo o CSMA/CD para redes Ethernet.
Padrão IEEE 802
• Com o objetivo de elaborar padrões para redes locais nasceu o projeto IEEE
802, que ficou a cargo de um comitê instituído em fevereiro de 1980 pela
IEEE Computer Society. Esses padrões foram posteriormente revisados e
republicados como padrões internacionais pela ISO com a designação ISO
8802.
• O modelo de referência elaborado pelo IEEE definiu uma família de padrões,
relacionados aos níveis físico e de enlace do RM-OSI, para redes locais e
metropolitanas, conforme figura abaixo:
OSI
IEEE
802.2
ENLACE
FÍSICO
802.3
LAN
802.4
LAN
802.5
LAN
802.6
MAN
Padrão IEEE 802
• A Subcamada LLC (Logical Link Control) possui a função de fornecer SAPs
para os usuários da camada de rede.
• A Subcamada MAC (Medium Access Control) agrega as funções de montar
os dados a serem transmitidos com campos de endereçamento, desmontar os
quadros recebidos reconhecendo os campos de endereçamento e de detecção
de erros.
• Essa divisão em 2 subcamadas teve como objetivo permitir a definição de
várias opções de MAC, que podem ser otimizadas para as diferentes
topologias de redes locais.
• A camada física fica com as funções normalmente associadas ao nível físico,
que são: codificação/decodificação de sinais, geração e remoção de
preâmbulos para sincronização e transmissão de bits.
Padrão IEEE 802
• Os padrões que especificam diferentes opções de nível físico e protocolos de
subcamada MAC para as diferentes tecnologias de redes locais são:
– Padrão IEEE 802.3: rede em barra (topologia de barramento) - Ethernet utilizando o protocolo CSMA/CD como método de acesso;
– Padrão IEEE 802.4: rede em barra (topologia de barramento) - Token Bus utilizando o token (passagem de permissão) como método de acesso;
– Padrão IEEE 802.5: rede am anel - Token Ring - utilizando o token (passagem de
permissão) como método de acesso;
– Padrão IEEE 802.6: rede em barra utilizando o DQDB como método de acesso.
Este padrão é aplicado em redes MAN.
A Camada Interface de Rede da Arquitetura TCP/IP em Redes Locais
• A camada de Interface de Rede da arquitetura TCP/IP agrupa a subcamada de
acesso ao meio, o controle de enlace lógico e a interface física, conforme
figura abaixo:
LLC
Interface de Rede
MAC
Física
Padrão IEEE 802.3 (Ethernet – CSMA/CD)
• O padrão IEEE 802.3 é o padrão para redes em barra (topologia de
barramento) que utiliza o protocolo CSMA/CD (Carrier Sense Multiple
Access with Collision Detection) como método de acesso.
• O protocolo CSMA/CD possui o seguinte algoritmo:
– Se uma estação quer transmitir, esta então “escuta” o cabo (ou o meio de
transmissão o qual está ligada);
– Se o cabo estiver ocupado, a estação espera até que o cabo se torne inativo (idle);
ou, se já estiver inativo, ele transmite imediatamente;
– Se duas ou mais estações começarem a transmitir simultaneamente em um cabo
inativo, elas vão colidir. Todas as estações envolvidas na colisão param de
transmitir, esperam um tempo aleatório e repetem todo o processo.
Padrão IEEE 802.3 (Ethernet – CSMA/CD)
• Algumas curiosidades e vantagens:
– Tendência de continuar como padrão de LAN por preservar o investimento e
sempre estar evoluindo.
– Ethernet (10 Mbps), Fast Ethernet (100 Mbps) e Gigabit Ethernet (1 Gbps).
– Alta escalabilidade.
– Padrão mais utilizado no mercado.
O Endereço MAC
• Faz parte de uma tecnologia de rede a definição de um mecanismo de
endereçamento físico em que as estações utilizam para especificar o destino
do dado a ser enviado.
• Um quadro (frame) enviado em uma rede (nesse caso sendo enviado pelo
protocolo de acesso ao meio) inclui um campo de endereço de destino que
contém o endereço físico do receptor pretendido.
• Desta forma, o emissor deve conhecer o endereço físico do receptor
pretendido e deve colocar esse endereço no campo de endereço de destino
ANTES de transmitir os dados.
O Endereço MAC
• Mensagem:
Duas estações quaisquer em uma determinada rede só conseguem
comunicar-se entre si se uma estação conhecer, a priori, o endereço
físico da outra estação e vice-versa.
• O Endereço MAC é também normalmente chamado de endereço físico ou de
endereço Ethernet quando se trata de redes Ethernet (IEEE 802.3).
O Endereço MAC
• Para que os dados sejam adequadamente transmitidos e recebidos, cada estação
conectada à rede deve possuir um endereço físico que o identifique de modo único.
De um modo mais geral, quando duas ou mais redes são interconectadas, deve-se
garantir que os endereços físicos das estações continuem identificando-os
univocamente. Como garantir isso?
• Um quadro (frame) enviado em uma rede (nesse caso sendo enviado pelo protocolo de
acesso ao meio) inclui um campo de endereço de destino que contém o endereço
físico do receptor pretendido. O IEEE gerencia blocos de endereços distintos que são
distribuídos aos fabricantes, que por sua vez responsabilizam-se pela atribuição de
endereços aos produtos que fabricam.
• O endereço MAC é composto por 6 bytes (48 bits ou 12 dígitos hexadecimais). Os 3
primeiros bytes são estipulados pelo IEEE, o que se chama de OUI - Organizationally
Unique Identifier (Identificador Único de Organizações).
• Exemplo de endereço MAC:
– 00-10-A4-0D-1E-5F
O Endereço MAC
• Abaixo são listados alguns exemplos de códigos de fabricantes (OUI).
Observem que um mesmo fabricante pode ter vários códigos:
–
–
–
–
–
–
–
–
00-20-18: Realtek
00-4F-49: Realtek
52-54-AB: (Realtek 8029 PCI Card)
00-10-07: Cisco - Catalyst 1900
00-10-0D: Cisco - Catalyst 2924-XL
00-10-11: Cisco 75xx
00-80-20: Sun
etc...
• A lista oficial de Ethertypes é mantida pelo IANA.
Padrão Ethernet – História e Formatos
• O padrão Ethernet surgiu em 1970, desenvolvido pela Xerox. Usando o
CSMA/CD como método de acesso ao meio, atingia transmissão de
2,94Mbits/s.
• Esse padrão foi refinado, e uma nova versão do padrão Ethernet,
desenvolvido em conjunto entre Digital, Intel e Xerox (DIX) surgiu,
atingindo agora 10Mbits/s. Essa nova versão também é chamada de “Ethernet
II”.
• Obviamente, nenhuma tecnologia poderia se tornar um padrão internacional
enquanto as regras fossem controladas por apenas uma única corporação.
Para isso, o IEEE teve a tarefa de desenvolver padrões internacionais para
todas as tecnologias que usassem redes LANs, surgindo assim o padrão IEEE
802, e o 802.3 para redes Ethernet.
Padrão Ethernet – História e Formatos
• O padrão criado pelo IEEE acabou criando conflitos com o formato Ethernet
que já existia (DIX) e que era largamente utilizado. O padrão IEEE exigia que
houvesse mudanças no formato dos quadros em todas as arquiteturas de rede
envolvendo Ethernet.
• A arquitetura TCP/IP, a qual é regida pelo IETF, se negou a mudar, decidindo
utilizar o formato antigo (DIX) de forma permanente.
• Por isso, hoje em dia, existem 2 formatos para quadros Ethernet: o formato
IEEE 802.3 e o formato Ethernet II.
• Qualquer protocolo que utilize a arquitetura TCP/IP (ARP, ICMP, telnet,etc)
utiliza o quadro Ethernet II.
Padrão Ethernet – História e Formatos
8
6
6
Preâmbulo End. Destino End. Origem
2
Tipo
46 - 1500
Dados
4
CRC
Frame Ethernet II
8
1
6
6
Preâmbulo SOF End. Destino End. Origem
2
Length
Frame Ethernet IEEE 802.3
46 - 1500
4
LLC +Dados CRC
O Formato de um quadro Ethernet
8
6
6
Preâmbulo End. Destino End. Origem
2
Tipo
64 - 1500
Dados
2
CRC
• Preâmbulo: usado para sincronização do transmissor e receptor ao se tratar da
codificação Manchester.
• Tipo: este campo indica que protocolo de camada superior está fazendo uso
do campo de dados do frame. Caso seja o protocolo IP, esse campo possui
valor 0x0800 em hexadecimal.
• CRC - Cyclic Redundancy Check - verifica a integridade do quadro
Desvantagens do protocolo CSMA/CD
• A Rede Ethernet é a rede cuja especificação converge para o padrão de redes
em barra (topologia de barramento) que utiliza o protocolo CSMA/CD para o
acesso ao meio físico, conforme padrão IEEE 802.3.
• A utilização do protocolo CSMA/CD como método de acesso acaba tornando
as redes Ethernet cada vez mais ineficientes a medida que se aumenta a carga
de tráfego nessas redes. Na realidade pode-se citar 2 desvantagens do
protocolo CSMA/CD:
– Todos os frames que sofrem colisão não são recebidos corretamente, de modo que
cada estação emissora deve reenviá-los. Isso acaba gastando tempo no barramento
para o reenvio dos frames bem como aumenta a latência para a entrega dos frames
colididos;
– A latência pode aumentar para o caso de estações que esperam o meio físico se
tornar apropriado novamente para o reenvio.
Hubs
• Foram criados Hubs Ethernet.
• Em essência, Hubs nada mais são do que repetidores, pois expandem o
conceito de barramento regenerando-se os mesmos sinais elétricos enviados
pelo emissor para todas as suas demais portas (barramento colapsado).
• Desta forma, as colisões continuam existindo, de forma que o protocolo
CSMA/CD continua sendo necessário.
Formas de operações possíveis em Redes Ethernet
• Existem 2 formas: Half-Duplex e Full-Duplex
• O modo Half-Duplex (comunicação em ambos os sentidos, mas somente em 1
por vez) sempre é usado quando se faz uso de Hubs, já que existe a
possibilidade de colisões e o protocolo CSMA/CD está presente.
• Seguindo o raciocínio, pelo fato do protocolo CSMA/CD ser utilizado para
detectar colisões e pelo fato do modo de operação Half-Duplex ser requerido
pelo CSMA/CD, o modo de operação Full-Duplex (comunicação em ambos
os sentidos ao mesmo tempo) não é possível quando se utiliza um Hub.
Formas de operações possíveis em Redes Ethernet
• Com a presença do Hub, se uma estação recebe um frame e tenta também
enviar outro frame (para o caso da operação Full-Duplex), isso gerará uma
colisão.
• O modo de operação Full-Duplex só é viável quando não se tem a
possibilidade de colisão. Ao se usar o modo Full-Duplex, limita-se o domínio
de colisão para apenas 2 estações, para que não haja colisões. Desta forma,
ambas as estações podem enviar e receber frames simultaneamente, o que
reduz o congestionamento e provê as seguintes vantagens:
– Colisões não ocorrem. Desta forma não se perde tempo em retransmissão de
frames;
– Não existe latência para esperar outras estações enviarem seus frames;
– Não existe a presença do protocolo CSMA/CD;
– Existe banda de 10Mbps disponível para cada direção, dobrando-se desta forma a
capacidade disponível de banda se comparado com o modo Half-Duplex.
Formas de operações possíveis em Redes Ethernet
• Deve ficar claro que se o modo full-duplex só pudesse ser utilizado quando 2
estações finais são ligadas diretamente uma com a outra, é claro que esse
modo não seria assim tão útil.
• Entretanto, o modo full-duplex continua sendo uma opção quando se usa
switches, ao invés de Hubs. Quando se conecta uma estação a uma porta do
switch, o switch pode garantir que não haverá colisões, o que permite o modo
full-duplex. Se um Hub for conectado a porta do switch ao invés de uma
estação final, o modo full-duplex já não pode ser utilizado devido a presença
novamente de colisão.
• Lembre-se sempre que mesmo tendo uma estação ligada a uma porta do
switch, ainda tem-se somente 2 dispositivos ligados diretamente e
pertencentes a um mesmo domínio de colisão (cada porta do switch é um
domínio de colisão diferente). Por isso é que nesse caso pode-se habilitar o
modo full- duplex.
Tipos de Endereços
• A arquitetura TCP/IP suporta 3 tipos diferentes de endereços: unicast,
multicast e broadcast.
• Endereços do tipo unicast são os mais comuns. Referem-se a uma interface
específica. Quando uma estação envia um pacote cujo endereço de destino é
um endereço unicast, este pacote é enviado na rede e será processado apenas
pela interface correspondente ao endereço.
• Endereços do tipo multicast nada mais são do que um subconjunto de
interfaces que irão tratar um determinado pacote. O conjunto de interfaces
participantes do endereço multicast é chamado de multicast group.
• Endereços do tipo broadcast referem-se a todas as interfaces de um mesmo
enlace físico. Ou seja, um pacote com endereço de destino do tipo broadcast
é tratado por todas as interfaces presentes no enlace.
Download