Prévia do material em texto
AULA 2 ARQUITETURA E PRÁTICAS TCP/IP I E II Profª Cassiana Fagundes da Silva 2 CONVERSA INICIAL Para Maia (2009), o desenvolvimento de uma arquitetura de redes de computadores não é uma tarefa trivial, pois envolve vários aspectos de hardware e software, como o interfaceamento com o meio de transmissão, especificação, verificação e implementação de protocolos, segurança e desempenho, entre outros. Como alternativa e melhoria para criação de uma arquitetura de redes de computadores, o modelo em camadas foi desenvolvido. Fazendo uma analogia sobre o assunto, percebe-se que este modelo busca reduzir a complexidade do projeto de arquitetura de redes, da mesma forma que a programação auxilia no desenvolvimento de sistemas. Desta forma, esta aula tem como objetivo: Entender os conceitos básicos do modelo em camadas; Conhecer o funcionamento do modelo, descrevendo a comunicação vertical e comunicação horizontal; Identificar os protocolos de redes; Entender a arquitetura TCP/IP; Conhecer os órgãos padronizadores dos modelos em camadas. CONTEXTUALIZANDO Grande parte das organizações, de modo geral, vem expandindo seus serviços e, para isso, adotando redes e arquiteturas de computadores mais potentes para que possam desempenhar suas tarefas e trocar informações de modo rápido e seguro. Porém, a comunicação entre aplicações executadas em máquinas distintas envolve uma série de detalhes que devem ser cuidadosamente observados para que ocorra de maneira precisa, segura e livre de erros. Como alternativa, para os problemas de comunicação entre as máquinas, faz-se necessária a implementação de um modelo de camadas ou níveis, pois este apresenta uma arquitetura de redes estruturada. TEMA 1 – MODELO DE CAMADAS Normalmente, na área computacional, quando se refere a modelo de camadas, entende-se que o problema ou projeto será dividido em funções 3 independentes para, posteriormente, serem agrupados em camadas. Em redes de computadores o modelo de camadas seria responsável pela divisão do projeto de rede em funções independentes, isto é, cada camada de rede seria responsável por um serviço a ser desenvolvido e, apenas esta camada pode oferecê-los. Desta forma, um modelo de camadas é constituído por várias camadas, sendo cada uma responsável por determinados serviços e, principalmente, por realizar a comunicação entre as camadas superiores e inferiores. Este modelo, geralmente, adota o conceito de abstração, ou seja, os detalhes como os serviços são oferecidos em uma camada não dizem respeito à camada superior ou inferior e vice-versa. Logicamente, entende-se que as camadas do mesmo nível conversam entre si, respeitando suas regras e protocolos existentes nesta camada, conforme analogia ilustrada na Figura 1. Figura 1 – Analogia do funcionamento do modelo de camadas Conforme ilustrado na Figura 1, existem dois engenheiros que falam línguas diferentes e, para que possam se comunicar, faz-se necessário a utilização de um tradutor, que fala alemão. Desta forma, o engenheiro português encaminha a mensagem ao tradutor que a encaminha ao telegrafista que, por sua vez, transmite para o telegrafista em outro país. Quando esta mensagem é recebida, o telegrafista a transfere ao tradutor, que a traduz e entrega ao engenheiro que fala somente inglês. Para a comunicação entre as camadas, existe uma interface que permite a especificação das funções oferecidas entre as camadas (inferior e superior), de modo que esta permite a independência de implementação da camada superior. 4 Por exemplo: a camada que cuida do meio físico é totalmente diferente entre rede com fio e rede sem fio, mas as funções oferecidas devem ser as mesmas, com isso a camada superior não se importa se a transmissão é com ou sem fio. TEMA 2 – MODELO OSI Inicialmente, as arquiteturas de redes eram desenvolvidas por vários fabricantes de equipamentos e dispositivos. E, consequentemente, cada um destes fabricantes desenvolviam soluções específicas para seus diversos produtos. Como consequência destas particularidades de arquiteturas, a interconexão entre fabricantes distintos tornava-se problemática, em decorrência das especificidades de cada equipamento. Empresas como IBM (do inglês, International Business Machines Corporation) e DEC (do inglês, Digital Equipament Corporation) utilizavam arquiteturas de redes proprietárias como a SNA e DNA, respectivamente. Denomina-se arquitetura de rede proprietária quando as redes e computadores desenvolvidos por um determinado fabricante não apresentam conectividade ou interconexão com outras redes ou computadores de outras marcas. Como exemplo, pode-se citar a incompatibilidade de troca de informação entre as redes SNA (do inglês, System Network Architecture), desenvolvida pela IBM, e a rede DNA (do inglês, Digital Network Architecture), criada pela DEC. Neste contexto, novas arquiteturas foram desenvolvidas por pesquisadores, como alternativas para resolução desses problemas, novas arquiteturas e, entre elas, estão a Arquitetura Internet e a Arquitetura OSI (do inglês, Open Systems Interconnection). Com o objetivo de facilitar a interconexão entre as redes existentes nos diversos sistemas computacionais, a ISO (do inglês, Organization for Standartization) desenvolveu um modelo em camadas denominado Modelo OSI, também chamado de Modelo de Referência OSI. O modelo OSI descreve somente ferramentas de sistema implementadas pelo sistema operacional, pelos utilitários do sistema e pelo hardware do sistema. Esse modelo não inclui as ferramentas para interação entre aplicações de usuários. É importante distinguir entre o nível de interação das aplicações e a camada de aplicação do modelo OSI. (Olifer, 2008, p. 65) 5 O modelo de camadas OSI foi desenvolvido para padronização internacional dos protocolos usados nas várias camadas de redes (Tanenbaum, 2011). Segundo Olifer (2008), o modelo OSI define as camadas de interconexão dos sistemas nas redes comutadas por pacotes; os nomes padronizados para essas camadas e as funções que têm que ser executadas por camadas. O Modelo OSI trata da interconexão entre sistemas, ou seja, sistemas abertos à comunicação com outros sistemas, conforme ilustrado na Figura 2. Figura 2 – Modelo de referência OSI Fonte: Tanenbaum, 2011, p. 26 Segundo Tanenbaum (2011), o modelo OSI apresenta sete camadas e resume-se estas a: 1. Uma camada deve ser criada onde houver necessidade de outro grau de abstração; 2. Cada camada deve executar uma função bem definida; 6 3. A função de cada camada deve ser escolhida tendo em vista a definição de protocolos padronizados internacionalmente; 4. Os limites de camadas devem ser escolhidos para minimizar o fluxo de informações pelas interfaces; 5. O número de camadas deve ser grande o bastante para que as funções distintas não precisem ser desnecessariamente colocadas na mesma camada e pequeno o suficiente para que a arquitetura não se torne difícil de controlar. Como vantagens do uso do modelo de referência OSI, pode-se apontar a divisão, independência, facilidade de manutenção e facilidade de evolução. A divisão apresenta como vantagem a transparência entre as camadas, ou seja, a forma como os serviços são oferecidos ou implementados por uma camada não são importantes para as demais. Este conceito de transparência é denominado de abstração. Já a independência se preocupa em utilizar os serviços da camada inferior e oferecer os serviços à camada superior, não levando em consideração os protocolos adotados. No modelo OSI, a facilidade de manutenção é de grande valia e vantagem, pois por meio deste torna-se possível a alteração de uma camada, sem que esta alteração interfira nos serviços das demais camadas. Diferente das facilidades de evolução em quenovas implementações podem ser realizadas aproveitando os serviços existentes nas camadas inferiores. O modelo em camadas permite que a comunicação entre as camadas seja realizada de forma vertical ou horizontal e a estas denominamos de comunicação vertical e comunicação horizontal. Na comunicação vertical, no modelo em camadas, cada nível comunica-se apenas com as camadas adjacentes, ou seja, a camada de enlace somente trocaria informações com a camada física ou de rede (Figura 2). Assim, cada nível oferece um conjunto de serviços para a camada imediatamente superior e utiliza os serviços da camada inferior. Diferentemente da comunicação vertical que ocorre entre as camadas de um mesmo dispositivo, a comunicação horizontal é realizada quando há comunicação entre dispositivos distintos (Maia, 2009). 7 O encapsulamento permite que determinadas informações sejam escondidas das camadas superiores, ou seja, pode-se isolar as camadas e criar uma independência entre estas. TEMA 3 – FUNÇÕES DAS CAMDAS As camadas apresentam um conjunto definido de funções, sendo que este pode variar de acordo com a arquitetura da rede de computador escolhida. 3.1 Camada física A camada física é a camada que se encontra mais próxima dos canais de comunicação, e é responsável pela transmissão dos bits, tais como cabos coaxiais, cabos de par trançado, cabos de fibras ópticas ou circuitos digitais de longa distância. As funções da camada física são implementadas em todos os dispositivos conectados à rede, sendo que na parte do computador as funções da camada física são executadas ou pelo adaptador de rede ou pela porta serial (Olifer, 2008). Para Soares, Lemos e Colcher (1995), esta camada fornece as características mecânicas, elétricas, funcionais e de procedimento para ativar, manter e desativar conexões físicas para a transmissão de bits entre entidades de nível de enlace, possivelmente por meio de sistemas intermediários. Para Maia (2009), a camada física é responsável pela inicialização e término de conexões físicas, digitalização, multiplexação e sincronização da transmissão. Já para Olifer (2008), a camada física não trata do significado das informações que transmite. Isso porque essas informações representam um fluxo uniforme de bits que precisam ser entregues ao ponto de destino sem distorções e de acordo com a frequência de clock especificada. Como exemplo de protocolos existentes na camada física, tem-se o V.92, EIA-232-F, IEEE 802.3 e IEEE 802.11. 3.2 Camada de enlace A camada de enlace ou link de dados é a primeira camada que opera no modo de comutação de pacotes (de baixo para cima). Esta camada tem como principal objetivo detectar e opcionalmente corrigir erros que porventura ocorram 8 no nível físico, isto é, visa a converter um canal de transmissão não confiável para um canal confiável para o uso no nível de rede (Soares, Lemos, Colcher, 1995). A camada de enlace tem como função o suporte de interfaces, que permite o suporte para a camada física (inferior) e para a camada de rede (superior), a detecção e correção de erros, ou seja, para que seja executada a camada de enlace fixa os limites do quadro colocando uma sequência de bits em seu início e seu fim. Segundo Olifer (2008), as camadas de enlace incluem tanto a detecção de erros como a correção de erros pela rede de transmissão dos quadros corrompidos, porém, esta funcionalidade não é obrigatória e as implementações desta camada, como Ethernet, Token Ring, FDDI e Frame Relay, carecem desse recurso. 3.3 Camada de rede A principal função da camada de redes é permitir que uma mensagem enviada pelo transmissor chegue ao destino utilizando dispositivos intermediários. Maia (2009) chama esse processo de reencaminhamento como comutação, e é realizado pelos dispositivos chamados comutadores. O objetivo da camada de rede é fornecer ao nível de transporte uma in dependência quanto a consideração de chaveamento e roteamento associadas ao estabelecimento e operação de uma conexão de rede (Soares, Lemos e Colcher, 1995, p. 134). Esta camada é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos (como o IP) em endereços físicos, além de determinar a rota que os pacotes irão seguir para atingir o destino, baseada em fatores, como condições de tráfego da rede e prioridades. Utiliza-se a camada de rede quando a rede possui mais de um segmento e, com isso, há mais de um caminho para um pacote de dados percorrer da origem ao destino. Para Olifer (2008), as funções das camadas de redes são implementadas por grupos de protocolos e dispositivos especiais conhecidos como roteadores. Assim, diz-se que os roteadores apresentam em suas funcionalidades assegurar a conexão física em diferentes redes. 9 3.4 Camada de transporte Normalmente, quando se transfere pacotes de dados por uma rede de computadores, estes podem ser perdidos ou corrompidos no caminho percorrido entre o remetente e o destinatário. Mesmo que algumas aplicações tenham suas próprias ferramentas de tratamento de erros, existem aplicações que inicialmente preferem lidar com conexões seguras e confiáveis. Para Olifer (2008, p. 71), “A camada de transporte fornece às aplicações ou às camadas superiores do modelo OSI – as camadas de aplicação, de apresentação e de sessão – o serviço de transmissão de dados com o necessário nível de confiabilidade”. Desta forma, o modelo OSI define cinco classes de serviços de transporte, começando da classe 0, mais baixa, à classe 4, a mais alta. Todos os protocolos da camada de transporte e superiores são implementados por ferramentas de software instaladas nos nós finais da rede – componentes de seus sistemas operacionais de rede. Como exemplos de protocolos de transporte, tem-se o TCP e o UDP da pilha TCP/IP e o protocolo SPX da pilha de protocolos Novell. Assim, observa-se que na camada de rede o objetivo era o encaminhamento dos pacotes pela rede de interconexão; já na camada de transporte torna-se fundamental a comunicação fim a fim entre os dispositivos receptores e transmissores dos pacotes. Por meio da comunicação fim a fim, permite-se que os dispositivos se comuniquem entre si como se estivessem utilizando uma rede direta, fazendo com que a rede se torne totalmente transparente. No receptor, a camada de transporte é responsável por pegar os pacotes recebidos da camada de Rede, remontar o dado original e assim enviá-lo à camada de sessão. Isso inclui controle de fluxo, ordenação dos pacotes e a correção de erros, tipicamente enviando para o transmissor uma informação de recebimento, de que o pacote foi recebido com sucesso. Separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico (de 1 a 3). Faz a ligação entre esses dois grupos e determina a classe de serviço necessária como orientada a conexão e com controle de erro e serviço de confirmação, ou sem conexões e nem confiabilidade. 10 O objetivo final da camada de transporte é proporcionar serviço eficiente, confiável e de baixo custo. A ISO define o protocolo de transporte para operar em dois modos: orientado à conexão e não-orientado à conexão. Como exemplo de protocolo orientado à conexão, temos o TCP, e de protocolo não orientado à conexão, temos o UDP. 3.5 Camada de sessão Esta sessão permite que duas aplicações em computadores diferentes estabeleçam uma sessão de comunicação. Nesta sessão, essas aplicações definem como será feita a transmissão de dados e coloca marcações nos dados que estão sendo transmitidos. Se porventura a rede falhar, os computadores reiniciam a transmissão dos dados a partir da última marcação recebida pelo computador receptor. Esta camada fornece mecanismos que permitem estruturar os circuitos oferecidos pelo nível de transporte e seus principais serviços são: gerenciamentode token, controle de diálogo e gerenciamento de atividades. Disponibilizam serviços como pontos de controle periódicos a partir dos quais a comunicação pode ser restabelecida em caso de pane na rede. 3.6 Camada de apresentação A camada de apresentação converte o formato do dado recebido pela camada de aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado. Um exemplo comum é a conversão do padrão de caracteres (código de página) quando o dispositivo transmissor usa um padrão diferente do ASCII, por exemplo. Pode ter outros usos, como compressão de dados e criptografia. A compressão de dados pega os dados recebidos da camada sete e os comprime (como se fosse um compactador comumente encontrado em PCs, como o Zip ou o Arj) e a camada 6 do dispositivo receptor fica responsável por descompactar esses dados. A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos. 11 3.7 Camada de aplicação Esta é a camada mais próxima dos usuários e aplicações, já que as camadas inferiores se encontram ocupadas com detalhes da comunicação propriamente dita. A camada de aplicação permite o uso da rede e de suas facilidades da forma mais transportável possível. A camada da aplicação faz a interface entre o protocolo de comunicação e o aplicativo que pediu ou receberá a informação através da rede. Por exemplo, ao solicitar a recepção de e-mails através do aplicativo de e-mail, este entrará em contato com a camada de aplicação do protocolo de rede, efetuando tal solicitação. Tudo nesta camada é direcionado aos aplicativos. Telnet e FTP são exemplos de aplicativos de rede que existem inteiramente na camada de aplicação. TEMA 4 – ÓRGÃOS DE PADRONIZAÇÃO A padronização em redes de computadores é de suma importância, pois por meio desta é possível realizar a troca de informações, sem problemas de comunicação no tráfego dos dados. Com o intuito de melhorar estes serviços, vários órgão de padronização têm desenvolvido padrões para que sejam adotados pela indústria. A maioria dos órgãos é formada por governo, empresas, organizações sem fins lucrativos, entre outros. Porém, percebe-se que a padronização na área de telecomunicações e redes de computadores não é uma tarefa trivial, devido a esta conter conflitos e interesses entre os elementos envolvidos. Basicamente, dois padrões são estipulados: o padrão de jure e o padrão de facto. O primeiro é definido por órgãos de padronização e deve ser seguido por toda a comunidade. Enquanto que o padrão de facto é estabelecido pela indústria e pelos usuários, muitas vezes confrontando os padrões de jure estabelecidos. Atualmente, os principais órgãos de padronização das telecomunicações e redes de computadores são a International Telecommunications Union (ITU), International Organization for Standartization (ISO), Institute of Electrical and Eletronics Engineers (IEEE ou I3E) e Padrões Internet. O padrão ITU foi desenvolvido com o objetivo de padronizar os sistemas de telegrafia utilizados em 1865 e, atualmente, ainda é o principal órgão internacional de padronização para a indústria de telecomunicações (Maia, 2009). 12 O ITU é composto por 3 setores: o ITU-R responsável pela gerência do espectro de radiofrequência e órbitas de satélites. Já o ITU-T é responsável pelas recomendações na área de telecomunicações criado em 1993 para substituir o CCIT, enquanto que o ITU-D fornece capacitação técnica e suporte em telecomunicações a países em desenvolvimento. O padrão ISO, criado em 1946, busca “definir padrões internacionais nas mais diferentes áreas, incluindo computação e tecnologia da informação”, segundo Maia (2009, p. 38). Já o IEEE é uma das organizações sem fins lucrativos que mais desenvolvem padrões no mundo. Além dos padrões desenvolvidos, a IEEE também se responsabiliza por eventos, congressos e publicações internacionais. Por fim, o Padrão Internet se responsabiliza pela padronização dos protocolos. TEMA 5 – ARQUITETURA DE REDES Segundo Maia (2009), a arquitetura de redes deve especificar o número de camadas, os serviços oferecidos por cada nível, as respectivas interfaces, além da pilha de protocolos. A definição das funções de cada camada torna-se a principal tarefa de um projeto de arquitetura de redes, pois por meio destas é possível melhorar o desempenho da rede, além de simplificar o projeto e a implementação de seus componentes, fazendo com que a manutenção e evolução da arquitetura seja facilitada. Entre as arquiteturas em camadas, tem-se o modelo OSI, apresentado no Tema 2, o modelo Internet e o IEEE 802. Porém, outras propostas de arquiteturas em redes de computadores são desenvolvidas, mas não são tão adotadas. 5.1 Modelo de referência OSI Conforme descrito anteriormente, o modelo OSI foi desenvolvido para recomendar um conjunto de diretrizes para o desenvolvimento de sistemas abertos com objetivo de permitir a interconexão de redes heterogêneas. O modelo OSI define sete camadas, cada uma com um conjunto de funções específicas. Por vários motivos, como o crescimento da internet, a complexidade de seu modelo o modelo OSI não obteve êxito comercial, conforme melhor descrito no Tema 2 desta aula. 13 5.2 Modelo Internet O modelo Internet, também chamado de modelo TCP/IP, teve seu início da década de 60 com o intuito de conectar redes e sistemas heterogêneos utilizando o esquema de comutação por pacotes. Este modelo tinha como principal preocupação a disponibilidade da rede, ou seja, independente da falha entre seus componentes, a rede deveria se manter conectada. Além disso, o modelo deveria suportar diversos tipos de serviços e oferecer uma boa relação custo-benefício, principalmente quando novas redes eram conectadas (Maia, 2009). Comparado ao modelo OSI, no qual suas preocupações principais era em apresentar uma arquitetura de redes com uma distinção clara entre as camadas, serviços, interfaces e protocolos, o modelo Internet prioriza o protocolo e com a evolução do modelo pensou-se também na arquitetura. Diferentemente do modelo OSI, o modelo Internet apresenta quatro camadas: a camada de acesso à rede, camada de internet, camada de transporte e camada de aplicação, conforme ilustrado na Figura 3. A camada de acesso à rede agrupa as funções das camadas físicas e de enlace, e apresenta como funcionalidade conectar ao host da rede de interconexão. Porém, este modelo não define para esta camada os protocolos, pois entende que qualquer tipo de tecnologia pode ser utilizado. Desta forma, a camada de rede permite vários tipos de conexões, sendo elas ponto-a-ponto ou multiponto, cabeada ou sem fio, rede local ou distribuída. Figura 3 – Modelo Internet Aplicação Transporte Internet Acesso à rede Fonte: adaptado de Maia, 2009, p. 34. A camada de acesso à rede também pode agregar novas tecnologias sem a necessidade de alterações dos níveis superiores (Maia, 2009). Por sua vez, a camada da internet tem como função encaminhar os pacotes utilizando a rede de interconexão e oferecendo um serviço do tipo datagrama, ou seja, um serviço que não exige que a origem e o destino 14 estabeleçam uma conexão para que ocorra a transmissão. Além disso, essa camada não oferece nenhuma garantia de que um pacote enviado será recebido como também não evita o recebimento de pacotes duplicados e fora de sequência (Maia, 2009). O principal protocolo da camada de rede é um dos principais do modelo de Internet e denominado de IP. Este protocolo tem como funcionalidade o endereçamento, o suporte ao roteamento de pacotes e a fragmentação. A Tabela 1 apresenta outros protocolos utilizados na camada de rede do modelo de Internet. A camada de transporte, também chamada de camada host-to-host, apresenta comofuncionalidade a comunicação fim a fim entre o host de origem e o host de destino. Neste caso, a comunicação fim a fim é implementada utilizando os serviços da camada de rede sem qualquer preocupação com a rede de interconexão. Tabela 1 – Protocolos da camada de rede Protocolo Descrição ICMP Utilizado para o controle de erro e testes na rede. IGMP Utilizado no endereçamento multicast. RIP Utilizado no endereçamento de pacotes baseado no algoritmo de vetor de distância. OSPF Utilizado no roteamento de pacotes baseado no algoritmo de estado do enlace. Fonte: Maia, 2009, p. 34 Assim, nota-se que a camada de transporte oferece uma interface de programação, denominada de sockets, que permite simplificar o processo de desenvolvimento de novas aplicações, sem a necessidade de serem alteradas as camadas inferiores. Na camada de transporte, os principais protocolos adotados são o TCP e o UDP. O protocolo TCP (do inglês, Transmission Control Protocol) oferece um serviço que garante a entrega e a sequência de dados transmitidos. Isto é, a aplicação apenas envia uma mensagem com a certeza de que esta será entregue ao destinatário. Já o protocolo UDP (do inglês, User Datagram Protocol) oferece um serviço que não garante a entrega e a sequência de dados transmitidos. Desta forma, torna-se responsabilidade da camada da aplicação a implementação dos 15 controles necessários para a transmissão confiável, quando necessário (Maia, 2009). Por fim, na camada de aplicação os protocolos podem adotar dois tipos de serviços da camada de transporte oferecidos pelos protocolos TCP e UDP. Porém, a maioria dos protocolos desta camada adotam o protocolo TCP como sendo o transporte, pois assim garante-se que uma mensagem enviada seja entregue ao seu destinatário. A Tabela 2 apresenta alguns protocolos existentes na camada de aplicação do modelo Internet. Tabela 2 – Protocolos da camada de aplicação Protocolo Descrição HTTP Utilizado no serviço Web. FTP Utilizado no serviço de transferência de arquivos. SMTP Utilizado no serviço de correio eletrônico. Telnet Utilizado no serviço de terminal remoto. DNS Utilizado no serviço de nomes. SNMP Utilizado no serviço de gerência remota. Fonte: Maia, 2009, p. 35 5.3 Modelo IEEE 802 O padrão IEEE surgiu na década de 80 por meio do padrão IEEE 802, que visa a realizar a padronização das redes locais e metropolitanas. Observa-se na literatura que vários padrões foram desenvolvidos, porém nem todos foram utilizados e comercializados. A Tabela 3 apresenta os principais padrões patrocinados pelo IEEE 802 e, dentre estes, os que mais destacam-se são o IEEE 802.3 e IEEE 802.11. 16 Tabela 3 – Padrões IEEE 802 Protocolo Descrição 802.2 Logical Link Control 802.3 Ethernet 802.4 Token ring 802.5 Token ring 802.6 Redes metropolitanas (MAN) 802.11 Redes locais sem fio (WLAN) 802.15 Redes pessoais sem fio (WPAN) 802.16 Redes metropolitanas sem fio (WMAN) Fonte: Maia, 2009, p. 37. Nota-se que apenas os protocolos das camadas físicas e de enlace são especificados pelo IEEE 802, enquanto que o modelo Internet se encaixa facilmente em qualquer padrão já estabelecido e que venha a ser especificado. 17 REFERÊNCIAS MAIA, L. P. Arquitetura de redes de computadores. Rio de Janeiro: LTC, 2009. OLIFER, N. Redes de computadores: princípios, tecnologias e protocolos para o projeto de redes. Rio de Janeiro: LTC, 2008. SOARES L. F.; LEMOS. G.; COLCHER, S. Redes de computadores: das Lans, Mans e Wans às redes ATM. Rio de Janeiro: Elsevier, 1995. TANENBAUM, A. Redes de computadores. São Paulo: Pearson, 2011.