Capítulo 1 Introdução 1 1.1. Protocolos e Arquitecturas Protocolo: conjunto de convenções/regras mutuamente aceites por duas entidades/sistemas e que regem a comunicação entre ambos, definindo aspectos como a sintaxe, a semântica e a temporização das trocas de dados A implementação de protocolos fica mais facilitada se as diversas tarefas envolvidas forem individualizadas, conforme a sua natureza, em módulos separados A arquitectura de uma rede de computadores segue, tipicamente, uma organização por camadas/níveis, em que cada camada oferece serviços à camada imediatamente acima, escondendo-lhe os detalhes de implementação 2
1.1. Protocolos e Arquitecturas Camadas, protocolos e interfaces 3 1.1. Protocolos e Arquitecturas A Arquitectura filósofo-tradutor-secretária 4
1.1. Protocolos e Arquitecturas Fluxos de Informação numa arquitectura de 5 camadas 5 1.1. Protocolos e Arquitecturas Factores a ter em conta numa divisão por camadas: endereçamento: necessidade de identificar, inequivocamente, a entidade correspondente (i.e., do mesmo nível) no destino; tipo de comunicação: simplex (dados viajam num só sentido), half-duplex (dados viajam nos dois sentidos mas não simultaneamente) full-duplex (dados viajam nos dois sentidos, possivelmente em simultâneo); número e tipo (urgentes/normais) de canais lógicos por conexão; 6
1.1. Protocolos e Arquitecturas Factores a ter em conta numa divisão por camadas (cont.): detecção e correcção de erros; sequenciação, permitindo a reordenação de mensagens chegadas fora de ordem; controlo de congestão: ajuste do ritmo de envio em função da capacidade de processamento e armazenamento do receptor; fragmentação e reconstrução de mensagens; multiplexagem de conexões (lógicas ou físicas); encaminhamento 7 Modelo OSI: Modelo proposto pela ISO (International Standards Organization) com o objectivo de promover a standardização no domínio das comunicações por computador; A designação OSI (Open Systems Interconnection) refere-se à abertura dos sistemas à comunicação com outros sistemas, por oposição a soluções proprietárias; O modelo de referência OSI não concretiza serviços, protocolos e tecnologias; diz apenas qual a função de cada camada 8
Alguns dos princípios que presidiram à concepção do modelo OSI foram: uma camada só deve ser criada quando for necessário um nível diferente de abstracção; cada camada deve desempenhar uma função bem definida; as fronteiras entre camadas devem ser definidas por forma a minimizar o fluxo de informação através das interfaces; o número de camadas deve ser suficientemente grande para que funções distintas não coexistam na mesma camada e suficientemente pequeno para que a arquitectura se mantenha simples. 9 Modelo constituído por sete camadas: camada física: lida com a transmissão não estruturada da sequência de bits sobre o meio físico; em suma, lida com os detalhes mecânicos, eléctricos, funcionais e procedimentais de acesso ao meio físico; por exemplo: tipo de comunicação (simplex, etc.), quantos volts para representar um bit 1 ou 0, qual a duração de cada bit, qual a configuração dos pinos de um conector, etc.; 10
Modelo constituído por sete camadas (cont.): camada de ligação de dados: fornece a transferência estruturada e fiável de dados sobre a ligação física; envia blocos de dados (frames) tendo em atenção aspectos como a sincronização, tratamento de erros (e.g., retransmissões) e controlo de fluxo; 11 Modelo constituído por sete camadas (cont.): camada de rede: fornece às camadas superiores independência das tecnologias de transmissão e comutação usadas na conexão física dos sistemas; encaminha as mensagens (pacotes) desde o sistema originador, através de sistemas intermediários, até ao sistema de destino; efectua controlo de congestão; 12
Modelo constituído por sete camadas (cont.): camada de transporte: oferece transmissão fiável de dados entre sistemas finais; providencia gestão de fluxo e recuperação de erros fim-a-fim; efectua sequenciação e fragmentação; 13 Modelo constituído por sete camadas (cont.): camada de sessão: fornece a estrutura de controle da comunicação entre duas aplicações; estabelece, gere e termina conexões (sessões) entre aplicações; efectua gestão de tokens (que permite, a duas aplicações, intercalarem as suas mensagens/actividades) e sincronização da transferência de dados (que permitem a recuperação de uma transferência interrompida, pela análise de check-points); 14
Modelo constituído por sete camadas (cont.): camada de apresentação: fornece às aplicações independência de diferenças na representação (sintaxe) dos dados; codifica os dados em "representações de rede", independentes do código de caracteres (ASCII vs Unicode) e do byte ordering (big-endian vs little-endian) do sistema; 15 Modelo constituído por sete camadas (cont.): camada de aplicação: fornece, aos utilizadores, acesso ao ambiente OSI, bem como serviços de informação distribuídos; contém todas as aplicações de nível utilizador que, de alguma forma, necessitam da rede. 16
O Modelo de Referência OSI 17 O Modelo de Referência OSI - Encapsulamento 18
A Arquitectura Protocolar TCP/IP herda o nome dos seus dois protocolos mais importantes: TCP - Transmission Control Protocol IP - Internet Protocol sendo no entanto constituída por um número bastante alargado de protocolos É também conhecida por Pilha Protocolar Internet 19 Internetworking: O objectivo principal do desenvolvimento desta arquitectura de rede era o de criar um meio de interligação de redes que fornecesse serviços universais de comunicação, ou seja, que permitisse criar uma Internetwork ou Internet O segundo objectivo era o de permitir a interligação de diferentes redes físicas, de forma a que estas aparecessem aos utilizadores como uma única grande rede Assim, um conjunto de redes interligadas são designadas por Internetwork ou Internet Para interligar duas redes é necessário um dispositivo que estabeleça a ligação entre estas, e que tenha capacidade de encaminhar pacotes de uma rede para a outra: Encaminhador (Router) 20
Exemplos de interligação de Redes 21 A Pilha Protocolar TCP/IP: tem vindo a ser progressivamente desenvolvida durante os últimos 30 anos Teve como origem uma investigação levada a cabo no âmbito do desenvolvimento da rede de comutação de pacotes ARPANET, financiada pela agência governamental americana DARPA - Defense Advanced Research Projects Agency Tal como outras arquitecturas de rede, a pilha TCP/IP está modelada em níveis, ou camadas, sendo normalmente usada uma representação em quatro camadas 22
A Pilha Protocolar TCP/IP - camadas: Camada física: na prática, o modelo TCP/IP pouco concretiza em relação a esta camada, para além do facto de ter de suportar o transporte de pacotes IP Camada de rede: opera em modo não orientado à conexão; o protocolo que a materializa é designado por IP - Internet Protocol. Este nível é responsável por fornecer a ilusão de uma única rede global. Torna transparente, para os níveis superiores, as tecnologias utilizadas ao nível físico entre as redes interligadas 23 A Pilha Protocolar TCP/IP - camadas: Camada de transporte: fornece a transferência de dados fim-a-fim. É corporizada por dois protocolos: TCP - Transmission Control Protocol: orientado à conexão; efectua, se necessário fragmentação e controlo de fluxo) UDP - User Datagram Protocol: não orientado à conexão; sem garantias de sequenciação 24
A Pilha Protocolar TCP/IP - camadas: Camada de aplicação: oferece aplicações/protocolos aos utilizadores: terminal virtual (telnet), transferência de ficheiros (ftp), correio electrónico (smtp), resolução de nomes (dns), hipertexto (http), fóruns de discussão (nntp), etc... 25 Pilha Protocolar TCP/IP 26
- Aplicações Na camada de aplicação da pilha TCP/IP estão definidos os protocolos de aplicação, que comunicam com outras aplicações em outros sistemas/hosts. Estes protocolos são, para os utilizadores, a face visível de toda a pilha TCP/IP. Os protocolos de aplicação estão, na maior parte dos casos, directamente associados a aplicações, com as quais os utilizadores interagem directamente. Utilizam, normalmente, na camada de transporte, o protocolo TCP (transport control protocol) ou o protocolo UDP (User Datagram Protocol). 27 - Aplicações Alguns exemplos: TELNET: para acesso interactivo a terminais remotos FTP (file transfer protocol): para transferência de ficheiros entre sistemas SMTP (simple mail transfer protocol): sistema de transferência de mensagens de correio electrónico, através da Internet HTTP (hipertext transfer protocol): sistema de transferência de páginas hipertexto NNTP (network news transfer protocol): garante a transferência dos newsgroups através da Internet 28
Pilha Protocolar TCP/IP detalhada 29 Bridges e Routers Bridge: Interliga diferentes LAN's (Redes Locais), ou diferentes segmentos de uma LAN, através do nível de ligação de dados, reenviando tramas de uma LAN/segmento para a outra(o). Realiza o papel de um relay ("passador") MAC, de uma forma independente de qualquer protocolo localizado acima da camada de ligação de dados. Bridge interligando duas LAN's 30
Bridges e Routers Router: Interliga redes ao nível da camada de rede, e encaminha pacotes entre elas. Um router deve entender a estrutura de endereçamento associada aos protocolos de rede que suporta, e, com base nessa estrutura, deve ter capacidade de tomar decisões de reenvio (ou não) dos pacotes que recebe. Estes equipamentos estão normalmente capacitados para tomar decisões sobre o melhor caminho para uma transmissão, e sobre o tamanho adequado dos pacotes a reenviar. Processo de Routing entre duas redes 31 TCP/IP - Fronteiras 32
Sumário 33