Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tópico 1 - Introdução: Olá, estudante! Os protocolos de comunicação são essenciais para que uma rede funcione plenamente, permitindo a interoperabilidade entre elementos que estão nela interligados. Nesta unidade, serão apresentados os protocolos utilizados nas principais camadas dos modelos de referência OSI e TCP/IP: a camada de aplicação, permitindo que aplicações possam se comunicar em diferentes máquinas na rede; a camada de transporte, que providencia o transporte para uma comunicação fim a fim entre as aplicações; a camada de rede, que realiza o encaminhamento correto dos pacotes de dados na rede; e as camadas física e enlace, que atuam na transmissão dos dados pelos meios de comunicação. Bons estudos! Tópico 2 - Protocolos na Camada de Aplicação: As aplicações são um dos motivos pelos quais os protocolos de comunicação foram criados, tendo como exemplo aplicações de acesso remoto, transferência de arquivos, correio eletrônico e a World Wide Web (www), essa última com um estrondoso sucesso na década de 1990. Para que as aplicações possam operar corretamente em um ambiente de rede, protocolos de comunicação são utilizados como suporte, permitindo que programas em diferentes computadores possam se comunicar pela rede. Essas aplicações estão relacionadas à camada de aplicação, segundo os modelos OSI e TCP/IP, utilizando as camadas inferiores como meio de transporte (Figura 3.1). As aplicações podem apresentar requisitos de transporte diferenciados, como a transferência confiável dos dados, a vazão, a temporização e a segurança. A transferência confiável de dados se refere à garantia de que os dados sejam enviados correta e completamente de uma máquina para outra, mesmo havendo perda de pacotes na rede. A vazão se refere à largura de banda necessária para que a aplicação funcione adequadamente, sendo consideradas aplicações elásticas no caso de haver uma necessidade específica de vazão, entre um mínimo e máximo aceitável. As temporizações são importantes para aplicações que são sensíveis ao atraso, como as aplicações de telefonia IP e videoconferência. A segurança permite que os dados da aplicação possam ser enviados de forma criptografada, garantindo a sua confidencialidade. No Quadro 3.1, a seguir, temos alguns exemplos de aplicações e os requisitos de transporte. A seguir, falaremos sobre como as aplicações são utilizadas nas arquiteturas mais conhecidas e os principais protocolos da camada de aplicação. Arquiteturas de Aplicação de Rede: As aplicações de rede são elaboradas inicialmente pela sua arquitetura, e as mais utilizadas são a arquitetura cliente-servidor e peer-to-peer (P2P). A base dessas arquiteturas de aplicações é a comunicação entre processos. Teremos processos sendo executados em diferentes máquinas que estão trocando informações pela rede. A arquitetura cliente-servidor (client-server) é baseada em máquinas servidoras que oferecem serviços para as aplicações que são executadas em máquinas clientes (Figura 3.2). A aplicação na máquina cliente é um processo que faz requisições para o processo em execução na máquina servidora, que irá responder conforme o solicitado. Normalmente, as máquinas servidoras apresentam endereços de rede fixos, utilizados pelas máquinas clientes para o estabelecimento da comunicação. Nessa arquitetura, não é possível a comunicação entre aplicações de máquinas clientes. Na arquitetura P2P, é utilizada a comunicação direta entre máquinas hosts conectadas alternadamente, denominadas pares, não havendo o provimento de serviços por meio de máquinas servidoras dedicadas. Essa comunicação está representada na Figura 3.2, tendo sido muito utilizada em aplicações de mensagens instantâneas e compartilhamento de arquivos. Nessa arquitetura, temos a comunicação direta entre processos de máquinas hosts. Saiba mais: Além das arquiteturas cliente-servidor e peer-to-peer, está sendo muito utilizada a arquitetura de sistemas distribuídos para as aplicações em rede. Segundo Coulouris et al. (2013), “um sistema distribuído é aquele no qual os componentes localizados em computadores interligados em rede se comunicam e coordenam suas ações apenas passando mensagens”. Um exemplo de recurso utilizado nos sistemas distribuídos são os serviços web (ou web services), em que interfaces são disponibilizadas em rede para o provimento de serviços. Leia o artigo “Serviços web e a evolução dos serviços em TI”, que retrata a integração dos serviços web com e-business, no link disponível. Acessar: <https://www.brapci.inf.br/_repositorio/2010/01/pdf_a1058f0f02_0007434.pdf> No tema a seguir, falaremos de um dos protocolos de comunicação utilizado na camada de aplicação, o protocolo HTTP. https://www.brapci.inf.br/_repositorio/2010/01/pdf_a1058f0f02_0007434.pdf HTTP: Segundo Tanenbaum e Wetherall (2011), a web, ou World Wide Web, é uma estrutura arquitetônica que permite o acesso a documentos vinculados espalhados por milhões de máquinas na Internet. A web começou em 1989 no CERN, o European Center for Nuclear Research, e a ideia inicial era ajudar grandes equipes, com membros espalhados em vários países com fusos diferentes, atuando na colaboração de uma teia de documentos relacionados à física de partículas. Os documentos da web, conhecidos como páginas web, apresentam textos formatados por meio da linguagem HTML (HyperText Markup Language) e links que conectam com outras páginas, sendo tratado como um hipertexto. Por meio de navegadores web (ou browsers), é possível visualizar e navegar entre as páginas web. Os documentos web ficam armazenados em máquinas servidoras, conhecidas como servidores web (web servers) e funcionam dentro da arquitetura cliente-servidor. O protocolo utilizado para a troca desses documentos web entre cliente e servidor web é o HTTP (HyperText Transfer Protocol). Na Figura 3.3, podemos ver que a navegação em uma página web através de um navegador em uma máquina cliente faz a solicitação por meio de uma solicitação HTTP para o servidor web, o qual responde com o documento solicitado. Dentro desse documento, podem conter links para outros conteúdos, como um vídeo do YouTube, ou registros de dados, como Google Analytics. A requisição HTTP é feita normalmente através de nomes que representam os endereços de rede dos servidores web. A tradução desses nomes, conhecidos como URL (Uniform Resource Location), para endereços lógicos de rede (endereços IP), é feita através dos servidores DNS (Domain Name Server). Por exemplo, o endereço www.google.com é traduzido para o endereço IP dos servidores onde estão hospedadas as páginas do Google. São vários servidores DNS espalhados pelo mundo, distribuídos hierarquicamente, atendendo diferentes domínios (por exemplo: .com, .edu, .gov, etc) e países (.br, .cn, .ar etc.). http://www.google.com/ O servidor web não armazena nenhuma informação sobre os clientes, logo o protocolo HTTP é dito como um protocolo Stateless, ou seja, protocolo sem estado. Porém, é possível que o cliente e o servidor possam se comunicar por um longo período de tempo pelo protocolo HTTP, fazendo uso de conexões persistentes ou não persistentes. Nas conexões não persistentes, são realizadas várias conexões com o servidor web para obter os objetos (por exemplo, figuras) que fazem parte do conteúdo de uma página web, sendo uma conexão/requisição por objeto. Nas conexões persistentes, uma conexão apenas permanece para a transferência de todos os objetos da página web. O formato de uma mensagem HTTP pode ser classificado em requisição e resposta. A requisição apresenta alguns campos básicos, como o método, a URL e a versão do protocolo HTTP. O método representa o tipo de solicitação para o servidor web, havendo como exemplos GET, POST e HEAD. Segue um exemplo de mensagem HTTP: GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu Connection: close User-agent: Mozilla/4.0 Accept-language: fr O método GET está sendo utilizado para obter o objeto /somedir/page.html do servidor web www.someschool.edu. O tipo de conexão seránão persistente, devido ao parâmetro Connection com valor close. O navegador utilizado para essa solicitação é o Mozilla e permite aceitação de documentos em francês, pelo campo Accept-language: fr. A resposta de uma solicitação HTTP é feita por meio de uma mensagem com um código de resposta. Esse código pode representar um sucesso, um erro ou uma informação para a solicitação feita. Segue um exemplo para uma resposta: HTTP/1.1 200 OK Connection: close Date: Sat, 07 Jul 2007 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Sun, 6 May 2007 09:23:24 GMT Content-Length: 6821 (data data data data data …) http://www.someschool.edu/ http://www.someschool.edu/ Esse exemplo de resposta mostra um código 200, que representa Ok, uma resposta bem-sucedida. Outros códigos podem ser respondidos, como o 404, no caso de uma página não encontrada, ou 500, erro interno no servidor. Essa mensagem foi respondida por um servidor Apache e contém 6821 bytes, representados pelos dados (data) que vêm adicionados à mensagem, sendo basicamente o objeto HTML solicitado. No próximo tema, trataremos do protocolo utilizado pelas aplicações para transferência de arquivos, o FTP. FTP: O protocolo FTP (File Transfer Protocol) é utilizado para realizar a transferência de arquivos de uma máquina para outra. Isso é realizado por um agente de usuário FTP, em que o processo de uma máquina cliente FTP realiza a transferência com outro processo servidor em uma máquina remota. O protocolo FTP atua de forma similar ao HTTP, porém o FTP utiliza duas conexões para realizar a transferência de arquivos, uma para controle e outra para dados. A conexão de controle é utilizada para o envio de informações como usuário e senha, além de comandos para trocar diretórios remotamente, além de inserir e pegar arquivos. A conexão de dados é utilizada efetivamente para enviar arquivos. O servidor FTP mantém informações de estado sobre usuário, associando a conexão de controle com uma conta de usuário específica, monitorando o diretório corrente enquanto o usuário passeia pela árvore do diretório remoto. A seguir, falaremos sobre o protocolo utilizado no correio eletrônico pelas aplicações, o SMTP. SMTP: O e-mail, ou correio eletrônico, é uma das aplicações mais conhecidas da Internet, sendo utilizado como meio de enviar mensagens de forma eletrônica. A arquitetura de um serviço de correio eletrônico é dividida em dois subsistemas: os agentes do usuário e os agentes de transferência de mensagens. Os agentes do usuário permitem que as pessoas leiam e enviem mensagens através de softwares como o Microsoft Outlook ou Mozilla Thunderbird, enquanto os agentes de transferência de mensagens, também conhecidos como servidores de correio, deslocam as mensagens da origem até o destino. Na Figura 3.5, temos a representação da arquitetura do sistema de e-mail, no qual o agente do usuário envia um correio (mensagem) para um servidor de correio (agente de transferência de mensagem). Esse servidor envia o correio para o servidor de correios destinatário, o qual irá realizar a entrega final para o agente do usuário destinatário. O protocolo utilizado para a comunicação entre os servidores de correio é o SMTP (Simple Mail Transfer Protocol). O formato das mensagens SMTP é baseado em campos de cabeçalho, conforme o Quadro 3.2, a seguir: O envio de mensagens pelo correio é feito pelo protocolo SMTP. Porém, para que o agente do usuário possa obter as mensagens de um servidor de correios, podem ser utilizados os protocolos POP3 (Post Office Protocol versão 3) ou IMAP (Internet Mail Access Protocol) ou o HTTP (Figura 3.6). Os protocolos POP3 e IMAP são utilizados pelos agentes do usuário instalados na máquina cliente para receber os e-mails do servidor de correio. No caso do HTTP, o serviço de e-mail é fornecido por meio de uma página web, sendo conhecido como webmail, como é o caso do Gmail, do Google. Vamos Praticar: O serviço de correio eletrônico é oferecido na camada de aplicação para que mensagens possam ser enviadas de forma eletrônica de forma similar ao correio convencional. Esse serviço é baseado no agente do usuário e no servidor de correios. Assinale a alternativa correta que representa o protocolo utilizado para o envio de e-mails pela rede. a) POP3. b) IMAP. c) ICMP. d) SMTP. e) FTP. Resposta: Link para o print da resposta correta: <https://imgur.com/2XLa6Vy> Tópico 3 - Protocolos na Camada de Transporte: A camada de transporte exerce um importante papel para fornecer serviços de comunicação para os processos de aplicação que estão sendo executados em diferentes máquinas na rede. Segundo Forouzan (2010), essa camada é a responsável pela entrega da mensagem entre processos finais, prestando serviços para a camada de aplicação e utilizando os serviços da camada de rede. https://imgur.com/2XLa6Vy Neste tópico, serão vistos aspectos dos serviços da camada de transporte, bem como os seus principais protocolos utilizados na Internet, o TCP e o UDP. Serviços de Transporte: O objetivo da camada de transporte é oferecer um serviço confiável, eficiente e econômico para os usuários, que estão presentes na camada de aplicação. Para tanto, são utilizados serviços da camada de rede (ou Internet), conforme apresentado na Figura 3.7. O serviço de transporte é realizado pela chamada entidade de transporte, que pode estar no núcleo do sistema operacional, em um pacote de bibliotecas vinculadas às aplicações, em um processo de usuário ou até mesmo na placa de interface de rede. Os serviços de transporte providenciados para as aplicações podem ser classificados como serviços orientados à conexão e não orientados à conexão. No serviço orientado à conexão, é estabelecida uma conexão lógica entre a origem e o destino antes do início da transmissão, garantindo a entrega e a sequência dos dados transmitidos. Isso torna um serviço de transporte mais confiável para aplicações que necessitem da integridade dos dados transmitidos. Já no serviço não orientado à conexão não existe a necessidade de estabelecer uma conexão lógica, não havendo um controle de erros rigoroso, permitindo, assim, a perda de pacotes. Esse tipo de serviço é mais rápido que o serviço orientado à conexão, sendo indicado para aplicações cujo desempenho é mais importante que a confiabilidade. Segundo Tanenbaum e Wetherall, para que os usuários possam utilizar os serviços de transporte, são utilizadas primitivas através de sua interface na camada de transporte. Essa interface apresenta o que um serviço da camada de transporte, como o orientado à conexão, deve fazer. No Quadro 3.3, a seguir, são apresentadas cinco primitivas básicas: Por exemplo, em um serviço orientado à conexão, um servidor executa a primitiva LISTEN, que irá deixar bloqueado até que uma solicitação de cliente apareça. O cliente pode realizar essa solicitação através da primitiva CONNECT. Na camada de transporte, os dados da aplicação são enviados através de segmentos. Junto ao segmento, é adicionado o cabeçalho da camada de transporte, configurando o chamado TPDU (Transport Protocol Data Unit). Logo, na execução da primitiva CONNECT do cliente, um segmento é enviado para o servidor denominado CONNECTION REQ. O servidor é desbloqueado e transmite um segmento CONNECTION ACCEPTED para o cliente. Nesse momento, a conexão é estabelecida, e qualquer uma das partes pode utilizar as primitivas SEND e RECEIVE para enviar e receber dados, respectivamente. A conexão é desfeita então com a primitiva DISCONNECT, o qual terá o envio de um segmento DISCONNECTION REQ. No próximo subtópico, trataremos das informações utilizadas para a comunicação feita pelos serviços de transporte, as portas. Portas de Comunicação: Os sistemas operacionais atuais suportam ambientes multiusuário e multiprogramação, ou seja, é possível que vários processos estejam em execução simultaneamente. A definição dos computadores é feita por meio da camada de rede, porém a identificação dos processos das aplicações em andamento é feita pela camadade transporte, com o uso de portas de comunicação. Com o modelo de referência TCP/IP, temos um campo numérico com o tamanho de 16 bits para a identificação de uma porta, variando de 0 até 65535. Um programa de aplicação na máquina cliente pode fazer o uso de uma porta dita efêmera, que será temporariamente alocada para a comunicação com a aplicação em outro nó de rede. Já em uma máquina servidor, na qual processos podem atender inúmeros clientes, são normalmente utilizadas portas com números previamente definidos, conhecidas como portas bem conhecidas (well known ports), que são permanentemente alocadas. No caso do HTTP, é utilizada a porta bem conhecida 80, o SMTP utiliza a porta 25 e o FTP utiliza as portas 20 e 21. Na Figura 3.8, a seguir, temos um exemplo de uso de portas pela camada de transporte, em que o processo cliente “daytime” está utilizando uma porta efêmera 52000 para a comunicação com o processo servidor “daytime” alocado na porta bem conhecida 13. A entidade padronizadora IANA dividiu o número de portas em três faixas: conhecidos, registrados e dinâmicos: ● Portas bem conhecidas (well known ports): número de porta na faixa de 0 a 1023. ● Portas registradas: número de porta na faixa de 1024 a 49151. Podem ser registradas no IANA para evitar duplicidade. ● Portas dinâmicas (efêmeras): número de porta na faixa de 49152 a 65535. Na pilha de protocolos TCP/IP, o uso de um endereço IP para uma máquina e o número da porta sendo utilizado pelo processo da aplicação nessa caracterizam um socket. Um endereço de socket do cliente identifica um processo da aplicação em execução na máquina cliente, enquanto um socket de servidor representa o processo servidor. Na Figura 3.9, temos um exemplo de socket, em que o endereço de rede IP 200.23.56.8 e o número da porta 69 identificam um endereço de socket específico. Nos próximos subtópicos, abordaremos os protocolos da camada de transporte utilizados no modelo de referência TCP/IP da Internet, o TCP e o UDP. Protocolo TCP: O protocolo TCP (Transmission Control Protocol) oferece funcionalidade para a verificação de pacotes e de erro, sendo utilizado em serviços orientados à conexão. Uma conexão TCP se trata de um fluxo de bytes, e não de mensagens, e essa deve ser full duplex e ponto a ponto. Um segmento TCP contém um cabeçalho de 20 bytes, conforme a Figura 3.10, em que são mencionadas as portas de comunicação e outros dados relativos ao fluxo de dados da conexão. Cada enlace que faz a transmissão de um segmento de dados apresenta uma MTU (Maximum Transfer Unit), que delimita o tamanho do pacote de dados. Isso pode fazer com que o segmento seja fragmentado para a transmissão de pacotes. As conexões TCP são estabelecidas por um processo chamado handshake de três vias, utilizando as primitivas da interface da camada de transporte. Quando o cliente inicia o estabelecimento da conexão através da primitiva CONNECT, especificando o endereço socket e o tamanho máximo do segmento, um segmento TCP é enviado com a flag SYN ativada e a flag ACK desativada, ficando no aguardo de uma resposta. Quando esse segmento chega ao seu destino, é verificado se há um processo que tenha acionado a primitiva LISTEN na porta recebida, e, em caso positivo, poderá recebê-lo. Sendo aceito, é enviado um segmento de confirmação, com as flags de SYN e ACK ativadas. Por fim, o cliente confirma o recebimento deste último segmento com o envio de um segmento com a flag de ACK ativada. Esse processo está ilustrado na Figura 3.11. O encerramento de uma conexão TCP é realizado por meio do envio de um segmento com a flag FIN ativada, indicando que não há mais dados para serem transmitidos. Como é feita uma comunicação full duplex, devem haver quatro segmentos envolvidos para o encerramento: um segmento com flag FIN ativado e a confirmação por um segmento com flag ACK ativado para uma das vias de comunicação e outro segmento FIN com confirmação via segmento ACK para a outra via. O protocolo TCP apresenta um serviço confiável para transporte de dados, permitindo que retransmissões possam ser feitas quando identificada a perda de pacotes. Para tanto, faz uso de temporizadores e apresenta um mecanismo de controle de fluxo baseado em janelas de transmissão, com o suporte de buffers de armazenamento, em que o receptor envia segmentos ACK, confirmando os segmentos recebidos (Figura 3.12). Além do controle de fluxo, apresenta um mecanismo de controle de congestionamento, baseado no número de reconhecimentos ACK recebidos por unidade de tempo com os dados de tempo de ida e volta, em que é realizada uma predição a qual indica se a rede está congestionada ou não. Isso possibilita que o transmissor possa reduzir a velocidade de transmissão para evitar uma sobrecarga na rede. Alguns protocolos da camada de aplicação que fazem uso do protocolo TCP são o HTTP e o FTP. Protocolo UDP: O UDP (User Datagram Protocol) é um protocolo não orientado à conexão e não confiável da camada de transporte, sendo indicado devido à sua simplicidade e eficiência, cujo controle de erros possa ser realizado pela camada de aplicação (FOROUZAN, MOSHARRAF, 2013). É baseado no simples envio de datagramas, sem haver a preocupação da confirmação de recebimento desses pelo destinatário. O cabeçalho utilizado pelo protocolo UDP é mais simples que o TCP, composto pelas informações das portas, checksum e tamanho do datagrama, conforme pode ser visto na Figura 3.13 a seguir: O protocolo UDP não possui mecanismos de controle de erros, nem fluxo, assim como não possui conexões. Esse controle deve ser realizado pela camada de aplicação. Um exemplo de protocolo da camada de aplicação que utiliza o protocolo UDP é o DNS (Domain Name Server). Vamos Praticar: O protocolo TCP (Transmission Control Protocol) é utilizado para prover um serviço orientado à conexão para a camada de aplicação. Com esse protocolo, segmentos dos dados das aplicações são enviados através da camada de rede em direção aos destinatários, para a execução na aplicação correta em execução na máquina remota. Considerando o contexto do protocolo TCP, assinale a alternativa que representa corretamente uma das características deste protocolo: a) Consegue fazer o envio de dados sem o estabelecimento de uma conexão. b) Apresenta um cabeçalho com tamanho de 8 bytes. c) Pode ser utilizado também para serviços não orientados à conexão. d) Possui controle de fluxo. e) Podem enviar uma quantidade de dados acima da MTU de um enlace. Resposta: Link para o print da resposta correta: <https://imgur.com/ixQeYnA> Tópico 4 - Protocolos na Camada de Redes: Os protocolos da camada de rede têm como objetivo o encaminhamento correto dos pacotes de dados desde a origem até o destino ao longo da rede. Para isso, identificações para os nós que fazem parte da rede devem ser utilizadas, possibilitando o correto encaminhamento. O principal elemento de rede com a capacidade de realizar esse encaminhamento dos pacotes é o roteador. Esse equipamento é composto basicamente por portas de entrada, portas de saída, processador e memória. Com base na identificação do destino do pacote recebido em uma porta de entrada, o roteador busca em sua tabela de roteamento o melhor caminho (conhecido como rota) para encaminhar os pacotes através de uma porta de saída. Na Figura 3.14, a seguir, temos um exemplo de tabela de roteamento, em que um pacote com a identificação de destino B deve ser encaminhado para a interface de saída (rota) número 2. https://imgur.com/ixQeYnA É possível haver uma grande quantidade de roteadores ao longo do percurso de um pacote de dados. No exemplo da Figura 3.15, temos a comunicação entre os computadores de Alice e Bob, em que os pacotes trafegam pela rede pelos roteadores R2, R4, R5 e R7. Perceba que os roteadores não precisam processar todas as camadas, somente até a camada de rede, em que estão presentes as identificações do destino a ser atingido. É com base nessa identificação e na sua tabela de roteamento que o roteador irá encaminhar o pacote corretamente.Com isso, é importante entendermos como são representadas essas identificações utilizadas pelos nós da rede, as formas de distribuição e como as tabelas de roteamento podem ser atualizadas. Internet Protocol (IP): O protocolo utilizado para a identificação dos nós interligados na rede Internet é o conhecido IP (Internet Protocol). Esse protocolo apresenta os endereços lógicos que são utilizados para a identificação de cada elemento conectado, permitindo que roteadores possam encontrar os caminhos apropriados para que os dados possam chegar aos destinatários corretos. Existem atualmente duas versões de endereços IP: a versão 4 e 6. A seguir, serão exploradas as particularidades de cada versão. IPv4: A primeira versão de grande amplitude de uso do endereço IP foi a versão 4, que contém 32 bits de tamanho, representando uma quantidade de aproximadamente 4 bilhões de endereços. Cada pacote irá apresentar em seu cabeçalho um endereço IP de origem e um endereço IP de destino, conforme apresentado na Figura 3.16, a seguir: Nesse cabeçalho, existem diversos campos, que estão assim descritos: a) VER: indica a versão do protocolo. b) HLEN: corresponde ao tamanho do cabeçalho em número de blocos de 32 bits. c) Tipo de serviço: indica a classe do serviço para o pacote. d) Comprimento total: indica o tamanho completo do pacote. e) Identificação: utilizado para identificar um datagrama que foi fragmentado, sendo que os fragmentos apresentam a mesma identificação. f) Marcadores: DF (Don’t Fragment – 1 bit) não deve fragmentar, MF (More Fragments – 1 bit) indica que existem mais fragmentos. g) Deslocamento de fragmento: em uma transmissão fragmentada, indica a posição para a recomposição do datagrama. h) TTL: Time To Live, utilizado para limitar o tempo de vida de um datagrama na rede. i) Protocolo: identifica o protocolo da camada de transporte (TCP ou UDP) j) Soma de verificação do cabeçalho: utilizado para a descoberta de erros no cabeçalho do datagrama. k) Endereço IP de origem: armazena o endereço IP de quem originou o datagrama. l) Endereço IP de destino: armazena o endereço IP do equipamento que receberá o datagrama. m) Opções: opcional, permite o acréscimo de novas funcionalidades ao protocolo. No caso da fragmentação, essa pode ocorrer quando o tamanho do datagrama é maior que a capacidade máxima de transmissão (MTU) do enlace. Na Figura 3.17, temos um exemplo de fragmentação, em que um datagrama contendo 4000 bytes de dados é fragmentado em três fragmentos. Note que o último fragmento muda a flag MF, indicando que não há mais fragmentos. Os 32 bits referentes ao endereço IP no formato binário podem ser representados no formato decimal, com uma divisão em quatro octetos separados por ponto. Exemplo: - 11000000101010000000000000000001(formato binário); - 192.168.0.1 (formato decimal). O endereço IP pode ser dividido em duas partes: a rede e o host. A rede representa o segmento de rede ao qual o endereço IP pertence, enquanto o host é uma identificação única para a máquina que está conectada nessa rede. Quando a parte do host possui todos os bits em ‘0’, identifica-se como endereço de rede. Se todos os bits de host estiverem com valor ‘1’, o endereço IP é utilizado como endereço de broadcast, utilizado para difusão do pacote para todas as máquinas da rede. Uma classificação em relação a isso foi definida, em que temos diferentes faixas de endereço categorizadas em classes, indicando a quantidade de endereços máxima para cada rede, conforme a Tabela 3.1, a seguir: Além dessa classificação por classes de endereços, existem diferentes tipos de endereços IP, como públicos e privados. Os endereços IP públicos são aqueles publicamente reconhecidos, como os da Internet. Os endereços IP privados são aqueles utilizados no âmbito interno de uma rede corporativa ou doméstica. Assim, temos as seguintes faixas de endereços IP privados, conforme a classe: Para redes locais, é comum utilizar endereços IP privados em seus equipamentos. A fim de que esses possam se conectar com a Internet, endereços IP públicos são necessários, e algumas funcionalidades de rede podem ser utilizadas, como NAT (Network Address Translation) e PAT (Port Address Translation). NAT realiza o mapeamento de endereços IP privados para endereços IP públicos, enquanto o PAT utiliza o número de porta da camada de transporte, sendo usado pela aplicação em conjunto com o endereço IP privado para o mapeamento em endereço IP público. Os endereços IP podem ser alocados de forma estática ou dinâmica. No caso estático, os endereços são atribuídos manualmente e de forma fixa para os equipamentos. A alocação dinâmica não requer essa intervenção manual, e cada máquina solicita a um servidor utilizando o protocolo DHCP (Dynamic Host Control Protocol), para receber um endereço IP a ser utilizado temporariamente enquanto estiver conectado à rede. IPv6: Tendo em vista o rápido crescimento da Internet e tecnologias que permitem conexão a essa rede global, os endereços IP na versão 4 começaram rapidamente a ficar escassos até a sua completa exaustão. Tendo em vista que novos endereços IP seriam necessários, foi criada uma nova versão do IP, a versão 6. O endereço IPv6 apresenta um tamanho de 128 bits, indicando uma quantidade extremamente maior que a obtida pelo IPv4. O seu cabeçalho foi alterado, conforme apresentado na Figura 3.18, a seguir: Os campos classe de tráfego, rótulo de fluxo, tamanho dos dados, próximo cabeçalho e limite de encaminhamento foram criados para o IPv6 em comparação ao IPv4. O campo classe de tráfego é usado para indicar a classe de serviço pertencente ao pacote. O campo rótulo de fluxo é usado para aplicações que requeiram desempenho. O campo tamanho dos dados indica o tamanho da carga útil (payload) do pacote. O campo próximo ao cabeçalho se trata de um ponteiro para uma extensão do cabeçalho. O campo limite de encaminhamento indica a quantidade de saltos permitida antes do pacote ser descartado. O endereço IPv6 pode apresentar uma representação hexadecimal, com oito grupos de 16 bits separados por dois pontos. Por exemplo: 2001:0DB8:0000:0000:DAD0:CAFE:FFDD:0051 Algumas regras de simplificação do endereço IPv6 foram criadas: ● Se dentro de um grupo de 16 bits houver somente zeros, pode ser substituído por um único zero. ● Se houver uma sequência de um ou mais grupos de zeros, esses podem ser substituídos por “::”. Porém, só pode ser feita essa simplificação uma única vez em um endereço IPv6. Exemplos de simplificação: ● O endereço IPv6 2001:0DB8:0000:0000:DAD0:CAFE:FFD:0051 pode ser representado pelo endereço 2001:DB8::DAD0:CAFE:FFD:51. ● O endereço IPv6 2001:0DB8:0000:0000:DAD0:0000:0000:0051 pode ser representado por 2001:DB8::DAD 0:00:00:0051. O endereço IPv6 também pode ser dividido em partes com identificação de rede global, identificador de sub-rede e identificador de host, conforme Figura 3.19, a seguir: No IPv6, existem três tipos de endereçamento: a) unicast, que identifica o endereço de uma interface de rede de forma única; b) multicast, que identifica um grupo de interfaces dispositivos ou serviços por meio de um endereço reservado FF00::/8; c) anycast, utilizado para identificar um grupo de interfaces como uma sub-rede. No IPv6, não existem endereços de broadcast. Reflita: Com o crescimento da Internet e dos dispositivos tecnológicos a ela conectados, o uso de endereços IPv6 se torna cada vez mais intensivo, e atualmente todas as placas de interface de rede já saem de fábrica com esse suporte. Leia o artigo Novos negócios baseado na internet das coisas e reflita sobre como a Internet das coisas pode promover o aumento de dispositivos conectados, demandando mais endereços IP. Disponível em: <https://revistafae.fae.edu/revistafae/article/view/402> Após o entendimento dos formatos de endereços IPv4 e IPv6, veremos como próximo tema o endereçamento de sub-redes, que ajuda a trazer uma maior organização para a alocação de endereços IP. Endereçamento de Sub-Redes: A fim de flexibilizar e obterum melhor aproveitamento dos endereços IP, através da divisão destes em diversas partes para uso interno, é proposto o uso da subdivisão de redes, conhecida como sub-redes. Essa divisão é possível pelo uso de máscaras de sub-rede, em que a parte de rede é mapeada com bits ‘1’ e a parte de host com bits ‘0’. Por exemplo, considerando as conhecidas classes A, B e C de endereços: Na classe A, a máscara 255.0.0.0 identifica o primeiro octeto como sendo de rede, pois apresenta todos os seus bits em ‘1’, resultando no valor decimal 255. Os três demais octetos são utilizados para host, considerando os endereços de rede e broadcast. No caso da classe B, temos os dois octetos (255.255) utilizados para rede, assim como em endereços classe C são utilizados três octetos (255.255.255). Pode-se representar a máscara de sub-rede através da notação “/x”, o qual x representa o número de bits referente à parte de rede do endereço IP. Por exemplo, no endereço de classe A teríamos a máscara /8, na classe B a máscara /16, e a classe C a máscara /24. A máscara de sub-rede apresenta uma flexibilidade para ampliar a quantidade de bits para representação da parte de rede, não se limitando às classes A, B e C com suas máscaras fixadas em /8, /16 e /24. Temos, então, o conceito de VLSM (Variable Length Subnet Mask), https://revistafae.fae.edu/revistafae/article/view/402 em que a máscara de sub-rede pode “emprestar” bits da parte de host aplicando como sendo integrante da rede e utilizando esses bits para identificação da sub-rede. Isso permite que, a partir de um endereço IP, possamos criar diferentes sub-redes, para uma melhor segmentação. Exemplo: A partir do endereço IP classe C, 192.168.0.1/24, criar quatro sub-redes que serão utilizadas cada uma para um departamento diferente: sub-rede 1 para o departamento de finanças, sub-rede 2 para o departamento de RH, sub-rede 3 para o departamento de vendas e sub-rede 4 para o departamento de suprimentos. O endereço classe C 192.168.0.1/24 também pode ser representado assim: 192.168.01, máscara de sub-rede: 255.255.255.0. Isso indica que o último octeto é utilizado para host. Para criar quatro sub-redes, são necessários dois bits (00, 01, 10, 11). Esses dois bits serão emprestados da parte de host e utilizados na parte de rede, mudando a máscara para 26 ou 255.255.255.192. Assim, teremos: Assim, por meio da variação dos bits da máscara de sub-rede, é possível criar sub-redes que venham a otimizar o uso de endereços IP em função da quantidade de hosts necessários para cada segmento de rede. No endereçamento IPv6, o mesmo conceito de máscara de sub-rede através da notação “/x” pode ser aplicado para a criação de sub-redes. Protocolos de Roteamento: O roteador utiliza a tabela de roteamento para buscar as rotas pelas quais o pacote pode ser encaminhado na rede. Essa tabela pode ser construída de forma manual, ou seja, um administrador de rede pode montar e configurar em cada roteador a tabela que relaciona endereços IP com as rotas para encaminhamento. Entretanto, em uma rede muito ampla, com uma quantidade expressiva de roteadores, esse trabalho pode se tornar muito dispendioso, pois, sendo a rede dinâmica, mudanças podem acontecer a qualquer momento, necessitando atualizar a tabela de roteamento em todos os roteadores da rede. Para reduzir o trabalho de atualização da configuração da tabela de roteamento nos roteadores, algoritmos foram elaborados para que, através de protocolos de comunicação, possam atuar de forma automática na rede. Assim, quando um roteador tem alguma mudança que impacta no roteamento, esses dados são atualizados na tabela e repassados para os outros roteadores sem a necessidade de intervenção humana. Esses algoritmos ficaram conhecidos como algoritmos de roteamento. Os algoritmos mais conhecidos são o algoritmo de estado de enlace e o vetor distância. Algoritmo Estado de Enlace: O algoritmo de enlace é baseado no conhecimento dos roteadores da topologia da rede. Os roteadores estabelecem uma relação com os vizinhos chamada de adjacência. Cada roteador envia informações sobre seus enlaces para os vizinhos, por meio da mensagem LSA (Link State Advertisement). Essa mensagem é repassada roteador a roteador na rede, construindo um banco de dados topológico e criando um mapa de toda a rede. A partir da análise desse banco de dados topológico e utilizando o algoritmo de Dijkstra, é determinado o menor caminho (melhor custo) na tabela de roteamento para os endereços IP. Até que todos os roteadores estejam com o mesmo banco de dados topológico, ocorre o processo de convergência. Exemplo de protocolo que utilizam o algoritmo de estado de enlace: OSPF (Open Shortest Path First). Algoritmo Vetor Distância: O algoritmo vetor distância consiste no envio periódico da tabela de roteamento para os roteadores vizinhos, sendo utilizados mecanismos como split horizon, para evitar loops de roteamento, que consiste em não enviar para o roteador vizinho rotas aprendidas a partir dele mesmo. As tabelas de roteamento são construídas a partir de troca de mensagens. Inicialmente, o roteador só conhece as redes conectadas diretamente a ele. Tendo sido feita a transmissão dessas informações e das rotas aprendidas pelos outros vizinhos, as tabelas de roteamento dos roteadores chegarão a um estado consistente em um processo de convergência. São utilizadas métricas para identificar os melhores caminhos, por exemplo, o número de saltos na rede. Exemplos de protocolos de roteamento que utilizam o algoritmo de vetor distância: RIP (Routing Information Protocol), RIPv2 e IGRP (Internal Gateway Routing Protocol) da Cisco. Protocolos ICMP: O protocolo ICMP (Internet Control Message Protocol) é um protocolo da camada de rede utilizado para relatar eventos inesperados ao transmissor relacionado ao processamento de pacotes pelo roteador ou equipamento interligado na rede. As mensagens ICMP podem ser divididas em duas categorias: mensagens de relatório de erro e mensagens de consulta. As mensagens de relatório de erro são utilizadas para relatar erros que podem ocorrer no processamento de datagramas IP. Já as mensagens de consulta são utilizadas para testar ou verificar a disponibilidade de estações e roteadores na Internet. Na Figura 3.20, a seguir, temos o formato do cabeçalho das mensagens ICMP: O campo tipo de mensagem identifica a mensagem ICMP, enquanto o campo código representa a razão particular para o tipo de mensagem. Segundo Tanenbaum e Wetherall (2011), são definidos 12 tipos de mensagens ICMP, e cada uma é transportada de forma encapsulada em um pacote IP. Na Tabela 3.5, a seguir, temos os principais tipos de mensagem ICMP: Alguns exemplos de aplicações que utilizam os mecanismos de mensagem de consulta do protocolo ICMP são o ping e traceroute. O ping é utilizado para checar se uma estação está ativa com base no seu endereço IP através de solicitações e respostas de eco. Na Figura 3.21, a seguir, temos um exemplo de execução do comando ping: Na resposta do comando ping, são devolvidos o endereço IP da máquina que responde ao eco, o número de saltos TTL e o tempo de ida e volta. Já o comando traceroute é utilizado para rastrear o caminho de um pacote da origem até o seu destino. A seguir, temos um exemplo de retorno do traceroute: Vemos na resposta apresentada quatro saltos na rede para atingir o destino. Por meio desse comando traceroute, é possível identificar o enlace na rede que pode estar apresentando problemas quando o pacote não atinge seu destino. Tendo visto os principais aspectos dos protocolos na camada de rede, podemos ir para o próximo tópico relacionado às camadas mais baixas: física e enlace. Vamos Praticar: O endereço IPv4 é ainda muito utilizado nas redes, apesar do crescimento da adoção do protocolo IPv6. Com 32 bits, o endereço IPv4 é dividido em duas partes: rede e host. Na parte de host, nem todos os endereços possíveis podem ser alocados, pois dois deles são especiais para outros propósitos. Com base nesse contexto do IPv4, assinalea alternativa que apresenta o endereço especial na rede em que todos os bits de host estão com valor “1”: a) Endereço de rede. b) Endereço físico. c) Endereço de servidor. d) Endereço de broadcast. e) Endereço de multicast. Resposta: Link para o print da resposta correta: <https://imgur.com/s1jYFfd> https://imgur.com/s1jYFfd Tópico 5 - Protocolos na Camada de Enlace/Física: Após a aplicação fazer uso da camada de transporte para criar uma comunicação entre máquinas através de serviços orientados ou não à conexão e, posteriormente, utilizar a camada de rede para criar o endereçamento lógico para o encaminhamento ao longo da rede, chega a vez da camada de enlace e física, que, no modelo TCP/IP, é conhecida como acesso ao meio. Segundo Loureiro et al., no nível de enlace temos a coordenação da comunicação realizada no nível físico da rede, controlando o acesso e identificando problemas durante a transmissão dos sinais que representam os dados entre dois equipamentos conectados diretamente. Durante o processo de transmissão de dados, o enlace recebe os datagramas IP (pacotes) da camada de rede e os organiza em formato de quadros (frames), preparando-os para a transmissão no meio físico. Os quadros são organizados de tal forma que no fluxo de bits possam ser identificados pelo lado receptor, sendo o mais comum a adoção de inserção de bytes de flags que delimitam o início e fim de um quadro. Também são inseridos nos quadros mecanismos para a detecção e correção de erros, com o uso de códigos de detecção de erros, como paridade, checksums e verificações de redundância cíclica (CRC) e códigos de correção de erros, tendo como exemplos os códigos de Hamming, códigos de convolução binários, código de Reed Solomon e códigos de verificação de paridade de baixa densidade. Um enlace é formado pelo compartilhamento do meio físico entre duas interfaces (placa) de rede. Para que haja comunicação através desse enlace, é necessário que os mesmos protocolos de nível de enlace e físico sejam utilizados. Devido à arquitetura em camadas, é possível selecionar o nível de enlace e físico mais apropriado para compor a infraestrutura da rede, como a adoção de enlaces de fibras ópticas para a conexão física entre dois equipamentos ou o uso de enlaces via radiofrequência para dispositivos móveis em redes sem fio. Tipos de Acesso ao Meio Físico: Tendo em vista a possibilidade de duas estações na rede transmitirem simultaneamente no mesmo meio físico compartilhado, podem ocorrer as chamadas colisões. Para tanto, é importante que o nível de enlace faça um controle sobre o acesso ao meio físico, para evitar interferências mútuas nos sinais transmitidos. As redes de acesso ao meio ordenado promovem um controle sobre o momento que determinada estação passa a ter o privilégio de transmissão, ou seja, cada estação tem um momento específico para transmitir um quadro de enlace. Para esse tipo de acesso, existe um tempo máximo que uma estação deve aguardar para transmitir, conhecido como retardo máximo conhecido. Alguns exemplos de redes com acesso ao meio ordenado: ● Redes token bus: redes que utilizam um quadro especial denominado token, estabelecendo uma ordem de acesso em uma topologia de rede em barramento. Uma das estações cria o token e o transmite para a próxima estação na fila. Ao receber o token, essa estação pode transmitir um quadro de dados. O token, ao chegar à última estação da fila, repassa para a primeira. ● Redes token ring: atuam de forma similar a rede token bus, porém em uma topologia de rede em anel. Nessa rede, a estação que recebe um token livre e possui um quadro de dados para transmissão envia um token ocupado e esse quadro. Após o envio do quadro, é criado um novo token livre para o anel. ● Redes FDDI (Fiber Distributed Data Interface): estão estruturadas em anéis duplos, utilizando o processo de acesso ao meio similar à rede token bus, em que é criada uma fila e passagem de bastão entre as estações. Esse tipo de rede é muito utilizado em backbones de comunicação. ● Redes bluetooth: utilizadas para redes pessoais sem fio, a transmissão é realizada com um subcanal por apenas um slot de tempo e salta entre subcanais de forma pseudo aleatória. A coordenação dos saltos é feita por meio de uma estação master. Outro tipo de acesso é o realizado pelas redes de acesso ao meio compartilhado, em que não há uma ordem específica para a transmissão. Nesse tipo de acesso, podem ocorrer colisões, e o meio de enlace deve detectar e corrigir essa situação por meio de retransmissões. A vantagem está no fato de não ser necessária a estação aguardar um token para poder transmitir. Uma técnica utilizada para o acesso ao meio compartilhado é o CSMA (Carrier Sense Multiple Access), no qual a estação identifica se há alguma transmissão em andamento antes de transmitir. O algoritmo CSMA 1-persistent indica que a estação que detectou uma transmissão permanece escutando o meio até que fique livre. Na Figura 3.24, a seguir, temos que a estação C fica no aguardo do término da transmissão que está em andamento pela estação A, para transmitir assim que o meio estiver livre. Porém, no caso de duas estações transmitirem simultaneamente, uma colisão ainda pode ocorrer. Outra alternativa de acesso ao meio compartilhado é o CSMA p-persistent, em que a estação, ao perceber que o meio está livre, realiza um cálculo probabilístico (probabilidade p) para decidir se transmite ou não. Se o resultado do cálculo indicar que não deve transmitir, a estação aguarda um tempo predefinido para tentar a transmissão novamente. Como exemplos de redes que utilizam o acesso ao meio compartilhado, temos: ● Redes Ethernet: padronizadas no documento IEEE 802.3, são as redes locais mais utilizadas atualmente. Utilizam o protocolo CSMA/CD (Carrier Sense Multiple Access/Collision Detection), com 1-persistent. ● Redes Wi-Fi: redes locais sem fio padronizadas pelo documento IEEE 802.11. Foram definidas com base no padrão Ethernet, utilizando o protocolo CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) com p-persistent. No próximo subtópico, falaremos sobre o padrão Ethernet, o mais utilizado nas redes locais atualmente. Ethernet: O padrão Ethernet, definido no documento IEEE 802.3, é aplicado nas redes locais com cabos. Para a interconexão dos computadores nessa rede, eram utilizados equipamentos concentradores, conhecidos como hubs, que foram substituídos pelos equipamentos switches. Os switches realizam a comutação de quadros entre os enlaces que estão neles conectados e podem operar nos modos full duplex e half duplex. As redes Ethernet oferecem um serviço não orientado à conexão e não apresentam mensagens de erro. O quadro Ethernet suporta no mínimo 46 bytes e no máximo 1500 bytes, vindos da camada de rede. Incluindo o cabeçalho, o quadro Ethernet pode ter o tamanho de 64 bytes até 1518 bytes. O formato deste quadro está apresentado na Figura 3.25, a seguir: O preâmbulo permite sincronizar o emissor e o receptor no nível de enlace. SFD (Start Frame Delimiter) delimita o início de um quadro. O campo de destino refere-se ao endereço físico da estação de destino, enquanto o endereço de origem refere-se ao endereço físico da estação de origem. O tipo indica o protocolo no nível de rede que está sendo transportado pelo quadro (ex.: IP). A seguir, temos o campo de dados e o campo CRC, esse último para a detecção de erros. Endereços Físicos: Nas redes Ethernet, os endereços utilizados são conhecidos como endereços MAC (Media Access Control) e são os endereços físicos atribuídos às placas de interface de rede (NIC – Network Interface Card). São endereços únicos e exclusivos globalmente, sendo representados por octetos hexadecimais separados por dois pontos ou traço simples. Exemplo: 08:00:27:7D:A1:85. A primeira parte do endereço MAC (3 bytes) representa a identificação do fabricante de hardware. A segunda parte identifica a interface propriamente dita, sendo controlada pelo fabricante de hardware. Existem três tipos de endereçosEthernet: ● Unicast: identifica uma interface de rede (oitavo bit é sempre igual a zero). ● Multicast: identifica várias interfaces de rede (oitavo bit é sempre igual a um) ● Broadcast: identifica todas as interfaces da rede (todos os bits estão em um). O endereço de broadcast é FF:FF:FF:FF:FF:FF. Os equipamentos switches associam-se a cada porta que tem um equipamento conectado o seu endereço físico. Para realizar a consulta da relação entre os endereços físicos (MAC) e endereços lógicos (IP), é utilizado o protocolo ARP (Address Resolution Protocol). Nesse protocolo, é enviada uma mensagem em broadcast solicitando o endereço MAC relacionado a um endereço IP. CSMA/CD: As redes Ethernet utilizam o protocolo CSMA/CD (Carrier Sense Multiple Access/Collision Detection) para realizar o controle de acesso ao meio. Nesse protocolo, antes de uma estação transmitir, ela escuta a rede para verificar se há alguma transmissão em andamento (carrier sense). Se o canal estiver livre, é feita a transmissão, do contrário, é aguardado. É possível que, mesmo que o meio esteja livre, duas estações decidam transmitir simultaneamente, podendo ocasionar uma colisão. Quando ocorre a colisão, as estações escolhem um tempo aleatório para tentar uma nova transmissão. Esse tempo de espera aleatório é calculado pelo algoritmo de backoff, que determina o momento em que a estação poderá tentar enviar suas mensagens novamente, sendo que, após 10 tentativas, o quadro é descartado. Nomenclatura Ethernet no Nível Físico: O Ethernet apresenta alguns padrões relacionados à largura de banda, significativa no nível físico. Esses padrões estão representados na Tabela 3.6, a seguir: O padrão de 10 Mbps é conhecido por Ethernet. Já os padrões 100 Mbps são denominados Fast Ethernet e 1 Gbps é tratado como Gigabit Ethernet. No próximo subtópico, trataremos do padrão Wi-Fi, utilizado para as redes sem fio, e que teve como base o padrão Ethernet. Wi-FI: As redes Wi-Fi são redes sem fio cuja terminologia vem do inglês wireless (sem fio) e fidelity (fidelidade), tendo a interoperabilidade de equipamentos controlada pela Wi-FI Alliance. O padrão utilizado para as redes sem fio é a IEEE 802.11. O controle de acesso ao meio realizado pelas redes Wi-Fi é o CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance). Os passos desse protocolo são: 1. Após verificar que o canal está livre, a estação aguarda um tempo denominado DIFS (DCF Interframe Space). 2. Se o meio continua livre após esse tempo, é escolhida uma janela de contenção baseada em fatias de tempo, similar ao algoritmo de backoff das redes Ethernet. 3. A cada fatia da janela de contenção, o meio é testado. Se estiver ocupado, o tempo é congelado, caso contrário a fatia é diminuída. 4. Após o término da janela de contenção, a estação envia um pedido de transmissão RTS (Request To Send). 5. Ao receber a mensagem RTS, a estação destino aguarda um intervalo de tempo SIFS (Short Interframe Space) e envia uma confirmação para a origem CTS (Clear To Send). 6. Após também aguardar o intervalo de tempo SIFS, a estação de origem envia os dados para a estação destino. 7. Após um tempo SIFS, a estação destino envia uma confirmação para o recebimento correto dos dados através da mensagem ACK. Na Figura 3.26, a seguir, temos uma representação da troca de mensagens e temporização utilizadas no CSMA/CA: Outro método para controle de acesso ao meio, porém pouco utilizado, é o PCF, em que o AP (Access Point) utiliza um processo de varredura para identificar as estações que estão aguardando para transmitir. O formato do quadro IEEE 802.11 utilizado para a troca de informações via redes sem fio está apresentado na Figura 3.27, a seguir: Nesse quadro, temos delimitadores e detecção de erros, como no quadro Ethernet, além dos endereços utilizados. Esses endereços também utilizam o mesmo padrão do Ethernet, ou seja, são os endereços MAC (endereço físico) das placas de interface de rede sem fio. VLAN: Os switches, que realizam a comutação no nível de enlace, podem apresentar uma funcionalidade que pode ser muito útil para o gerenciamento de redes, a VLAN (Virtual Local Area Network). Segundo Loureiro et al. (2014), o recurso da VLAN permite que o switch tenha diferentes redes lógicas que não se conectam entre si dentro do mesmo equipamento. Na Figura 3.28, a seguir, temos um switch com a configuração de duas redes VLAN, uma destinada ao departamento de RH e outra para o departamento de produção. Para essa funcionalidade, é preciso definir uma marca (tag) para a VLAN para as portas às quais as máquinas que farão parte dessa rede lógica estão conectadas. É possível configurar VLANs em portas de diferentes switches, como mostrado na Figura 3.29. Nesse caso, é necessário o uso do modo VLAN trunk nas interfaces entre os switches. O uso de VLAN traz uma flexibilidade muito grande para uma melhor administração da rede, principalmente quando seja interessante dividir a rede local em diferentes redes lógicas. No próximo subtópico, falaremos sobre alguns aspectos do nível físico de comunicação. Codificação e Sinalização no Nível Físico: No nível físico de transmissão, é importante que o lado transmissor esteja alinhado com o lado receptor de uma comunicação de dados, de forma a gerar e interpretar corretamente os bits enviados pelo meio. Em função disso, diferentes mecanismos de codificação podem ser utilizados para sinalizar a representação dos níveis lógicos “0” e “1” realizados em uma transmissão digital. Três grupos se destacam: codificação polar, codificação bipolar e codificação multinível. Codificação Polar: Na codificação polar, o sinal elétrico oscila entre um valor positivo e negativo. Podemos ter a codificação NRZ-L, em que valores positivos representam o bit “0” e valores negativos o bit “1”. Na codificação NRZ-I, são detectadas as inversões de polaridade, que representam o bit “1” e as não inversões para o bit “0”. Essas codificações estão representadas na Figura 3.30, a seguir: Um problema nesse tipo de codificação é a constância da potência do sinal, que pode prejudicar o alinhamento entre transmissor e receptor. Na codificação RZ, podemos contornar esse problema, com o sinal mudando durante a transmissão do bit e não entre cada um. Isso está refletido na Figura 3.31. Outro tipo de codificação polar é o Manchester e o Manchester diferencial. No Manchester, os bits são definidos pela transição do sinal, enquanto no Manchester diferencial a transição é feita no início do sinal apenas para o bit “0”. Além da codificação polar, podemos ter mais polaridades que podem ser utilizadas, como na codificação bipolar. Codificação Bipolar: Na codificação bipolar, são utilizados três níveis de polaridade (tensão): positivo, negativo e zero. Nesse caso, teremos o valor de um bit na tensão zero e outro bit nos outros dois níveis de tensão. Um dos exemplos é a codificação AMI, retratada na Figura 3.33, a seguir: Nessa codificação, o bit “0” é representado pelo nível zero, enquanto o bit “1” é sinalizado pelas outras polaridades negativa e positiva de forma alternada. No modo pseudoternário, o bit “1” é representado pelo nível 0 de sinal, enquanto o bit “0” é representado pela sinalização das outras polaridades (negativa e positiva), de forma alternada. Codificação Multinível: A codificação multinível apresenta mais bits para a mesma sinalização. Um exemplo é a codificação 2B1Q, conforme mostrado na Figura 3.34, a seguir: Nessa codificação, temos a representação de dois bits para um nível de sinal. Assim, dependendo do nível, dois bits devem ser reconhecidos no lado receptor. É possível também o uso de sinalização analógica para uma transmissão digital. Nesse caso, é utilizado o processo de modulação, em que dois tipos de sinais são “misturados”. Alguns exemplos de sinalização analógica estão apresentados no Quadro 3.4, a seguir: Para o nível de transmissão, devem ser consideradas as taxas de transmissão (bps), tendo em vista que transmissor e receptor devem estar alinhados.Logo, a mesma taxa deve ser utilizada em ambos os lados, além da mesma forma de sinalização e codificação no meio físico. Vamos Praticar: O Ethernet é o padrão mais utilizado para redes locais, atuando principalmente na camada de acesso ao meio. Apresenta um padrão de formato de quadros utilizado na camada de enlace, em que endereços são utilizados para enviar os quadros. Assinale a alternativa correta que apresenta o endereço utilizado no quadro Ethernet na camada de enlace: a) Endereço de socket. b) URL. c) Endereço IP. d) Endereço MAC. e) Endereço lógico. Resposta: Link para o print da resposta correta: <https://imgur.com/IsYt0tO> Tópico 6 - Material Complementar: LIVRO: Redes de computadores – Uma abordagem top-down Editora: Bookman Autor: Behrouz A. Forouzan e Firouz Mosharraf ISBN: 978-85-8055-169-3 Comentário: Os capítulos 2, 3, 4 e 5 dessa obra apresentam de uma forma didática os assuntos abordados nesta unidade, complementando os conceitos apresentados. Possui uma estrutura de tópicos bastante interessante, fazendo uma ligação do conteúdo com os temas voltados para a maior rede de computadores, a Internet. FILME: Internet – Redes de computadores - Ano: 2012 Comentário: Esse vídeo apresenta em um formato animado como os pacotes de dados são gerados e transmitidos pela rede Internet, através de roteadores e em redes locais nos switches. Também apresenta alguns conceitos como proxy, firewall, largura de banda, meios de transmissão, servidores web e portas de comunicação, complementando os conceitos vistos nesta unidade. Link trailer: <https://www.youtube.com/watch?v=Iqcp3k8DgGw> https://imgur.com/IsYt0tO https://www.youtube.com/watch?v=Iqcp3k8DgGw Tópico 7 - Conclusão: Neste tópico, foram abordados os principais protocolos e particularidades utilizados nas redes de comunicação de dados. Na camada de aplicação, protocolos são utilizados para suportar as aplicações em sistemas computacionais para comunicação em rede. Essas fazem uso dos serviços de protocolos de transporte, nos quais são utilizadas portas para comunicação das aplicações. Os protocolos de transporte recorrem à camada de rede para que os dados sejam enviados através de pacotes com endereços lógicos conhecidos pela rede, a fim de alcançar seu destino. E, para assegurar a correta transmissão pelo meio físico, os dados de pacotes de dados são preparados pelas camadas de enlace e física.
Compartilhar