• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Redes de computador
 

Redes de computador

on

  • 986 views

Redes de Computadores TCP/IP

Redes de Computadores TCP/IP

Statistics

Views

Total Views
986
Views on SlideShare
986
Embed Views
0

Actions

Likes
1
Downloads
63
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Florianópolis - CTAI Fundamentos em Tecnologia – Arquitetuta TCP/IP O modelo OSI oferece “separação” das camadas inferiores e superiores com interfaces padronizadas. Isso permite que os dispositivos de rede intermediários "comutem" o tráfego sem ter que se preocupar com os detalhes da LAN, o que leva ao conceito de internetworking , ou redes compostas de redes

Redes de computador Redes de computador Presentation Transcript

  • PROF. MSC. LUIZ OTÁVIOPROF. MSC. LUIZ OTÁVIO Redes de Computadores TCP/IPRedes de Computadores TCP/IP
  • 30/09/13Prof. Luiz Otávio B. Lento 2 EmentaEmenta Redes de Alta Velocidade; Redes Sem Fio (Wireless)Redes de Alta Velocidade; Redes Sem Fio (Wireless) Redes Digitais. Redes ATM. Redes com QualidadeRedes Digitais. Redes ATM. Redes com Qualidade de serviço (QoS); Protocolo de reserva de dede serviço (QoS); Protocolo de reserva de de recurso (RSVP); Redes Virtuais Privadas (VPN);recurso (RSVP); Redes Virtuais Privadas (VPN); Intranets; Linhas Digitais por assinatura;Intranets; Linhas Digitais por assinatura; Roteamento IP; Algoritmos; Outros Protocolos.Roteamento IP; Algoritmos; Outros Protocolos.
  • BibliografiaBibliografia Comer, Douglas E., Interligação em RedesComer, Douglas E., Interligação em Redes com TCP/IP Vol.1, Rio de Janeiro, Ed.com TCP/IP Vol.1, Rio de Janeiro, Ed. CampusCampus Tanenbaum, Andrew S., Redes deTanenbaum, Andrew S., Redes de Computadores, Rio de Janeiro, Ed. CampusComputadores, Rio de Janeiro, Ed. Campus Lewis, Chris, Cisco TCP/IP RoutingLewis, Chris, Cisco TCP/IP Routing Professional Reference, Mcgraw-HillProfessional Reference, Mcgraw-Hill Kurose, J. & Ross, K., “Redes deKurose, J. & Ross, K., “Redes de Computadores uma Nova Abordagem”, 1Computadores uma Nova Abordagem”, 1aa Edição, Ed.Edição, Ed. Pearson - Addison Wesley, 2003Pearson - Addison Wesley, 2003 30/09/13Prof. Luiz Otávio B. Lento 3
  • Arquitetura TCP/IPArquitetura TCP/IP (Arquitetura Internet)(Arquitetura Internet) 30/09/13Prof. Luiz Otávio B. Lento 4
  • InternetworkingInternetworking 30/09/13Prof. Luiz Otávio B. Lento 5
  • InternetworkingInternetworking é um esquema paraé um esquema para interconectar várias redes de diferentesinterconectar várias redes de diferentes tecnologiastecnologias Logo, um sistema de redes interconectadasLogo, um sistema de redes interconectadas é chamado deé chamado de Internetworking ou InternetInternetworking ou Internet 30/09/13Prof. Luiz Otávio B. Lento 6
  • Arquitetura InternetArquitetura Internet 30/09/13Prof. Luiz Otávio B. Lento 7
  • 30/09/13Prof. Luiz Otávio B. Lento 8 Princípio da interconexão de camadas de redePrincípio da interconexão de camadas de rede  funcionalidade da rede em módulos independentesfuncionalidade da rede em módulos independentes  diversidade de tecnologias de LAN/WAN nas camadasdiversidade de tecnologias de LAN/WAN nas camadas 1 e 21 e 2 (modelo OSI)(modelo OSI) e camada de Acesso à Redee camada de Acesso à Rede (modelo TCP/IP)(modelo TCP/IP)  diversidade de aplicações funcionando nas camadasdiversidade de aplicações funcionando nas camadas 5, 6 e 75, 6 e 7 (OSI)(OSI) e Camada de Aplicaçãoe Camada de Aplicação (TCP/IP)(TCP/IP)
  • •Fisicamente, aFisicamente, a interconexão de duas redesinterconexão de duas redes é feita através de um computadoré feita através de um computador.. •Para que esta ligação não seja só física, oPara que esta ligação não seja só física, o computador conectado às duas redes deverácomputador conectado às duas redes deverá ter a capacidade de despachar pacotes deter a capacidade de despachar pacotes de uma rede para a outrauma rede para a outra.. 30/09/13Prof. Luiz Otávio B. Lento 9
  • •Estes computadores são chamados deEstes computadores são chamados de gatewaysgateways (roteadores)(roteadores);; 30/09/13Prof. Luiz Otávio B. Lento 10
  • OBS: Para identificar uma máquina na rede, atribui-se um endereço IP para cada uma. rede1 rede2 umarede virtual roteador duasredesinterconectadaspor um roteador InternetA Ex:para atuar como um roteador, este precisaEx:para atuar como um roteador, este precisa capturar os pacotes da rede 1 que sãocapturar os pacotes da rede 1 que são destinados a rede 2 e transferí-los, bem como odestinados a rede 2 e transferí-los, bem como o inverso.inverso. 30/09/13Prof. Luiz Otávio B. Lento 11
  • •Em redes mais complexas osEm redes mais complexas os roteadoresroteadores necessitam saber além das conexões diretasnecessitam saber além das conexões diretas;; 30/09/13Prof. Luiz Otávio B. Lento 12
  • •Ao contrário das tecnologias de rede proprietáriasAo contrário das tecnologias de rede proprietárias mencionadas anteriormente, o TCP/IP foi projetadomencionadas anteriormente, o TCP/IP foi projetado como umcomo um padrão abertopadrão aberto.. •Qualquer pessoa tinha a liberdade de usar oQualquer pessoa tinha a liberdade de usar o TCP/IP, ajudando o seuTCP/IP, ajudando o seu rápido desenvolvimentorápido desenvolvimento.. •A arquitetura TCP/IPA arquitetura TCP/IP é semelhante às outrasé semelhante às outras arquiteturas existentes, éarquiteturas existentes, é modelada em camadasmodelada em camadas.. Essa organização em camadas induz ao termoEssa organização em camadas induz ao termo pilha de protocolospilha de protocolos. A arquitetura TCP/IP é. A arquitetura TCP/IP é modelada emmodelada em quatro camadasquatro camadas.. TCP/IPTCP/IP 30/09/13Prof. Luiz Otávio B. Lento 13
  • 30/09/13Prof. Luiz Otávio B. Lento 14
  • Comparação OSI e TCP/IPComparação OSI e TCP/IP O modelo OSI serviu comoO modelo OSI serviu como referênciareferência para a pilhapara a pilha TCP/IP na sua composição.TCP/IP na sua composição. 30/09/13Prof. Luiz Otávio B. Lento 15
  • Comparação OSI e TCP/IPComparação OSI e TCP/IP 30/09/13Prof. Luiz Otávio B. Lento 16
  • 30/09/13Prof. Luiz Otávio B. Lento 17 ENCAPSULAMENTO DE DADOSENCAPSULAMENTO DE DADOS
  • Camada Internetwork, ou CamadaCamada Internetwork, ou Camada Internet ou Camada de RedeInternet ou Camada de Rede 30/09/13Prof. Luiz Otávio B. Lento 18
  • A determinação do melhor caminho e a comutaçãoA determinação do melhor caminho e a comutação de pacotes ocorrem nesta camadade pacotes ocorrem nesta camada 30/09/13Prof. Luiz Otávio B. Lento 19
  • •É responsável pelaÉ responsável pela transferência de dados datransferência de dados da origem ao seu destinoorigem ao seu destino através de uma ou maisatravés de uma ou mais sub-redes interconectadas desde a máquina desub-redes interconectadas desde a máquina de origem até o seu destino;origem até o seu destino; 30/09/13Prof. Luiz Otávio B. Lento 20
  • •Recebe osRecebe os pedidos do nível de transportepedidos do nível de transporte para transmitir pacotespara transmitir pacotes, que ao solicitar a, que ao solicitar a transmissão, informa o endereço da máquinatransmissão, informa o endereço da máquina onde o pacote será entregue;onde o pacote será entregue; 30/09/13Prof. Luiz Otávio B. Lento 21
  • Protocolo IPProtocolo IP 30/09/13Prof. Luiz Otávio B. Lento 22
  • •Projetado para permitir aProjetado para permitir a interconexão de redesinterconexão de redes de computadores que utilizam a tecnologia dede computadores que utilizam a tecnologia de comutação de pacotescomutação de pacotes;; •É umÉ um protocolo sem conexões cuja a função éprotocolo sem conexões cuja a função é transferir blocos de dados (datagramas)transferir blocos de dados (datagramas) dada origem para o destinoorigem para o destino, onde esses são hosts, onde esses são hosts identificados por endereços IP;identificados por endereços IP; 30/09/13Prof. Luiz Otávio B. Lento 23
  • 30/09/13Prof. Luiz Otávio B. Lento 24 Protocolo de Internet (IP)Protocolo de Internet (IP)
  • •Pacotes enviados pelo IPPacotes enviados pelo IP podem serpodem ser perdidos,perdidos, chegarem fora de ordem ou duplicadoschegarem fora de ordem ou duplicados, sendo, sendo que este não trata estas situações,que este não trata estas situações, deixandodeixando para camadas superiorespara camadas superiores;; •ForneceFornece serviço deserviço de fragmentação e montagemfragmentação e montagem de datagramas longosde datagramas longos, de forma que possam ser, de forma que possam ser transmitidos através de redes onde o tamanhotransmitidos através de redes onde o tamanho máximo permitido é pequeno;máximo permitido é pequeno; 30/09/13Prof. Luiz Otávio B. Lento 25
  • 30/09/13Prof. Luiz Otávio B. Lento 26 Protocolo de Internet (IP)Protocolo de Internet (IP)
  • •Nenhum controle de erros é realizado, a nãoNenhum controle de erros é realizado, a não ser o checksumser o checksum;; 30/09/13Prof. Luiz Otávio B. Lento 27
  • •Trabalha comTrabalha com roteamento distribuído nosroteamento distribuído nos gatewaysgateways - os gateways recebem- os gateways recebem informações locais sobre o tráfego, einformações locais sobre o tráfego, e calculando novas tabelas;calculando novas tabelas; 30/09/13Prof. Luiz Otávio B. Lento 28
  • •O datagrama IP é oO datagrama IP é o pacote básico depacote básico de transferência de informaçõestransferência de informações do protocolodo protocolo Internet;Internet; •Possui umPossui um cabeçalho contendo informaçõescabeçalho contendo informações para o IP e dadospara o IP e dados que são relevantes somenteque são relevantes somente para as camadas mais altas da arquitetura;para as camadas mais altas da arquitetura; cabeçalho dados Datagrama IPDatagrama IP 30/09/13Prof. Luiz Otávio B. Lento 29
  • •o datagrama IP éo datagrama IP é encapsuladoencapsulado numnum quadroquadro de uma redede uma rede, normalmente com o seu tamanho, normalmente com o seu tamanho limitado pelo frame (ex: Ethernet é de 1500limitado pelo frame (ex: Ethernet é de 1500 bytes);bytes); cabeçalhodaredefísica datagramaIPcomodado 30/09/13Prof. Luiz Otávio B. Lento 30
  • •Ao invés de limitar o tamanho do datagrama IP,Ao invés de limitar o tamanho do datagrama IP, negocia-se anegocia-se a fragmentação deste datagrama,fragmentação deste datagrama, reagrupando-o no seu destinoreagrupando-o no seu destino;; •Não são impostosNão são impostos tamanhos máximos para ostamanhos máximos para os datagramas, porém sabe-se que subredes sãodatagramas, porém sabe-se que subredes são capazes de manipular datagramas com tamanhocapazes de manipular datagramas com tamanho mínimo de 576 bytesmínimo de 576 bytes;; 30/09/13Prof. Luiz Otávio B. Lento 31
  • •Fragmentos de um datagrama tem cabeçalhoFragmentos de um datagrama tem cabeçalho,, basicamente copiado do datagrama originalbasicamente copiado do datagrama original, com, com os seus respectivos dados;os seus respectivos dados; •OsOs fragmentos são tratados como IPfragmentos são tratados como IP datagramas normaisdatagramas normais, enquanto transportados, enquanto transportados para o seu destino;para o seu destino; 30/09/13Prof. Luiz Otávio B. Lento 32
  • •Logo, se umLogo, se um fragmento for perdido, ofragmento for perdido, o datagrama completo é considerado perdidodatagrama completo é considerado perdido;; 30/09/13Prof. Luiz Otávio B. Lento 33
  • • formato do datagrama IP octeto1 octeto2 octeto3 octeto4 vers hlen servicetype totallenght flagsidentification fragmentoffset timetolive protocol headerchecksum sourceIPaddress destinationIPaddress IPoptions(IFANY) padding data ... 30/09/13Prof. Luiz Otávio B. Lento 34
  • ⇒versvers - identifica a versão do protocolo, o que- identifica a versão do protocolo, o que determina o formato do cabeçalho internetdetermina o formato do cabeçalho internet (versão atual 4.5, sendo que a versão 6 está(versão atual 4.5, sendo que a versão 6 está em fase de experiência);em fase de experiência); ⇒hlenhlen - comprimento do cabeçalho, em- comprimento do cabeçalho, em número de palavras de 32 bits, indicando onúmero de palavras de 32 bits, indicando o início do campo de dados;início do campo de dados; ⇒service typeservice type - indicação dos parâmetros da- indicação dos parâmetros da qualidade do serviço desejada, usada naqualidade do serviço desejada, usada na seleção dos serviços de transmissão de dadosseleção dos serviços de transmissão de dados das sub-redes;das sub-redes; 30/09/13Prof. Luiz Otávio B. Lento 35
  • PrecedênciaPrecedência – é a medida da natureza e– é a medida da natureza e prioridade do datagrama Ex:prioridade do datagrama Ex: 000 - rotina000 - rotina 001 - prioridade001 - prioridade 011 - flash011 - flash TOSTOS – especifca o tipo do serviço Ex:– especifca o tipo do serviço Ex: 0000 - serviço normal0000 - serviço normal 1000 - atraso mínimo1000 - atraso mínimo MBZMBZ - deverá ser sempre 0 – reservado para- deverá ser sempre 0 – reservado para uso futuro;uso futuro; precedência TOS MBZ 0 1 2 3 4 5 6 7 30/09/13Prof. Luiz Otávio B. Lento 36
  • ⇒total lenghttotal lenght - fornece o comprimento de- fornece o comprimento de todo o datagrama (cabeçalho e dados -todo o datagrama (cabeçalho e dados - comprimento max. 65.535 octetos);comprimento max. 65.535 octetos); ⇒identificationidentification – valor único atribuído pela– valor único atribuído pela origem, usado na montagem dos fragmentosorigem, usado na montagem dos fragmentos do datagrama. Fragmentos de um datagramado datagrama. Fragmentos de um datagrama possuem a mesma identificação;possuem a mesma identificação; 30/09/13Prof. Luiz Otávio B. Lento 37
  • ⇒flagsflags - serve ao controle de fragmentação,- serve ao controle de fragmentação, indicando se um datagrama pode ou não serindicando se um datagrama pode ou não ser fragmentado, e se houve fragmentação;fragmentado, e se houve fragmentação; 30/09/13Prof. Luiz Otávio B. Lento 38
  • 00 - deve ser sempre 0- deve ser sempre 0 DFDF (don’t fragment)(don’t fragment) - 0 - significa- 0 - significa fragmentação; 1 - significa sem fragmentaçãofragmentação; 1 - significa sem fragmentação MFMF (more fragments)(more fragments) - 0 - significa último- 0 - significa último fragmento do datagrama; 1 - não é o últimofragmento do datagrama; 1 - não é o último fragmento do datagramafragmento do datagrama 0 DF MF 30/09/13Prof. Luiz Otávio B. Lento 39
  • ⇒fragment offsetfragment offset – utilizado na– utilizado na remontagem do datagrama originalremontagem do datagrama original.. →IndicaIndica a posição do fragmento dentroa posição do fragmento dentro do datagrama originaldo datagrama original.. 30/09/13Prof. Luiz Otávio B. Lento 40
  • →Este campo valeráEste campo valerá zero para datagramaszero para datagramas não fragmentadosnão fragmentados e noe no primeiro fragmentoprimeiro fragmento de um datagramade um datagrama.. → Este posicionamento é medido emEste posicionamento é medido em unidades de 8 octetos, 64 bytesunidades de 8 octetos, 64 bytes (os bytes(os bytes do cabeçalho não são contados);do cabeçalho não são contados); 30/09/13Prof. Luiz Otávio B. Lento 41
  • ⇒time to livetime to live – determina o– determina o tempo de vidatempo de vida de um datagrama numa rede internetde um datagrama numa rede internet (medido em segundos).(medido em segundos). →Cada máquina ao colocar um datagramaCada máquina ao colocar um datagrama na rede, ela estabelece um tempo máximona rede, ela estabelece um tempo máximo de vida do datagrama.de vida do datagrama. 30/09/13Prof. Luiz Otávio B. Lento 42
  • →A cada passagem por gateway, o tempo éA cada passagem por gateway, o tempo é decrementado do tempo de processamentodecrementado do tempo de processamento do pacotedo pacote (atualmente o roteador é capaz de(atualmente o roteador é capaz de processar um datagrama em menos de 1processar um datagrama em menos de 1 segundo).segundo). → Quando esteQuando este valor chegar a zero, ovalor chegar a zero, o datagrama será descartadodatagrama será descartado. Usado para. Usado para eliminar datagramas que não chegarem aoeliminar datagramas que não chegarem ao seu destino;seu destino; 30/09/13Prof. Luiz Otávio B. Lento 43
  • ⇒protocolprotocol - indica o protocolo de alto nível- indica o protocolo de alto nível para o qual o IP irá liberar o dado em seupara o qual o IP irá liberar o dado em seu datagrama;datagrama; Ex:0 – reservado; 1 - ICMP; 2 - IGMP; 3 –Ex:0 – reservado; 1 - ICMP; 2 - IGMP; 3 – GGP; 4 – IP encapsulado; 5 - Stream 6 – TCP;GGP; 4 – IP encapsulado; 5 - Stream 6 – TCP; 8 – EGP; 17- UDP; 89 – OSPF (Open Shortest8 – EGP; 17- UDP; 89 – OSPF (Open Shortest Path First)Path First) 30/09/13Prof. Luiz Otávio B. Lento 44
  • ⇒headerheader checksumchecksum - utilizado pelos- utilizado pelos gateways para verificar se asgateways para verificar se as informações doinformações do cabeçalho estão corretascabeçalho estão corretas durante adurante a transmissão ou atualização do cabeçalho (nãotransmissão ou atualização do cabeçalho (não é incluído o dado). Com isso, o checksum éé incluído o dado). Com isso, o checksum é recalculado e verificado a cada ponto onde orecalculado e verificado a cada ponto onde o cabeçalho é processado;cabeçalho é processado; 30/09/13Prof. Luiz Otávio B. Lento 45
  • ⇒source e destination IP addresssource e destination IP address - origem e- origem e destino do datagrama;destino do datagrama; ⇒if optionsif options – possui comprimento variado, e– possui comprimento variado, e é utilizado paraé utilizado para discriminar as opções dediscriminar as opções de datagramadatagrama. Utilizado em informações de. Utilizado em informações de segurança, roteamento na origem, relatóriossegurança, roteamento na origem, relatórios de erros, depuração, etc;de erros, depuração, etc; 30/09/13Prof. Luiz Otávio B. Lento 46
  • ⇒paddingpadding - garante que o comprimento do- garante que o comprimento do cabeçalho do datagrama seja semprecabeçalho do datagrama seja sempre múltiplo inteiro de 32 bits;múltiplo inteiro de 32 bits; ⇒datadata - dados.- dados. 30/09/13Prof. Luiz Otávio B. Lento 47
  • Fragmentação e montagem de datagramasFragmentação e montagem de datagramas ⇒uma mensagem entregue pela camada deuma mensagem entregue pela camada de transporte (TCP ou UDP)transporte (TCP ou UDP) pode serpode ser segmentada em vários datagramassegmentada em vários datagramas, de, de acordo com oacordo com o tamanho máximo suportadotamanho máximo suportado pela sub-rede consideradapela sub-rede considerada (as redes físicas(as redes físicas possuem um tamanho máximo da área depossuem um tamanho máximo da área de dados seu quadro -dados seu quadro - MMaximumaximum TTransmissionransmission UUnitnit));; 30/09/13Prof. Luiz Otávio B. Lento 48
  • •Descrita na RFC 792 com atualizações na RFC 950Descrita na RFC 792 com atualizações na RFC 950 •OO ICMP tem como funcionalidadeICMP tem como funcionalidade possibilitar quepossibilitar que roteadores interligados em redes possam informarroteadores interligados em redes possam informar erros ou problemas inesperadoserros ou problemas inesperados que possam ocorrerque possam ocorrer durante a transmissão de pacotesdurante a transmissão de pacotes. Porém, o ICMP. Porém, o ICMP não torna o IP confiável;não torna o IP confiável; ICMP (Internet Control Message Protocol)ICMP (Internet Control Message Protocol) 30/09/13Prof. Luiz Otávio B. Lento 49
  • Tipos de Mensagens ICMPTipos de Mensagens ICMP 30/09/13Prof. Luiz Otávio B. Lento 50
  • •O ICMPO ICMP utiliza outiliza o IP como se ele fosse umIP como se ele fosse um protocolo de alto nívelprotocolo de alto nível. Logo, o ICMP é parte. Logo, o ICMP é parte integrante da implementação do IP;integrante da implementação do IP; •As mensagens ICMPAs mensagens ICMP trafegam pela parte detrafegam pela parte de dados do datagrama IP;dados do datagrama IP; 30/09/13Prof. Luiz Otávio B. Lento 51
  • •OO destino do pacote ICMP é odestino do pacote ICMP é o software Internetsoftware Internet protocolprotocol, no qual o módulo do, no qual o módulo do software ICMPsoftware ICMP tratarátratará a mensagema mensagem, verificando também se o causador do, verificando também se o causador do problema foi um programa aplicativo ou protocolosproblema foi um programa aplicativo ou protocolos superiores.superiores. 30/09/13Prof. Luiz Otávio B. Lento 52
  • O ICMP permite que roteadores enviemO ICMP permite que roteadores enviem mensagens de erromensagens de erro ou de controle aos outros roteadores ou aosou de controle aos outros roteadores ou aos host; o ICMPhost; o ICMP possibilita a comunicação entre o software dopossibilita a comunicação entre o software do InternetInternet Protocol em uma máquina, e o software doProtocol em uma máquina, e o software do Internet Protocol em outra. “Douglas Commer”Internet Protocol em outra. “Douglas Commer” 30/09/13Prof. Luiz Otávio B. Lento 53
  • •Entrega da mensagem ICMPEntrega da mensagem ICMP ⇒oo ICMP éICMP é encapsulado pelo IPencapsulado pelo IP, pois, para levar a, pois, para levar a mensagem de um destino ao outro, é necessário quemensagem de um destino ao outro, é necessário que esta passe por diversas redes intermediárias;esta passe por diversas redes intermediárias; ⇒osos datagramas que transportam mensagensdatagramas que transportam mensagens ICMPICMP são tratados e roteados como qualquer outrosão tratados e roteados como qualquer outro datgramadatgrama, podendo ser duplicados, chegarem fora de, podendo ser duplicados, chegarem fora de ordem ou serem extraviados;ordem ou serem extraviados; 30/09/13Prof. Luiz Otávio B. Lento 54
  • Tipos de MensagensTipos de Mensagens 30/09/13Prof. Luiz Otávio B. Lento 55
  • Utilizados comoUtilizados como ferramenta de depuraçãoferramenta de depuração.. Pode ser usada para testar se máquinasPode ser usada para testar se máquinas posicionadas de forma remota está acessível.posicionadas de forma remota está acessível. EEcho Request e Echo Replycho Request e Echo Reply 30/09/13Prof. Luiz Otávio B. Lento 56
  • •todos começam com os mesmos três campos:todos começam com os mesmos três campos: TypeType - tipo de mensagem- tipo de mensagem CodeCode - informações adicionais específicas- informações adicionais específicas do tipodo tipo ChecksumChecksum - verificação de integridade- verificação de integridade •Formato ICMP paraFormato ICMP para echo requestecho request (tipo 8)(tipo 8) ee echoecho replyreply (tipo 0)(tipo 0):: Formato da Mensagem – tipo 0 e 8Formato da Mensagem – tipo 0 e 8 30/09/13Prof. Luiz Otávio B. Lento 57
  • 30/09/13Prof. Luiz Otávio B. Lento 58
  • Caso aconteça algum erro que impessa que umCaso aconteça algum erro que impessa que um roteador roteie ou entregue um datagrama, este enviaroteador roteie ou entregue um datagrama, este envia uma mensagem ICMP à origem, avisando que ouma mensagem ICMP à origem, avisando que o destino não foi alcançado, e posteriormente descartadestino não foi alcançado, e posteriormente descarta o datagrama;o datagrama; Destinatários não AlcançáveisDestinatários não Alcançáveis 30/09/13Prof. Luiz Otávio B. Lento 59
  • • Destination unreachable (tipo 3) • Entrega mal sucedida de pacote • quando for necessária a fragmentação de um pacote e esta não for possível (de uma rede Token Ring para uma Ethernet) Formato da mensagem p/ destinatáriosFormato da mensagem p/ destinatários não alcançáveisnão alcançáveis 30/09/13Prof. Luiz Otávio B. Lento 60
  • ⇒Source Quench (Controle de Fluxo eSource Quench (Controle de Fluxo e Congestionamento)Congestionamento) ∗Caso o roteador ou host receba estaCaso o roteador ou host receba esta mensagem, significa que omensagem, significa que o destino estádestino está recebendo datagramas numa quantidaderecebendo datagramas numa quantidade maior que ele tem capacidade demaior que ele tem capacidade de processarprocessar;; 30/09/13Prof. Luiz Otávio B. Lento 61
  • ∗Esta mensagem éEsta mensagem é uma solicitação para que auma solicitação para que a origem reduza o seu nível de transmissãoorigem reduza o seu nível de transmissão;; ∗Para cadaPara cada datagrama descartado, é enviado umadatagrama descartado, é enviado uma menagemmenagem QuenchQuench;; ∗A origem dos datagramas ao receber mensagensA origem dos datagramas ao receber mensagens QuenchQuench,, reduz o seu tráfego até parar de receberreduz o seu tráfego até parar de receber estas mensagens, aumentado gradativamente atéestas mensagens, aumentado gradativamente até receber outra mensagem Quenchreceber outra mensagem Quench;; 30/09/13Prof. Luiz Otávio B. Lento 62
  • Endereçamento IP (IPv4)Endereçamento IP (IPv4) 30/09/13Prof. Luiz Otávio B. Lento 63
  • Cada host de uma interligação em redes TCP/IPCada host de uma interligação em redes TCP/IP possui um endereçopossui um endereço único de 32 bitsúnico de 32 bits que é usado emque é usado em todas as comunicações com aquele host;todas as comunicações com aquele host; São distribuídos pelaSão distribuídos pela InterNIC (Internet NetworkInterNIC (Internet Network Information Center).Information Center). A padronização do endereçamento IP é descrito naA padronização do endereçamento IP é descrito na RFC 1166RFC 1166;; 30/09/13Prof. Luiz Otávio B. Lento 64
  • 30/09/13Prof. Luiz Otávio B. Lento 65  Endereço IP é uma seqüência de 32 bits de 1s e 0s  É fácil diferença entre 192.168.1.8 e 192.168.1.9, mas nem tanto entre 11000000.10101000.00000001.00001000 e 11000000.10101000.00000001.00001001, onde é quase impossível ver que são números consecutivos Endereçamento IPEndereçamento IP
  • •O endereço IP pode serO endereço IP pode ser simbólicosimbólico ((nome@tru.gov.brnome@tru.gov.br)) ouou numériconumérico, representado no, representado no formato deformato de 32 bits32 bits, normalmente expressado no, normalmente expressado no formato decimal separados por pontos.formato decimal separados por pontos. Ex: o endereçoEx: o endereço 128.33.3.4128.33.3.4 é um endereço válido paraé um endereço válido para Internet. A sua forma numérica é utilizada peloInternet. A sua forma numérica é utilizada pelo protocolo IP. O mapeamento entre os dois é feitoprotocolo IP. O mapeamento entre os dois é feito através doatravés do DNS (Domain Name System);DNS (Domain Name System); 30/09/13Prof. Luiz Otávio B. Lento 66
  • Quando uma máquina é conectada a maisQuando uma máquina é conectada a mais de uma rede, diz-se que esta éde uma rede, diz-se que esta é multi-homedmulti-homed,, tendo um endereço IP para cada interface detendo um endereço IP para cada interface de rede que possui;rede que possui; 30/09/13Prof. Luiz Otávio B. Lento 67
  • O endereço IP éO endereço IP é lógico e hierárquicológico e hierárquico 30/09/13Prof. Luiz Otávio B. Lento 68
  • IP addressIP address = <número da rede><número da= <número da rede><número da máquina>máquina> O IPO IP éé dividido em duas partesdividido em duas partes 30/09/13Prof. Luiz Otávio B. Lento 69
  • ⇒Número de redeNúmero de rede – é a parte do endereço– é a parte do endereço IP que é atribuído por uma autoridadeIP que é atribuído por uma autoridade centralizadora válida em toda Internet;centralizadora válida em toda Internet; 30/09/13Prof. Luiz Otávio B. Lento 70
  • ⇒Número da MáquinaNúmero da Máquina – é a parte do endereço IP– é a parte do endereço IP que é atribuído pela autoridade que controla a redeque é atribuído pela autoridade que controla a rede identificada pelo número da rede;identificada pelo número da rede; ⇒IP address –IP address – 128.104.1.45128.104.1.45 (endereço classe B)(endereço classe B) 128.104128.104 – endereço da rede– endereço da rede 1.451.45 – endereço da máquina– endereço da máquina 30/09/13Prof. Luiz Otávio B. Lento 71
  • •Representação bináriaRepresentação binária 10000000 00000010 00000111 0000100110000000 00000010 00000111 00001001;; •Durante o translado de uma mensagem, oDurante o translado de uma mensagem, o endereço IP acompanha esta mensagemendereço IP acompanha esta mensagem (IP origem e destino), até o destino final, onde(IP origem e destino), até o destino final, onde é mapeado para o endereço físico daé mapeado para o endereço físico da máquina.máquina. 30/09/13Prof. Luiz Otávio B. Lento 72
  • 30/09/13Prof. Luiz Otávio B. Lento 73
  • Classes A, B and CClasses A, B and C são classes primárias, usadassão classes primárias, usadas para endereçamento de máquinaspara endereçamento de máquinas Classe DClasse D é usada para multicast, a limited form ofé usada para multicast, a limited form of broadcastbroadcast Internet agrupa hosts num grupoInternet agrupa hosts num grupo multicastmulticast os pacotes são liberados para todos osos pacotes são liberados para todos os membros do grupomembros do grupo os roteadores gerenciam a liberação de pacotesos roteadores gerenciam a liberação de pacotes da origem para todos os componentes de umda origem para todos os componentes de um grupo multicastgrupo multicast Classe EClasse E é reservadoé reservado 30/09/13Prof. Luiz Otávio B. Lento 74
  • ⇒Classe AClasse A –os 7 bits restantes do primeiro octeto–os 7 bits restantes do primeiro octeto são utilizados para numerar redes (possibilita 126são utilizados para numerar redes (possibilita 126 redes). Os outros 24 bits para são usados pararedes). Os outros 24 bits para são usados para número de máquinas (16.777.214 máquinas). Denúmero de máquinas (16.777.214 máquinas). De 0.1.0.0 a 126.0.0.0;0.1.0.0 a 126.0.0.0; ⇒Classe BClasse B –os 14 bits restantes para números de–os 14 bits restantes para números de rede (16.382 redes) e os outros 16 para númerosrede (16.382 redes) e os outros 16 para números (65.534 máquinas cada rede). De 128.0.0.0 a(65.534 máquinas cada rede). De 128.0.0.0 a 191.255.0.0;191.255.0.0; 30/09/13Prof. Luiz Otávio B. Lento 75
  • ⇒Classe CClasse C – os 21 bits restantes são utilizados para– os 21 bits restantes são utilizados para endereços de rede (2.097.150) e os outros 8 bits paraendereços de rede (2.097.150) e os outros 8 bits para endereço de máquinas (254 máquinas por rede). Deendereço de máquinas (254 máquinas por rede). De 192.0.1.0192.0.1.0 a 223.255.255.0;a 223.255.255.0; ⇒Classe DClasse D – utilizados para para grupos de– utilizados para para grupos de máquinas em uma área delimitada. De 224.0.0.0 amáquinas em uma área delimitada. De 224.0.0.0 a 239.255.255.255;239.255.255.255; ⇒Classe EClasse E – endereços reservados para usos– endereços reservados para usos futuros. De 240.0.0.0 a 247.255.255.255;futuros. De 240.0.0.0 a 247.255.255.255; 30/09/13Prof. Luiz Otávio B. Lento 76
  • Endereços Classes primáriasEndereços Classes primárias 30/09/13Prof. Luiz Otávio B. Lento 77
  • 30/09/13Prof. Luiz Otávio B. Lento 78 Endereços unicast, broadcast e multicastEndereços unicast, broadcast e multicast
  • ⇒Endereçamento IP especialEndereçamento IP especial - qualquer- qualquer componente do endereço IP com todos os bits comcomponente do endereço IP com todos os bits com valor 0 ou todos os bits com valor 1, são descartadosvalor 0 ou todos os bits com valor 1, são descartados como número de redes e como número de máquina,como número de redes e como número de máquina, pois possuem significado especial.pois possuem significado especial. 30/09/13Prof. Luiz Otávio B. Lento 79
  • 30/09/13Prof. Luiz Otávio B. Lento 80
  • 30/09/13Prof. Luiz Otávio B. Lento 81 Atribuindo EndereçosAtribuindo Endereços
  • ⇒Endereço de Loopback – 127.0.0.0Endereço de Loopback – 127.0.0.0 – utilizado no– utilizado no teste do TCP/IP e para a comunicação na máquinateste do TCP/IP e para a comunicação na máquina local. Quando algum programa utiliza o endereçolocal. Quando algum programa utiliza o endereço loopback como destino, o software de protocololoopback como destino, o software de protocolo retorna os dados sem enviar qualquer tráfego para aretorna os dados sem enviar qualquer tráfego para a rede;rede; 30/09/13Prof. Luiz Otávio B. Lento 82
  • Alocação de Endereços para Internets PrivadasAlocação de Endereços para Internets Privadas •Alocação de endereços IP para redes que sãoAlocação de endereços IP para redes que são usadas exclusivamente dentro de uma organização eusadas exclusivamente dentro de uma organização e que não se conectarão a Internetque não se conectarão a Internet;; •Três ranges são observadas:Três ranges são observadas: ⇒1010 - um endereço classe A;- um endereço classe A; ⇒172.16 a 172.31172.16 a 172.31 - 16 endereços classe B;- 16 endereços classe B; ⇒192.168.0 a 192.168.255192.168.0 a 192.168.255 - 256 endereços classe C;- 256 endereços classe C; 30/09/13Prof. Luiz Otávio B. Lento 83
  • 30/09/13Prof. Luiz Otávio B. Lento 84
  • Subredes MáscarasSubredes Máscaras Com o crescimento de uma rede, distribuirCom o crescimento de uma rede, distribuir endereços IP torna-se uma missão difícil.endereços IP torna-se uma missão difícil. 30/09/13Prof. Luiz Otávio B. Lento 85
  • Para evitar a solicitação de novos endereçosPara evitar a solicitação de novos endereços IP, introduziu-se o conceito de subnet;IP, introduziu-se o conceito de subnet; ⇒a parte referente aoa parte referente ao número de máquinanúmero de máquina do endereço foi dividido novamente emdo endereço foi dividido novamente em número de rede e número de máquinanúmero de rede e número de máquina;; 30/09/13Prof. Luiz Otávio B. Lento 86
  • ⇒a nova rede é denominada como subneta nova rede é denominada como subnet com o endereço IP interpretado da seguintecom o endereço IP interpretado da seguinte forma:forma: <número da rede> <número da subnet><número da rede> <número da subnet> <número da máquina><número da máquina> 30/09/13Prof. Luiz Otávio B. Lento 87
  • •a combinação doa combinação do <número da subnet> <número da máquina><número da subnet> <número da máquina> é chamada deé chamada de endereço localendereço local;; 30/09/13Prof. Luiz Otávio B. Lento 88
  • 1.1. A subnet é implementada de formaA subnet é implementada de forma transparentetransparente para redes remotaspara redes remotas.. 2.2. Logo, uma máquina em uma rede que possuiLogo, uma máquina em uma rede que possui subnets, é informada da existência da subnet,subnets, é informada da existência da subnet, porém,porém, máquinas em redes remotas não sãomáquinas em redes remotas não são informadas da existência de subnets,informadas da existência de subnets, considerando o endereço local de um endereço IPconsiderando o endereço local de um endereço IP como um número de máquinacomo um número de máquina;; 30/09/13Prof. Luiz Otávio B. Lento 89
  • 1.1. a divisão do endereço local em subnets e dosa divisão do endereço local em subnets e dos endereços de máquinas pode ser feita de formaendereços de máquinas pode ser feita de forma livre para o administrador da redelivre para o administrador da rede;; 2.2. a divisão é feita através dea divisão é feita através de máscarasmáscaras, composta, composta por um número de 32 bits;por um número de 32 bits; ⇒bits zerobits zero numa máscara correspondem aonuma máscara correspondem ao número da máquinanúmero da máquina ee bits 1bits 1 correspondem aocorrespondem ao número da subnetnúmero da subnet;; ⇒as posições na máscara correspondente aoas posições na máscara correspondente ao número da rede terão sempre valores 1, não sendonúmero da rede terão sempre valores 1, não sendo usadas;usadas; 30/09/13Prof. Luiz Otávio B. Lento 90
  • •o tratamento parao tratamento para todos os bits 0 e 1todos os bits 0 e 1 sãosão aplicados para cada uma das três partes doaplicados para cada uma das três partes do endereço da subnet;endereço da subnet; 30/09/13Prof. Luiz Otávio B. Lento 91
  • Ex: suponha um endereço classe B com 16 bits paraEx: suponha um endereço classe B com 16 bits para o endereço local, duas formas podem ser utilizadas:o endereço local, duas formas podem ser utilizadas: 1 -1 - o primeiro byte é o número da subnet e o segundoo primeiro byte é o número da subnet e o segundo o número da máquina. Logo, posso endereçar 254o número da máquina. Logo, posso endereçar 254 máquinas (2máquinas (288 - 2 =254), com 254 possíveis subnets.- 2 =254), com 254 possíveis subnets. A máscara é 255.255.255.0;A máscara é 255.255.255.0; 30/09/13Prof. Luiz Otávio B. Lento 92
  • 2 -2 - Suponha que queira criar subnets, onde os 12Suponha que queira criar subnets, onde os 12 primeiros bits são para subnets e os quatro últimosprimeiros bits são para subnets e os quatro últimos bits são para número de máquinas;bits são para número de máquinas; Posso criar 4094 subnets (2Posso criar 4094 subnets (21212 - 2 = 4094) e endereçar- 2 = 4094) e endereçar 14 máquinas por subnets (214 máquinas por subnets (244 -2 = 14). A máscara é-2 = 14). A máscara é 255.255.255.240 (240 = 2255.255.255.240 (240 = 277 + 2+ 266 + 2+ 255 + 2+ 244 )) 30/09/13Prof. Luiz Otávio B. Lento 93
  • 30/09/13Prof. Luiz Otávio B. Lento 94 Subnet ID com máscara 255.255.255.240Subnet ID com máscara 255.255.255.240
  • 1. Baseado no exemplo mostrado, uma subnet com o endereço 128.102.32.16, conterá máquinas com uma range de 128.102.32.17 até 128.102.32.30; 2. Uma subnet com o endereço 128.102.32.32 conterá máquinas com uma range de 128.102.32.33 até 128.102.32.46 (porque todos os bits 0 e 1 são endereços especiais); 30/09/13Prof. Luiz Otávio B. Lento 95
  • Tipos de SubnetsTipos de Subnets ⇒Static SubnetStatic Subnet – todas as sunets na– todas as sunets na mesma redemesma rede utilizam a mesma máscarautilizam a mesma máscara.. 30/09/13Prof. Luiz Otávio B. Lento 96
  • É de simples implementação e fácilÉ de simples implementação e fácil manutenção, porémmanutenção, porém acarreta desperdícios deacarreta desperdícios de espaço de endereços para pequenas redesespaço de endereços para pequenas redes (ex:uma subrede com 4 máquinas com a(ex:uma subrede com 4 máquinas com a máscara 255.255.255.0 desperdiça 250máscara 255.255.255.0 desperdiça 250 endereços IP).endereços IP). Hosts e roteadores suportam Static Subnet;Hosts e roteadores suportam Static Subnet; 30/09/13Prof. Luiz Otávio B. Lento 97
  • CIDR – Classless Interdomain RoutingCIDR – Classless Interdomain Routing 30/09/1398Prof. Luiz Otávio B. Lento
  • Vantagens da sumarização automatica:  O tamanho da tabela de roteamento é reduzida  Uma única rota é usada para representar multiplas rotas a qual resulta em uma otimização na pesquisa da tabela de roteamento 30/09/1399Prof. Luiz Otávio B. Lento
  • Sumarização de rotas feito pelo CIDR -Rotas são sumarizadas com máscara que são menor que a máscara classful padrão -Exemplo: 172.16.0.0 / 13 é a rota sumarizada das redes classfull de 172.16.0.0 / 16 à 172.23.0.0 / 16 Classless Inter-Domain Routing (CIDR) 30/09/13100Prof. Luiz Otávio B. Lento
  • Passos para calcular uma rota sumarizada -Liste as redes em formato binário -Conte os dígitos binários a partir da esquerda comparando os bits iguais e determine a máscara da sumarização 30/09/13101Prof. Luiz Otávio B. Lento
  • VLSM (Variable Lenght Subnet Mask)VLSM (Variable Lenght Subnet Mask) Subredes de Tamanho VariávelSubredes de Tamanho Variável 30/09/13102Prof. Luiz Otávio B. Lento
  • VLSM consiste na segmentação lógica de subredes. Permite a utilização de mais de uma máscara de sub- rede dentro do mesmo Sistema Autômato.  Maximiza a eficiência dos endereços e freqüentemente é chamada de criação de sub-redes em uma sub-rede.  Flexibilidade no uso dos endereços  Pode ser usado para dividir em sub-redes um endereço já dividido em sub-redes (links WAN) A VLSM consiste em segmentar as subredes criadas, em blocos não necessariamente do mesmo tamanho. Daí o nome “subredes de tamanho variável”. 30/09/13103Prof. Luiz Otávio B. Lento
  • Vantagens: Flexibiliza o esquema engessado de endereçamento IP; Permite sumarização de redes IPs em apenas um endereço, reduzindo as tabelas de roteamento. Desvantagens: Apenas protocolos do tipo classless (RIPv2, OSPF, EIGRP, BGP) suportam esse tipo de endereçamento. Exige uma maior capacidade do administrador da rede. 30/09/13104Prof. Luiz Otávio B. Lento
  •  Suponha a Rede sem segmentação abaixo:  192.168.10.0 /24 (como é sem segmentação, a máscara DEVE ser /24, um endereço de rede classe “C”)  Suponha que esta rede foi segmentada em 2 subredes distintas: 192.168.10.64 /26 e 192.168.10.128 /26 OBS: Aqui foi aplicada a regra 2 x - 2. Se esta regra não fosse aplicada, teriam as subredes 192.168.10.0 /26 e 192.168.10.192 / 26. Existem as 2 subredes acima denotadas, cada uma delas com capacidade para endereçar 62 hosts: 1 - Subrede: 192.168.10.64 2 - Subrede: 192.168.10.128 hosts: 65 à 126 hosts: 129 à 190 Broadcast: 127 Broadcast: 191 30/09/13105Prof. Luiz Otávio B. Lento
  • Suponha que se tenha em mãos este pequeno plano de endereçamento, uma rede com a seguinte topologia para endereçar: Quantas redes esta topologia apresenta? Resposta: 6 redes! 3 redes WAN interconectando os routers A, B e C, e 3 redes locais, para cada uma das localidades. Como existem apenas 2 redes disponíveis, consegue-se suprir as necessidades de endereçamento? Resposta: VLSM! 30/09/13106Prof. Luiz Otávio B. Lento
  •  Pegue as 2 redes que especificadas e divida-as ainda mais, obtendo assim o número de redes necessárias.  Comece pelas 3 redes WAN. Observe que todas são do tipo ponto-a-ponto, ou seja, precisam de apenas 2 endereços de host (um para cada interface de cada um dos 2 routers).  Por exemplo, a rede que interliga o router A com o router B necessita de apenas 2 endereços IP: um para cada router.  Assim sendo, são necessárias 3 subredes com mascara de 30 bits. 30/09/13107Prof. Luiz Otávio B. Lento
  • Use a rede 64 para obter as 3 redes /30 : 192.168.010.64 255.255.255.192 ==> 11111111.1111111.11111111.11000000 Os “zeros” em vermelho mostram até que ponto pode-se avançar na máscara /26 para obtermos as redes /30. Quantas redes /30 foram obtidas? Resposta: 2 4 = 16. Note que aqui não se aplica a regra do “-2″. Esta regra não é aplicada para cálculo de subredes VLSM. Portanto, a subrede 192.168.10.64 /26, quando subdividida conforme acima, fornece 16 subredes /30, cada uma podendo endereçar até 2 hosts (ou interfaces de roteadores, no caso). Estas redes ocorrem de 4 em 4: 192.168.10.64, 68, 72, 76. 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120 e 124, todas com máscara /30. 30/09/13108Prof. Luiz Otávio B. Lento
  •  Para o exercício será reservada as 3 primeiras: 192.168.10.64 /30, 192.168.10.68 /30 e 192.168.10.72 /30.  Notem que ainda existem 13 subredes /30 que não serão usadas. O que poderia ser feito, para evitar este desperdício, é dividir a subrede 192.168.10.64 /26 em 2 subredes /27 (192.168.10.64 /27 e 192.168.10.96 /27), e subdividir a primeira (192.168.10.64 /27) em 8 subredes /30.  Desta forma, o desperdício seria de menor número de endereços e ainda existiria uma subrede /27, com capacidade para endereçar até 30 hosts sobrando, para uso futuro. Mas para efeitos didáticos, o exemplo inicial é mais fácil de ser compreendido. 30/09/13109Prof. Luiz Otávio B. Lento
  • Resolveu-se o problema do endereçamento das redes WAN, mas agora sobrou apenas 1 subrede /26 para endereçamento das 3 localidades, sendo que cada localidade tem a sua necessidade de hosts. A dica aqui é fazer o cálculo usando a localidade com maior necessidade de IPs (20 hosts, no caso). Sendo assim, é necessário pelo menos 3 subredes que me entreguem ao menos 20 hosts. 192.168.010.128 255.255.255.192 ==> 11111111.1111111.11111111.11000000 30/09/13110Prof. Luiz Otávio B. Lento
  •  Note que existem 6 “zeros” para manipulação. O algoritmo que tem que usar é: 2 x - 2 >= 20, sendo que o resultado (x) é o número de “zeros” da direita para a esquerda que será mantido.  Note que a regra do “-2 deve ser observada neste cálculo, já″ que se está falando de hosts (tem que eliminar os endereços de rede e de broadcast).  Portanto, x = 5, já que 25 - 2 = 30, e 30 >= 20. Se x fosse 4, o resultado seria 14, e 14 não é >= 20.  Deve-se reservar 5 zeros para o endereçamento dos hosts: 11111111.1111111.11111111.11100000 30/09/13111Prof. Luiz Otávio B. Lento
  •  Existe um problema. Se for feito desta forma restará apenas 1 zero na máscara para a criação das subredes.  Apenas 1 zero possibilita a criação de apenas 2 subredes (2 1 ).  São necessárias 3 subredes. Como fazer?  Resposta: Cria-se 2 novas subredes, cada uma com capacidade para endereçar até 30 hosts e, posteriormente, divide-se novamente uma destas em 2 subredes: As 2 novas subredes ocorrem de 32 em 32 são: 192.168.10.128 /27 e 192.168.10.160 /27 30/09/13112Prof. Luiz Otávio B. Lento
  • Agora pegue a segunda e divida-a novamente: 192.168.010.160 255.255.255.224 ==> 11111111.1111111.11111111.11100000 O “zero” assinalado em vermelho é o dígito que será altera do na máscara para criar 2 novas subredes com máscara /28. Observem que, conforme se adiciona um dígito à máscara original, criamos 2 novas subredes. Ex: de /26 para /27 criamos 2 subredes. De /27 para /28, criamos 2 subredes, e assim por diante. 30/09/13113Prof. Luiz Otávio B. Lento
  • As 2 novas subredes /28 ocorrem de 16 em 16 (/28 = 255.255.255.240 | 256 - 240 = 16 são: 192.168.10.160 /28 e 192.168.10.176 /28 Resta saber se a capacidade de endereçamento de hosts cada uma destas subredes possui: Existem 4 “zeros” restantes na máscara /28. Assim sendo: 24 - 2 = 14, atendedo aos requisitos. Endereços Conexão WAN A - B: 192.168.10.64 /30 Conexão WAN A - C: 192.168.10.68 /30 Conexão WAN C - B: 192.168.10.72 /30 Localidade ligada ao router C: 192.168.10.192.168.10.128 /27 (até 30 hosts) Localidade ligada ao router A: 192.168.10.192.168.10.160 /28 (até 14hosts) Localidade ligada ao router B: 192.168.10.192.168.10.176 /28 (até 14 hosts) 30/09/13114Prof. Luiz Otávio B. Lento
  • Camada de TransporteCamada de Transporte 30/09/13Prof. Luiz Otávio B. Lento 115
  • Oferece serviços de transporte desde aOferece serviços de transporte desde a origem até o destinoorigem até o destino 30/09/13Prof. Luiz Otávio B. Lento 116
  • A camada de transporte prepara os dados recebidos da camada de aplicação para o transporte sobre a rede e processa os dados da rede que serão usados pela aplicação Dados da aplicação Dados de rede 30/09/13Prof. Luiz Otávio B. Lento 117
  • • Geralmente, a Internet é representada por uma nuvem. • A camada de transporte envia pacotes de dados da origem para o destino receptor através dessa nuvem. 30/09/13Prof. Luiz Otávio B. Lento 118
  • aplicação transportetransporte rede enlace física rede enlace física aplicação transportetransporte rede enlace física rede enlace física rede enlace físicarede enlace física rede enlace física transporte lógico fim a fim 30/09/13Prof. Luiz Otávio B. Lento 119
  • •Sua função principal éSua função principal é permitir a comunicação fim apermitir a comunicação fim a fim entre as aplicaçõesfim entre as aplicações.. •Logo, permite a troca de dados fim a fim entre doisLogo, permite a troca de dados fim a fim entre dois sistemas de uma rede Internet, provendo asistemas de uma rede Internet, provendo a qualidadequalidade de serviçode serviço requerida pela aplicação;requerida pela aplicação; 30/09/13Prof. Luiz Otávio B. Lento 120
  • Habilitando aplicações nos dispositivos para a comunicação A camada de transporte move os dados entre aplicações nos dispositivos na rede 30/09/13Prof. Luiz Otávio B. Lento 121
  • •Para otimizar os recursos de comunicaçãoPara otimizar os recursos de comunicação tanto otanto o TCP como o UDP utilizam oTCP como o UDP utilizam o recurso derecurso de multiplexação sobre o IPmultiplexação sobre o IP;; 30/09/13Prof. Luiz Otávio B. Lento 122
  • •Mensagens a transmitir são aceitasMensagens a transmitir são aceitas simultaneamente de várias aplicaçõessimultaneamente de várias aplicações ee passadas para o IP no sistema de origem,passadas para o IP no sistema de origem, ocorrendo aocorrendo a demultiplexaçãodemultiplexação no sistema deno sistema de destino;destino; 30/09/13Prof. Luiz Otávio B. Lento 123
  • •Toda aToda a comunicação com a aplicação écomunicação com a aplicação é endereçada através da portaendereçada através da porta;; 30/09/13Prof. Luiz Otávio B. Lento 124
  • PortasPortas 30/09/13Prof. Luiz Otávio B. Lento 125
  • •A identificação da aplicação em um dadoA identificação da aplicação em um dado sistema é feita atravéssistema é feita através dodo conceito de portaconceito de porta (port) na camada de transporte(port) na camada de transporte,, representada por um número inteirorepresentada por um número inteiro associado à aplicação;associado à aplicação; •A porta é umA porta é um número inteiro de 16 bitsnúmero inteiro de 16 bits,, usado pelo protocolo da camada deusado pelo protocolo da camada de transporte, que identifica a aplicação, ondetransporte, que identifica a aplicação, onde toda a comunicação é endereçada atravéstoda a comunicação é endereçada através dela;dela; 30/09/13Prof. Luiz Otávio B. Lento 126
  • •Aplicações Internet (Telnet, FTP, etc)Aplicações Internet (Telnet, FTP, etc) possuem o mesmo número de portaspossuem o mesmo número de portas (portas(portas padrão)padrão) para todas as implementaçõespara todas as implementações TCP/IP;TCP/IP; •Estas portas são padronizadas e distribuídasEstas portas são padronizadas e distribuídas pelopelo IANA (Internet Assigned NumbersIANA (Internet Assigned Numbers Authority);Authority); •Portas com a range dePortas com a range de 0 a 10230 a 1023 sãosão controladas pelo IANA;controladas pelo IANA; 30/09/13Prof. Luiz Otávio B. Lento 127
  • •Portas dePortas de 1024 a 65.325 não são1024 a 65.325 não são controladas pelo IANAcontroladas pelo IANA, podendo ser, podendo ser utilizadas na maioria dos sistemas porutilizadas na maioria dos sistemas por usuários desenvolvedores de sistemas;usuários desenvolvedores de sistemas; •Para evitar a possibilidade de duas ou maisPara evitar a possibilidade de duas ou mais aplicações acessarem o mesmo número deaplicações acessarem o mesmo número de porta numa mesma máquina,porta numa mesma máquina, estas sãoestas são distribuídas de forma dinâmicadistribuídas de forma dinâmica, podendo, podendo diferenciar de uma solicitação para outra;diferenciar de uma solicitação para outra; 30/09/13Prof. Luiz Otávio B. Lento 128
  • SocketSocket 30/09/13Prof. Luiz Otávio B. Lento 129
  • •socket é uma das várias APIs para protocolossocket é uma das várias APIs para protocolos de comunicação;de comunicação; •é um tipo especial de arquivo de manipulaçãoé um tipo especial de arquivo de manipulação de dados que é usado por um processo parade dados que é usado por um processo para solicitar serviços da rede;solicitar serviços da rede; •o endereço de um socket consiste numao endereço de um socket consiste numa tripla:tripla: {protocolo, endereço local, processo local} -{protocolo, endereço local, processo local} - 30/09/13Prof. Luiz Otávio B. Lento 130
  • •A comunicação entre dois processos é feitoA comunicação entre dois processos é feito através de um link;através de um link; •Esta associação é composta por uma 5-tuplaEsta associação é composta por uma 5-tupla que especifica totalmente os dois processosque especifica totalmente os dois processos que compõe a conecção;que compõe a conecção; {protocolo, endereço local, processo local,{protocolo, endereço local, processo local, endereço de destino, processo de destino}endereço de destino, processo de destino} {tcp, 193.44.234.3, 1500, 193.44.234.5, 21}{tcp, 193.44.234.3, 1500, 193.44.234.5, 21} 30/09/13Prof. Luiz Otávio B. Lento 131
  • •Half-asociation ou socket, consiste no pontoHalf-asociation ou socket, consiste no ponto final de comunicação que pode ser chamado efinal de comunicação que pode ser chamado e endereçado na rede;endereçado na rede; {protocolo, endereço local, processo local} ou{protocolo, endereço local, processo local} ou {protocolo, endereço de destino, processo de{protocolo, endereço de destino, processo de destino}destino} 30/09/13Prof. Luiz Otávio B. Lento 132
  • Chamadas BásicasChamadas Básicas do Socketdo Socket 30/09/13Prof. Luiz Otávio B. Lento 133
  • •Inicializar um socketInicializar um socket - socket( );- socket( ); •realiza um bind entre um socket a umarealiza um bind entre um socket a uma portaporta - bind( );- bind( ); •sinalizar que está pronta para receber umasinalizar que está pronta para receber uma conexãoconexão - listen( );- listen( ); •a chamada accept( )a chamada accept( ) é enviada pelo servidoré enviada pelo servidor antes do processo cliente;antes do processo cliente; 30/09/13Prof. Luiz Otávio B. Lento 134
  • Caso exista uma uma solicitação de conexãoCaso exista uma uma solicitação de conexão aguardando na fila para esta conexão socket,aguardando na fila para esta conexão socket, a chamada accept( ) retira a primeiraa chamada accept( ) retira a primeira solicitação da fila e cria outro socket com assolicitação da fila e cria outro socket com as mesmas propriedades do socket anteriormesmas propriedades do socket anterior 30/09/13Prof. Luiz Otávio B. Lento 135
  • Caso não exista uma solicitação de conexão oCaso não exista uma solicitação de conexão o accept bloqueia qualquer invocação deaccept bloqueia qualquer invocação de processo até uma solicitação de conexãoprocesso até uma solicitação de conexão chegarchegar •a chamada conect( ) solicita uma conexão aoa chamada conect( ) solicita uma conexão ao servidorservidor 30/09/13Prof. Luiz Otávio B. Lento 136
  • s o c k e t ( ) b i n d ( ) l i s t e n ( ) s o c k e t ( ) r e a d ( ) c l o s e ( ) r e a d ( )w r i t e ( ) w r i t e ( )d a t a ( s o l i c i t a ç ã o ) d a t a ( r e s p o s t a ) c o n n e c t ( ) c l o s e ( ) s o l i c i t a ç ã o d o p r o c e s s o b l o q u e a d o a t é a c o n e x ã o d o c l i e n t e s e r e s t a b e l e c i d a a c c e p t ( ) c r i a u m n o v o s o c k e t p a r a u m a n o v a s o l i c i t a ç ã o d o c l i e n t e a c c e p t ( ) e s t a b e l e c i m e n t o c o n e x ã o c l i e n t e s e r v e r e n c e r r a a c o n e x ã o e n v i a e r e c e b e d a d o s e n v i a e r e c e b e d a d o s c o n e x ã o c o m o s e r v i d o r i n i c i a l i z a r s o c k e t r e a l i z a r o b i n d e n t r e o s o c k e t e a p o r t a i n i c i a l i z a r s o c k e t a c e i t a a c o n e x ã o i n d i c a q u e e s t á p r o n t o p a r a r e c e b e r a c o n e x ã o 30/09/13Prof. Luiz Otávio B. Lento 137
  • s o c k e t( ) b in d ( ) lis t e n ( ) a c c e p t ( ) s o c k e t( ) c o n n e c t ( ) b in d ( ) r e c v f r o m ( ) s e n d to ( ) s o c k e t( ) s o c k e t( ) b in d ( ) o r ie n ta d o à c o n e x ã o - s e r v e r o r ie n ta d o à c o n e x ã o - c lie n te n ã o o r ie n ta d o à c o n e x ã o - s e r v e r n ã o o r ie n ta d o à c o n e x ã o - c lie n te 30/09/13Prof. Luiz Otávio B. Lento 138
  • •Um par deUm par de socketssockets é usado para identificaré usado para identificar umauma conexão entre dois processosconexão entre dois processos ;; •Com a conexão estabelecida, cada socketCom a conexão estabelecida, cada socket corresponde a umcorresponde a um ponto final dessaponto final dessa conexãoconexão;; 30/09/13Prof. Luiz Otávio B. Lento 139
  • •Vários processos podem usar os serviços doVários processos podem usar os serviços do TCP simultaneamenteTCP simultaneamente,, estabelecendo váriasestabelecendo várias conexões entre esses processos e outrosconexões entre esses processos e outros residentes em estações remotasresidentes em estações remotas.. •Logo, realiza-se aLogo, realiza-se a multiplexaçãomultiplexação em umaem uma conexão IP;conexão IP; 30/09/13Prof. Luiz Otávio B. Lento 140
  • porta1 porta2 porta3 Aplicações Multiplexação TCP/UDP IP porta1 porta2 porta3 Aplicações Multiplexação TCP/UDP IP sub-rededeacesso 30/09/13Prof. Luiz Otávio B. Lento 141
  • Protocolo TCP – Transmission ControlProtocolo TCP – Transmission Control ProtocolProtocol 30/09/13Prof. Luiz Otávio B. Lento 142
  • Necessidades: -Velocidade - Baixo overhead - Não requer acknowledeg - Não reenvia blocos de dados - Entrega de dados como chegam, sem alteração Necessidades: -Confiabilidade - tenho overhead - requer acknowledeg - Reenvia blocos de dados - Entrega de dados na ordem enviada Desenvolvedores de aplicações escolhem o protocolo de transporte baseando-se na natureza de sua aplicação Desenvolvedores de aplicações escolhem o protocolo de transporte baseando-se na natureza de sua aplicação 30/09/13Prof. Luiz Otávio B. Lento 143
  • •Descrito na RFC 793;Descrito na RFC 793; •Dois processos seDois processos se comunicam através decomunicam através de sockets TCPsockets TCP.. •Este modelo possibilita uma conexãoEste modelo possibilita uma conexão full-full- duplex de stream de pacotesduplex de stream de pacotes para outrospara outros processos;processos; 30/09/13Prof. Luiz Otávio B. Lento 144
  • processoA processoB portaN TCP portaM TCP IP IP nãoconfiável conecçãoTCP confiável sockets 30/09/13Prof. Luiz Otávio B. Lento 145
  • Conceitos do TCPConceitos do TCP •O propósito doO propósito do TCP é prover umTCP é prover um circuitocircuito lógico confiávellógico confiável ou umou um serviço de conexãoserviço de conexão entre par de processosentre par de processos;; 30/09/13Prof. Luiz Otávio B. Lento 146
  • •conexão de circuito virtualconexão de circuito virtual – é estabelecido– é estabelecido umauma conexãoconexão entre par de processos deentre par de processos de aplicaçãoaplicação, antes da transferência de stream, antes da transferência de stream 30/09/13Prof. Luiz Otávio B. Lento 147
  • ⇒os módulos de software deos módulos de software de protocolos dosprotocolos dos dois sistemas (transmissor e receptor)dois sistemas (transmissor e receptor) operacionais comunicam-se através deoperacionais comunicam-se através de mensagens para estabelecer uma conexãomensagens para estabelecer uma conexão,, verificando se averificando se a transferência é autorizada etransferência é autorizada e se ambos os lados estão prontos para ase ambos os lados estão prontos para a transferênciatransferência;; 30/09/13Prof. Luiz Otávio B. Lento 148
  • ⇒a partir deste ponto, éa partir deste ponto, é estabelecida umaestabelecida uma conexãoconexão, possibilitando a transferência de dados;, possibilitando a transferência de dados; ⇒durante a transferência de dados, osdurante a transferência de dados, os protocolos de comunicação das duas máquinasprotocolos de comunicação das duas máquinas continuam a comunicar-se para verificar secontinuam a comunicar-se para verificar se os dados são recebidos corretamenteos dados são recebidos corretamente;; 30/09/13Prof. Luiz Otávio B. Lento 149
  • ⇒caso existamcaso existam falhas de comunicação, estasfalhas de comunicação, estas serão detectadas e participadas aosserão detectadas e participadas aos programas aplicativosprogramas aplicativos;; ⇒os circuitos virtuais descrevem estasos circuitos virtuais descrevem estas conexões,conexões, proporcionando uma confiabilidadeproporcionando uma confiabilidade na transmissão;na transmissão; 30/09/13Prof. Luiz Otávio B. Lento 150
  • Estabelecendo uma ConexãoEstabelecendo uma Conexão • O primeiro handshake solicita sincronização • O segundo e o terceiro confirmam a solicitação de sincronização inicial e também sincronizam os parâmetros de conexão na direção oposta • O segmento de handshake final é uma confirmação usada para informar ao destino que ambos os lados concordam que foi estabelecida uma conexão 30/09/13Prof. Luiz Otávio B. Lento 151
  • HandshakeHandshake TriploTriplo 30/09/13Prof. Luiz Otávio B. Lento 152
  • SYNSYN (serve para estabelecer uma comunicação).(serve para estabelecer uma comunicação). Lembra a palavra sincronizar;Lembra a palavra sincronizar; •ACKACK (número de confirmação). Utilizado para confirmar(número de confirmação). Utilizado para confirmar o recebimento de segmentos e indicar o próximoo recebimento de segmentos e indicar o próximo desejado;desejado; •FINFIN (finalização). Utilizado para encerrar de forma(finalização). Utilizado para encerrar de forma “elegante” uma comunicação TCP;“elegante” uma comunicação TCP; •RSTRST (reset). Utilizado para romper de forma brusca(reset). Utilizado para romper de forma brusca uma conexão TCP;uma conexão TCP; •URGURG (urgente). Utilizado para identificar dados(urgente). Utilizado para identificar dados urgentes dentro do segmento TCP;urgentes dentro do segmento TCP; •PSHPSH (“push” ou empurrar). Utilizado para forçar a(“push” ou empurrar). Utilizado para forçar a transmissão de um segmento logo que ele chega atransmissão de um segmento logo que ele chega a camada de transporte.camada de transporte. OO TCPTCP possui 6 flags.possui 6 flags. 30/09/13Prof. Luiz Otávio B. Lento 153
  • 1. A estação (A) inicia uma conexão enviando um segmento SYN para a estação (B) indicando que o seu ISN (Initial Sequence Numbers)= X: A —> B SYN, seq de A = X 2. B recebe o segmento, grava que a seqüência de A = X, responde com um ACK de X+1, e indica que seu ISN = Y. O ACK de X+1 significa que a estação B já recebeu todos os bytes até ao byte X e que o próximo byte esperado é o X + 1: B —> A ACK, seq de A = X, SYN seq de B = Y, ACK = X+1 Estabelecendo uma conexão – 3 WayEstabelecendo uma conexão – 3 Way HandshakeHandshake 30/09/13Prof. Luiz Otávio B. Lento 154
  • 3. A recebe o segmento de B, fica sabendo que a seqüência de B = Y, e responde com um ACK de Y+1, que finaliza o processo de estabelecimento da conexão: A —> B ACK, seq de B = Y, ACK = Y+1 Estabelecendo uma conexão – 3 WayEstabelecendo uma conexão – 3 Way HandshakeHandshake 30/09/13Prof. Luiz Otávio B. Lento 155
  • Estabelecendo uma conexão – 3 WayEstabelecendo uma conexão – 3 Way HandshakeHandshake 30/09/13Prof. Luiz Otávio B. Lento 156
  • Encerramento de uma conexãoEncerramento de uma conexão 30/09/13Prof. Luiz Otávio B. Lento 157 Término de uma sessão TCPTérmino de uma sessão TCP
  • •transmissão de dadostransmissão de dados - durante a- durante a transmissão de dados, os aplicativos podemtransmissão de dados, os aplicativos podem estabelecer qualquer tamanho para o streamestabelecer qualquer tamanho para o stream de dadosde dados, podendo variar de, podendo variar de 1 octeto1 octeto emem diante;diante; 30/09/13Prof. Luiz Otávio B. Lento 158
  • ⇒ao receber os octetos, oao receber os octetos, o TCP entregaTCP entrega osos octetos do stream de dadosoctetos do stream de dados na mesmana mesma seqüência em que foram enviadosseqüência em que foram enviados para ospara os aplicativosaplicativos;; ⇒os octetos são liberados assim que tenhamos octetos são liberados assim que tenham sidosido recebidos e avaliadosrecebidos e avaliados;; 30/09/13Prof. Luiz Otávio B. Lento 159
  • ⇒o TCP é livreo TCP é livre parapara dividir em segmentosdividir em segmentos umum stream de dadosstream de dados, suficiente para preencher um, suficiente para preencher um datagramadatagrama;; ⇒osos segmentos sãosegmentos são bufferizadosbufferizados até chegarematé chegarem a um valor (varia de acordo com aa um valor (varia de acordo com a capacidadecapacidade de processamentode processamento da máquina);da máquina); 30/09/13Prof. Luiz Otávio B. Lento 160
  • •confiabilidadeconfiabilidade - garante que um stream de- garante que um stream de dados seja entregue no seu destino semdados seja entregue no seu destino sem duplicação ou perdasduplicação ou perdas.. ⇒Para que isto seja realizado, utiliza-se aPara que isto seja realizado, utiliza-se a técnica chamada detécnica chamada de confirmação positivaconfirmação positiva com retransmissãocom retransmissão;; 30/09/13Prof. Luiz Otávio B. Lento 161
  • ⇒oo TCPTCP atribui um número seqüencial paraatribui um número seqüencial para cada byte transmitidocada byte transmitido, esperando um, esperando um reconhecimento positivoreconhecimento positivo (ACK)(ACK) do TCP quedo TCP que recebeu a mensagem;recebeu a mensagem; 30/09/13Prof. Luiz Otávio B. Lento 162
  • ⇒aa origem mantém umorigem mantém um registroregistro de cadade cada pacote que enviapacote que envia ee espera uma confirmaçãoespera uma confirmação antes de enviar o próximo pacote;antes de enviar o próximo pacote; ⇒é iniciado umé iniciado um temporizadortemporizador pela origempela origem quando envia um pacotequando envia um pacote, e, caso este, e, caso este temporizador setemporizador se encerre antes de se obterencerre antes de se obter um reconhecimento positivo, é realizadaum reconhecimento positivo, é realizada uma nova transmissãouma nova transmissão;; 30/09/13Prof. Luiz Otávio B. Lento 163
  • ⇒caso não receba o ACK, ocaso não receba o ACK, o dado édado é transmitidotransmitido em blocos (segmentos TCP).em blocos (segmentos TCP). Somente o número seqüencial do primeiro byteSomente o número seqüencial do primeiro byte do dado do segmento é enviado para ado dado do segmento é enviado para a máquina de destino;máquina de destino; ⇒o TCP de destino utiliza oo TCP de destino utiliza o número seqüencialnúmero seqüencial parapara rearrumar os segmentos quando elesrearrumar os segmentos quando eles chegam fora de ordem, e elimina segmentoschegam fora de ordem, e elimina segmentos duplicadosduplicados;; 30/09/13Prof. Luiz Otávio B. Lento 164
  • •segmentaçãosegmentação - as mensagens entregues ao- as mensagens entregues ao TCP podem ser segmentadas.TCP podem ser segmentadas. ⇒CadaCada segmento deve compor umsegmento deve compor um datagrama IPdatagrama IP ee possuir umpossuir um número denúmero de identificaçãoidentificação, possibilitando posteriormente,, possibilitando posteriormente, no destino, a recomposição da mensagemno destino, a recomposição da mensagem original;original; 30/09/13Prof. Luiz Otávio B. Lento 165
  • •seqüenciaçãoseqüenciação - garante a recomposição no- garante a recomposição no destino da mensagem, de acordo com odestino da mensagem, de acordo com o número de identificação dos segmentos;número de identificação dos segmentos; 30/09/13Prof. Luiz Otávio B. Lento 166
  • Diferentes segmentos podem possuir diferentes rotas Se existem rotas diferentes até o destino, os segmentos podem chegar fora de ordem 30/09/13Prof. Luiz Otávio B. Lento 167
  • •controle de errocontrole de erro - os- os segmentos sãosegmentos são numerados para que possam sernumerados para que possam ser ordenados eordenados e entregues na seqüência corretaentregues na seqüência correta à aplicaçãoà aplicação de destinode destino.. ⇒Além disso, é incorporado ao cabeçalho oAlém disso, é incorporado ao cabeçalho o checksumchecksum (algoritmo verificador de soma),(algoritmo verificador de soma), usado para verificar a correção de dados queusado para verificar a correção de dados que compõe todo o segmento recebido.compõe todo o segmento recebido. 30/09/13Prof. Luiz Otávio B. Lento 168
  • Os segmentos de dados devem ser “montados” pelo receptor na mesma ordem em que foram recebidos, para que haja uma transferência de dados confiável, orientada à conexão JanelamentoJanelamento 30/09/13Prof. Luiz Otávio B. Lento 169
  • ⇒OO TCPTCP relata falhas de serviçosrelata falhas de serviços originadas em situações de funcionamentooriginadas em situações de funcionamento anormalanormal no ambiente de redeno ambiente de rede, falhas estas, falhas estas que ele não conseguiu recuperar, porque ele não conseguiu recuperar, por exemplo, aexemplo, a queda de enlaces físicos ou aqueda de enlaces físicos ou a pane de uma estaçãopane de uma estação;; 30/09/13Prof. Luiz Otávio B. Lento 170
  • •controle de fluxocontrole de fluxo - regula o fluxo de dados a- regula o fluxo de dados a ser transferido, de acordo com aser transferido, de acordo com a velocidadevelocidade existente entre os dois sistemasexistente entre os dois sistemas.. ⇒O TCP envia vários segmentos ao destino,O TCP envia vários segmentos ao destino, mesmo antes de receber ummesmo antes de receber um reconhecimento positivo ou negativo,reconhecimento positivo ou negativo, adaptando a diferença de velocidadeadaptando a diferença de velocidade existente entre os dois sistemasexistente entre os dois sistemas 30/09/13Prof. Luiz Otávio B. Lento 171
  • controle de fluxocontrole de fluxo 30/09/13Prof. Luiz Otávio B. Lento 172
  • •precedência e segurançaprecedência e segurança - níveis de- níveis de precedência e segurança podem serprecedência e segurança podem ser estabelecidos pela aplicaçãoestabelecidos pela aplicação parapara tratamento dos dados;tratamento dos dados; 30/09/13Prof. Luiz Otávio B. Lento 173
  • Princípio de Janela DeslizantePrincípio de Janela Deslizante •Utilizado para umUtilizado para um melhor aproveitamento damelhor aproveitamento da largura de bandalargura de banda;; •o protocolo simples deo protocolo simples de transporte consiste notransporte consiste no recebimento de um ACK para cada pacoterecebimento de um ACK para cada pacote transmitidotransmitido. Ocasiona uma. Ocasiona uma má utilizaçãomá utilização dada banda passante;banda passante; 30/09/13Prof. Luiz Otávio B. Lento 174
  • Se segmentos são perdidos durante um congestionamento, o receptorSe segmentos são perdidos durante um congestionamento, o receptor irá reconhecer o último segmento e replica com um número de janelairá reconhecer o último segmento e replica com um número de janela reduzidoreduzido 30/09/13Prof. Luiz Otávio B. Lento 175
  • •para cada pacote transmitido é iniciado opara cada pacote transmitido é iniciado o timetime outout, e existe um ACK para cada um deles, e existe um ACK para cada um deles;; •conforme os ACK vão chegando, aconforme os ACK vão chegando, a janelajanela vaivai deslizando para que o próximo pacote possadeslizando para que o próximo pacote possa ser enviadoser enviado.. •A janela continuará deslizando conforme foremA janela continuará deslizando conforme forem recebidas as confirmaçõesrecebidas as confirmações;; 30/09/13Prof. Luiz Otávio B. Lento 176
  • 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 janelainicial janeladesliza 30/09/13Prof. Luiz Otávio B. Lento 177
  • suponha que o pacotesuponha que o pacote 3 tenha se3 tenha se perdidoperdido,, isto é, a origem não recebeu oisto é, a origem não recebeu o ACK 4ACK 4, logo, a, logo, a janela permanece na posição 2;janela permanece na posição 2; quando ocorre o timequando ocorre o time out da origem, esteout da origem, este será retransmitidoserá retransmitido;; 30/09/13Prof. Luiz Otávio B. Lento 178
  • 30/09/13Prof. Luiz Otávio B. Lento 179
  • Seqüência de TransmissãoSeqüência de Transmissão 30/09/13Prof. Luiz Otávio B. Lento 180
  • FormatodosSegmentos portadeorigem portadedestino númerodeseqüência númerodeACK checksum urgentpointer 160 31 opções padding Dados ... HLEN reservado bits de código janela 30/09/13Prof. Luiz Otávio B. Lento 181
  • Formato do SegmentoFormato do Segmento •porta de origem e de destinoporta de origem e de destino - contêm os- contêm os números das portas TCP associadas aosnúmeros das portas TCP associadas aos programas de aplicação em cada ponto daprogramas de aplicação em cada ponto da conexão;conexão; •NR de seqüênciaNR de seqüência - identifica o número de- identifica o número de seqüência do primeiro octeto deste segmentoseqüência do primeiro octeto deste segmento dentro do stream;dentro do stream; 30/09/13Prof. Luiz Otávio B. Lento 182
  • •NR de ACK (acknowledgement)NR de ACK (acknowledgement) - identifica o- identifica o número do próximo octeto que o destino esperanúmero do próximo octeto que o destino espera receber;receber; •HLENHLEN - contém um número inteiro que- contém um número inteiro que especifica o tamanho do cabeçalho doespecifica o tamanho do cabeçalho do segmento medido em múltiplos de 32 bitssegmento medido em múltiplos de 32 bits (necessário porquê o campo opções possui(necessário porquê o campo opções possui tamanho variável);tamanho variável); 30/09/13Prof. Luiz Otávio B. Lento 183
  • •bits de códigobits de código - determina o propósito e o- determina o propósito e o conteúdo do segmento (os bits mostram comoconteúdo do segmento (os bits mostram como interpretar os outros campos no cabeçalho)interpretar os outros campos no cabeçalho) •Ex: 1Ex: 1°° bit ativo - campo urgente pointer válidobit ativo - campo urgente pointer válido 22°° bit ativo - número do ACK válido até o bit 6bit ativo - número do ACK válido até o bit 6 30/09/13Prof. Luiz Otávio B. Lento 184
  • •janelajanela - o TCP informa quantos dados ele está- o TCP informa quantos dados ele está pronto para aceitar a cada momento que enviapronto para aceitar a cada momento que envia um segmento, através da especificação doum segmento, através da especificação do tamanho do buffer;tamanho do buffer; •checksumchecksum - armazena um valor- armazena um valor correspondente para verificação de erro,correspondente para verificação de erro, levando em consideração o tamanho dolevando em consideração o tamanho do cabeçalho, dados a serem transmitidos,cabeçalho, dados a serem transmitidos, endereço IP de origem e destino;endereço IP de origem e destino; 30/09/13Prof. Luiz Otávio B. Lento 185
  • •urgent pointerurgent pointer - utilizado para identificar um- utilizado para identificar um bloco de dados urgente dentro de um segmentobloco de dados urgente dentro de um segmento TCP;TCP; •opçãoopção - negocia com a outra extremidade da- negocia com a outra extremidade da conexão o tamanho máximo de um segmentoconexão o tamanho máximo de um segmento que o outro TCP está disposto a receber;que o outro TCP está disposto a receber; •paddingpadding - garante que o tamanho do- garante que o tamanho do cabeçalho do segmento TCP seja múltiplo decabeçalho do segmento TCP seja múltiplo de 32 bits;32 bits; 30/09/13Prof. Luiz Otávio B. Lento 186
  • Protocolo UDP (User Datagrama Protocol)Protocolo UDP (User Datagrama Protocol) 30/09/13Prof. Luiz Otávio B. Lento 187
  • O UDP é um protocolo padrão descrito na RFCO UDP é um protocolo padrão descrito na RFC 768;768; •O UDPO UDP é basicamente umaé basicamente uma interface deinterface de aplicação (API) para o IPaplicação (API) para o IP.. •Ele, é um protocoloEle, é um protocolo não orientado à conexãonão orientado à conexão,, não adicionanão adiciona confiabilidade, controle de fluxoconfiabilidade, controle de fluxo ou recuperação de errosou recuperação de erros para o IP;para o IP; 30/09/13Prof. Luiz Otávio B. Lento 188
  • UDP não estabelece uma sessão antes do envio de dados UDP é um protocolo de baixo overhead 30/09/13Prof. Luiz Otávio B. Lento 189
  • •OO UDP serve simplesmente como umUDP serve simplesmente como um multiplexador/demultiplexadormultiplexador/demultiplexador para o envio epara o envio e recebimento de datagramas IPrecebimento de datagramas IP, utilizando, utilizando portas para direcionar os datagramas;portas para direcionar os datagramas; 30/09/13Prof. Luiz Otávio B. Lento 190
  • •O UDPO UDP é um mecanismoé um mecanismo primário para envioprimário para envio do datagramado datagrama de uma aplicação para a outra.de uma aplicação para a outra. •Ele pode ser considerado como extremamenteEle pode ser considerado como extremamente simples e, conseqüentemente tem um baixosimples e, conseqüentemente tem um baixo overheadoverhead, porém, existe a necessidade da, porém, existe a necessidade da aplicação ter a responsabilidade de garantir aaplicação ter a responsabilidade de garantir a recuperação de errosrecuperação de erros;; 30/09/13Prof. Luiz Otávio B. Lento 191
  • •Não oferece meios que permitam garantir umaNão oferece meios que permitam garantir uma transferência confiável de dadostransferência confiável de dados, uma vez, uma vez que não implementa mecanismos deque não implementa mecanismos de reconhecimento, de seqüenciação nem dereconhecimento, de seqüenciação nem de controle de fluxocontrole de fluxo das mensagens de dadosdas mensagens de dados trocadas entre os dois sistemas;trocadas entre os dois sistemas; 30/09/13Prof. Luiz Otávio B. Lento 192
  • •Logo, osLogo, os datagramas podem serdatagramas podem ser perdidos,perdidos, duplicados ou entregues fora de ordemduplicados ou entregues fora de ordem aoao sistema de destinosistema de destino.. •AA aplicação assume toda aaplicação assume toda a responsabilidaderesponsabilidade pelo controle de erros dentropelo controle de erros dentro do nível de qualidade do serviço que a mesmado nível de qualidade do serviço que a mesma requer;requer; 30/09/13Prof. Luiz Otávio B. Lento 193
  • Diferentes segmentosDiferentes segmentos podem possuir diferentespodem possuir diferentes rotasrotas Se existem rotas diferentes até o destino, os segmentos podem chegar fora de ordem 30/09/13Prof. Luiz Otávio B. Lento 194
  • •Descrição do protocoloDescrição do protocolo:: ⇒porta de origem e destinoporta de origem e destino - identificam os- identificam os números das portas de serviço UDP utilizadasnúmeros das portas de serviço UDP utilizadas em uma comunicação;em uma comunicação; ⇒tamanho da mensagemtamanho da mensagem - contém o número- contém o número de octetos do datagrama UDP, incluindo ode octetos do datagrama UDP, incluindo o cabeçalho e os dados do usuário;cabeçalho e os dados do usuário; 30/09/13Prof. Luiz Otávio B. Lento 195
  • ⇒checksumchecksum - armazena um valor- armazena um valor correspondente para verificação de erro,correspondente para verificação de erro, levando em consideração o tamanho dolevando em consideração o tamanho do cabeçalho, dados a serem transmitidos,cabeçalho, dados a serem transmitidos, endereço IP de origem e destino;endereço IP de origem e destino; 30/09/13Prof. Luiz Otávio B. Lento 196
  • FormatodoDatagramaUDP portadeorigem portadedestino tamanhodamensagem checksum 160 31 Dados ... 30/09/13Prof. Luiz Otávio B. Lento 197
  • •AA API UDP provê os seguintes serviçosAPI UDP provê os seguintes serviços:: ⇒criação de novas portascriação de novas portas receptoras;receptoras; ⇒realiza operação derealiza operação de envio de dadosenvio de dados,, passando como parâmetros as portas e ospassando como parâmetros as portas e os endereços IP de destino e origem;endereços IP de destino e origem; ⇒recebe dadosrecebe dados, indicando a porta e o, indicando a porta e o endereço de origem;endereço de origem; 30/09/13Prof. Luiz Otávio B. Lento 198