980 likes | 1.1k Views
Ericsson Material Adicional Cursos DATACOM e TCP/IP Redes de Computadores e Tecnologia Básica de INTERNET. Instrutores: Alessandro Anzaloni e Cairo L. Nascimento Jr. (ITA) E-mail: anzaloni@ele.ita.cta.br, cairo@ita.cta.br Maio 2000 - São José dos Campos - SP (v. 1.1 em Julho 2000). Conteúdo.
E N D
EricssonMaterial AdicionalCursos DATACOM e TCP/IPRedes de Computadores e Tecnologia Básica de INTERNET Instrutores: Alessandro Anzaloni e Cairo L. Nascimento Jr. (ITA) E-mail: anzaloni@ele.ita.cta.br, cairo@ita.cta.br Maio 2000 - São José dos Campos - SP(v. 1.1 em Julho 2000)
Conteúdo • Tipos de Redes de Computadores • Problema a ser Resolvido • Estratégia de Solução • Como o TCP/IP Funciona • Modelos de Referência OSI e TCP/IP • Endereçamento no TCP/IP • Roteamento no TCP/IP • Modelo Computacional Cliente/Servidor • Aplicações: Telnet, E-mail, FTP, WWW
Tipos de Redes de Computadores • As redes de computadores podem ser classificadas nas três seguintes categorias: LAN, MAN e WAN. • Os parâmetros de diferenciação são os seguintes: • Tamanho; • Meio de transmissão; • Topologia; • Forma de gerência.
Tipos de Redes de Computadores • Exemplos tipícos de meios de transmissão: • LAN: cabo, rádio, infravermelho e fibra ótica • MAN e WAN: rádio, fibra ótica e linha telefônica dedicada
Tipos de Redes de Computadores Local Area Network (LAN - Rede Local): • Pequena área de cobertura, como um prédio. • 10 Mbps a 2 Gbps, conexão via cabos ou rádio. • Usada para conectar computadores pessoais, workstations, compartilhar recursos e trocar informações locais. • Exemplos: • Ethernet, FastEthernet, GigaEthernet • Token Ring
Tipos de Redes de Computadores Metropolitan Area Network (MAN): • Metropolitan Area Network: interliga LANs em uma mesma cidade, 56 Kbps a 100 Mbps, usa fibra ótica ou linhas de telefone. • Geralmente conecta um grupo de escritórios próximos de uma mesma organização em uma mesma cidade e pode ser privada ou pública • Exemplo: FDDI, Frame Relay e ATM
roteador Linhas de transmissão Sub-rede host Tipos de Redes de Computadores Wide Area Network (WAN): • Interliga cidades e países, 9.6 Kbps a 45 Mbps, usa linhas dedicadas de telefone ou conexões via satélite.
Problema a ser resolvido Troca de mensagens digitais entre programas que estão sendo executados em computadores basicamente muito distintos (hardware e software) e que podem estar fisicamente muito distantes entre si.
Problema a ser resolvido Requisitos desejados para a solução: • Baixo custo de implementação em hardware e software Possibilidade de escolha de diferentes tecnologias de hardware de rede independência do tecnologia do hardware de rede e do seu fabricante. • Independência da distância: deve funcionar se os computadores estiverem na mesma sala ou em diferentes continentes.
Problema a ser resolvido • Independência dos computadores nas “pontas” da comunicação: deve ser implementável em diferentes tipos de computador (diferentes sistemas operacionais rodando em diferentes hardwares). • Facilidade de uso e de gerenciamento.
Estratégia da Solução Decisão 1: Grande no de computadores e várias conexões simultâneas Packet Switching ao invés de Circuit Switching (ex. rede de telefonia). Os aplicativos trocam mensagens entre si que são divididas em blocos chamados pacotes. Os pacotes são então transportados pelo hardware de rede.
Estratégia da Solução Packet Switching: • Vantagem: possibilidade de comunicação entre vários computadores ao mesmo tempo. • Desvantagem: não garantia de capacidade de tráfego para cada comunicação, uma vez que várias conexões têm que dividir o mesmo meio de transmissão. • Fator Decisivo: custo X desempenho.
Estratégia da Solução Requisito necessário para uma solução baseada em Packet Switching: • Resolver o problema de como obter conexão confiável entre os aplicativos executados nas diferentes máquinas se o hardware de rede é basicamente não confiável.
Estratégia da Solução Problemas a serem considerados: • não confiabilidade da entrega dos pacotes: os pacotes podem ser corrompidos, perdidos, duplicados ou chegarem fora de ordem. • possível congestionamento do tráfego e falhas nas máquinas no trajeto da conexão. Para uma mesma tecnologia de redes: • estes problemas aumentam com a distância, • quanto maior a distância entre os computadores menor será a velocidade de conexão.
Estratégia da Solução Decisão 2: Independência da tecnologia de hardware de rede 2 níveis de endereçamento para a máquina: • End. Lógico (na Internet EL = End. IP único = Network.Host), e • End. Fisíco (EF, usado apenas pelo hardware de rede). Analogia: EL= IP no da Carteira de Identidade EF endereço da sua casa
Estratégia da Solução Decisão 3: Identificar os tipos de problemas e tratá-los separadamente (conceito de camadas de protocolo de software). Vantagem: cada área pode ser tratada e melhorada de forma independente das outras. Tipos de problemas: • problemas do aplicativo, • problemas de “quebrar” e “remontar” a mensagem, • problemas de entregar fisicamente os pacotes.
Estratégia da Solução Cuidado na implementação do conceito de camadas de protocolo: uma implementação muito rigída será ineficiente (lenta). Algumas vezes camadas superiores precisam acesso direto a informações disponíveis nas camadas inferiores (ex. tamanho máximo de pacote transportável pela rede fisíca = network’s maximum transfer unit,MTU). Ex: MTU para redes ethernet = 1500 bytes.
Application Services (1) Reliable Transport Service (2) Unreliable Best Effort Connectionless Packet Delivery Service (3) Estratégia da Solução (1) nível do aplicativo; (2) quebra da mensagem em pacotes no remetente, montagem e verificação da mensagem no destinatário; (3) Unreliable: os pacotes podem ser perdidos, corrompidos, duplicados ou chegar for a seqüência; Best Effort: em funcionamento nomal os pacotes não são descartados; Connectionless cada pacote é tratado de forma independente.
Como o TCP/IP Funciona Na INTERNET os pacotes são chamados de: Internet datagram, IP datagram ou datagram. Estratégia Básica: 1) M = mensagem a ser entregue com ELR e ELD (R = remetente, D = destinatário) 2) M é quebrada p. ex. em M1+M2+M3 e a cada Mi acrescenta-se DHi (Datagram Header i): 3 datagramas: [DH1,M1], [DH2,M2], [DH3,M3]
Como o TCP/IP Funciona Problema: As máquinas entre o remetente e o destinatário da mensagem podem estar usando diferentes tecnologias de rede que usam tamanhos máximos de frames diferentes. Solução adotada no TCP/IP: Se necessário, o frame pode ser “quebrado” mas será remontado apenas quando chegar no seu destinatário final.
Rede local Computador SP informação informação e-mail e-mail Rede Regional Conexão Internacional Rede Regional Rede local Computador Japão Como o TCP/IP Funciona Pacotes TCP (Transmission Control Protocol) >>>
Computador 163.52.128.72 TCP H H H H H H H 1 1 3 1 1 4 2 IP - Internet Protocol 137.42.6.72 ROTEADOR 137.42.6.72 Computador 137.42.6.72 Como o TCP/IP Funciona
Como o TCP/IP Funciona 3) A cada datagrama acrescenta-se um novo header (FH) com EFR e EFD para entrega fisíca do pacote pela rede. Este pacote ampliado é chamado frame. Frame = Frame Header + Frame Data Area Frame Data Area = DHi + Mi (Frame)i = FHi + DHi + Mi • Encapsulamento (analogia com envelopes do correio).
Modelos de Referências • Vantagens de modelos de referência em várias camadas: • Independência da tecnologia usada para construir o hardware de rede e dos seus fabricantes. • Permitir que aplicativos sejam desenvolvidos no nível mais alto de abstração, sem que seja necessário incluir os detalhes dos níveis inferiores. • Modelos de Referência para redes de computadores: • Modelo de Referência OSI da ISO, • Modelo de Referência TCP/IP.
Application Application 7 Presentation Presentation 6 APLICAÇÃO Session Session 5 Transport Transport 4 Network Network Network Network 3 Data Link Data Link Data Link Data Link 2 TRANSMISSÃO 1 Physical Physical Physical Physical Modelo de Referência OSI da ISO ISO = International Organization for Standardization OSI Reference Model (Open System Interconnection)
Modelo de Referência OSI da ISO Physical Layer (Camada Física): • Transmite seqüências de bits através de um canal de comunicação. • O seu projeto deve garantir que quando um bit 1 é transmitido, ele é recebido como bit 1, não como bit 0, e vice-versa. Data Link Layer (Camada de Enlace): • Transforma as facilidades de transmissão da Physical Layer em um canal livre de erros de transmissão para a Network Layer. • Quebra a seqüência de entrada em frames. • Cria e reconhece os limites dos frames.
Modelo de Referência OSI da ISO Network Layer (Camada de Rede): • Determina como os pacotes são roteados da fonte ao destino. Transport Layer (Camada de Transporte): • Realiza uma comunicação fim-a-fim. • Torna as camadas superiores independentes da tecnologia de hardware utilizada nos diversos tipos de rede. • Implementa controle de fluxo.
Modelo de Referência OSI da ISO Session Layer (Camada de Sessão): • Permite a troca de dados entre usuários, implementando serviços úteis em algumas aplicações • Implementa vários serviços: • Transferência de arquivos. • Gerência do controle de diálogo. • Sincronização. Presentation Layer (Camada de Apresentação): • Preocupa-se com a sintaxe e semântica das informações transmitidas • Usa estruturas de dados definidas de um modo abstrato
Messages Transport Protocol Packets IP Datagram Network-Specific Frames Modelo de Referência TCP/IP Application Layer Software outside the operating system Software inside the operating system Transport Layer Internet Layer Only IP addresses used Only physical addresses used Network Interface Layer Hardware
Modelo de Referência TCP/IP DoD 1972 Host B Host A Application Application Identical Message Transport (TCP/UDP) Transport (TCP/UDP) Identical Packet Internet Protocol (IP) Internet Protocol (IP) Identical Datagram Network Interface Network Interface Identical Frame Physical Net
Modelo de Referência TCP/IP • Application Layer (Camada de Aplicação): • Interage com o usuário se necessário e manipula comandos e dados (mensagens). • Como podemos ter várias instanciações de um programa na mesma máquina (ex. várias janelas de web browsers) que precisam ser diferenciadas entre si, para cada instanciação é alocada uma porta de protocolo (um número inteiro).
Modelo de Referência TCP/IP • Transport Layer (Camada de Transporte): • Fornece a comunicação entre os programas (end-to-end communication). • Remetente: quebra a mensagem em pacotes • Destinatário: remonta a mensagem a partir dos pacotes. • A comunicação pode ser confiável (protocolo TCP) ou não (protocolo UDP).
Modelo de Referência TCP/IP Cont. Transport Layer (Camada de Transporte): • Se for necessário uma comunicação confiável end-to-end (Pacote TCP): • O remetente verifica se o destinatário enviou confirmação de recebimento para cada pacote e se for necessário retransmite os pacotes; • O destinatário verifica se cada pacote recebido não foi corrompido na transmissão e envia acknowledgement para cada pacote recebido sem erro.
Modelo de Referência TCP/IP TCP usa Positive Acknowledgement with Retransmission e Sliding Window. Sender Site Network Messages Receiver Site Send Packet 1 123456 Send Packet 2 123456 Receive Packet 1 Send ACK 1 Send Packet 3 123456 Receive Packet 2 Send ACK 2 Receive ACK 1 123456 Receive Packet 3 Send ACK 3 Send Packet 4 123456 Receive ACK 2 123456 Send Packet 5 123456 Receive ACK 3 Receive Packet 4 Send ACK 4 123456 Send Packet 6 123456
Modelo de Referência TCP/IP Network Messages Receiver Site Sender Site Packet lost Send Packet 1 Start Timer Packet should arrive ACK should be sent ACK should arrive Timer Expires Retransmit Packet 1 Start Timer Receive Packet 1 Send ACK 1 Receive ACK 1 Cancel Timer
Modelo de Referência TCP/IP Veja animações sobre este tópico em: http://www.netbook.cs.purdue.edu/anmtions/anim20_1.htm http://www.netbook.cs.purdue.edu/anmtions/anim20_2.htm http://www.netbook.cs.purdue.edu/anmtions/anim20_3.htm http://www.netbook.cs.purdue.edu/anmtions/anim20_4.htm http://www.netbook.cs.purdue.edu/anmtions/anim20_5.htm Exemplo de uma conexão real: cliente (runner c/ Win 95 - Netscape) requisita de um web server (raquel c/ AIX3.2 - CERN httpd) um arquivo de imagem JPG com 3117 bytes: a) No primeiro pacote enviado RUNNER avisou para RAQUEL que o seu MSS (maximum segment size) é 1460 bytes. b) Win: indica quantos bytes podem ainda ser enviados até completar o “buffer” alocado para a conexão.
Modelo de Referência TCP/IP “snoop” é um programa do tipo packet sniffer disponível para rodar nas workstations UNIX da Sun Microsystems. marina# snoop runner raquel Using device /dev/le (promiscuous mode) runner -> raquel TCP D=80 S=1311 Syn Seq=10613297 Len=0 Win=8192 raquel -> runner TCP D=1311 S=80 Syn Ack=10613298 Seq=2943835649 Len=0 Win=16060 runner -> raquel TCP D=80 S=1311 Ack=2943835650 Seq=10613298 Len=0 Win=8760 runner -> raquel TCP D=80 S=1311 Ack=2943835650 Seq=10613298 Len=339 Win=8760 raquel -> runner TCP D=1311 S=80 Ack=10613637 Seq=2943835650 Len=205 Win=16060 raquel -> runner TCP D=1311 S=80 Ack=10613637 Seq=2943835855 Len=1460 Win=16060 raquel -> runner TCP D=1311 S=80 Ack=10613637 Seq=2943837315 Len=1460 Win=16060 runner -> raquel TCP D=80 S=1311 Ack=2943837315 Seq=10613637 Len=0 Win=8760 raquel -> runner TCP D=1311 S=80 Fin Ack=10613637 Seq=2943838775 Len=197 Win=16060 runner -> raquel TCP D=80 S=1311 Ack=2943838973 Seq=10613637 Len=0 Win=8760 runner -> raquel TCP D=80 S=1311 Fin Ack=2943838973 Seq=10613637 Len=0 Win=8760 raquel -> runner TCP D=1311 S=80 Ack=10613638 Seq=2943838973 Len=0 Win=16059
Modelo de Referência TCP/IP Cont. Transport Layer (Camada de Transporte): • Em aplicações onde por razões de eficiência não é desejado o controle restrito da entrega dos pacotes presente no protocolo TCP, o protocolo UDP pode ser usado (ex. DNS, DHCP, aúdio e vídeo em real-time). • O protocolo UDP não adiciona confiabilidade ao serviço fornecido pela camada IP. • É responsabilidade do programa aplicativo que usa UDP lidar com o problema da falta de confiabilidade da rede física.
Modelo de Referência TCP/IP • IP Layer (Internet Protocol Layer - Camada Internet): • Fornece a comunicação entre as máquinas • Monta os datagramas adicionando o DH (Datagram Header) aos pacotes no remetente • Decide o roteamento do datagrama (opções: entrega na mesma LAN ou em um certo gateway)
Modelo de Referência TCP/IP • Network Interface Layer (Camada de Interface com a Rede): • Transforma os datagramas em frames (remetente) ou vice-versa (destinatário); • Repassa os frames para o hardware de rede (remetente) ou recebe os frames do hardware de rede (destinatário).
Endereçamento no TCP/IP O TCP/IP usa uma combinação de 3 níveis de endereçamento para direcionar os pacotes: 1) Nível de Hardware: Ex. o ethernet address é único, é setado pelo fabricante da placa, 48 bits (6 bytes = 48 bits, exemplo real 0:80:ad:b6:29:e) Leia mais sobre ethernet, fast e giga ethernet em: http://wwwhost.ots.utexas.edu/ethernet/
Endereçamento no TCP/IP 2) Nível de Internet: Endereço único na internet com número (4 bytes = 32 bits) e nome. Ex. reais: www.ericsson.se 193.180.14.22 www.ericson.com.br 200.210.225.7 www.ita.cta.br 161.24.1.39 www.ele.ita.cta.br ou ele.ita.cta.br 161.24.1.16 runner.ele.ita.cta.br 161.24.1.121
Endereçamento no TCP/IP 3) Nível de Aplicativo: • Para determinado serviço é alocado uma porta padrão (abstração para estender o conceito de IP address). • Os números das portas são definidos no arquivo /etc/services (UNIX) ou /windows/services (MS-Windows 3.x/95/98/NT/2000). • Exs. reais: ftp: portas 20 e 21, telnet: porta 23, smtp (email): porta 25, pop3 (email): porta 110, http (www): porta 80, timed: porta 525
Endereçamento no TCP/IP Mapeamentos necessários: 1) Nome Internet para Número Internet (IP address): serviço DNS (Domain Name System). 2) Número IP para Hardware address: serviço ARP (Address Resolution Protocol).
Endereçamento no TCP/IP Endereçamento Internet (IP number): • A IANA (The Internet Assigned Numbers Authority, http://www.iana.org/) coordena em escala global a distribuição dos IPs e atualmente tal tarefa é implementada pela ICANN (The Internet Corporation for Assigned Names and Numbers, http://www.icann.org/). • Para o Brasil, esta distribuição é feita pela FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo,veja http://registro.fapesp.br/). • Cada IP tem 4 bytes (32 bits), escritos na forma decimal, cada byte vale entre 0 e 255. • Endereço dividido em Network + Host = netid + hostid.
Endereçamento no TCP/IP Classes de IPs: Class A: 1-126.H.H.H, major networks, almost never assigned now, 126 nets with 16 million hosts each (bit 1 = 0, netid = 7 bits, hostid = 24 bits). Class B: 128-191.N.H.H, for large sites, usually subnetted, very hard to get, 16382 nets with up to 65536 hosts (bits 1-2 = 10, netid = 14 bits, hostid = 16 bits). Class C: 192-223.N.N.H, easy to get, often obtained in sets, 2 million nets with up to 254 hosts (bits 1-3 = 110, netid = 21 bits, hostid = 8 bits). Class D: 224-239.x, multicasting addressing, a datagram is direct to multiple hosts, still in development (bits 1-4 = 1110). Class E: 240-254.x, reserved for future use (bits 1-5 = 11110). OBS: Os valores 0, 127 e 255 são reservados para funções especiais da rede.
Endereçamento no TCP/IP ARP (Address Resolution Protocol): • Função: dado o endereço lógico INTERNET (IP) de uma máquina na rede local descobrir o endereço físico (hardware). A comunicação final é através do hardware de rede. • Vantagens: independência da tecnologia de hardware e facilidade caso seja preciso trocar o endereço do hardware. • Resolution through Direct Mapping: • Quando é possível escolher o endereço fisíco como parte do endereço IP (caso rede Token-Ring). Ex: IP classe C: N.N.N.H, endereço fisíco = H. • Na maioria dos casos não é possível. Ex: endereço ethernet = 6 bytes (48 bits), porém endereço IP = 4 bytes (32 bits).
Endereçamento no TCP/IP • Resolution through Dynamic Binding: • Criamos uma tabela que fica armazenada na própria máquina e é consultada sempre que um pacote for enviado. Use o comando “arp -a” para ver esta tabela. • Esta tabela é criada usando broadcasting (host 255). Se a máquina A deseja saber qual é o IP da máquina local B: 1) A máquina A faz um anúncio geral (broadcast) na rede local que deseja saber o IP da máquina B. Aproveitando o anúncio a máquina A comunica o seu IP e endereço físico. 2) Todas as máquinas recebem e processam esta mensagem, mas apenas a máquina B responde enviando apenas para a máquina A o seu IP e endereço físico (veja animação em http://www.netbook.cs.purdue.edu/anmtions/anim15_1.htm). Ao entrar na rede (p. ex. ao ser “rebotada”) a máquina anuncia o seu IP e endereço físico.
Endereçamento no TCP/IP Operação: comando “arp -a” marina.ele.ita.cta.br (161.24.1.10) at 8:0:20:87:e5:e5 [ethernet] meneghetti.ele.ita.cta.br (161.24.1.118) at 0:c0:df:ef:23:13 [ethernet] runner.ele.ita.cta.br (161.24.1.121) at 0:80:ad:b6:29:e [ethernet] labatt-g.ele.ita.cta.br (161.24.1.55) at 0:e0:7d:81:76:a6 [ethernet] bizuca.ele.ita.cta.br (161.24.1.165) at 0:60:6e:34:c:a6 [ethernet] fabiano.ele.ita.cta.br (161.24.1.174) at 0:60:6e:34:1b:19 [ethernet] leizer.ele.ita.cta.br (161.24.1.176) at 0:c0:df:2:9c:bf [ethernet] ita-r.ita.cta.br (161.24.1.200) at 2:60:8c:2d:6d:65 [ethernet] Exercício: Quando você estiver em uma máquina com sistema operacional Microsoft Windows 9x/NT/2000 com conexão ativa para a INTERNET, verifique o seu IP entrando na opção “Iniciar/Executar” o comando winipcfg. Note que se sua conexão for tipo dial-up com um provedor o seu IP será alocado dinâmicamente, ou seja, ele será diferente em cada conexão.
Endereçamento no TCP/IP DNS (Domain Name System): • Função: descobrir o número IP de uma máquina na Internet dado o seu nome Internet, visto a facilidade para os usuários em trabalhar com o nome Internet ao invés do número IP. • DNS é um serviço de banco de dados hierárquico (forma de árvore invertida), distribuído na Internet (espeficação original feita em 1983, RFC 881, 882, 883) baseado em um protocolo para troca de mensagens entre as máquinas com informações sobre os nomes. • Na Internet a hierarquia dos nomes é atribuída de acordo com a estrutura das organizações que registraram o sub-domínio, não necessariamente de acordo com a estrutura física das conexões.