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