robustez; confiabilidade; e comunicação de dados independente de fornecedores. - PDF
Download "robustez; confiabilidade; e comunicação de dados independente de fornecedores."
Ricardo Figueira Mascarenhas
1 HISTÓRICO! 1969, Defense Advanced Research Projects Agency (DARPA) cria um projeto de pesquisa para criar uma experimental de comutação de pacotes ARPANET que deveria prover: robustez; confiabilidade; e comunicação de dados independente de fornecedores.! 1975, Devido ao grande sucesso, a ARPANET deixa uso experimental e passa a ter uso operacional; seu desenvolvimento continua e a família de protocolos TCP/IP começa a ser concebida.! 1979, Internet Control and Configuration Board define o projeto de um protocolo para interconexão de s;! 1980, TCP/IP torna-se padrão na ARPANET;! 1983, TCP/IP adotado como padrão militar e a Defence Communication Agency pede a divisão da ARPANET: Internet = ARPANET + MILNET UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 1! TCP/IP integrado ao BSD/UNIX e disponibilizado a baixo custo;! 1985, Nacional Science Foundation (NSF) promove expansão da Internet para a comunidade científica americana NSFNET! , NSF disponibiliza acesso para comunidade científica fora dos Estados Unidos (chegando inclusive ao Brasil);! , TCP/IP torna-se padrão de fato para interconexão de s de diferentes tecnologias; passa a ser usada para os mais variados fins;! , Mundo usa massivamente a Internet, articula-se e implementa-se em alguns países a Internet 2 (inclusive o Brasil com a RNP2); comunicação em alta velocidade (155/622 Mbps em grosso, 256, 1024, 2048 Mbps no varejo). UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 2
2 CARACTERÍSTICAS! Padrão de protocolos aberto, não associado a nenhum tipo específico de hardware (computador) ou sistema operacional;! Independente de hardware específico para acesso ao meio físico de transmissão (TCP/IP funciona sobre Ethernet, Token-ring, linha discada, X.25, e qualquer outro tipo de meio de transmissão);! Esquema de endereçamento comum que permite a identificação única de um elemento da (na local, ou no planeta);! Protocolos de alto nível padronizados para disponibilização universal e consistente de serviços aos usuários.! Documentação ampla acessível na própria sob a forma de Request for Comments RFC s que não sofrem do rigor imposto aos relatórios técnicos formais. As RFC s contêm as últimas versões das especificações de todos os protocolos TCP/IP padrões;! Interconexão cooperativa de s, suportando serviços de comunicação universal (usada em uma local ou em uma [inter] planetária); UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 3! Utilização de tecnologia adequada às necessidades locais em cada ;! Independência de hardware e sistemas operacionais;! Interconexão de s se dá por meio de roteadores.! Protocolos mais importantes: TCP: Transmission Control Protocol UDP: User Datagram Protocol IP: Internet Protocol UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 4
3 Rede A Rede B Roteador Figura 1. Interconexão de s UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 5! Criação de uma virtual única para os usuários: Máquina 1 Máquina 3 Internet Máquina 2 Figura 2. Rede virtual única Máquina 4! Na realidade a real se apresenta como um conjunto de s com diversas arquiteturas/topologias, interligadas por roteadores: Máquina 1 ATM Roteador Roteador TR Eth Máquina 3 Máquina 2 Figura 3. Rede real Máquina 4 UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 6
4 ARQUITETURA! A arquitetura TCP/IP Internet é organizada em quatro camadas (ou níveis) conceituais, construídas cobre uma quinta camada que não faz parte do modelo chamada intra- como mostrado abaixo. Máquina A Máquina B mensagem mensagem segmento Roteador / Gateway segmento Inter- Inter- Inter- datagrama datagrama quadro quadro Rede Física 1 Rede Física 2 Figura 4. Arquitetura TCP/IP Internet UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 7 Camada de Interface de Rede! Fornece o serviço de entrega de dados entre máquinas diretamente conectadas entre si; Em geral, desempenha as funções de enlace de dados e de acesso físico do padrão RM-OSI. Suas funções compreendem: Recebe datagramas IP da camada (ou inter-) e os transmite sobre a tecnologia de física disponível; Faz o encapsulamento de datagramas IP em quadros da (eventualmente com fragmentação); Faz o mapeamento de endereços lógicos Internet em endereços físicos de equipamentos na ; Em geral é implementada através de gerentes ( drivers ) de dispositivos; Permite a implantação do TCP/IP sobre qualquer hardware de ou sistema de comunicação de dados (Ethernet, Token Ring, FDDI, X25, Frame Relay, ATM, linhas seriais, etc.). Em linhas seriais é comum o uso do protocolo SLIP, PPP ou outro protocolo proprietário. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 8
5 Mapeamento de endereços lógicos Internet em endereços físicos de! Endereços IP são lógicos (só existem em software); para usar a física é necessário que se faça o mapeamento do endereço lógico no endereço físico! Como se faz isso?! Codificando o endereço físico no endereço IP; Máquina 1 IP= Físico: 1 Rede (pronet-10) Máquina 3 IP= Físico=3 Máquina 2 IP= Físico: 2 Figura 5. Endereço físico junto do endereço IP Máquina 4 IP= Físico=4 UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 9! Usando o protocolo ARP Address Resolution Protocol Através de uma mensagens de difusão ( broadcast ) uma máquina pergunta na qual o endereço físico correspondente à um determinado endereço IP. Somente a máquina referenciada responde à solicitação. ARP: Sou 00:20:04:02:91:e4 ARP: Quem é ? Máquina 1 IP= Máquina 2 IP= Máquina 3 IP= Máquina 4 IP= Figura 6. Consulta / Resposta ARP! Funciona eficientemente porque há uma tabela de mapeamento ARP em cada máquina da ;! A máquina que faz uma pergunta na já informa seu endereço IP e seu endereço físico; as máquinas que ouvem a pergunta armazenam essa informação nas suas tabelas ARP. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 10
6 Mapeamento de endereços físicos de Internet em endereços lógicos! De modo semelhante ao ARP, um serviço de mapeamento de endereços físicos em endereços lógicos Internet pode ser disponibilizado através do protocolo RARP Reverse Address Resolution Protocol. Usado por estações sem disco ( diskless ).! Através de uma mensagem de difusão uma máquina pergunta qual o endereço lógico Internet corresponde ao seu endereço físico. Uma máquina da configurada como servidor RARP vai responder a pergunta, consultando uma base de dados. RARP: Você é ! RARP: Qual é o meu IP? Eu sou 00:20:04:02:91:e1 Máquina 1 IP= Máquina 2 IP= Máquina 3 IP= Figura 7. Consulta / Resposta RARP Máquina 4 IP= Servidor RARP UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 11 Camada de Inter- (ou somente Rede)! A camada de inter- fornece o serviço de entrega de datagramas IP, sobre o qual é baseada a TCP/IP. É o tijolo de construção da internet. Suas funções compreendem: Montagem de datagramas IP a partir de segmentos recebidos da camada de transporte (fragmentação de segmentos); Montagem de segmentos para a camada de transporte a partir de datagramas IP recebidos da camada de acesso ao meio físico (desfragmentação de segmentos); Transmissão de dados sem conexão e não confiável (modo datagrama); Identificação de máquina de origem e máquina de destino; Encaminhamento (roteamento) de datagramas IP através da lógica; Integração de diversas s físicas formando uma única lógica. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 12
7 Datagrama IP Bits Vers. Hlen ToS Total Lenght 2 Ident Flags Fragmentation Offset 3 Time to Live Protocol Header Checksun Words 4 5 Source Address Destination Address Header 6 Options Padding Data... Figura 8. Datagrama IP UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 13! Version: versão do IP (atualmente 4);! Hlen: tamanho do cabeçalho do datagrama;! ToS: tipo do serviço (precedência normal/controle, baixo retardo, alta eficiência, alta confiabilidade), sem garantia de cumprimento;! Total Length: tamanho total do datagrama (máximo de 64 Kbytes);! Ident: identificação do datagrama (único para cada datagrama);! Flags: controle de fragmentação (habilita/desabilita fragmentação, marca de fim do datagrama original);! Fragmentation Offset: deslocamento do fragmento;! TTL: tempo de vida do datagrama (inicia em N, decrementa a cada passagem por um roteador; chegando em 0 (zero), o datagrama é descartado e é gerada um mensagem de erro);! Protocol: protocolo de nível superior (TCP, UDP);! Header checkksun verificação de integridade do datagrama;! Source Address: endereço origem (máquina emissora);! Dest Address: endereço destino (máquina receptora);! Options: opções de teste e depuração: Record Route Option: datagrama guarda endereços de roteadores intermediários por onde passou; Source Route Option: sistema origem define rota que um datagrama deve seguir; Timestamp Option: datagrama guarda informação sobre data e hora que chegou aos roteadores intermediários;! Padding: preenchimento;! Data: dados transportados. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 14
8 Roteamento de Datagramas! Roteamento refere-se à forma de encaminhamento dos datagramas através da. Nessa tarefa são identificados dois elementos básicos: máquinas emissoras/receptoras ( hosts ) e máquinas intermediárias ( routers e gateways ). Máquina A Máquina B Roteador 1 Roteador 2 Inter- Inter- Inter- Inter- Rede A Rede B Rede C Figura 9. Roteamento de Datagramas UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 15 Camada de transporte! A camada de transporte fornece o serviço de comunicação fim-afim (computador-a-computador) confiável. Suas funções compreendem: Montagem de segmentos para a camada de a partir de mensagens vindas da camada de aplicação (fragmentação); Montagem de mensagens para a camada de aplicação a partir de segmentos vindos da camada de (desfragmentação); Transmissão de dados sem conexão e não confiável (protocolo UDP) ou com conexão e confiável (cria circuito virtual através do protocolo TCP); Retransmissão temporizada, sequenciamento de segmentos (max. de 64 KB cada), controle de fluxo (através de janela deslizante); Armazenamento temporário ( buffering ) na recepção e transmissão; Identificação de processos origem e destino. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 16
9 Protocolo UDP! de dados baseado em serviço sem conexão ( conection less );! Baixa sobrecarga;! Não confiável;! Sem detecção de erros;! Sem controle de seqüência;! Bom para pequenas quantidades de dados a transmitir;! Bom para aplicações do tipo consulta / resposta;! Bom para aplicações que tem seus próprios mecanismos de entrega confiável. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 17 Bits Words Source Port Message Lenght Data... Destination Port Checksun Figura 10. Datagrama UDP UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 18
10 Campos:! Source/Destination Port: porta de origem/destino (identificam os processos envolvidos na conexão);! Message Lenght: tamanho do segmento;! Checksun: verificação de erro;! Data: início dos dados UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 19 Protocolo TCP! Baseado em seqüências de bytes não estruturados ( streams );! de dados baseado em serviço com conexão ( virtual circuit ): Estabelecimento de conexão; Transferência de dados; Encerramento de conexão;! Maior sobrecarga;! Confiável;! Com detecção e correção de erros;! Com controle de seqüência;! Necessário para maiores quantidades de dados a transmitir;! Necessário para aplicação do tipo interativa;! Necessário para aplicação que não tem seu próprio mecanismo de entrega confiável. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 20
11 Bits Source Port Destination Port 2 Sequence Number Words 3 4 Acknowledgment Number Hlen Reserved Code Window Header 5 Checksun Urgent Pointer 6 Options (if any) Padding Data... Figura 11. segmento TCP UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 21! Source/Destination Port: porta de origem/destino (identificam os processos envolvidos na conexão);! Sequence Number: posição do segmento dentro da seqüência de bytes da/para a aplicação;! Acknowledgment Number: número do próximo byte esperado no destino;! Hlen: tamanho do cabeçalho;! Reserved: reservado;! Code bits: finalidade do segmento: URG: campo Urgent Pointer é válido; ACK: campo Ack number é válido; PSH: segmento requer um push; RST: reset a conexão; SYN: sincronize números de seqüência; FIN: origem terminou sua seqüência de bytes! Window: tamanho da janela deslizante (número de segmentos enviados em seqüência antes de receber reconhecimento);! Checksun: verificação de erro no segmento;! Urgent Pointer: posição onde os dados urgentes se encontram no segmento;! Options: tamanho (opcional) máximo de segmento ( Maximum Segment Size );! Padding: preenchimento;! Data: dados do segmento. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 22
12 Camada de! TELNET Terminal Network Protocol : provê o serviço de terminal remoto através da ;! FTP File Transfer Protocol : provê o serviço de transferência de arquivos;! SMTP Simple Mail Transport Protocol : provê o serviço de correio eletrônico;! DNS Domain Name Service : provê o serviço de mapeamento de nomes em números IP (e vice-versa);! NFS Network File System : provê o serviço de compartilhamento de sistemas de arquivos através da ;! SNMP Simple Network Management Protocol : provê o serviço de gerenciamento de equipamentos de forma remota. UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 23 Encapsulamento de Dados Níveis conceituais * TCP => pacote UDP => datagrama mensagem Aplic. Dados segmento* Transp. Aplic. Dados Inter- quadro datagrama Interf. Rede Rede Transp. Transp. Aplic. Aplic. Dados Dados Checksun Interf. Figura 12. TCP/IP: Encapsulamento de dados UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 24
13 Arquitetura TCP/IP versus Arquitetura RM-OSI TCP / IP RM / OSI Não presente no modelo Inter- Interface de Apresentação Sessão Rede Enlace Físico Figura 13. TCP/IP versus RM-OSI UFPB / CCT / DSC / PSN, 2001 * Parte 3: TCP/IP - Introdução * Pág. 25
HISTÓRICO. 1983 1985, o TCP/IP é integrado ao BSD/UNIX e disponibilizado a baixo custo;
HISTÓRICO 969, Defense Advanced Research Projects Agency (DARPA) cria um projeto de pesquisa para criar uma experimental de comutação de pacotes ARPANET que deveria prover: robustez; confiabilidade; e