Академический Документы
Профессиональный Документы
Культура Документы
GIL PINHEIRO
GIL PINHEIRO
Definio de Quadro
Quadro:
Header User Data Trailer
O quadro composto de vrios campos: Header - Endereo de Destino, Endereo de Origem, Contagem User Data - Parte til do quadro, onde os dados so transportados Trailer FCS (Campo de Verificao de Erros)
GIL PINHEIRO Camada de Enlace de Dados 4
Delimitao de Quadro
A delimitao de quadros necessria para a correta recepo dos quadros, entre seu incio e fim, tcnicas utilizadas:
Contagem de Bytes Orientado a Bit Orientado a Caractere Violao de Cdigo de Camada Fsica
GIL PINHEIRO Camada de Enlace de Dados 5
Contagem de Bytes
Um campo do cabealho utilizado para definir o tamanho do quadro Sabendo a quantidade de caracteres (bytes) a serem transmitidos, a camada fsica sabe onde termina o quadro Esse campo normalmente utilizado quando o campo de dados possui tamanho varivel, possibilitando a delimitao de quadros
GIL PINHEIRO Camada de Enlace de Dados
Contagem de Bytes
GIL PINHEIRO
Contagem de Bytes
Desvantagem: o campo de contagem pode ser alterado. A camada de enlace na recepo no saber onde comea/termina mesmo com campo FCS O mtodo de contagem de bytes no deve ser usado sozinho
GIL PINHEIRO Camada de Enlace de Dados 8
Orientado a Bit
Dados transmitidos como uma sequncia de bits Para que o receptor reconhea o incio/fim de um quadro (frame) utilizada uma sequncia nica de bits, chamada flag conforme figura a seguir
FLAG HEADER
GIL PINHEIRO
DADOS
Camada de Enlace de Dados
TRAILER FLAG
9
Orientado a Bit
Problema: Sequncia de bits igual ao flag precisar ser transmitida no meio do quadro Soluo: usar bit de enchimento (stuffing bit) A cada 5 bits de dados sucessivos iguais a 1 usar o stuffing bit (=0) Exemplo de aplicao: protocolo HDLC (Host Data Link Control)
GIL PINHEIRO
10
Orientado a Bit
EXEMPLO:
Flag = 01111110 (a) 0110111111111011111011111001 (b) 0110111110111101111100111110001 (c) 01111110 0110111110111101111100111110001 01111110 (d) 0110111110111101111100111110001 (e) 0110111111111011111011111001
GIL PINHEIRO
11
Orientado a Bit
(a) Mensagem a ser transmitida (b) Mensagem com bits 0 inseridos (sublinhados) (c) Mensagem pronta para ser transmitida no meio fsico (com bits de enchimento e flags) (d) Mensagem recebida sem flags, bits de enchimento identificados (e) Mensagem recebida sem bits de enchimento
GIL PINHEIRO
12
Orientado a Caractere
Utiliza caracteres especiais para delimitar incio e fim de quadro O problema que uma sequncia igual aos caracteres especiais pode aparecer no campo de dados A soluo utilizar um outro caractere especial (DLE) antes da sequncia especial, se esta aparecer no campo de dados
GIL PINHEIRO Camada de Enlace de Dados 13
Orientado a Caractere
GIL PINHEIRO
14
GIL PINHEIRO
15
GIL PINHEIRO
16
Data 1 0 1 1 0 0 1 0
Encoded Data
GIL PINHEIRO
17
Controle de Erros
Um pacote que chega com erro pode ser retransmitido ou ter seu erro corrigido (enlaces mais caros, satlite). Para garantir a comunicao confivel, a Camada de Enlace:
Verifica erro / solicita retransmisso Corrige erro (enlaces mais caros) exemplo: cdigo de Hamming
GIL PINHEIRO
18
Controle de Erros
Toda mensagem recebida sem erros sucedida por um pacote de confirmao de recebimento (ACK), enviada pelo receptor Para detectar erros que tornem a mensagem no inteligvel utilizado um temporizador para verificar se houve timeout (estouro de tempo = tempo suficiente para pacote e respectivo reconhecimento chegarem) Um reconhecimento negativo (NAK) acelera o processo de retransmisso
GIL PINHEIRO Camada de Enlace de Dados 19
Controle de Fluxo
Objetivo: transmisso ocorre apenas quando receptor estiver pronto. Se buffer de recepo estiver cheio, transmissor deve parar envio de quadros. Usa quadros especiais
RNR = receive not ready RR = receive ready
GIL PINHEIRO Camada de Enlace de Dados 20
Tipos de Servio
A camada de enlace se comunica em duas instncias, com a camada de enlace do outro n e com a camada acima (camada de rede) A camada de enlace fornece 2 tipos de servio para a camada de rede:
Sem reconhecimento Com reconhecimento
GIL PINHEIRO Camada de Enlace de Dados 21
Sem Reconhecimento
O transmissor envia pacote e no recebe pacotes de reconhecimento (ACK) Tambm conhecido com envio no confivel O controle de erros dever ser feito pelas camadas superiores (camada de rede) Para redes onde taxa de erros muito baixa ou onde a demora na espera pela confirmao crtica A demora pode ser mais crtica que a perda de pequenas parcelas da mensagem (ex.: trfego de voz)
GIL PINHEIRO Camada de Enlace de Dados 22
Com Reconhecimento
O transmissor envia quadro e aguarda quadro de reconhecimento (ACK) ou ocorrncia de timeout Utilizado no envio de pequeno volume de dados de maneira confivel, quando no compensa esperar inicio e encerramento da conexo A perda de quadros de reconhecimento (ACK) pode implicar no recebimento de quadros repetidos. Camada de Enlace deve possuir um mecanismo para o descarte de cpias
GIL PINHEIRO
23
Controle de Acesso
Consiste num esquema definindo como e quando cada estao dever acessar o meio fsico essencial quando o meio fsico compartilhado por vrias estaes (Ethernet) Existem vrias tcnicas que permite controlar o acesso ao meio (Token ring, Token bus, CSMA, Polling, ...) Algumas tcnicas de Controle de Acesso so mais adequadas a uma topologia de rede especfica (ex.: anel - Token Ring)
GIL PINHEIRO Camada de Enlace de Dados 24
Multiplexao
A partir do instante que uma estao pode fornecer um caminho confivel de envio livre de erros, esse caminho pode ser multiplexado (e compartilhado) por vrios usurios nas camadas superiores Podem existir vrias SAP (Service Access Point) da Camada de Enlace para a Camada de Rede Exemplo: programas de e-mail, browser, FTP, TELNET abertos simultaneamente com uma nica conexo fsica de rede ou modem
GIL PINHEIRO
25
Redes Locais
GIL PINHEIRO
26
Topologias de Rede
Rede em Anel
Rede em Estrela
Rede em rvore
GIL PINHEIRO Camada de Enlace de Dados 27
Topologias de Rede
Rede em Barra
Topologias de Rede
Rede Totalmente Conectada
Usada em supercomputadores (hipercubo) Alto throughput Redes de pequeno dimetro (placa ou gabinete) Links no precisam ser muito velozes
GIL PINHEIRO
29
Topologias de Rede
Rede em Estrela
no necessitam roteamento n central: hub ou switch desempenho dependente do n central confiabilidade dependente do n central dificuldade de ampliao (depende do n central)
GIL PINHEIRO Camada de Enlace de Dados
30
Topologias de Rede
Rede em Grade (ou hierrquica)
estrutura central formada por comutadores de rede vrios caminhos entre dois ns suporta vrias conexes simultneas entre ns, limitada quantidade e interligaes entre os comutadores boa confiabilidade Ex: Sistema IA (Invensys)
GIL PINHEIRO Camada de Enlace de Dados 31
Topologias de Rede
Rede em Barra
rede do tipo difuso (mensagem difundida para todos os ns) geralmente mais barata e mais simples o cabo percorre todos os ns da rede, menor confiabilidade da rede curto circuito num n paralisa a rede cada n usa derivao no meio fsico Exemplos: EIA-485, Fieldbus Foundation
GIL PINHEIRO Camada de Enlace de Dados 32
Topologias de Rede
Rede em Anel
mensagem entra no n, circula na rede (anel) e retirada quando retorna ao n gerador ou pelo n destinatrio cada n um repetidor de rede ampliao requer interrupo da rede Normalmente mais confivel que a rede em barra
GIL PINHEIRO Camada de Enlace de Dados 33
Topologias de Rede
Rede Daisy Chain
topologia similar a barra cada trecho de rede um enlace ponto a ponto a desconexo de um n interrompe a rede redes de pequeno dimetro (centenas de metros)
GIL PINHEIRO
34
GIL PINHEIRO
35
Protocolos de Enlace
No que se refere camada de enlace de dados, o pacote repassado a ela pela camada de rede atravs da interface consiste em dados puros, em que cada bit deve ser entregue camada de rede de destino. O fato de a camada de rede de destino poder interpretar parte do pacote como um cabealho no tem nenhum interesse para a camada de enlace de dados. Quando a camada de enlace de dados aceita um pacote, ela o encapsula em um quadro, acrescentando um cabealho e um final de enlace de dados Portanto, um quadro consiste em um pacote incorporado, em algumas informaes de controle (no cabealho) e em um Campo de Verificao de Erro (FCS) no final Em seguida, o quadro transmitido camada de enlace de dados da outra mquina
Camada de Enlace de Dados 36
GIL PINHEIRO
Um timeout (estouro de tempo limite) uma condio na qual um pacote ACK no foi recebido dentro de um limite de tempo esperado
Um timeout dispara a re-transmisso de um pacote pelo Host que est enviando dados Como ajustar o timeout?
GIL PINHEIRO Camada de Enlace de Dados 37
Receiver
Sender
Fram e
Receiver
Timeout
Timeout
ACK
ACK
(a) Envio normal, com ACK antes do Timeout (b) Pacote perdido, ocorre Timeout e transmissor re-envia (c) ACK perdido, ocorre Timeout e transmissor re-envia (c) ACK chega aps Timeout e transmissor re-envia. Pacote enviado duas vezes (pacote repetido)
Time
Fram
Timeout
ACK
(a)
(c)
Sender
Fram e
Receiver
Sender
Fram e
Receiver
Timeout
Timeout
ACK
Fram
Timeout
Timeout
Fram e
ACK
ACK
(b)
(d)
GIL PINHEIRO
38
Protocolos de Janela
O transmissor precisa armazenar os pacotes j transmitidos para o caso de pacotes perdidos tiverem de ser re-enviados O receptor precisa armazenar os pacotes para o caso de pacotes recebidos fora de ordem ou perdidos at que a seqncia esteja correta
necessrio o Controle de Fluxo
40
LAR LFS
RWS
LFR LFA
Pacote com nmero SeqNum chega: Se LFR < SeqNum < = LFA, ento: Aceitar o pacote Se SeqNum < = LFR ou SeqNum > LFA, ento: Descartar o pacote Enviar ACKs cumulativos enviar ACK para o quadro de maior nmero, de modo que os de nmero menor que este tenham sido recebidos
Camada de Enlace de Dados
GIL PINHEIRO
44
(b) Retransmisso seletiva (Selective repeat) re-envia apenas o quadro com erro
GIL PINHEIRO
45
O Protocolo HDLC
Protocolo de enlace padronizado pela ISO Existem trs tipos de ns: Primrio: controlam o enlace e geram Secundrio: esto sob o controle do n primrio, respondem aos comandos solicitados. Quando existe mais do que um n secundrio, o n primrio mantm uma ligao lgica independente para cada um Combinados: controla o link mas tambm responde a comandos Tipos de enlace lgico: ABM: Modo Assncrono Balanceado NRM: Modo de Resposta Normal ARM: Modo de Resposta Assncrono
GIL PINHEIRO Camada de Enlace de Dados 46
O Protocolo HDLC
Tipos de quadros
GIL PINHEIRO
47
O Protocolo HDLC
P/F (Normal Response Mode)
Poll bit para comandos (primrio) e Final bit para respostas (P/F=1 indica que a estao Secundria i envia ltimo quadro I)
O Quadro HDLC
FLAG = 01111110
Define incio e fim de quadro O mesmo FLAG pode ser usado para fim de um quadro e incio de outro Utiliza o mecanismo de BIT-STUFFING Indica a estao secundria que transmitiu ou a que deve receber o quadro Este campo desnecessrio para ligaes ponto-a-ponto; O endereo 11111111 indica broadcast Informao: contm o dado a ser transmitido e o controle de fluxo e de erro pode ser efetuado pelo mecanismo de carona (piggybacking) Superviso: fornece o mecanismo adequado de feedback quando no utilizado o mecanismo de carona No-Numerado: usado para gerenciar a conexo. No possui nmero de seqncia (funes de controle suplementares) Camada de Enlace de Dados 49
CAMPO DE ENDEREO
GIL PINHEIRO
O Quadro HDLC
CAMPO DE INFORMAO
Contm os dados (informao) a serem transmitidos Somente presente nos quadros do tipo Informao (I) O tamanho do campo no definido no padro mas mltiplo de 8 bits. Contm o cdigo de deteco de erro (CRC) calculado para todo frame, exceto FLAG Geralmente utiliza CRC de 16 bits, podendo, opcionalmente, utilizar CRC de 32 bits
GIL PINHEIRO
50
RD (R)
RSET (C)
FRMR (R)
GIL PINHEIRO
51
RR
Receiver Ready, um ACK que indica que o receptor se encontra pronto para receber mais quadros (stop & wait). Receiver Not Ready, um ACK que indica que o receptor no se encontra pronto para receber mais quadros (stop & wait). Reject, um NAK do modo go-back-n Selective Reject, um NAK do modo selective-repeat
10
RNR
01 11
REJ SREJ
GIL PINHEIRO
52
O Protocolo HDLC
Envolve 3 fases:
Inicializao
Sinaliza ao outro lado que se deseja iniciar uma comunicao Especifica qual dos modos ir operar (NRM, ABM, ARM); Especifica se ser usado janela de 7 ou de 127 quadros
Transmisso de Dados
Aps a inicializao ter sido solicitada e aceita, passa-se fase de transferncia de dados em quadros de informao, usando N(S) e N(R); Pode-se utilizar tambm quadros de superviso, caso no tenha quadro I para enviar de carona (piggybacking)
Desconexo
Qualquer das estaes pode solicitar a desconexo
GIL PINHEIRO Camada de Enlace de Dados
53
O Protocolo HDLC
Seqncias de conexo e desconexo
GIL PINHEIRO
54
O Protocolo HDLC
Seqncias de conexo e desconexo
GIL PINHEIRO
55
O Protocolo HDLC
Seqncias de conexo e desconexo
GIL PINHEIRO
56
O Protocolo PPP
A Internet requer um protocolo ponto a ponto para diversos fins, inclusive cuidar do trfego de roteador para roteador e de usurio domstico para ISP (provedor de servios da Internet) Para isso, foi criado o protocolo PPP (Point-to-Point Protocol protocolo ponto a ponto) Definido pelas RFC 1661, 1662 e 1663 O PPP possui deteco de erros, suporta vrios protocolos, permitindo que endereos IP sejam negociados Em tempo de conexo, permite a autenticao e muitas outras caractersticas
GIL PINHEIRO Camada de Enlace de Dados 57
O Protocolo PPP
O Protocolo PPP
O PPP dispe de trs recursos
1. Um mtodo de enquadramento que delimita, de forma no ambgua, o fim de um quadro e o incio do quadro seguinte. O quadro tambm lida com a deteco de erros 2. Um protocolo de controle de enlace usado para ativar linhas, testlas, negociar opes e desativ-las novamente quando no forem mais necessrias. Esse protocolo denominado LCP (Link Control Protocol protocolo de controle de enlace). O LCP admite circuitos sncronos e assncronos, e tambm codificaes orientadas a bytes e a bits 3. Uma maneira de negociar as opes da camada de rede de modo independente do protocolo da camada de rede a ser utilizado. O mtodo escolhido deve ter um NCP (Network Control Protocol protocolo de controle de rede) diferente para cada camada de rede suportada
GIL PINHEIRO
59
O Protocolo PPP
Considere a situao tpica em que um usurio domstico se conecta a um provedor de servios da Internet, para transformar um PC domstico em um host temporrio da Internet.
Primeiro, o PC chama o roteador do provedor por meio de um modem. Depois que o modem do roteador atende ao telefone e estabelece uma conexo fsica, o PC envia ao roteador uma srie de pacotes LCP no campo de carga til de um ou mais quadros PPP. Esses pacotes e suas respostas selecionam os parmetros PPP a serem utilizados
GIL PINHEIRO Camada de Enlace de Dados 60
O Protocolo PPP
Quando todos esses parmetros esto corretamente definidos de comum acordo, uma srie de pacotes NCP enviada para configurar a camada de rede Geralmente, o PC precisa executar uma pilha de protocolos TCP/IP, e assim, necessita primeiramente de um endereo IP Como no h endereos IP suficientes, normalmente, cada provedor da Internet possui um conjunto de endereos IP. Na conexo, atribui dinamicamente um endereo a cada PC recm-conectado durante sua sesso de login, atravs do protocolo DHCP Se tiver n endereos IP, um provedor poderia ter at n mquinas conectadas simultaneamente, mas sua base total de clientes poder estar muito acima desse nmero. Para resolver o problema, o provedor normalmente atribui um endereo IP virtual ao Host Nesse momento, o PC passa a ser um host da Internet e pode enviar e receber pacotes IP, da mesma forma que os hosts fisicamente conectados. Quando o usurio termina, o NCP utilizado para desativar a conexo da camada de rede e liberar o endereo IP. Em seguida, o LCP encerra a conexo da camada de enlace de dados. Finalmente, o computador solicita que o modem desligue o telefone, liberando a conexo da camada fsica.
GIL PINHEIRO
61
O Protocolo PPP
O formato de quadro PPP foi definido de modo a ter uma aparncia semelhante ao formato de quadro HDLC A principal diferena entre o PPP e o HDLC que o primeiro orientado a caracteres, e no a bits. Especificamente, o PPP utiliza a tcnica de insero de bytes, portanto, todos os quadros representam um nmero inteiro de bytes. No possvel enviar um quadro formado por 30,25 bytes, como ocorre com o HDLC. Os quadros PPP no s podem ser enviados por linhas telefnicas de acesso por discagem, mas tambm podem ser enviados por linhas SONET ou por verdadeiras linhas HDLC orientadas a bits (por exemplo, para as conexes entre roteadores)
GIL PINHEIRO Camada de Enlace de Dados 62
O Protocolo PPP
O quadro PPP no modo no numerado
Flag - Delimitador do quadro Endereo - No tem funo, de uso futuro Controle - No tem funo; no futuro possvel ter mltiplos campos de controle Protocolo - Indica o protocolo da camada superior ao qual o contedo do quadro deve ser entregue (ex. PPP-LCP, IP, IPCP, etc.) Info - Dados da camada superior, sendo transportados Checksum - Algoritmo de deteco de erros
GIL PINHEIRO Camada de Enlace de Dados 63
O Protocolo PPP
Todos os quadros PPP comeam e terminam pelo byte de flag padro do HDLC (01111110)
Que complementado por insero de bytes se este padro ocorrer dentro do campo de carga til. Utiliza o byte stuffing, usando o caractere Escape (01111101) antes do flag (ver Byte Stuffing)
GIL PINHEIRO
64
O Protocolo PPP
O campo Controle possui valor padro 00000011
Esse valor indica um quadro no numerado Em outras palavras, o PPP no oferece uma transmisso confivel, com o uso de nmeros de seqncia e confirmaes como o padro. Em ambientes ruidosos, como em redes sem fio, pode ser utilizada a transmisso confivel, que emprega o modo numerado Os detalhes exatos so definidos na RFC 1663, mas, na prtica, raramente ele utilizado
Como os campos Endereo e Controle so sempre constantes na configurao padro, o LCP fornece o mecanismo necessrio para que as duas partes negociem uma opo que os omita totalmente e que economize 2 bytes por quadro
GIL PINHEIRO Camada de Enlace de Dados 65
O Protocolo PPP
O campo Protocolo Informa o tipo de pacote que se encontra no campo Carga til. Os cdigos so definidos para representar os protocolos LCP, NCP, IP, IPX, AppleTalk e outros. Os protocolos que comeam por um bit 0 so os protocolos da camada de rede, como o IP, o IPX, o OSI, o CLNP, o XNS. Aqueles que comeam por um bit 1 so utilizados na negociao de outros protocolos. Entre eles, esto includos o LCP e um NCP diferente para cada protocolo da camada de rede admitido. O tamanho padro do campo Protocolo de 2 bytes, mas possvel negociar uma reduo para 1 byte, utilizando-se o LCP O campo Carga til (Payload) Possui comprimento varivel, podendo se estender at o tamanho mximo negociado. Se o comprimento no for negociado com o uso do LCP durante a configurao da linha, ser empregado um comprimento padro de 1.500 bytes. Poder haver um preenchimento logo aps a carga til, caso seja necessrio O Campo Checksum Serve para deteco de erros, normalmente tem 2 bytes, embora seja possvel negociar um checksum de 4 bytes
Camada de Enlace de Dados 66
GIL PINHEIRO
O Protocolo PPP
O Protocolo PPP
Funcionamento do PPP
O protocolo comea com a linha no estado DEAD, o que significa que no ha nenhuma portadora da camada fsica presente e no existe qualquer conexo da camada fsica. Depois de estabelecida a conexo fsica, a linha passa para a fase ESTABLISH. Nesse ponto, comea a negociao de opes do LCP que, se for bem-sucedida, leva fase AUTHENTICATE Agora, as duas partes podero verificar suas identidades mutuamente, se desejarem Quando a fase NETWORK alcanada, o protocolo NCP apropriado invocado para configurar a camada de rede. Se a configurao for bem sucedida, a fase OPEN alcanada e o transporte de dados pode ser feito Quando o transporte de dados concludo, a linha entra na fase TERMINATE e, de l, volta a DEAD quando a portadora desativada
GIL PINHEIRO Camada de Enlace de Dados 68
O Protocolo PPP
Funcionamento do PPP (Continuao)
O LCP e utilizado para negociar as opes de protocolo de enlace de dados durante a fase ESTABLISH Na verdade, ele no esta preocupado com as opes propriamente ditas, mas com o mecanismo de negociao. O protocolo LCP proporciona um meio para que o processo inicial faa uma proposta que ser aceita ou rejeitada, total ou parcialmente, pelo processo de resposta. Ele tambm permite que os dois processos testem a qualidade da linha, verificando se ela e boa o suficiente para estabelecer uma conexo. Por fim, o protocolo LCP tambm permite que as linhas sejam desativadas quando no forem mais necessrias.
GIL PINHEIRO
69
Referncias
[1] A S. Tanenbaum, Redes de Computadores - 3 Edio Americana, Campus, Rio de Janeiro, 1994. [2] L.F. Soares, G. Lemos, e S. Colcher, Redes de Computadores - Das LANs, MANs e WANs as Redes ATM, Campus, Rio de Janeiro, 3 Edio, 1995. [3] Pinheiro, Gil R. V., Comunicao de Dados e Redes (para Automao Industrial) - Petrobrs, junho/1997 [4] Pinheiro, Gil R. V., Tcnicas de Deteco e Correo de Erros, UERJ-FEN-DETEL [5] Kurose, James F.; Ross, Keith W. Redes de Computadores e a Internet, Editora Pearson
GIL PINHEIRO
70