REDES DE COMPUTADORES E A INTERNET . Internet: Infra-estrutura de rede que provê serviços para aplicações distribuidas. . Comutadores de pacotes: Roteadores e Comutadores da Camada de Enlace (Switches) . ISP: Provedores de acesso a internet . IP: Protocolo que especiica o formato dos pacotes que são enviados e recebidos entre roteadores e sistemas finais. . RFC: Documentos que padronizam um protocolo. . Serviço confiavel orientado a conexão: garante que a entrega dos dados seja feita. . Serviço não confiavel não orientado a conexão: não garante que a entrega dos dados seja feita. . Protocolo: Define o formato e a ordem das mensagens trocadas entre duas ou mais entidades comunicantes, bem como as açoes realizadas nas transmissão da mensagem. . Serviço orientados para conexão: . É quando o cliente e o servidor enviam pacotes de controle um ao outro antes de enviar uma mensagem. . Serviços que podem ser conjugados: . Transferencia de dados confiável: . Uma aplicação pode confiar que a conexão entregará todos os seus dados sem erro e na ordem certa. . Confiabilidade por meio de confirmações e retransmissões. . Controle de Fluxo: . Garante que nenhum dos lados da conexão sobrecarregue o outro enviado demasiados pacotes muito rapidamente. . Controle de Congestionamento: . Ajuda a evitar que a Internet trave. . A Internet força os hosts reduzir a velocidade com que enviam os pacotes à rede durante o congestionamento. . TCP: Entrega de modo confiável uma corrente de bytes do remetente ao receptor. . Serviço não orientados para conexão: . É quando o cliente e o servidor enviam diretamente uma mensagem. . Não provê os serviços de transferencia de dados confiável, controle de fluxo e controle do congestionamento. . Comutação de circuitos: . Reserva os recursos necessários para comunicação ao longo de um caminho. . Usado em redes de telefonia. . Existe desperdicio porque os circuitos dedicados ficam ociosos durante periodos de silencio. . FDM: Multiplexação por divisão de frequencia. . O enlace reserva uma banda de frequencia durante a comunicação. . TDM: Multiplexação por divisão de tempo. . O tempo é dividido em quadros de duração fixa. . Cada quadro é dividido num numero fixo de compartimentos (slots). . Comutação de pacotes: . Não reserva os recursos necessários para comunicação ao longo de um caminho. . Oferece uma melhor largura de banda, implementação mais simples, mais eficiente e mais barata. . Redes de circuitos virtuais: . Os comutadores utilizam número de circuitos virtuais para transmitir os pacotes. . Utilizam ID CV para mapear em tabelas dos comutadores em qual enlace de saída o pacote será enviado. . Os comutadores em uma rede de CV mantém informação de estado para conexões em curso. . Redes de datagramas: . Os comutadores utilizam endereços de destino para transmitir os pacotes. . Cada pacote que transita por ela contém em seu cabeçalho o endereço de destino. . Examina o endereço de destino para enviar a um comutador adjacente. . Os comutadores possuem uma tabela para consultar para qual comutador será enviado o pacote. . Não mantém informação de estado de conexão em seus comutadores. . Redes de Acesso Residencial: Modem discado, DSL (linha digital de assinante), cabo coaxial. . Modens discados permitem taxas de tranmissão em até 56kbps. . Devido a baixa qualidade das linhas de par trançado, essa velocidade é reduzida. . DSL utiliza multiplexação por divisão de frequencia, dividindo o enlace em 3 faixas: . Usuário->ISP, IPS->usuario, telefonico. . Foram projetados para distancias curtas entre o modem residencial e modens ISP. . Permitem taxas de transmissão mais altas que em redes de acesso discado. . Conexão ponto a ponto, banda DSL dedicadas. . Cabo hibrido coaxial (HFC): São extensões das redes de cabos usadas em transmissão de TV a cabo. . Modens a cabo dividem a rede em 2 canais: . Um canal na direção do usuario (descida). . Um canal na direção do provedor (subida). . A transmissão é compartilhada: . Cada pacote enviado pelo terminal trafega por todos os enlaces até todas as residencias. . Pode promover velocidade mais alta que DSL. . DSL e HFC são sempre disponiveis (não ocupa linha telefonica). . Redes de Acesso Corporativo: . Utilizam normalmente uma rede local (LAN) para ligar um host a um roteador de borda. . Roteador de borda é responsavel pelo roteamento de pacotes cujo o destino é externo a LAN. . Redes de Acesso Sem Fio: . 2 categorias: . LANs sem fio: . Usuarios transmitem e recebem pacotes de/para uma estação-base dentro de algumas dezenas de metros. . Redes sem fio de acesso a longa distancia: . A estação-base é gerenciada por um provedor de telecomunicações e atende algumas dezenas de quilometros. . Camadas: . Cada camada implementa um serviço através de suas próprias ações internas. . Conta com serviços providos pela camada inferior. . Pilha de protocolo: Conjunto de protocolos das várias camadas. . Camada de Aplicação: . Implementada em software. . É onde reside as aplicações de rede e seus protocolos (HTTP, SMTP, FTP, DNS). . Mensagens são denominadas Mensagens da Camada de Aplicação. . Camada de Transporte: . Implementada em software. . Transporta as mensagens da camada de aplicação entre os lados cliente e servidor de uma aplicação. . Protocolos (TCP, UDP): . O TCP fragmenta mensagens longas em segmentos mais curtos. Pacotes são chamados de Segmento. . Camada de Rede: . Implementada em hardware e software. . Responsável pela movimentação de pacotes de uma máquina para outra. . Os pacotes são chamados de Datagramas. . Os principais componentes dessa camada são: . IP: Define os campos no datagrama e como os hosts e roteadores irão agir nesses campos. . Protocolo de Roteamento que determina as rotas que os datagramas percorrem entre sistemas finais. . Camada de Enlace: . Implementada em hardware (placa de interface de rede). . Roteia um datagrana por meio de uma série de roteadores. . Os pacotes são denominados Quadros. . Camada de Física: . Implementada em hardware (placa de interface de rede). . Responsável por movimentar os bits que estão dentro de um quadro para um nó seguinte. . Os protocolos dependem da camada de enlace. CAMADA DE APLICAÇÃO . Arquiteturas: Cliente-Servidor, P2P, Híbrida (Cliente-Servidor/P2P). . Sockets: . Interface entre a Camada de Aplicação e a Camada de Transporte. . Porta por onde a mensagem de um processo cliente/servidor envia/recebe sua mensagem para/da rede. . Protocolo da Camada de Aplicação: . Define como processos de uma aplicação, que funcionam em sistemas finais diferentes. . Serviços que uma aplicação pode necessitar: . Transferencia confiavel de dados (tranferencia de arquivos, aplicações financeiras). . Largura de Banda (telefonia por internet). . Temporarização (telefonia por internet, teleconferência, jogos). . HTTP: Protocolo de Tranferencia de Hipertexto. . É implementado em dois programas (cliente e servidor), executados em sistemas finais diferentes. . O HTTP define a estrutura das mensagens trocadas entre clientes e servidores. . Utiliza o TCP como protocolo de transporte subjacente. . Protocolo sem estado, pois não retém nenhuma informação sobre a solicitação de um arquivo por um cliente. . RTT: Tempo de viagem de ida e volta. . Tempo que leva para um pequeno pacote viajar do cliente ao servidor e de volta ao cliente. . Conexões Não Persistentes: No máximo um objeto é enviado pela conexão TCP. . Gasta-se 2 RTT's por conexão. . Conexões Persistentes: Múltiplos objetos podem ser enviados em uma única conexão TCP entre cliente e servidor. . Sem Paralelismo: . Cliente sofre um RTT para requisitar e receber cada um dos objetos referenciados. . Conexão ociosa enquanto espera a chegada de outra requisição. . Gasta-se um RTT por objeto referenciado. . Com Paralelismo: . O cliente HTTP emite uma requisição logo que encontra uma referencia. . Assim, pode se fazer uma nova requisição antes de receber uma resposta a uma requisição anterior. . Gasta-se apenas um RTT para todos os objetos referenciados. . Conexão ociosa por um menor tempo. - Formato da mensagem HTTP: . Mensagem de Requisição HTTP: GET /somedir/page.html HTTP/1.1 -- Linha de requisição Host: www.someschool.edu /* User-agent: Mozilla/4.0 Linhas Connection: close de Accept-language:fr Cabeçalho */ -- Carrigie Return, Line Feed /* Corpo de Entidade /* . Métodos: . GET: Usado para requisitar uma página HTTP ao servidor. . POST: Usado geralmente em formulários utilizando o Corpo de Entidade. . HEAD: Semelhante ao GET, porém deixa de fora o objeto requisitado. . Usado frequentemente por desenvolvedores de servidores HTTP para depuração. . PUT (HTTP/1.1): Permite que o usuario carregue um objeto para um caminho específico em um servidor Web. . Usado também em aplicações que precisam carregar objetos para servidores Web. . DELETE (HTTP/1.1): Permite que um usuario, ou aplicação elimine um objeto em um servidor Web. . Mensagem de Resposta HTTP: HTTP/1.1 200 OK -- Linha de Estado Connection close /* Date: Thu, 06 Aug 1998 12:00:15 GMT Linhas Server: Apache/1.3.0 (Unix) de Last-Modified: Mon, 22 Jun 1998 …... Cabeçalho Content-Length: 6821 Content-Type: text/html */ dados dados dados dados dados ... -- Corpo de Entidade . Códigos de Estado: . 200 OK: Requisição bem sucessida, objeto requisitado a seguir nesta mensagem. . 301 Moved Permanently: Objeto requisitado movido, nova localização especificada a seguir nesta mensagem. . 400 Bad Request: Mensagem de requisição não compreendida pelo servidor. . 404 Not Found: Documento requisitado não foi encontrado neste servidor. . 505 HTTP Version Not Supported: Versão do protocolo HTTP requisitada não é suportada pelo sevidor. . Cookies: Um grupo de dados que permitem que sites monitorem os seus usuários. . Caches Web (Servidor Proxy): Entidade de rede que atende requisições HTTP em nome de um servidor web de origem. . Pode reduzir o tempo de respota para a requisição de um cliente. . Pode reduzir o tráfego no enlace de acesso à Internet, não precisando aumentar a largura de banda rapidamente. . Pode reduzir o tráfego na Internet como um todo. . GET Condicional: Usado por Caches Web para saber se a cópia do objeto abrigado está atualizada ou não. . FTP: Protocolo usado na tranferencia de arquivos de ou para um hospedeiro remoto. . Usa duas conexões TCP paralelas para transferir um arquivo: Uma conexão de controle e uma conexão de dados. . Conexão de Controle: É usada para enviar informações entre os dois hospedeiros. . Login, senha, comando pra trocar diretório remoto, inserir e baixar arquivos. . Conexão de Dados: É usada efetivamente para enviar um arquivo. . O FTP usa uma conexão de controle separada (fora da banda). . No FTP a conexão de controle fica aberta durante toda a sessão do usuário. . Uma nova conexão de dados é aberta para cada arquivo transferido durante uma sessão (não persistente). . Agentes de Usuário: Permitem que usuários leiam, respondam, restransmitam, salvem e componham mensagens. . Servidores de Correio: É para onde um agente de usuário envia uma mensagem. . É através de um servidor de correio que um agente de usuário pode extrair uma caixa de correio. . SMTP: Principal protocolo de camada de aplicação do correio eletronico da Internet. . Usa o serviço de tranferencia confiável de dados do TCP para transmitir mensagens do servidor de correio do remetente para o destinatário. . Necessita que os arquivos antes de ser enviados sejam codificados em ASCII e depois decodificados novamente para o sistema binário. . Se o servidor do destinatário não estiver funcionando, o servidor remetente guarda a mensagem esperando por uma nova tentativa de enviar a mensagem. . Utiliza conexão persistente. . MIME: Extensões de Multiuso do Correio da Internet. . São um conjunto de linhas de cabeçalho contendo informações periféricas usadas para formatar uma mensagem de correio eletronico (From, To, Date), e dar suporte de multimídia (Content-Type, Content-Transfer-Encoding). . Cabeçalho Received: São linhas de cabeçalho que são inseridas pelo servidor SMTP destinatário. . Essas linhas especificam o nome do servidor SMTP que enviou a mensagem, o que recebeu a mensagem e o horário que o servidor destinatário recebeu a mensagem. . Elas também dão ao agente de usuário destinatário um diagnostico dos servidores SMTP visitados, bem como os horários em que as visitas ocorreram. . POP3: Protocolo de acesso a correio extremamente simples. Possui 3 fases: autorização, transação e atualização. . IMAP: Protocolo de acesso a correio que associa cada mensagem a uma pasta. . DNS: Sistemas de Nomes de Domínio. . Banco de dados distribuído implementados em uma hirerarquia de servidores de nome que provê o serviço de tradução de nomes em endereços de IP. Possui 3 tipos: Servidores Raiz, Servidores de Nomes de Alto Nível (TLD), Servidores de Nomes com Autoridade. CAMADA DE TRANSPORTE . Protocolo da Camada de Transporte: . Fornece comunicação lógica entre PROCESSOS de aplicação que rodam em hosts distintos. . São implementados nos sistemas finais, mas não nos roteadores de rede. . Comunicação Lógica: É como se os hospedeiros estivessem conectados diretamente, sem se preocupar com a infra-estrutura física utilizada para transportar as mensagens. . Lado Remetente: . Converte as mensagens que recebe de um processo de aplicação em Segmentos. . Isto é (possívelmente) feito fragmentando-se as mensagens da aplicação em pedaços menores. . Adicionando um cabeçalho da camada de transporte a cada pedaço para criar o segmento da camada de transporte. . A camada de transporte, então, passa o segmento para a camada de rede do sistema final remetente. . É encapsulado em um datagrama e enviado ao destinatário. . Lado Destinatário: . A camada de rede extrai do datagrama o segmento da camada de transporte e passa-o para a camada de transporte. . A camada de transporte processa o segmento recebido, disponibilizando os dados para a aplicação destinatária. . IP: Protocolo de camada de rede da internet, que provê a comunicação lógica entre hospedeiros. . Utiliza o modelo de Serviço de Entrega de Melhor Esforço. . Não garante a entrega de segmentos. . Não garante a entrega ordenada de segmentos. . Tampouco a integridade dos dados nos segmentos. . Por essas razões, ele é denominado serviço não confiável. . O papel fundamental do UDP e do TCP é ampliar (multiplexação/demultiplexação da camada de transporte) o serviço de entrega IP entre dois sistemas finais. . O UDP e o TCP também fornecem verificação de integridade. . Incluem campos de detecção de erros nos cabeçalhos de seus segmentos. . O TCP, porém, oferece vários serviços adicionais às aplicações: . Transferência Confiável de Dados (controle de fluxo, números de sequência, reconhecimentos e temporizadores). . Assim, o TCP converte o serviço IP em um serviço confiável de transporte de dados. . Provê o serviço de Controle de Congestionamento que é dirigido para o bem geral da Internet como um todo. . O UDP, por outro lado, não é regulado. . Uma aplicação que usa transporte UDP pode enviar o tráfego à taxa que quiser, pelo tempo que quiser. . Demultiplexação: Tarefa de entregar os dados contidos em um segmentoda camada de transporte à porta correta. . Multiplexação: Trabalho de reunir, no hospedeiros de origem, porções de dados com informações de cabeçalho para criar segmentos para a camada de rede. . UDP: Faz apenas as funções mais básicas (multiplexação/demultiplexação, verificação de erros). . Nada adiciona ao IP. . Anexa os campos de número de porta da fonte e do destino para o serviço de multiplexação/demultiplexação. . Adiciona os campos comprimento e o checksum, e encapsula o segmento dentro de um datagrama IP. . Faz uma tentativa de melhor esforço para entregar o segmento ao hospedeiro receptor. . Vantagens do UDP sobre o TCP: . Melhor controle do nível da aplicação sobre quais dados são enviados e quando: . UDP apenas empacota os dados e passa à camada de rede, já o TCP tem o controle de congestionamento que limita o remetente TCP quando os enlaces ficam excessivamente congestionados. . O TCP também continuará a reenviar pacotes enquanto não receber um ACK. . Aplicações de tempo real requerem uma taxa mínima de envio. . Não querem atrasar excessivamente a transmissão de segmentos e podem tolerar uma certa perda de dados. . Não Há Estabelecimento de Conexão: . UDP não tem apresentação. . Ele simplesmente envia as mensagens sem preliminares. . Não introduz atraso para estabelecer conexão. . Não Há Estados de Conexão: . O UDP não mantém estado de conexão e não monitora nenhum desses parametros. . O TCP monitora a conexão: . Buffers de envio e recebimento, controle de congestionamento, números de sequencia e de reconhecimento. . Pequena Sobrecarga de Cabeçalho de Pacote: . O segemento TCP tem 20 bytes de sobrecarga de cabeçalho além dos dados para cada segmento. . O UDP tem somente 8 bytes de sobrecarga. - Estrutura do Segmento UDP: 0 7 8 15 16 23 24 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Porta da fonte | Porta do destino| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Comprimento | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dados | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . Rdt1.0: Transferência confiável sobre um canal confiável. . Canal de base perfeitamente confiável. . Nenhum erro nos bits. . Nenhuma perda de pacotes. . FSMs separadas para emissor e receptor: . Emissor envia dados no canal. . Receptor lê dados do canal. . ARQ: Protocolo de transferencia confiavel de dados baseados em retransmissão. . Exigem 3 capacitações: . Detecção de Erros. . Realimentação do destinatario. . Retransmissão. . Rdt2.0: Canal com erros em bits. . Canal de base pode trocar bits dos pacotes. . Checksum para detectar erros nos bits. . Como se recuperar de erros: . Acknowledgements (ACKs): Receptor informa explicitamente ao emissor que pacote recebido está OK. . Negative Acknowledgements (NAKs): Receptor informa explicitamente ao emissor que o pacote possui erros. . Emissor retransmite pacote ao receber um NAK. . Novos mecanismos no rdt2.0 (além de rdt1.0): . Detecção de erro. . Feedback do receptor: Mensagens de controle (ACK,NAK) do recptor para o emissor. . Rdt2.1: Receptor trata ACK/NAKs corrompidos. . Problemas Rdt2.0: . O que acontece se um ACK/NAK é corrompido? . Emissor não sabe o que aconteceu no receptor! . Não pode somente retransmitir: Possibilidade de duplicação de pacotes. . Tratando duplicações: . Emissor retransmitepacote atual se ACK/NAK é corrompido. . Emissor adiciona números de seqüência a cada pacote. . Receptor descarta (não entrega para a camada superior) pacotes duplicados. . Rdt2.2: Um protocolo sem NAKs. . Igual ao Rdt2.1 mas usando somente ACKs . Ao invés de NAK, receptor envia ACK do último pacote recebido corretamente (OK). . Receptor deve incluir explicitamente o # de seq. do pacote sendo confirmado. . ACK duplicado no emissor resulta na mesma ação como para o NAK: retransmição do pacote atual. . Rdt3.0: Canais com erros e perdas. . Canal de base pode agora perder pacotes (dados ou ACKs). . Checksum, numero de sequencia, ACKs, retransmissões ajudarão mas não serão suficientes. . Emissor aguarda um tempo "razoável" a recepção de ACKs. . Retransmite se nenhum ACK é recebido neste tempo. . Se pacote (ou ACK) apenas atrasado (não foi perdido): . Retransmissão causará duplicação, mas uso de numero de sequencia tratam isso. . Receptor deve especificar numero de sequencia do pacote sendo confirmado. . Requer temporizador. . Stop and Wait: Emissor envia 1 pacote e então aguarda pela resposta do receptor. . Desempenho do Rdt3.0: . Rdt3.0 funciona, mas desempenho é ruim . Exemplo: Enlace de 1 Gbps, 15 ms de atraso de propagação fim-a-fim, pacote de 1KB: . Utilização : Fração do tempo em que o emissor está ocupado enviando = 0.027% - GBN (Go-Back-N): . Protocolo onde o remetente é autorizado a transmitir multiplos pacotes sem esperar por um reconhecimento. . Fica limitado a não ter mais do que algum número máximo permitido, N, de pacotes não reconhecidos. . Intervalos: [0, base-1]: Pacotes já transmitidos e reconhecidos. [base, nextseqnum-1]: Pacotes enviados mas ainda não reconhecidos. [nextseqnum, base+N-1]: Pacotes que podem ser enviados imediatamente, caso cheguem dados da camada superior. >= base+N: Pacotes que não podem ser usados até que um pacote não reconhecido que esteja pendente seja reconhecido. . O Remetente GBN deve responder a três tipos de eventos: . Chamada Vinda de Cima: Quando rdt_send() é chamado: . O remetente verifica se a janela está cheia, ou seja, se há N pacotes não reconhecidos. . Se a janela não estiver cheia, um pacote é criado e enviado e as variaveis são adequadamente atualizadas. . Se estiver cheia, o remetente devolve os dados à camada superior. . Recebimento de um ACK: Se um reconhecimento a um pacote de número de sequencia n chega, significa que todos os pacotes com número de sequencia menor que n foram recebidos corretamente (Reconhecimento Cumulativo). . Um Esgotamento de Temporização: O remetente reenvia todos os pacotes que tinham sido previamente enviados mas que ainda não tinham sido reconhecidos. . Destinatário GBN: Se um pacote com numero de sequencia n for recebido corretamente e estiver na ordem certa, o destinatário enviará um ACK para o pacote n e entregará os dados do pacote à camada superior. Em todos os outros casos o destinatário descarta o pacote e reenvia um ACK para o pacote mais recente que foi recebido na ordem correta. - Repetição Seletiva (Select Repeat): Protocolo que evitam retransmissões desnecessárias porque fazem o remetente retransmitir apenas os pacotes suspeitos de terem sidos recebidos com erro (perdidos ou corrompidos) no destinatário. . Intervalos: [0, send_base-1]: Pacotes fora da janela do remetente, que foram enviados e confirmados. [send_base, nextseqnum-1]: Pacotes dentro da janela do remetente, foram enviados podendo ter sido confimado ou não. [nextseqnum, send_base+N-1]: Pacotes dentro da janela do remetente, que ainda não foram enviados. >= send_base+N: Pacotes que não podem ser usados até que um não reconhecido que esteja pendente seja reconhecido. [0, rcv_base-1]: Pacotes fora da janela do destinatário, que já foram recebidos. [rcv_base, rcv_base+N-1]: Pacotes dentro da janela do destinatário, podendo ser aguardado e não ter chegado, ou no buffer e fora de ordem, ou aceitável. >= rcv_base+N: Pacotes não autorizados. . Ações Executadas pelo SR Remetente: . Dados Recebidos de Cima: . O protocolo SR remetente verifica o próximo número de sequencia disponível para o pacote. . Se o numero de sequencia esta dentro da janela do remetente, os dados são empacotados e enviados. . Caso contrário são devolvidos à camada superior. . Esgotamento de Temporização: . Diferentemente do GBN, cada pacote terá seu temporizador lógico, já que apenas um pacote será retransmitido quando a temporização se esgotar. . ACK Recebido: . O SR remetente marcará aquele pacote como recebido, contanto que esteja na janela. . Se o número de sequencia do pacote for igual a send_base, a base da janela se deslocará para a frente até o pacote não reconhecido que tiver o menor número de sequencia. Se a janela se deslocar e houver pacotes não transmitidos com números de sequencia que agora caem dentro da janela, esses pacotes são transmitidos. . Ações Executadas pelo SR Destinatário: . Pacote com Número de Sequencia em [rcv_base, rcv_base+N-1] é Recebido: . O pacote recebido cai dentro da janela do destinatário e um pacote ACK seletivo é devolvido ao remetente. . Se o pacote não tiver sido recebido anteriormente, irá para o buffer. . Se esse pacote tiver um número de sequencia igual a base da janela destinatária, então ele, e quaisquer outros pacotes anteriormente armazenados no buffer e numerados consecutivamente, serão entregues à camada superior. . A janela destinatária é então deslocada de acordo com número de pacotes entregues à camada superior. . Pacote com Número de Sequencia em [rcv_base-N, rcv_base-1] é Recebido: . Um ACK deve ser gerado mesmo que esse pacote tenha sido reconhecido anteriormente pelo destinatário. . Qualquer Outro: Ignore o pacote. . Conexão TCP: . Provê um serviço full-duplex: Os dados de uma aplicação podem fluir tanto de A -> B, como de B -> A. . É sempre ponto-a-ponto, ou seja, entre um único remetente e um único destinatário. . Não é possível Multicast (um remetente -> vários destinatários em um única operação de envio) com TCP. . Apresentação de três vias (3-way handshake) . Buffer de envio: É um dos buffers reservados durante a apresentação de três vias. De tempos em tempos, o TCP arranca pedaços de dados do buffer de envio. . MSS (Tamanho Máximo do Segmento): Quantidade máxima de dados que pode ser arrancada e colocada em um segmento. . MTU (Unidade Máxima de Transmissão): Tamanho do maior quadro de camada de enlace que pode ser enviado pelo hospedeiro remetente local determinado pelo MSS. - Estrutura do Segmento TCP: 0 7 8 15 16 23 24 31 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Porta da fonte # | Porta do destino # | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Numero de Sequencia | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Numero de Reconhecimento | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Comprimento| Ñ Utilizado| Flags| Janela de Recepção | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Ponteiro para dados urgentes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opções | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dados | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . Os campos de número de sequencia e de número de reconhecimento de 32 bits são usados pelos TCPs remetente e destinatário na implementação de um serviço confiável de transferência de dados. . O campo janela de recepção de 16 bits é usado para o controle de fluxo, indicando o número de bytes que um destinatário está disposto a aceitar. . O campo de comprimento de cabeçalho de 4 bits especifica o comprimento do cabeçalho TCP em palavras de 32 bits. . O cabeçalho TCP tem comprimento variável devido ao campo de opções TCP. . O campo de opções, opicional e de comprimento variável, é usado quando um remetente e um destinatário negociam o MSS, ou como um fator de aumento de escala da janela para utilização em redes de alta velocidade. . O campo de flag contém 6 bits. O bit ACK é usado para indicar se o valor carregado no campo de reconhecimento é válido (segmento recebido com sucesso). Os bits RST, SYN e FIN são usados para estabelecer e encerrar a conexão. Marcar o bit PSH indica que o destinatário deve passar os dados para a camada superior imediatamente. O bit URG é usado para mostrar que há dados nesse segmento que a entidade da camada superior do lado remetente marcou como "urgentes". A localização desses dados urgentes é indicado pelo Campo de Ponteiro de Urgência de 16 bits. . O número de sequencia para um segmento é o número do primeiro byte do segmento. . O número de reconhecimento que o hospedeiro A atribui a seu segmento é o número de sequencia do próximo byte que ele estiver aguardando do hospedeiro B. . Telnet: É um protocolo popular da camada de aplicação utilizado para fazer login remoto. . Piggyback: É quando o reconhecimento para dados do cliente para o servidor pega carona, sendo levado em um segmento que carrega dados do servidor para o cliente. . Estimativa do RTT: . Sample RTT: RTT para um segmento. . Estimated RTT: RTT médio. EstimatedRTT = (1-a)*EstimatedRTT + a*SampleRTT a = 0.125 . Dev RTT: Variação do RTT. DevRTT = (1-B)*DevRTT + B*|SampleRTT - EstimatedRTT| B = 0.25 . TimeoutInterval = Estimated RTT + 4*DevRTT . Transferência Confiável: . Duplicação do Tempo de Expiração: . Quando o tempo de expiração é expirado, o TCP ajusta esse tempo para o dobro do tempo de expiração anterior. . Se o tempo for expirado novamente, mais uma vez é ajustado o tempo para o dobro do tempo anterior, crescendo assim de maneira exponencialmente. . Sempre que o temporizador for iniciado, o tempo de expiração é calculado a partir dos valores mais recentes de EstimatedRTT e DevRTT. . ACK Duplicado: É um ACK que reconhece novamente um segmento que já foi reconhecido anteriormente pelo receptor. . Um exemplo é quando chega no destinatário um segmento fora de ordem com o número de sequencia maior do que era esperado. O destinatário então envia um ACK duplicado, indicando o número de byte seguinte esperado. . Retransmissão Rápida: . É detectada por 3 ACKs duplicados. . O remetente retransmite o segmento que falta antes da expiração do temporizador do segmento. . Controle de Fluxo: . Janela de Recepção: Usada para dar ao remetente uma idéia do espaço de buffer livre disponível no destinatário. . Variáveis do host destinatário (B): . RcvBuffer: Tamanho do buffer de recepção alocado. . LastByteRead: Número do ultimo byte na cadeia de dados lido do buffer pelo processo de aplicação em B. . LastByteRcvd: Número do ultimo byte de dados que chegou da rede e foi colocado no buffer de recepção B. . Para não saturar o buffer alocado devemos ter: LastByteRcvd - LastByteRead <= RcvBuffer . Janela de Recepção (RcvWindow): É o espaço disponível no buffer de recepção. . É ajusta para a quantidade disponível no buffer: RcvWindow = RcvBuffer - [LastByteRcvd - LastByteRead] - Supondo que A envia uma arquivo grande a B por uma conexão TCP, como a conexão usa a variável RcvWindow para prover o serviço de controle de fluxo? O hospedeiro A diz a B quanto espaço disponível ele tem no buffer da conexão, colocando o valor atual de RcvWindow no campo "Janela de Recepção" do segmento que envia a B. . O host emissor (A) monitora duas variáveis: . LastByteSend . LastByteAcked . A diferença LastByteSend - LastByteAcked é a quantidade de dados não reconhecidos que o emissor enviou. . O host emissor, durante toda a conexão tem que certificar que: LastByteSend - LastByteAcked <= RcvWindow - Quando o tamanho da janela de recepção enviada pelo destinatário ao remetente é igual a zero existe um pequeno problema. Enquanto o processo de aplicação do destinatário esvazia o buffer, o TCP não envia novos segmentos com os novos valores da janela de recepção para o remetente. O remetente nunca é informado de que há espaço livre no buffer de recepção do destinatário e fica bloqueado não transmitindo mais dados! Para resolver o problema, a especificação do TCP requer que o remetente continue a enviar segmentos com 1 byte quando a janela de recepção do destinatário for zero. O buffer começará a esvaziar e os reconhecimentos vão conter um valor diferente de zero para janela de recepção. . Gerenciamento da conexão TCP: . Apresentação de três vias: . Passo 1: host cliente envia segmento SYN TCP para o servidor. . Especifica número de sequencia inicial. . Sem dados. . Passo 2: host servidor recebe SYN, responde com segmento SYNACK. . Servidor aloca buffers. . Especifica número de sequencia inicial do servidor. . Passo 3: cliente recebe SYNACK, responde com segmento ACK que pode conter dados. . Fechando uma conexão: . Cliente fecha socket: clientSocket.close(); . Passo 1: cliente envia segmento TCP de controle FIN ao servidor. . Passo 2: servidor recebe FIN, responde com ACK. Fecha conexão, envia FIN. . Passo 3: cliente recebe FIN, responde com ACK. . Entra na "espera temporizada" – responderá com ACK aos FINs recebidos . . Passo 4: servidor, recebe ACK. Conexão fechada. . Controle de Congestionamento: . Causas e custos do congestionamento: . Cenário 1: Dois remetentes, um roteador com buffers infinitos: . Há grandes atrasos de fila quando a taxa de chegada de pacotes se aproxima da capacidade do enlace. . Cenário 2: Dois remetentes, um roteador com buffers finitos: . O remetente deve realizar retransmissões para compensar os pacotes descartados devido esgotamento do buffer. . Retransmissões desnecessárias feitas pelo remetente em face de grandes atrasos podem fazer com que um roteador use a sua largura de banda de enlace para repassar cópias desnecessárias de um pacote. . Cenário 3: Quatro remetentes, roteadores com buffers finitos e trajetos com múltiplos roteadores: . Quando um pacote é descartado ao longo de um caminho, a capacidade de transmissão que foi usada em cada um dos enlaces anteriores para repassar o pacote até o ponto em que foi descartado acaba sendo desperdiçada. . Mecanismos de controle de congestionamento . Pacote de Congestionamento: Pacote enviado pelo roteador que faz a notificação ao remetente quando a rede está congestionada. . Outra forma de detecção é quando o roteador marca um campo no pacote que está vindo do remetente para indicar congestionamento. Ao receber o pacote marcado, o destinatário informa ao remetente a indicação de congestionamento. . CongWin: Janela de congestionamento que impõe uma limitação à taxa a qual um remetente TCP pode enviar tráfego para dentro de uma rede. . A quantidade de dados não reconhecidos em um hospedeiro não pode exceder mínimo de CongWin e RcvWindow: . LastByteSent - LastByteAcked <= Min{CongWin, RcvWindow} . O TCP é dito auto-regulado porque utiliza reconhecimentos para aumentar o tamanho de janela de congestionamento. . Algoritmo de controle de congestionamento TCP: . Abordagem: Aumentar a taxa de transmissão (CongWin), sondar a largura de banda ainda utilizável, até ocorrência de perda de um pacote. . Aumento Aditivo: Aumenta CongWin de 1 MSS a cada RTT até perda ser detectada. . Redução Multiplicativa: Reduz CongWin pela metade após detectar um evento de perda. . Partida Lenta: . O remetente TCP começa transmitindo a uma taxa lenta. . Aumenta sua taxa exponencialmente, dobrando o valor, a cada RTT antes do evento de perda. . O TCP reage de maneiras distintas a eventos de perdas. . Se o evento for o recebimento de 3 ACKs duplicados, a CongWin é reduzida à metade e então aumenta linearmente. . Se o evento for o esgotamento de temporização, o remetente TCP entra em partida lenta. . Ajustando a CongWin para 1 MSS. . Aumenta a janela exponencialmente. . Threshold: . Determina o tamanho da janela no qual terminará partida lenta e começará a prevenção de congestionamento. . Sempre que ocorrer uma perda o valor de Threshold será a metade de CongWin. . TCP Tahoe: . Implementação mais antiga do TCP. . A CongWin é reduzida pra 1 MSS incondicionalmente. . Independentemente do evento ter sido 3 ACKs duplicados ou um esgotamento de temporização. . TCP Reno: . Implementação mais nova do TCP. . A CongWin é ajustada para 1 MSS se for esgotamento de temporização. . É reduzida à metade se for o recebimento de 3 ACKs duplicados. - Vazão média de uma conexão = (0,75*W)/RTT , onde W = Tamanho da CongWin quando ocorre uma perda (máxima). - Justiça: Um mecanismo de controle de congestionamento é dito justo se cada conexão que utiliza um enlace obtém uma parcela igual de banda. CAMADA DE REDE - Camada de Rede . Transporta segmento do host emissor para o host receptor. . No lado emissor encapsula segmentos em datagramas. . No lado receptor, entrega segmentos para a camada transporte. . Protocolos da camada de rede emtodos os hosts, roteador. . Roteador examina campos do cabeçalho dos datagramas IP quepassam por ele. - Funções Importantes da Camada de Rede . Repasse: Encaminha os pacotes que chegam ao roteador para o enlace de saída apropriado do roteador. . Roteamento: Determina rota a ser tomada por pacotes da fonte ao destino. . Estabelecimento de Conexão (Virtual): Algumas arquiteturas de rede (ATM, frame relay, X.25) exigem que rotedores troquem mensagens entre si com a finalidade de estabelecer estado antes que os datagramas possam começar a fluir. - Quando um pacote chega a um roteador, o roteador examina um campo no cabeçalho do pacote e utiliza esse campo para poder indexar a Tabela de Repasse indicando por qual enlace de saída o roteador deve repassar o pacote. - Modelo de Serviço de Rede: Define as características do transporte fim-a-fim entre dois hosts. . Entrega garantida . Entrega garantida com atraso limitado . Entrega de datagramas na ordem correta . Banda passante mínima garantida para o fluxo . Jitter máximo garantido: Serviço que garante que a quantidade de tempo entre a transmissão de dois pacotes sucessivos no remetente seja igual a quantidade de tempo entre o recebimento dos dois pacotes no destino. - Serviços ATM . Taxa Constante de Bits (CBR): Garante que o atraso fim-a-fim de uma célula ATM, a variação do atraso (jitter), e a fração de células perdidas ou entregues atrasadas sejam menores que valores especificados. . Taxa de Bits Disponível (ABR): "Melhor Esforço" ligeiramente melhorado. Também pode haver a perda de células e é garantida uma taxa mínima de transmissão. - Serviço com e sem conexão da camada de rede . Redes de datagrama provêem serviço de camada de rede sem conexão . Redes de circuitos virtuais (CV) provêem serviço de rede orientado à conexão . Análogo aos serviços da camada transporte, mas: . Serviço: host para host . Sem escolha: rede provê ou um ou outro . Implementação: no núcleo - Circuitos Virtuais (VC): . Estabelecimento para cada chamada antes (depois) que os dados possam ser (foram) enviados . Cada pacote carrega um identificador de circuito virtual (não o endereço do host de destino) . Todos os roteadores no caminho fonte-destino mantêm "estado" para cada conexão passando . Enlace, recursos do roteador (banda, buffers) podem ser alocados para o circuito virtual . Um VC consiste em: 1. Caminho da fonte ao destino 2. Números de VCs, 1 número para cada enlace ao longo do caminho 3. Entradas nas tabelas de encaminhamento dos roteadores ao longo do caminho . Pacote pertencendo a um VC carrega consigo um número de VC. . O número de VC deve ser mudado em cada enlace. . Novo número de VC obtido da tabela de encaminhamento - Mensagens de sinalização: Mensagem que os hosts enviam à rede para iniciar ou encerrar um CV e as mensagens passadas entre os roteadores para estabelecer um CV. - Redes de datagramas: . Não há estabelecimento de conexão/chamada na camada de rede . Roteadores: não há estado sobre conexões fim-à-fim . Não existe o conceito de "conexão" na camada de rede . Pacotes são encaminhados com base no endereço de destino . Pacotes entre mesmo par fonte-destino podem tomar caminhos diferentes Principais funções do roteador: . Executar algoritmos/protocolos de roteamento (RIP, OSPF, BGP). . Encaminhar datagramas do enlace de entrada para o enlace de saída. - Portas de Entrada: Local onde na maioria dos roteadores determinada a porta de saída para qual o pacote que está chegando será repassado pelo elemento de comutação. . Procurar porta de saída usando a tabela de encaminhamento na memória da porta de entrada. . Objetivo: completar processamento na porta de entrada na "velocidade da linha". . Fila (queuing): Para o caso de datagramas que já estejam sendo usados pelo elemento de comutação. - Elemento de Comutação: É por meio do Elemento de comutação que os pacotes são repassados de uma porta de entrada a uma porta de saída. - Comutação via Memória: . Computadores tradicionais com comutação sob sontrole direto da CPU. . Pacote copiado para a memória do sistema. . Velocidade limitada pela banda passante da memória (cada datagrama cruza dois barramentos). - Comutação via Barramento . Datagrama da memória da porta de entrada para a memória da porta de saída via barramento compartilhado. . Bus Contention: Velocidade de comutação limitada pela banda passante do barramento. . Barramento de 1 Gbps, Cisco 1900: Velocidade suficiente para roteadores de acesso e de empresas (inadequado para acesso regional e para o backbone). - Comutação via uma Rede de Interconexão (Interna ao Roteador) . "Vencer" limitações de banda do barramento. . Redes Banyan, redes de interconexão desenvolvidas para conectar processadores em sistemas multiprocessados. . Design avançado: Fragmentação de datagramas em células de tamanho fixo, comuta células através da equipamento. . Cisco 12000: Comuta Gbps através de rede de interconexão. - Portas de Saída: O processamento de portas de saída toma os pacotes que foram armazenados na memória da porta de saída e os transmite pelo enlace de saída. . Buffering: Requerido quando datagramas chegam do elemtento de comutação mais rápido que a taxa de transmissão. . Disciplina de Escalonamento: Escolhe datagramas da fila a serem transmitidos (prioridades). - Fila da Porta de Saída . "Buferização" quando taxa de chegada através do comutador excede a velocidade da linha de saída. . Queueing/enfileiramento (atraso) e perda devido ao transbordamento (overflow) do buffer da porta de saída! . Escalonador de pacotes na porta de saída deve escolher para transmissão um pacote dentre os que estão na fila. . Garantia na qualidade de serviço. - Fila da Porta de Entrada . Elemento de comutação mais lento que portas de entrada combinadas. . Head-of-the-Line (HOL) blocking: Datagrama enfileirado na frente da fila previne outros de serem encaminhados. . Atraso de fila e perda devido ao transbordamento do buffer da porta de entrada. - Formato do Datagrama IPv4: 0 7 8 15 16 19 23 24 31 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Versão | Comp. |Tipo de Serviço| Comprimento Datagrama (bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identificação |Flags|Deslocamento Fragmentação| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tempo de Vida | Protocolo | Checksum Cabeçalho | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Endereço IP da Fonte | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Endereço IP do Destino | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opções | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dados | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - Fragmentação do Datagrama IP . Enlace da rede possui MTU (tamanho máx. de transferência) maior quadro possível no enlace. . Diferentes tipos de enlaces, diferente MTUs. . IP datagrama grande dividido (fragmentado) dentro da rede. . Remonrados somente no destino final. . Bits do cabeçalho IP usados para identificar, ordenar fragmentos relacionados. - A hierarquia de endereçamento IP: . Por questões de eficiência, o endereço IP é definido por duas partes, prefixo e sufixo. . O prefixo é responsável por determinar a rede que o computador está acoplado. . O sufixo é responsável por identificar um computador acoplado em cada rede. - Interface: Fronteira entre o hospedeiro e o enlace físico. . Roteadores tipicamente possuem múltiplas interfaces. . Host tipicamente possui uma única interface. . 1 endereço IP por interface. - Subredes . Endereço IP: . Parte da subrede (bits de ordem mais elevada). . Parte do host(bits de ordem mais baixa). . O que é uma subrede? . Interfaces de dispositivos com mesma parte de subrede do endereço IP. . Dispositivos podem fisicamente alcançar os outros sem ajuda de um roteador. - Máscara de Rede: Número usado para separar em um IP a parte correspondente à rede pública, subrede, e aos hosts. - Endereçamento IP: Classes (A=8, B=16, C=24) . Desperdício de endereços IP . Classe C permite até 2^8 - 2 = 254 hosts/interfaces . Classe B permite até 65534 hosts/interfaces . Para organizações com até 2000 hosts é necessário alocar um endereço de rede classe B levando ao desperdício de mais de 63000 endereços que não serão usados! - CIDR: Roteamento Interdomínio sem Classes . A porção no endereço que representa a subrede tem tamanho arbitrário. . Formato do endereço: a.b.c.d/x, onde x é o # de bits na porção do endereço que representa a subrede. - Obtenção de um endereço de hospedeiro . Configuração Manual: Um administrador de sistema configura manualmente o endereço de IP no hospedeiro (normalmente em um arquivo). . DHCP (Dynamic Host Configuration Protocol): Obtém dinamicamente um endereço através de um servidor. . plug-and-play - Tradução de Endereços de Rede (NAT) - Motivação: Rede local usa somente um único endereço IP quando há necessidade de falar com o mundo externo: . Range de endereços não são necessários do ISP, apenas um endereço IP para todos os dispositivos. . Pode mudar endereço de dispositivos na rede local sem necessidade de notificar o mundo externo. . Pode mudar o ISP sem mudar o endereço dos dispositivos na rede local. . Dispositivos dentro da rede local não são explicitamente endereçáveis, ou seja, não são visíveis pelo mundo externo (um pouco mais de segurança). - NAT é controverso: . Roteadores devem processar somente até a camada 3. . Viola o argumento "fim-a-fim". . Possibilidade do uso de NAT deve ser levada em conta por projetistas de aplicações, eg, aplicações P2P. . Esgotamento de endereços deve ser resovido pelo IPv6. - Protocolo de Mensagens de Controle da Internet (ICMP) . Usado por hosts e roteadores para comunicar informações do nível rede. . Reportagem de erro: host, rede, porta, protocolo inalcançável. . Echo request/reply (usado pelo ping). . Camada de rede "acima do" IP: . ICMP mensagens transportadas em datagramas IP. . Mensagem ICMP: Tipo, código mais 8 primeiros bytes do datagrama IP que causou o erro. - Traceroute e ICMP . Fonte envia uma série de segmentos UDP para o destino. . O 1º possui TTL = 1. . O 2º possui TTL = 2, etc. . Número de porta improvável . Quando enésimo datagrama chega ao enésimo roteador: . Roteador descarta datagrama. . E envia para a fonte um mensagem ICMP (tipo 11, código 0). . Mensagem inclui nome do roteador e o endereço. . Quando a mensagem ICMP chega, fonte calcula o RTT. . Traceroute faz isto 3 vezes. . Critério de Parada . Segmento UDP eventualmente chegará ao host de destino. . O destino retorna a mensagem ICMP "host unreachable" (tipo 3, código 3). . Quando a fonte recebe esta mensagem ICMP, pára. - IPv6 . Motivação Inicial: Espaço de endereçamento de 32 bits estará completamente alocado em pouco tempo. . Motivação Adicional: Formato do cabeçalho ajuda a fazer processamento/encaminhamento mais rápido. . Mudanças no Cabeçalho para facilitar QoS. . Formato do Datagrama IPv6: . Cabeçalho detamanho fixo de 40 bytes. . Fragmentação não é permitida. - Formato do Datagrama IPv6: 0 7 8 15 16 19 23 24 31 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Versão | Classe Tráfego| Rótulo de Fluxo | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Comprimento de Carga Útil |Próx. Cabeçalho| Limite Saltos| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Endereço da fonte (128 bits) + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Endereço do destino (128 bits) + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dados | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - Endereçamento IPv6 - Notação: . Cada um formado por 8 grupos com 4 dígitos hexadecimais. . 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 . 4 zeros em um grupo podem ser omitidos e substituídos por :: . 2001:0db8:85a3:0000:1319:8a2e:0370:7334 equivale à 2001:0db8:85a3::1319:8a2e:0370:7334 - Transição do IPv4 para o IPv6: . Todos os roteadores não podem se atualizados simultaneamente. . Dia do multirão de atualização é impossível. . Como a rede irá operar com roteadores IPv4 e IPv6 misturados dentro dela? . Pilha Dupla: . Nós IPv6 com implementação IPv4, podendo se comunicar com nós IPv6 e nós IPv4. . Existe perda de informação ao passar de um nó IPv6 para o IPv4. . Tunelamento: . IPv6 transportado como "payload" em datagramas IPv4 entre roteadores IPv4. CAMADA DE ENLACE - Camada de Enlace: . O termo "nó" é usado para nos referir aos hospedeiros e roteadores. . É encarregada de movimentar datagramas da camada de rede nó a nó por um único enlace no caminho. . O datagrama pode ser transferido por protocolos de enlace diferentes em enlaces diferentes. . Exemplo: No primeiro enlace Ethernet, WAN nos enlaces intermediários, PPP no último. . Cada protocolo de enlace provê serviços diferentes por exemplo, pode ou não fornecer rdt sobre o enlace. - Serviços da Camada de Enlace: . Enquadramento de dados: . Encapsula datagramas em quadros, acrescentando cabeçalhos e trailer. . Acesso ao Enlace: . MAC: Especifica as regras segundo as quais um quadro é trasmitido pelo enlace. . Acesso ao canal se o meio é compartilhado . O MAC coordena as transmissões de quadros à muitos nós. . Entrega Confiável: . Garantia do enlace que vai transportar um datagrama da camada de rede pelo enlace sem erro. . Raramente usado em enlaces com baixa taxa de erro (fibra, alguns tipos de par trançado). . Ligações sem fios: Altas taxas de erro. . Controle de Fluxo: . Evita que nós adjacentes recebam mais quadros que seus buffers podem aguentar. . Detecção de Erros: . Erros causados pela atenuação do sinal, ruído. . Receptor detecta presença de erros: . Sinais remetente para reenviar o quadro. . Correção de Erros: . Receptor identifica e corrige erro de bits sem recorrer à retransmissão. . Half-duplex e full-duplex: . Half-duplex: Um nó não pode transmitir e receber pacotes ao mesmo tempo. . Full-duplex: Um nó em ambas extremidades de um enlace podem transmitir pacotes ao mesmo tempo. - Adaptador: É uma placa que contém RAM, chips DSP, uma interface de barramento de hospedeiro e uma interface de enlace. Também são conhecidos como cartões (placas) de interface de rede ou NICs. São neles que em geral são implementados os protocolos da camada de enlace. . Lado Emissor: . Encapsula datagrama em um quadro. . Adiciona bits de verificação de erro, rdt, controle de fluxo, etc. . Lado Receptor: . Procura por erros, rdt, controle de fluxo, etc. . Extrai o datagrama, passa para o nó receptor. . Interface de Barramento: É responsavel pela comunicação com o nó pai do adaptador, tranferindo informações de controle entre o adaptador e o nó pai. Além da montagem e a desmontagem de datagramas, ela pode prover a detecção de erros, acesso aleatório e outras funções. - Correção de Erros de Repasse: Capacidade do receptor para detectar e corrigir erros. - Técnicas de Detecção e Correção de Erros: . Verificações de Paridade: . Bit de Paridade . Paridade Bidimensional . Soma de Verificação: . Verificação de Redundância Cíclica (CRC) . Ver bits de dados, D, como um número binário. . Escolher r + 1 padrão de bits (gerador), G. . Objetivo: O emissor escolherá r bits adicionais (CRC), R, tal que: . O padrão d + r bits seja exatamente divisível por G (módulo 2). . Receptor conhece G, divide os d + r bits recebidos por G. Se o resto não for zero: erro detectado! . Pode detectar todos os erros de estouro menos de r + 1 bits. . Amplamente utilizados na prática (ATM, HDCL). . R = resto[(D*2^r)/G] - Protocolos de Acesso Múltipo: . 2 Tipos de Enlaces: . Ponto-a-ponto . PPP para acesso dial-up . Enlace ponto a ponto entre um switch Ethernet e host . Broadcast (fio ou meio compartilhado) . Ethernet tradicional . Upstream HFC (Hybrid Fiber-Coaxial) . Características Desejáveis: . Quando apenas um nó tem dados para enviar, esse nó tem uma vazão de R bps. . Quando M nós querem transmitir, cada um pode enviar a taxa média R/M bps. . O protocolo é descentralizado. . Nenhum nó especial para coordenar transmissões. . Nenhuma sincronização de relógios e compartimentos. . O protocolo é simples para que sua implementação seja barata. - Protocolos de Divisão de Canal: . TDM: Multiplexação por Divisão de Tempo. . Divide o tempo em quadros temporais. . Divide cada quadro em N compartimentos. . Cada compartimento é atribuido a um dos N nós. . Sempre que um nó tiver uma pacote para enviar, ele transmite durante o compartimento atribuido a ele. . Vantagens: Elimina colisões e é perfeitamente justo. . Desvantagens: . Nó limitado a uma velocidade média de R/N bps. . O nó deve sempre esperar sua vez na sequencia de transmissão. . FDM: Multiplexação por Divisão de Frequencia. . Espectro do canal é dividido em bandas de freqüência. . Cada estação recebe uma banda de freqüência fixa. . Vantagens: Elimina colisões e é perfeitamente justo. . Desvantagens: . Nó limitado a uma velocidade média de R/N bps. . CDMA: Acesso Múltiplo por Divisão de Código. . Atribui um código diferente a cada nó. . Cada nó usa seu código para codificar os bits de dados que envia. . Pode permitir que nós diferentes trasmitam simultaneamente. . Utilização muito ligada a canais sem fio. - Protocolos de Acesso Aleatório: . Quando o nó tem um pacote a enviar, ele transmite à taxa total do canal, R bps. . Sem uma coordenação a priori entre os nós. . Quando há colisão, cada nó envolvido retransmite seu quadro. . A retransmissão pode ser imediatamente ou depois de esparar por um tempo aleatório. . Slotted Aloha: . Assumindo que: . Todos os quadros de mesmo tamanho de L bits. . Tempo é dividido em intervalos de mesmo tamanho L/R segundos, tempo para transmitir 1 quadro. . Nós começam a transmitir quadros apenas no início dos intervalos. . Nós são sincronizados. . Se 2 ou mais nós colidirem num intervalo, todos os nós detectam a colisão. . Operação: . Quando um nó obtém um novo quadro, ele transmite no próximo intervalo. . Nenhuma colisão, o nó pode enviar um novo quadro no próximo intervalo. . Caso de colisão, o nó retransmite o quadro em cada intervalo subseqüente com probabilidade P até o sucesso. . Vantagens: . Único nó ativo pode transmitir continuamente na taxa máxima do canal. . Altamente descentralizada: Requer que os intervalos sejam sincronizados nos nós. . Simples. . Desvantagens: . Colisões, desperdiçando intervalos. . Vagas ociosas. . Nós podem ser capazes de detectar colisão em menos tempo do que a transmissão de pacotes. . Sincronização do relógio. . Eficiência: . Probabilidade de que um nó tenha sucesso em transmitir um quadro durante um intervalo = p(1 - p)^(N-1). . Probabilidade de que qualquer nó tenha um sucesso = Np(1-p)^(N-1). . Seja p* um p que maximize a eficiência. E Seja R a taxa de transmissão do canal. . Para N nós ativos consideramos o limite de [Np*(1 - p*)^(N-1)] quando N tende ao infinito. . No caso limite a eficiência é 1/e = 0,37. Ou seja, a taxa de transmissão do canal é 0,37*R bps. . Alloha: . Simples, sem sincronização. . Quando chega o primeiro quadro, transmitir imediatamente. . Probabilidade de colisão aumenta: . Quadro enviado em To colide com outros quadros enviados em [To-1, To+1]. . Eficiência: . Probabilidade de um nó transmitir = p . Probabilidade de nenhum outro nó transmitir em [To-1, To] = (1 - p)^(N-1). . Probabilidade de nenhum outro nó transmitir em [To, To+1] = (1 - p)^(N-1). . Probabilidade de um nó transmitir com sucesso = p(1 - p)^2(N-1). . No caso limite a eficiência é 1/2e = 0,18. Exatamente a metade da eficiência do Slotted Alloha. . CSMA: Acesso Múltiplo com Detecção Portadora. . Ouvir antes de transmitir: . Se o canal parece vazio, transmite o quadro todo. . Se o canal está ocupado, adia a transmissão. . Colisões ainda podem ocorrer: . Atraso de propagação implica: Dois nós podem não ouvir uns aos outros numa transmissão. . Transmissão do pacote inteiro, tempo perdido. . Papel da distância e do atraso de propagação na determinação da probabilidade de colisão. . CSMA/CD: CSMA com Detecção de Colisão. . Portador de sensoriamento remoto, diferimento como no CSMA. . Colisões detectadas num tempo mais curto. . Transmissões em colisão abortada, reduzindo o desperdício do canal. . Detecção de colisão: . Fácil em LANs cabeadas: A potência do sinal medida, comparar sinais transmitidos e recebidos. . Difícil em LANs sem fio: Receptor desligado enquanto transmitindo. - Protocolos de Revezamento: . Protocolo de Seleção (Polling): . Nó mestre seleciona nós escravos para transmitir, por sua vez. . Vantagens: . Elimina colisões e os intervalos vazios dos protocolos de acesso aleatório, permitindo uma eficiência maior. . Desvantagens: . Atraso na seleção. . Único ponto de falha (mestre). . Protocolo de Passagem de Permissão (Token Passing): . Controlado por um quadro especial de permissão (token) que é passado de um nó para a próxima seqüência. . Problemas: . A falha de um nó pode derrubar o canal inteiro. . Um nó pode não liberar a permissão: . É preciso chamar algum procedimento de recuperação para liberar a permissão. - Redes Locais (LANs) . Ethernet . Token Ring (IEEE 802.5): . N nós da LAN conectados em um anel por enlaces diretos. . Quando um nó obtém permissão e envia um quadro, este se propaga ao redor do anel inteiro. . A medida que o quadro se propaga, o nó de destino lê esse quadro no meio de transmissão da camada de enlace. . O nó que envia o quadro tem a responsabilidade de remover o quadro do anel. . FDDI: Interface de Dados Distribuída de Fibra. . Projetada para LANs de alcance geográfico maior. . A FDDI faz com que o nó de destino remova o quadro do círculo. . Não é um canal de broadcast puro pois nem todos os nós recebem todos os quadros transmitidos. - Endereçamento na Camada de Enlace: . MAC (Controle de Acesso ao Meio): É um endereço da camada de enlace usado para obter quadro de uma interface para outra interface de rede fisicamente conectada (mesma rede). . 48 bits de endereço MAC (para a maioria das LANs) gravado na ROM do adaptador. . Alocação de endereços MAC é administrada pelo IEEE. . Fabricante compra parte do espaço de endereço MAC para assegurar a unicidade. . Endereços de 6 bytes, onde cada byte é expresso como um par de números hexadecimais. . Quando um adaptador remetente quer que os outros adaptadores na LAN recebam e processem o quadro que ele está prestes a enviar, ele insere um endereço de broadcast MAC especial no campo de endereço do destinatário do quadro. Isto é, uma cadeia de 48 bits 1 consecutivos (FF-FF-FF-FF-FF-FF em notação hexadecimal). . ARP (Protocolo de Resolução de Endereços): . Cada nó IP numa LAN tem tabela ARP. . Tabela ARP: Faz o mapeamento do endereço IP em endereços MAC para alguns nós da LAN. . . TTL (Time To Live): Tempo após o qual o mapeamento de endereços será esquecido (tipicamente 20 min). . A quer enviar um datagrama para B, e o endereço MAC de B não está na tabela ARP: . A monta um pacote especial (ARP Query) de consulta, contendo endereço IP de B. . Envia ao endereço MAC de broadcast (FF-FF-FF-FF-FF-FF). . Todas as máquinas na LAN recebem a consulta ARP. . B recebe o pacote ARP, responde para A com seu endereço MAC. . Quadro enviado para o endereço MAC de A (unicast). . A cache salva o par de endereços IP/MAC em sua tabela ARP até que a informação torne-se velha (tempo limite). . ARP é "plug-and-play": Nós criam suas tabelas ARP sem intervenção do administrador da rede. . A quer enviar um datagrama para B, mas B não está na mesma rede de A: . A envia o datagrama para B através de um roteador R. . Duas tabelas ARP no roteador R, um para cada interface (LAN). . A cria datagrama com origem A, destino B. . A usa ARP para obter o endereço MAC da interface "A" de R. . A cria um quadro com o endereço MAC da interface "A" de R como destino. . Um adaptador de A envia o quadro. . Adaptador de R recebe o quadro. . R remove o datagrama IP do quadro, e verifica que se destina a B. . R usa ARP para obter o endereço MAC de B. . R cria quadro contendo datagrama IP A/B e envia para B. - Ethernet: . Tecnologia dominante em LANs cabeadas: . Primeira tecnologia de LAN largamente usada. . Simples, mais barata que LANs com token e ATM. . Acompanhou a velocidade de corrida: 10 Mbps - 10 Gbps. . Topologia em Estrela: . No centro da topologia está um hub ou switch. - Estrutura do Quadro Ethernet: < 8 Bytes >< 6 Bytes >< 6 Bytes >< 2 Bytes >< 46 a 1500 Bytes >< 4 Bytes > +-----------+--------------+-------------+---------+---------------------+----------+ | Preâmbulo | End. Destino | End. Origem | Tipo | Dados | CRC | +-----------+--------------+-------------+---------+---------------------+----------+ . Adaptador do transmissor encapsula o datagrama IP (ou outro pacote da camada de rede) num quadro Ethernet. . Preâmbulo: 7 bytes com padrão 10101010 seguido por 1 byte com padrão 10101011 usado para sincronizar o receptor, relógio taxas remetente. Os 2 ultimos bits do oitavo byte servem para informar que algo importante está chegando. . Endereços (MAC): . Se o adaptador recebe um quadro com endereço de destino coincidente, ou com endereço de broadcast (por exemplo, o pacote ARP), ele passa os dados no quadro para o protocolo da camada de rede. . Caso contrário, adaptador descarta o quadro. . Tipo: Indica o protocolo da camada superior (a maioria IP, mas outros também outros como Novell IPX e AppleTalk). . Dados: Carrega o datagrama IP. . Se o datagrama exceder 1500 bytes, o hospedeiro terá que fragmentar o datagrama. . Se o datagrama tiver menos que 46 bytes, o campo de dados é preenchido até completar os 46 bytes. . A camada de rede usa o campo de comprimento de cabeçalho do datagrama IP para remover o preenchimento. . CRC: Verifica no receptor, se o erro for detectado, o quadro é simplesmente descartado. . Serviço fixado, sem conexão. . Não confiável: Adaptador receptor não envia ACKs ou nacks para o adaptador. . Fluxo de datagramas que passa a camada de rede pode ter falhas. . Lacunas serão preenchidas se a aplicação está usando TCP. Caso contrário, a aplicação verá as lacunas. . CSMA/CD: O Protocolo de Acesso Múltiplo da Ethernet. . Pode começar a transmitir a qualquer tempo, ou seja, não usa compartimentos. . Adaptador não transmite se ele detectar algum outro adaptador transmitindo, isto é, a detecção transportadora. . Adaptador transmissor aborta quando detecta outro adaptador transmitindo, isto é, a detecção de colisão. . Antes de tentar uma retransmissão, o adaptador espera um tempo aleatório, isto é, o acesso aleatório. . Algoritmo CSMA/CD Ethernet: 1. Adaptador recebe um datagrama da camada de rede e cria um quadro. 2. Se o adaptador detecta um canal livre, ele começa a transmitir o quadro. Se ele detecta o canal ocupado, espera até que o canal fique livre e então transmite. 3. Se o adaptador transmite o quadro todo sem detectar outra transmissão, ele considera concluída a operação. 4. Se o adaptador detecta outra transmissão enquanto transmite, ele aborta e envia sinal de reforço de colisão. 5. Após abortar, o adaptador entra em backoff exponencial: Quando está transmitindo um quadro, após sofer a enésima colisão, o adaptador escolhe um K aleatório de (0,1,2,..., 2^(m)-1). Adaptador aguarda K*512 tempos de bits e retorna ao passo 2. . O sinal de reforço de colisão serve para garantir que outros nós que estejam transmitindo saibam da colisão. . Tempo de Bit: 0,1 microssegundos para 10 Mbps Ethernet. Para K = 1023, tempo de espera é de cerca de 50 ms. . Backoff Exponencial: . Objetivo: Adaptar tentativas de retransmissão para carga atual. . Carga pesada: Espera aleatória será mais longa. . Primeira colisão: escolha K entre (0,1). Demora é K*512 vezes a transmissão de bits. . Após a segunda colisão: escolha K entre {0,1,2,3}. . Após dez colisões, escolha K entre (0,1,2,3,4,..., 1023). . Eficiência da Ethernet: . Eficiência = 1 / (1 + 5*Tprop/Ttrans) . Tprop: Tempo propagação máxima da energia do sinal entre 2 nós na LAN. . Ttrans: Tempo para transmitir quadro de tamanho máximo. . Eficiência: Tende a 1 quando Tprop vai a 0. Tende a 1 quando Ttrans vai ao infinito. . Muito melhor do que ALOHA, mas ainda é descentralizado, simples e barato. . Tecnologias Ethernet: . 10BaseT e 100BaseT: . Taxa de 10/100 Mbps. Conhecido como "Fast Ethernet". . T é o par trançado. . Nós se conectam a um hub: Topologia em estrela a uma distância máxima de 100m entre os nós e o hub. . Hubs: . Hubs são essencialmente repetidores da camada física: . Bits provenientes de um link são transmitidos para todos as outras interfaces. . Na mesma taxa. . Sem frame buffer. . Não implementa CSMA/CD no hub: adaptadores detectam colisões. . Fornece a funcionalidade de gerenciamento de rede. . Gigabit Ethernet e Ethernet 10 Gbps: . Usa o formato do quadro Ethernet padrão. . Permite enlaces ponto-a-ponto e canais broadcast compartilhados. . No modo compartilhado, CSMA/CD é usado. Curtas distâncias entre os nós é necessário para a eficiência. . Utiliza hubs, denominados distribuidores com buffer. . Permite Full-Duplex a 1 Gbps para enlaces ponto-a-ponto. . Ethernet 10 Gbps ampliou a tecnologia Ethernet. . O padrão 10-Gigabit Ethernet estende a tecnologia Ethernet aos enlaces ponto-a-ponto. - Interconexões: hubs e switches: . Hubs: . Hubs de backbone interconectam segmentos de LANs. . Estende a distância máxima entre os nós. . Domínios de colisão individuais tornam-se um grande domínio de colisão. . Não é possível interligar 10BaseT e 100BaseT. . Switches: . Armazena e encaminha quadros Ethernet. . Examina o cabeçalho do quadro e seletivamente encaminha o quadro baseado no endereço MAC de destino. . Quando um quadro deve ser encaminhado no segmento, usa CSMA/CD para repassar o segmento. . Usa o backoff exponencial quando uma transmissão resulta em colisão. . Transparente: . Hospedeiros são inconscientes da presença dos switches. . Plug-and-play, auto-aprendizagem: . Switches não necessitam ser configurados. . Superam muitos problemas dos hubs: . Permitem a comunicação interdepartamental, preservando domínios de colisão isolados. . Permitem interconectar diferentes tecnologias de LAN (10BaseT , 100BaseT, Gigabit Ethernet). . Não há limites ao tamanho possível de uma LAN. . Filtragem: É a capacidade de determinar se um quadro deve ser repassado para alguma interface ou descartado. . Repasse: É a capacidade de determinar as interfaces que um quadro deve ser dirigido e dirigi-los às interfaces. . A filtragem e o repasse dos switches são feitos pela tabela de comutação: (Endereço MAC, Interface, Horário). . Aprendizahem Automática: . Filtragem e Repasse: 1. A tabela de comutação começa vazia. 2. Quando um quadro chega o switch verifica se o endereço de destino existe na sua tabela. Se estiver na tabela e o endereço de destino do quadro for o mesmo de origem, ele descarta o quadro. Se estiver na tabela e o endereço de destino for diferente de origem, ele repassa a interface indicada. Se não estiver na tabela, ele repassa cópias do quadro para todas as interfaces (flood). 3. Para cada quadro recebido em uma interface o comutador armazena em sua tabela: O endereço MAC fonte do quadro. A interface da qual veio o quadro. O horário corrente. 4. Entradas expiradas na tabela são descartadas (TTL pode ser 60 min). . Acesso Dedicado e Full-Duplex: . Switch com muitas interfaces. . Hospedeiros possuem conexão direta ao switch. . Sem colisões, full duplex. . Comutação Acelerada: Quadro é encaminhado para a porta de saída antes de chegar todo o quadro. . Ligeira redução na latência. . Comutadores versus Roteadores: . Ambos os dispositivos são store-and-forward. . Roteadores: dispositivos de camada de rede (examinam cabeçalhos da camada de rede). . Switches são dispositivos de camada de enlace. . Roteadores mantêm tabelas de roteamento, implementam algoritmos de roteamento. . Switches mantêm tabelas de comutação, implementam filtragem, algoritmos de aprendizado. . Vantagens dos Comutadores: . Plug-and-play. . Podem ter velocidades relativamente altas de filtragem e repasse (só processam até a camada 2). . Desvantagens dos Comutadores: . Está restrita a uma spanning tree. . Em redes de grande porte, tabelas ARP seriam de grande porte e gerariam grande tráfego e processamento. . Não oferecem proteção contra tempestades de broadcast (nó enviando uma corrente sem fim de quadros). . Vantagens dos Roteadores: . Não sofrem limitação da topologia spanning tree. . Proteção de firewall contra tempestades de broadcast. . Desvantagens dos Roteadores: . Não é plug-and-play. . Geralmente apresentam tempo de processamento maior que os comutadores. . Comutadores são ideais para redes de menor porte, pois localizam o tráfego e aumentam a vazão. . Roteadores são ideais para redes maiores, pois fornecem um isolamento de tráfego mais robusto, controlam tempestades broadcast e usam rotas 'mais inteligentes'. - PPP (Protocolo Ponto-a-Ponto): . Frequentemente usado sobre uma conexão de modem discado entre dois hospedeiros. . Exigências do PPP: . Enquadramento do Pacote: Encapsulamento do datagrama da camada de rede em um quadro da camada de enlace. . Transparência: Deve transportar qualquer padrão de bits, sem restrições a um datagrama da camada de rede. . Suportar multiplos protocolos da camada de rede. . Suportar multiplos tipos de enlaces. . Detecção de erros (sem correção). . Vida da conexão: Detecta e sinaliza uma falha de ligação à camada de rede. . Negociação do endereço da camada de rede: Ponto final pode aprender/configurar um endereço de rede do outro. . Simplicidade. . Não-Exigências: . Sem correção de erros. . Sem controle de fluxo. . Entrega fora de ordem. . Sem necessidade de suportar enlaces multiponto. - Formato do Quadro de Dados PPP: <1 Byte >< 1 Byte >< 1 Byte ><1 ou 2 Bytes>< Comprimento Vár. ><2 ou 4 Bytes><1 Byte> +-------+----------+----------+------------+---------------------+-------------+-------+ | Flag | Endereço | Controle | Protocolo | Dados | Verificação | Flag | +-------+----------+----------+------------+---------------------+-------------+-------+ . Flag: Sempre começa e termina com o campo flag (01111110). . Endereço: Único valor possivel (11111111). . Controle: Único valor possivel (00000011). . Protocolo: Referente ao protocolo da camada superior. . Dados: Contém o datagrama encapsulado. . Soma de Verificação: Usado para verificar erros. Usa o CRC padrão HDLC* de 2 ou 4 bytes. . Byte Stuffing: . O que acontece se aparecer a sequencia 01111110 antes do campo flag? . Remetente: Acrescenta um byte extra (stuffs) 01111110 após cada byte 01111110 de dados. . Receptor: . Dois bytes 01111110 em um registro: descartar primeiro byte, continua a recepção de dados. . Único 01111110: byte flag. . Protocolo de Controle de Enlace (LCP): . Faz a abertura, manuntenção, indicação de erro, fechamento de um enlace PPP. . Parecido com a apresentação de 3 vias. . O enlace PPP sempre começa e termina em estado inativo. . Se houver evento de detecção portadora ou intervenção do administrador de rede: . PPP entra no estado de estabelecimento do enlace. . Uma extremidade envia as opções de configuração desejadas usando o LCP configure-request. . O outro lado responde com um quadro configure-ack, configure-nak, ou um configure-reject. . Depois que houver o estabelecimento do enlace, negociadas as opções e realizada a autenticação: . Os dois lados trocam pacotes de controle da camada de rede para cada protocolo de rede. . Assim que a camada de rede esteja configurada, o PPP pode começar a enciar datagramas da camada de rede. . O enlace estará no estado aberto. . Dados poderão fluir pelo enlace PPP. . Quadros echo-request e echo-reply podem ser trocados entre as extremidades pare verificar o estado do enlace. . Se uma extremidade enviar um quadro LCP terminated-request e for respondido com um terminate-ack: . O enlace entrará no estado inativo.