Você está na página 1de 52
3@ TCPIIP BASICO Mariano Sumrell Miranda Lourival J. P. Moreira Elza de Mattos Paiva Unidade 1 INTRODUGAO ‘TCP/IP 6 um conjunto de protocolos utilizado para comunicagao entre computadores. O nome TCP/IP 6 derivado de dois dos mais conhecidas protocolos deste conjunto: TCP (Transport Control Protocol) e IP (Intemet Protocol). Foi criado a partir do projeto da (D)JARPA com © objetivo de interconectar redes geograficamente dispersas. Este projeto deu origem a Internet e aos protocolos (TCP/IP) nelas utilizados. Em 1983, a Universidade de Berkeley, num projeto financiado pela DARPA, langou a verso BSD4.2 do UNIX com o TCP/IP incorporado. Desde entéo, o TCP/IP passou a ser 0 protocolo de rede padrao dos sistemas UNIX, mesmo em redes locais isoladas. ‘Além da Intemet @ dos sistemas UNIX, 0 TCP/IP 6 0 protocolo mais comumente utiizado para interconectar sistemas heterogéneos, ou seja, sistemas que tém protocolos natives diversos. Tornou-se 0 padréo de fato de redes locais e 0 seu uso tem crescido com 0 a ampla utiizagao da tecnologia da Intemet dentro das empresas: a chamada Intranet. Hoje esid disponivel para qualquer sistema operacional: Windows, Netware, OSI2, etc. 1.1 AINTERNET Intemet 6 uma rede mundial de redes, interconectando organizagbes do mundo inteiro © controle da Intemet distribuido, no havendo um controle central. No entanto, para o usuario funciona como uma Unica rede virtual que se estende por todo planeta. As fungdes basicas oferecidas s&o: coreio eletrénico, acesso a recursos computacionais remotos, transferéncias de arquivos e acesso a informagées (inclusive através do "World Wide Web" - WWW). Pela sua caracteristica distribuida, nao é possivel precisar o nimero exato de usuarios da Internet, mas sabe-se com certeza que conecta mais de 40 milhdes de usudrios em diversos paises € 6 0 recurso de comunicagao que mais cresce no mundo. Originalmente se ligavam a Internet principaimente universidades, colégios ¢ drgdos governamentais. Mais recentemente, com a abertura da Intemet para 0 mundo comercial, Mariano Miranda - Tepap cat empresas privadas @ individuos estio se ligando rapidemente & Internet so responsaveis pelo seu fantastico crescimento. Fig 1.4 - A Internet 4.2 BREVE HISTORICO Ahistéria do TCP/IP se confunde com a histéria da Internet, visto que este protocolo foi criado como parte do projeto que deu origem a Internet. Em 1969, 0 Departamento de Defesa dos EUA, através da “Advanced Research Projects Agency" - ARPA (mais tarde chamada de "Defense Advanced Research Projects Agency" = DARPA) deu partida a um projeto de desenvolvimento de tecnologias para imerconexo de redes. Este projeto deu origem ao chamado TCP/IP que € 0 conjunto de protocols usado hoje na Internet. A NSF (National Science Foundation) passou 4 considerar redes como veiculo estratégico para apoiar atividades cientificas e em 1986 criou a NSFnet interligando as principais universidades e institutos de pesquisa dos EUA. Em 1989 0 ntimero de nés da Intemet era de mais de 100.000, em contraste com 4 em 1969, Neste ano € no ano seguinte a Intemet académica se espalhou por todo o mundo ¢ chegou ao Brasil em 1991. Mariano Miranda - TCP/IP i Em 1992 6 criado 0 World Wide Web por Tim Bemers-Lee do CERN. Em 1993 0 NCSA da Universidade de Wlinois tanga a interface grafica para o WWW chamada Mosaic. O WWW passa ser a coqueluche da Internet e, desde marco de 1995, representa o maior tréfego nesta rede. Mariano Miranda - TCP/IP 13 Unidade 2 CONCEITOS DE REDES 2.1 DEFINIGAO Rede de computadores € um conjunto de computadores auténomos interligados entre si. A interconexéo pode ser através de fios, ondas de radio, luz, links de satélites ‘ou qualquer outra forma imaginavel de interconexo. Costuma-se fazer uma distingao entre dois tipos de rede rede local, chamada de LAN (Local Area Network) ¢ rede geograficamente distribufda ou de longa distancia, conhecida por WAN (Wide Area Network). Como 0 nome ja diz, a LAN esta limitada a uma certa distancia, ao contrario das WANs que nao apresentam restri¢ao quanto a distancia coberta pela rede. As LANs no entanto apresentam uma taxa maior de comunicagao. Freqientemente, como no caso da Intemet, uma LAN esta interconectada com uma WAN. Rede locais e redes de longa distancia apresentam muitas caracteristicas comuns © cutras diferentes em relacdo a alguns aspectos como topologia, protocolos, ete, Em tecnologias como ATM, as diferencas entre redes locais e de longa distancia praticamente desaparecem. & interessante observar que a estruturagdo dos servigos de redes em camadas (assunto que discutiremos mais adiante) tomam as diferengas entre as caracteristicas das redes mais transparente e as aplicagSes mais independentes das tecnologias empregadas. 2.2 PROTOCOLOS Para que haja comunicagdo entre sistemas quaisquer, é necessério que exista um conjunto de regras e procedimentos para que a comunicagao possa ser felta de maneira adequada. Assim, numa conversa ‘elefénica quem atende fala “al6" ©, estabelecido esse sincronismo inicial, um fala © ouve enquanto o outro ouve ¢ fala, nessa ordem. Nesse exemplo existe um conjunto implicto de regras regendo a comunicacao. No universo de redes de computadores, essas regras séo em geral mais rigidas ¢ recebem o nome de protocolos Mariand Miranda - TCP/IP a Alo - De onde fala? ~ 596-9999 - Desculpa foi engano. - Denada [os dois desligam] 2.3 ESTRUTURAGAO EM CAMADAS Diversos so 0s problemas que devem ser resolvidos a0 se projetar uma rede de computadores. Podemos citar alguns: « Caracteristicas do meio fisico de comunicagéo: par trangado, cabo coaxial, link de rédio ou de satélite, ete; * Codificagéio dos sinais elétricos transmitidos; © Questées de roteamento das mensagens; * Controle de Fluxo; « Estabelecimento de Comunicagées; + Tratamento de erros; * Retransmissées; « Ordenagao das mensagens. Cada uma dessas questées apresenta por si sd uma complexidade nem sempre desprezivel. Ao se juntar todos essas questies no projeto de uma rede, a complexidede pode se tomar to grande que a resolugao do problema passa a ser praticamente invidvel. 0 método adotado para atacar a questéo da complexidade do projeto de uma rede foi ode estruturar a arquitetura da rede em camadas hierdrquicas. Com isso tornou-se possivel ‘a divisdo de um problema complexo em vérios problemas menores que, abordados separadamente, sao bem mais faceis de se resolver. Essa idéia pode ser ilustrada pela figura 2.1. Nesta figura mostfamos os niveis de protocolos de duas maquinas que se comunicam. © nivel inferior dos protocolos corresponde ao nivel fisico e © nivel superior corresponde & aplicagéo. O nivel fisico € 0 Unico que se comunica diretamente com o nivel correspondente do outro computador. A comunicagao entre os protacolos se dé através da passagem de mensagens para oS niveis inferiores até que chegue a0 nivel fisico. Ao atingir esse nivel, ocorre uma transmissao da Mariano Miranda - TCP/IP 22 mensagem para © outro computador. O nivel fisico da maquina destinataria por sua vez vai passando as mensagens para os nfveis superiores até atingir a camada de aplicagao. Assim, uma camada N presta servicos 4 camada N+1 e se utiliza dos servigos da camada N-1. Esses services so bem definidos e a complexidade de cada nivel é relativamente pequena se comparada coma complexidade total do sistema. Aplicagto Lag... ---- Aplicagao Niv. Fisico Fig. 2.1 Uma outra vantagem da estruturagio em camadas, além da simplificagao dos problemas, 6 a modularidade inerente a essa arquitetura. Essa modularidade permite que um determinado nivel seja modificado sem que haja alteragao dos outros niveis que compe 0 sistema. Para tomar mais claro esse conceito de estruturagao em niveis ou camadas vamos apresentar um exemplo metaférico bem simplificado dessa técnica, ilustrado na figura 2.2. (Este exemplo foi retirado do livro Computer Networks, de Andrew S. Tanenbaum) Suponha que um filésofo no Kenia deseje trocar idéias com um filésofo na Indonésia. Para isso @ necesséria uma lingua comum @ uma forma para que as mensagens de um possam efetivamente chegar ao outro. Resolvido esses problemas, eles poderiam discutir filosofia, que 6 um assunto que ambos dominam, Adotando a idéia de estruturacdo em camadas, os filésofos passam as mensagens para tradutores. Tanto 0 tradutor no Kenia ‘Mariano Miranda - TCP/IP 23 quanto ‘0 da Indonésia adotam uma linguagem comum (0 inglés por exemple) pars Se comunicarem. Assim, a mensagem do filésofo:do Kenia étraduzida por seu tradutor para inglés. A mensagem, em inglés ao chegar ao tradutor na Indonésia, é traduzida e passada para 0 fidsofo, Para que a mensagens do Kenia, traduzidas para o inglés possa ‘chegar na Indonésia e vice-versa, OS tradutores entregam as mensagens 40S: engenheiros de comunicaso que transmitern as mensagens via telégrafo. Kenia Indonésia p> (Filosofo J S Fig. 22 : Podemos fazer algumas consideragdes baseadas nesse exemplo. Uma & que se os engenheiros resolverem, de comum acordo, passar a enviar as mensagens por FAX 20 invés de telégrafo, nada mudaré do ponto de vista dos tradutores nem dos fildsofos. Eles sequer terdo que tomar conhecimento da_mudanga ocorrida, Da mesma maneira Se 08 tradutores resolverem adotar o esperanto no lugar do inglés, nem os engenheiros nem 08 filésofos s40 afetados por esta mudanga. Cutra observagdo interessante é que os bidlogos da Universidade do Kenia poderiam usar a mesma estrutura de servicos (tradutor-engenheiro) para trocar informagoes @ discutir biologia com 08 bidlogos da Indonésia. Dito de outra maneira, dois protocolos Mariano Miranda - TCPnP. 24 diferentes mas hierarquicamente no mesmo nivel podem compartilhar os servigos dos niveis inferiores. Uma itima observagdo, em cima deste exemplo, 6 que apesar dos filésofos estarem efetivamente se comunicando do ponto de vista légico, essa comunicagao néo 6 feta diretamente mas sim passando pelos servigos dos nivels inferiores. Da mesma maneira os tradutores esto se comunicando mas de uma forma indireta, via engenheiros. Esses sim, s40 08 Gnicos que realmente falam diretamente um com 0 outro Esse fato é denotado na figura acima, usando-se linhas pontihadas para mostrar a comunicagao entre 98 nivels superiores e linha cheia para representar a comunicago no nivel fisico- Quando se trata de computadores, os protocolos S40 composts por mensagens com um cabegalho ou preambulo, os dados propriamente ditos e opcionalmente um postambulo. Quando uma mensagem é transmitida para um nivel inferior, ela € encapsuleda e o cabecalho 08 dados ( ¢ 0 postémbulo se exist) passam a ser os dados do protocolo inferior. Este processo vai se repetindo até que atinja © nivel inferior quando entéo € enviado para 0 né festinatario, Neste né a mensagem é recebida pelo nivel fisico que @ desencapsula (retire cabecalho e postémbulo) e a passa 20 nivel superior. Este proceso se repete até que a mensagem atinja o nivel mais alto. O encapsulamento pode ser observado na figura 2.3. HB D3 HL DI Fig 2.3 - Encapsulamento de mensagens 2.4 MODELO ISO/OSI A 180 ("Intemational Standard Organization’), uma entidade que lida_com padronizago em computadores € processamento da informagao, criou em 1977 um Mariano Miranda - TCP/IP 28 comité para estudar a questéo da padronizagéo da interconexéo de sistemas computacionais. Inicialmente foi definida uma estrutura geral ou arquitetura, denominado Modelo de Referéncia. Esse modelo, chamado OSI (‘Open System Interconnection") _ foi amplamente aceite e usado como base para 0 desenvolvimento de muitos sistemas. Esse modelo na realidade no estipulava padrées mas sugeria uma filosofia a ser seguida e serviu de base para os trabalhos posteriores de definico dos padrdes ISO/OSI No modelo OSI, a arquitetura da rede foi dividida em sete niveis ou camadas: Nivel 1: Fisico Nivel 2: Enlace Nivel 3: Rede Nivel 4: Transporte Nivel 5: Sessao Nivel 6: Apresentagao Nivel 7: Aplicagao 2.4.1 Nivel Fisico O nivel fisico 6 0 nivel responsdvel pela transmissao de bits em um canal de comunicagao. ‘As questdes abordadas nesse nivel sdo as seguintes: Qual o sinal elétrico que representa um bit 0 ou um bit 1? Quantos microssegundos ocupa o sinal que representa 1 bit? ‘Atransmisséo pode se processar simultaneamente em dois sentidos? Qual o meio fisico utilizado: par trangado, cabo coaxial, fiora éptica, satélites? Como so os conectores e cabos usados? 2.4.2 Nivel de Enlace Este nivel define o formato do pacote de dados que transita na rede. Pode fomecer servigos de detecgao © coregéo de eros. Pode prover trés tipos de servigos 20 nivel superior. datagrama, datagrama com confirmagao € com conex4o ou circuito virtual. Nas comunicagSes baseadas em circuitos virtuais, também conhecidos como “connection-oriented", antes de se iniciar uma comunicagao, é necessario estabelecer uma Mariano Miranda - TCP/IP oy conexdo ou circuito virtual. Esse conceito de circuito virtual pode ser comparado com uma figac&o telefonica, onde 6 necessério se estabelecer uma chamada para entéo se iniciar a comunicagao. ‘As comunicagdes baseadas em datagramas nao requerem 0 estabelecimento de uma conexdo. Uma mensagem 6 enviada em um pacote que especifica o enderego de origem e de destino da mensagem. As comunicagées baseadas em conexées costumam oferecer ao nivel superior uma comunicaggo confidvel enquanto que uma comunicagao baseada em datagramas no garante a chegada de um pacote de dados ao seu destino. Uma vantagem do sistema paseado em datagramas 6 0 menor "overhead" na comunicagao, por ser um protocolo mats simples. Diferentes niveis da arquitetura OSI podem criar suas conexGes. Assim o nivel 3 estabelece conexSes do nivel 3 e se comunica usando os servigos do nivel 2 que podem ou go ger baseados em conexdes. Pode também haver redundancia nos diferentes niveis de outras fungdes, como, por exemplo, corregao de erros. Aplica¢gao Apresentagao Sessao Transporte Rede Enlace Fisico Fig 2.4 - Modelo ISO/OSI Mariano Miranda - TCP/IP 21 2.4.3 Nivel de Rede © nivel 3 & responsavel pelo roteamento dos dados através da rede. Quando um pacote passa através de diferentes redes, 0 nivel de enlace deve ser capaz de converter os enderegos do nivel 3 para 0 nivel 2, E capaz também de conectar redes heterogéneas. A figura 2.5 mostra uma conexdo entre dois nds que ‘contém um terceiro no caminho entre os dois. Fig 2.5 - Conexdo entre Redes 2.4.4 Nivel de Transporte 'A fungéo basica deste nivel 6 aceitar dados do nivel de sesso, fragmentétos em pacotes menores se necessario for, passévlos para © nivel de rede e garantir que cheguem corretamente a0 destino. Diferentes qualidades de servigo podem ser oferecidas 20 nivel superior. E 0 primeiro nivel a se preocupar com comunicagdo entre processos. Até este nivel, a comunicacao se dé entre maquinas. Agora, 0 endereco especifica 0 nd © 0 processo de destino. Assim como no nivel de rede, 0 enderego do no pode ser composto por uma parte de rede e outra do né dentro da rede. 2.4.5 Nivel de Sessao © nivel de sesso inicia @ termina sessdes de comunicago entre processos (aplicagées). E 0 primeiro nivel a se preocupar com a aplicagao. Mariano Miranda - TCP/IP 28 2.4.6 Nivel de Apresentagao Oferece servigos que podem ser comuns a diversas: aplicagdes, tais como: compressao de dados, criptografia, converséo de formatos entre sistemas diferentes, etc. Sao servicos Uteis, mas nem sempre necessdrios. 2.4.7 Nivel de Aplicagao Este nivel se refere a aplicaGao propriamente dita, E a janela através da qual as comunicagdes entram e saem do ambiente OSI. Exemplos do nivel 7 séo protacolos de correio eletronico, transferéncia de arquivos, terminal remoto, etc. 2.5 O PARADIGMA CLIENTE-SERVIDOR © paradigma cliente-servidor divide os processos (programas) em duas categorias: clientes e servidores. © proceso servidor aguarda requisioSes de clientes para executar algum® service. Como examplo de servidores podemos citar: servider de arquives, servidor de banco de dados e servidor WWW. © processo cliente faz uma requisigéo ao servidor @ espera a resposta pare continuar a sua execugao. S40 exemplos de clientes: "front-end" de aplicagdes de banco de dados, "browser" WWW, etc. 0s processos clientes e 0 servidor podem estar na mesma maquina ou podem estar em méquinas diferentes conectadas por rede. Mariano Miranda - TCP/IP. a Unidade 3 TCPIIP 3.4 AS CAMADAS DO TCP/IP ‘Aestruturago de camadas do TCP/IP nao segue 0 modelo ISO. No TCP/IP existem 4 camadas: * Interface de Rede * Internet « Tranporte * Aplicagao/Processo ‘A figura 3.1 relaciona o modelo ISO/OSI com © modelo do TCP/IP. LE _ Aplicagao Apresentagado Aplicagao/ Processo Sessfo [ot Transporte Transporte Rede Internet Pilate Interface Fisico de Rede Jd Iso DOD Fig 3.1 - Modelo !SO x TCPIIP. Mariano Miranda - TCP/IP 3.2 INTERFACE DE REDE 0 TCPIIP prevé uma diversidade de interfaces de redes: ethemet, token-ting, serial € outros, O nivel acima prevé que 0s servigos deste nivel podem no ser confiaveis, podendo haver perdas de pacotes. © TCPIIP pode usar protocolos de mais alto nivel como interfaces de rede. Por exemplo, ha implementagdes de TCP/IP sobre 0 X.25 (nivel 3 no modelo ISO/OSI). A vantagem disto & aproveitar estruturas de comunicagao jé existentes para implementar 0 TCPIIP. 3.3 INTERNET PROTOCOL - IP 0 protocolo deste nivel é 0 IP (Intemet Protocol). O servigo fomecido por este nivel € 0 de Datagramas. Nao é garantida a entrega dos pacotes nem a ‘ordem dos mesmos. Os niveis superiores devem cuidar de garantir a chegada dos pacotes e o ordenamento dos mesmos. © enderago IP & formado por 32 bits (4 bytes). Este enderego & representado por 4 nimeros decimais separados por pontos. Ex: 152.84.100.80, 3.4 TRANSPORTE O nivel de transporte possui dois protocoles: 0 "Transport Control Protocol", TCP, € 0 “User Datagram Protocol", UDP. 0 TCP é um protocolo confidvel com conexao. E baseado em "streams" ou fiuxo de bytes. : © UDP, como 0 nome jé diz, € protocolo baseado em datagramas, sem garantia de entrega de pacote nem da ordem dos mesmos. As aplicagies que usam 0 UDP devern se preocupar com estas questdes. O UDP apresenta um “overhead menor que 0 TCP. 3.5 APLICAGAO O TCPIIP define uma série de aplicagSes como Telnet, FTP, etc. As aplicagbes serso discutidas num capitulo a parte. A figura 3.2 ilustra com o IP pode se conectar com os protocolos de transports € pode ter mais de uma interface de rede numa mesma maquina. Neste caso, a maquina pode funcionar como um roteador. Mariano Miranda - TCP/IP 32 TeP UDP Transporte Internet IP Bese | anterace 1 Inteface 2 Interface 3 Fig, 3.2 - Protocols TCP/IP. Como veremos mais adiante, a representagdo acima é uma representagao simplificada dos protocolos TCP/IP. Na realidade existem outros protocolos auxiliares como mostrado na figura 3.3 Fig 3.3 - Protocolos TCP/IP Mariano Miranda - TCP/IP a Unidade 4 Enderegos IP e DNS 4.4 ENDEREGOS IP (O enderego IP & composto de 32 bits (4 bytes) que so representados por 4 nimeros decimais separados por pontos. Cada né na Internet tem um enderego nico. Ex: 10011000 01010100 01100100 01010000 182. 84, 400. 80 enderego IP 6 composto de duas partes: uma identifica a rede e a outra o nd dentro da rede. Assim, parte dos 32 bits identifica a rede e 0s bits restantes identificam o nd dentro Ga rede. Quantos bits representam a rede e quantos 0 né, depende da classe do enderego Conforme pode ser visto na figura 4.1. Além das 4 classes representadas nesta figura, hé um conjunto de enderegos reservados (comecando pelos bits 1111). Ha em tomo de 128 redes classe A, podendo ter da ordem de 16 milhdes de nds cada uma, Hé 16 mil redes classe B com até 64 mil nds. E ha 2 milhdes de redes classe C com até 256 nés. Enderegos de multicast so utiizados para enderegar grupos de nés, como é 0 caso de uma video conferéncla onde pode haver diversos computadores conectados numa mesma sesso. 7 24 Classe A |0 ‘Net Host 14 16 Classe B 1/0 Net Host 2 8 Classe C }1 | 1 | 0| Net Host 28 Multicast | 1} 1 End. Multicast Fig. 4.1 - Enderegos IP ‘Mariano Miranda - TCP/IP a a £ importante observar que é baseado no enderego IP que as mensagens S60 roteadas tao cau destino, Esta divis8o do enderego em enderego de redes e de nos dentro da rede, simplifica a tarefa dos roteadores. 4.1.4. Enderegos de Redes a rgivisso do enderego IP em endereco de rede © enderego do né, além de simplificar © roteamento, tem outra vantagem: permite enderegar uma rede. Por convengao, um enderege {P, cujo enderago do né seja 0, ndo é um enderego de um né e sim o enderece de uma rede. ‘Agsim nao pode existir nenhum elemento cujo enderego IP contenha 0 na parte referente 20 nd. Por exemplo, supanhamos uma rede classe C culo enderego € 221.180.90.0. Os nos desta rede podem ter os enderegos 221.180.90.1 até 221.180.90.254. Nao pode haver um né- Som enderego 221.180.90.0 pois, por convencdo, este é 0 enderego da rede. 4.1.2, Enderegos de Difusao ("Broadcast") ‘Vionsagene destinadas a todos os nés da rede, ou mensagens de broadcast, tem a parte Toferente 20 nd da rede com todos os bits 1. Na rede do exemple anterior, este pAterago seria 221.180.90.255. Portanto no pode haver nenhum n6 na rede com este enderego. 4.2 Sub-redes Muitas vezes uma rede deve ser particionada em um conjunto de sub-redes menores intetigadas entre si, Como motives para subdividir uma rede, entre outros, podemos citar: rede com muitos nés; « necessidade de particionar o trafego de uma rede com alta taxa de utilizagdo; * isolamento por motivos de seguranga; ® existéncia de mais de um tipo de meio fisico. Este patticionamento da rede, no entanto, é transparente para a rede externa. Ftp outras palavras, numa rede como a Intemet, apenas 0 roteador que conecta 9 sife com © resto co eee forhece as sub-redes. Para o resto do mundo ela se apresenta como uma rede Sater caracteristica 6 de grande importancia numa rede das dimensdes da Internet, Smatifeando es tabelas de roteamento e permitindo uma distribuigao do gerenciamento dos enderegos. Esta subdivisdo da rede 6 feita estendendo-se 0 néimero de bits da parte de rede, com a consertente diminuigdo do nimero de bits utlizados para no enderegamento dos 165. Como exempio, na figura 4.2 temos uma rede classe B (152.84.0.0) que possui 3 sub-redes, tue utliza 8 bits para enderegar uma sub-rede. Com isto, agora o enderego de rece Fassa & utilizar 24 bits, sobrando 8 bits para enderegar 0 né dentro da rede. Note no entanto, que pens o roteador R mostrado na figura conhece esta subdivisdo, Para o restante do mundo, ela se apresenta como uma rede Unica enderegada por 16 bits. Mariano Miranda - TCPAP 4a S 152.84.0.0 152.84.100.0 152.84.110.0 152.84.120.0 Fig 4.2 - Sub-redes A utilizagao de sub-redes implica, no entanto, que a classe da rede no é suficiente para determinar quais bits so utlizados para representar a rede © quais séo utiizados para Fepresentar o n6. Para esta especificago é utiizado uma mascara de rede. Esta mascara, tal Qual um enderego IP, 6 composta por 32 bits e é representada da mesma maneira que um enderego IP, ou seja, 4 nuimeros decimais separados por pontos. Na mascara de rede, os bits correspondentes ao enderego da rede possuem o valor 1 e os bits do enderego do né valem 0. Assim a mascara de rede no exemplo acima, onde os 24 primeiros bits sao utilizades como enderegos das redes internas a mascara tem a seguinte forma: 4tti1t4 11444411 11111417 00000000 255. 255. 255. 0 4.3 DOMAIN NAME SERVERS A utllizagdo de enderegos IP (numéricos) no so nada mneménicos tomando a sua utilizagSo pelos usudrios pouco pratica, Para contomar este problema foi criado o mecanismo de nomes para serem utiizados pelas aplicagdes. Como todo o enderegamento é feito baseado em enderegos numéricos (enderegos IP), é necessario uma conversdo de nomes para enderegos. Esta conversao 6 feita por servidores de nomes, os "Domain Name Servers” ou DNS. Os nomes so gerenciados de uma forma hierarquica e distribuida, onde a autoridade sobre os dominios é delegada de uma forma hierarquica. A figura 4.3 ilustra esta estrutura de nomes. Existem alguns 'servidores "raizes" que contém apontadores para o primeifo nivel do dominio de nomes. Neste primeiro nivel, esta 0 dominio de todos os paises e 6 identificado pela sigla do pais. Por exemplo o Brasil é br, a Austrélia e au e assim por diante. A Unica excegao sao Mariano Miranda - TCP/IP 43 cos Estados Unidos, que foi 0 precursor da Intemet. Nos EUA, ha seis dominios: com (comercial) gov (governamental), edu (educaciona)), org (organizagBes ndo-governamentais), fret (operadores de backbone) e mil (milter). Cada dominio cria outros dominios, delegando Sutoridade sobre este dominio ao responsavel por ele. Por exemplo, no dominio br existe 0 dominio cbpf (do Centro Brasileiro de Pesquisas Fisicas). Este dominio é chamado chpf-br 0 DNS dele é uma maquina do CBPF. Dentro do CBPF os departamentos possuem o seu proprio dominio. Por exemplo 0 LAFEX tem 0 dominio lafex.cbpf.br. Dentro do dominio fafexcbpfibr existe uma maquina chamada micro @ © seu nome completo é micro1 lafex.cbpf.br. Fig, 4.3 - Domain Names Mariano Miranda - TCP/IP eo 4.4 Exercicios: 1) Qual a classe dos seguintes enderegos IP? a) 152.84,100.80 b) 10.0.1.80 ¢) 210.9.149.25 0011000 0001010 210 = 11010010 7 2) Dado um enderego classe B, se eu quiser fazer subredes usando 3 bits, qua! seria a mascara? 3) No exemplo acima, quantos nés poderiam haver em cada ‘sub-rede? 4) Suponha, no exemplo acima 0 enderego 152.84.0.0 para a rede. Qual seria 0 enderego da sub-rede 0017 6) Nesta mesma sub-rede, qual seria 0 enderego de broadcast, dentro apenas da sub-rede? Mariano Miranda - TCP/IP nn Unidade 5 ARP- Address Resolution Protocol 5.10 PROBLEMA J camada IP coresponde ao nivel 3 (redes) do madelo ISO/OSI. Como vimos, cada né na rede possui um enderego IP, 0 qual é utlizado para enviar © receber pacotes. No entanto, para efetivamente enviar dados de um computador para o outro é necessdrio conhecer 0 Ehderego do nivel 2 do modelo ISO/OSI. O problema que se apresenta &: como fazer esta conversao? Basicamente podemos considerar duas formas de converstio: baseada, em mapeamento direto € em mapeamento dinémic. As duas formas sero apresentadas a seguir. 5.2 MAPEAMENTO DIRETO ‘Existem redes que possuem enderegos pequenos e facsis de configurar. Neste e250, os endereges fisicos podem ser configurades de forma que parte do enderego fisico correspanda a parte do enderego IP. Por exemplo, suponha uma rede cujos enderegos fisicos so compostes por 8 bits. Estes onderegos poderiam ser configurades para serem equivalentes 30s 8 Uiltimos bits do endereco IP. Neste caso, a conversao dos enderecos IP para oS fisicos € muito simples e direta. Esta idéia pode ser generalizada de maneira que 0 enderego fisico seja determinado por uma fungdo do endereco IP: F = flla), onde F, 6 0 enderego fisico @ I, € 0 enderego IP. Se 0 conjunto'de enderegos fisioas 6 limitado, tabelas também podem ser ullizadas para mapear enderegos IP a. enderegos fisicos. A desvantagem deste _método é a Pa acrdnde de atualzar as tabelas de todos os nés da rede a qualquer alterago ou incluso de um né da rede. 5.3 MAPEAMENTO DINAMICO Em algumas redes, o uso de mapeamento direto € dificil, para nao dizer impossivel. A rede Ethemet ilustra bem esta situagao. Os enderegos das placas Ethernet séo configurados de fébrica e so formados por 48 bits, A substtuigao de uma placa de rede implica na alteragéio do enderego fisico do n6. Além disto, devido ao enderego ser formado de 48 bits, ndo ha como tomé-los fungao do enderego IP, de 32 bits. Para estas redes, foi ctiada 0 protocol ARP (Address Resolution Protoco), que explicaremos a seguir. Mariano Miranda - TCP/IP 51 5.4 ARP - ADDRESS RESOLUTION PROTOCOL ‘A figura §.1 ilustra a idéia por trés do ARP. Quando 0 né A deseja resolver o enderego IP do né B, ele envia uma mensagem especial de broadcast peguntando o enderego fisico de B, Todos os nés recebom a requisi¢ao mas apenas 0 n6 B responde com o seu enderego. Fig 5.1 - ARP 5.4.1. Cache ARP ‘Uma vez descoberto 0 enderego fisico correspondente a um dado endereco IP, os nés mantém em cache uma tabela com os tltimos enderegos adquirides. Como na maioria das Vezes comunicagdes entre computadores envolvem mais de um pacote de dados, até um cache pequeno tras grandes beneficios na comunicagao. 5.4.2. Refinamentos do ARP ‘Quando um né A deseja enviar um pacote pata 0 né B, hd uma grande probabilidade do né B desejar enviar uma mensagem para A num futuro préximo. De forma a antecipar esta necessidade, um pacote de requisic&éio ARP contém também o enderego IP ¢ fisico do nd requisitante. Assim, ao receber um pacote ARP, 0 nd atualiza 0 seu cache com os dados do requisitante. Como a requisicao é um pacote de broadcast, todos os nés recebem este pacote e podem guardar esta informago no seu cache Mariano Miranda - TCP/IP 52 Unidade 6 DESCOBRINDO O SEU PROPRIO ENDEREGO 6.1 INTRODUGAO Para que uma maquina se comunique utilizando IP, é necessario que ela conhega © seu proprio enderego IP, além do enderego do né com quem deseja se comunicar. O endereco IP de uma maquina, em geral, fica armazenado no seu disco e esta informagéo € lida pelo sistema operacional no momento de carga. Existem, pelo menos dois motives para que este mecanismo nem sempre seja adequade. Um é que nem sempre uma maquina dispoe de disco ou outra memoria permanente para armazenar esta informagéo. Para este caso foi criado o RARP (Reverse Address Resolution Protocol”) © 0 BootP ("Bootstrap Protocol’) que sero descritos a seguir. Outro problema, que comegou a ganhar importancia mais recentemente com o grande crescitnento de redes locais utilizando IP, principalmente com microcomputadores pessoais, S necessidade de centralizar a distribuigo dos enderegos IP com o uso de alocacao dinamica de enderegos. Para isto foi criado 0 DHCP (‘Dynamic Host Configuration Protocol’) que também sera visto mais adiante. 6.2 RARP - Reverse Address Resolution Protocol Como ja foi dito, o RARP é utilizado em momento de inicializag&o para que um né da rede descubra o seu enderago IP. O mecanismo é bastante simples. Deve existir um ou mais servidores na rede com uma tabela de enderegos IP baseado no enderego fisico. O né envia uma mensagem de broadcast perguntando a algum servidor RARP o seu proprio enderego IP Os servidores autorizados respondem, fomecendo assim o enderego IP ao né requisitante. E um mecanismo similar ao ARP. Por uma questo de confiabilidade, podem ser configurados mais de um servidor RARP na rede. Assim, se um servidor deixar de responder, os outros 0 farao. No entanto, se todos os servidores responderem ao mesmo tempo, pode haver um aumento exagerado de tréfego na rede. Numa rede como a Ethemet, isso pode acarretar em Um grande numero de colisées. A altemativa @ definir um servidor primério que ira, preferencialmente, atender & requisigo. Se o servidor primério nao responder aps um certo tempo, os outros 0 farao. Uma variagéio é fazer com que cada servidor responda apés um certo tempo aleatério. Neste caso, os servidores sé responderdo se, apés decorrido o tempo aleatorio, nenhum outro jé tiver respondido. Isto melhora 0 trafego na rede 4 custa de uma maior complexidade do servidor RARP. 6.3 BOOTP- Bootstrap Protocol Muitas vezes se tornam necessdrias outras informagdes além do enderego IP para um maquina inicializar. Dentre estas informagdes podemos citar. * Mascara de enderegos * MTU * enderego de broadcast Mariano Miranda - TCPAP bate enderego dos roteadores enderegos dos servidores nome do arquivo de boot data e hora local servidores BOOTP so configurados manuaimente para prover estas informagées & um né, baseado no seu enderego fisico. 6.4 DHCP - Dynamic Host Configuration Protocol ‘A medida que uma rede vai crescendo, vai se tomando mais complexa a administragao dos enderegos IPs dos nés da rede. Qualquer descuido e dois nds recebem o mesmo fenderago. Isto toma os dots nés em questo inoperantes na rede. Para agravar mais ainda a situagio, a proliferaao de microcomputadores com sistemas operacionais que permitem que qualquer usuério altere a sua configuagao (como For Sxemplo 0'DOS e o Windows) toma a configuragao dos enderegos IP, bastante vulneravel a eae cstes erros afetam no apenas o né mal configurado como também outro n6 que estela usando legitimamente o enderego repetido. Jara solucionar esta questo foi criado um mecanismo que centralize em um servidor a distribuigdo de endereges IP, 0 DHCP. © DHCP é uma evolugao do BOOTP (Bootstrap Protocol) e mantém certa compatibiidade com este. No entanto, de acordo com 0 padrao, um servidor DHCP no é obrigado a suportar clientes BOOTP. Com o DHCP, um né ao inicializar pede a um servidor DHCP um enderego IP. O DHCP: nao se baseia em tabelas estaticas para distribuir os enderegos. O servidor DHCP trabalha rae ee conjunto de enderegos IP que vai distribuindo aos nés & medida que estes vo sendo sSguistados, Um enderego pode ser reaproveitado em outro né. Isto permite que exista um reauistmtnaior de nos do que enderecos IP, desde que todos néo estejam usando este Protocolo 2o mesmo tempo. Para isto, um enderego é “emprestado” (leased) 9 unt n6 por um ernie meriodo de tempo. Ao fim deste tempo, o nd, caso continue usando o enderego IP, dove sar er ecipréstimo, O tempo do empréstimo & configurado pelo administrador do servidor DHCP. ‘Além do endereco IP, todas as informagSes fornecidas pelo BOOTP, sao obtidas com o uso do DHCP. © DHCP permite uma série de parametrizagbes. Como por exemplo, alguns nés podem receber um enderego fixo. Como os enderegos IP so dindmicos com a utiizagdo do DHCP, os DNS devem tor um meio de se comunicar com os servidores DHGP para associar 0 enderego IP 3 uta um erminada méquina, Esta em elaboragdo um padréo para esta comunicagao, Por enquanto, existem implementagées proprietarias desta comunicagao Mariano Miranda - TCP/IP 62 2@ Unidade 7 IP - Internet Protocol 7.1 INTRODUGAO 'O IP fornece aos niveis superiores um servigo similar aos servigos oferecidos por uma placa de rede Ethernet. E um servigo baseado em datagramas (sem conexo, portanto) e nao garantido, no sentido que ndo garante a entrega do pacote nem a ordem dos mesmos. Uma Sequéncia de pacotes enviada de uma maquina para outra pode percorrer diferentes caminhos chegando ao destino numa ordem diferente da ordem em que foi enviado. Um pacote pode eventualmente nao chegar ao seu destino. Cabe aos niveis superiores culdar da retransmissao de pacotes perdidos, a ordenagao dos pacotes € 0 descarte de pacotes repetidos. 7.2 MTU - Maximum Transfer Unit Come ja sabemos, um pacote IP é encapsulado num frame ou quadro da rede fisica (Nivel 2 do modelo [S0-OS)). E natural portanto, que se defina um tamanho maximo para 0 datagrama IP que caiba num frame. No entanto, um pacote pode viajar por diversas redes diferentes, cada uma com um frame de tamanho maximo diferente. Este limite € chamado de MTU -’Maximum Transfer Unit” e podem ser 48 bytes numa rede ATM ou 1500 bytes numa rede Ethemet. © IP procura esconder esta grande variedade de tecnologias. Para isto prové mecanismos para dividir datagramas grandes em fragmentos menores e reagrupa-los no destino. A figura 7.1 ilustra este proceso 1500 byte: Datagrama MTU = 1500 MTU =500 fi | ; . Bee zs | (1500 byt > [S00hytes ] Frag. 1 Datagrama (Go0bytes | Frag. 2 ——— [son bytes] Frag. 3 —-———~ Fig 7.1 - Fragmentacao de Datagramas IP Mariano Miranda - TCP/IP ol 7.3 FORMATO DO DATAGRAMA IP A figura abaixo ilustra o formato de um datagrama IP. O significado de cada campo sera explicado a seguir. 0 4 8 16 «19 24 31 VERS | TAM | TIPO DESERV. TAM. TOTAL IDENT FLAGS] OFF. DO FRAGMENTO TIME PROTO HEADER CHECKSUM ENDEREGO IP DE ORIGEM ENDEREGO IP DE DESTINO OPGOES PADDING DADOS. Fig. 7.2 - Formato do Datagrama IP O campo VERS, de 4 bits especifica a versdo do protocol. A verso atualmente em uso 6 a verso 4, sendo que a versio 6 (também conhecida como Ipng - IP New Generation) est para ser adotada em breve. Este campo permite que, com a criagdo de novas vers6es, ‘os contetidos dos campos sejam interpretados corretamente. © campo TAM, também de 4 bits, especifica o tamanho do cabegalho em palavras de 2 bits. Em geral, os cabegalhos tem 20 bytes e 0 campo TAM vale 5. 0 campa TAM TOTAL especifica o tamanho total do datagrama, em bytes. O tamanho da area de dados pode ser computado a partir de TAM e TAM TOTAL. 7.4 TIPO DE SERVIGO E PRECEDENCIA ‘© campo TIPO DE SERV. especifica como o datagrama deve ser tratado @ dividido em 5 subcampos, mostrados na figura 7.3. Este campo serve para indicar a melhor forma de rotear os datagramas IP, baseado no conhecimento das tecnologias existentes nos diversos caminhos. 0 IP, no entanto, nao garante 0 tipo de servigo requerido, Mariano Miranda - TCPAP 74 6 PRECEDENCIA D T R UNUSED Fig. 7.3 TIPO DE SERVIGO © campo PRECEDENCIA, de 3 bits, define a prioridade de um datagrama, com valores que vo de 0 (prioridade normal) até 7 (controle da rede). Apesar da maloria dos roteadores ignorarem este campo, é um conceito importante porque prové um mecanismo que ontulmente permtira implementar algoritmos de controle de congestionamento que no S30 afetados pelo proprio congestionamento que se deseja controlar. Os bits D, Te R_ especificam 0 tipo de servico desejado para o datagrama. © bit D setado significa que se deseja baixa laténcia (Delay), o bit T significa alto throughput e o bitR ita conflabiidade (Reliablity). Novamente, nem sempre os roteadores respeltaréo os pedidos destes campos. 7.5 FRAGMENTAGAO ‘Trés campos do cabegalho, IDENT, FLAGS e OFF. ‘DO FRAGMENTO, s&o utilizados para o controle da fragmentag&o e posterior remontagem dos datagramas. 0 campo IDENT identifica todos os fragmentos de um mesmo datagrama. 0 né que envia usa um valor exclusivo para cada datagrama, Em geral este valor é obtido com o uso de tim simples contador que é incrementado cada vez que o né envia um pacote. Um roteador, 20 fragmentar um datagrama, copia este mesmo valor em cada fragmento. © né de destino fecolhe todos os fragmentos com o mesmo campo IDENT e 0 mesmo no de origem pera reconstruir o datagrama. Os dois bits menos significativos do campo FLAG (que tem 3 bits) séo usados para controle da fragmentagdo. O primeiro, se estiver setado, especifica que o datagrama)nao Geve ser fragmentado, O bit menos’ significativo, se estiver setado, indica que ha mais fragmentos deste datagrama, Como 0 campo tamanho especifica 0 tamanho do fragmento e nao do datagrama original, este bit 6 necessério para indicar 0 Ultimo fragmento do datagrama. © campo FRAGMENT OFFSET especifica o offset deste fragmento em relagao a0 datagrama original. Como os fragmentos podem chegar fora de ordem, 0 né destino para reconstruir o datagrama deve comecar com o pacote com OFFSET 0 até chegar 0 pacote com o maior OFFSET. Se um ou mais fragmentos forem perdidos, todo o datagrama deve ser descartado. 7.6 TIME TO LIVE (TTL) ‘© campo time to live (TIME) indica quanto tempo um pacote pode permanecer na Intemet, O né de origem seta 0 valor inicial e cada roteador decrementa o tempo gasto. Se este campo chegar a zero antes do pacote atingir o seu destino, o pacote, é descartado. Isto Mariano Miranda - TCP/IP 7 evita que, se houver algum erro nas tabelas de roteamento, um pacote circule etermamente na rede. Como é muito dificil estimar o tempo exato de cada transmisso de pacotes, roteadores e nds assumem que cada transferéncia de uma rede para outra leva uma unidade de tempo. 7.7 OUTROS CAMPOS O campo PROTO indica qual o protocolo de mais alto nivel que esta sendo usado. O campo CHECKSUM 6 usado para garantir a integridade dos dados no cabegalho. O cabegalho é tratado como uma sequéncia de numeras de 16 bits que séio somados utilizando aritimética de complemento a 1. Depois e retirado 0 complemento a 1 do resultado. Para calcular 0 checksum, o campo CHECKSUM 6 tratado como se fosse 0. Separar 0 CHECKSUM do cabegalho do CHECKSUM dos dados, tem a vantagem de tornar 0 caculo mais rapido no roteadores e permitir que cada protocolo de mais alto nivel implemente o seu préprio mecanismo de checksum. O campo de ENDEREGO IP DE DESTINO e origem, como o nome jé diz, contém o enderego IP de 32 bits de origem e destino. O campo PADDING é composto de 0's que sao usados para forgar o tamanho do header a ser miltiplo de 32 bits. 7.8 OPGOES DO DATAGRAMA IP O campo opgdes nao é obrigatério em todo datagrama e em geral é utilizado para testes e depuracdo. © tamanho do campo de opgdes depende da opgdo selecionada. Cada opgSo é composto por um byte de cédigo, um byte de tamanho e uma sequéncia de bytes para cada opedo. Quando existe mais de uma opeSo, elas aparecem uma apés a outra sem nenhum separador especial. A figura 7.4 mostra 0 formato do campo cédigo: COPY]} CLASSE | NUMERO Fig. 7.4 - Cédigo da Opgao O campo COPY, de 1 bit, se estiver setado indica que a opgdo deve ser copiada em todos os fragmentos (se 0 datagrama for fragmentado). Se este bit for 0, a opgo s6 serd copiada no primeiro fragmento. 0 campo CLASSE, de 2 bits, indica a classe da opg&o, que pode ser uma das seguintes: Mariano Miranda - TCP/IP T4 ‘Controle Depuragao e Medidas Fig7.5 - Classe da Opcao A figrua 7.6 mostra as op¢ées existentes no IP. Como 6 mostrado na figura, a maioria das opgées séo de contréle. Fim das opgdes Nenhuma operagéo Restrigges de | segurangaé manipulago Roteamento da origem fiexivel Gravar roteamento varidvel varidvel 4 Identificagao de stream varidvel_ | Roteamento Rigido varidvel | Internet Timestamp Fig 7.6 - OpgSes IP Meriano Miranda - TCPIP Unidade 8 ICMP - Internet Contro! Message Protocol * 8.1 INTRODUGAO Como j4 vimos, 0 IP 6 baseado em datagramas e nao hd garantias de entrega dos mesmos. Um datagrama é enviado de um roteador para outro até atingir 0 seu destino.O ICMP & um protocolo que permite que roteadores ou nés enviem mensagens de erro © controle. Os pacotes ICMP so encapsulados em pacotes IP, ou seja, trafegam como dados de pacote IP. No entanto 0 IGMP ndo é considerado um protocolo de nivel superior e sim um componente obrigatério do IP. O ICMP usa o IP ao invés da rede fisica porque um pacote ICMP pode ter de passar por diversas redes até atingir o seu destino, Cabegalho Pacote ICMP completo IP tratado como dado Fig 8.1 - Encapsulamento de Pacote ICMP Um pacote ICMP & gerado pelos roteadores para informar sobre erros ou condigies especiais no envio de pacotes. Estes pacotes so tratados pelo proprio nivel IP, nao sendo passado para os niveis superiores. Mensagens ICMP também sao geradas por programas especiais para testes e depuracao. Mensagens ICMP s&o enviados como qualquer outro pacote IP. Portanto, também esto sujeitas a serem perdidas ou descartadas. No entanto, pacotes ICMP nao geram mensagens de erro. Isto evita existirem mensagens de erros sobre mensagens de erro. 8.2 FORMATO DA MENSAGEM IGMP Gada tipo de pacote ICMP tem o seu proprio formato. No entanto, os trés primeiros campos so comuns a todos os pacotes: TIPO indica 0 tipo de pacote ICMP (8 bits) cODIGO ontém informagées adicionais sobre 0 tipo (8 bits) CHECKSUM : Checksum da mensagem. Calculado da mesma forma que 0 checksum do cabegalho IP (16 bits). ‘Além destes trés campos, os pacotes ICMP que relatam erros incluem 0 cabegalho IP & 0s 64 primeiros bits da parte de dados do pacote IP que gerau 0 erro. Os 64 primeiros bits da parte de dados sao enviadas, em adigSo ao cabecalho, para auxiliar na identificacdo do protocolo de mais alto nivel e da aplicagéio que gerou 0 erro. Como veremos adiante, a maioria dos protocolos de mais alto nivel colocam informagdes cruciais nestes primeiros bits. Mariano Miranda - TCP/IP et Fig 8.2 - Tipos de Mensagem ICMP 8.3 TESTANDO UM ENDEREGO DE DESTINO ‘Um né out um roteador podem testar se um enderego de destino esta funcionando e se pode ser aleangado enviando um pacote ICMP do tipo "Echo Request” (Pedido de Eco). Todo nd que receber um pacote deste tipo deve responder com um pacote de “Echo Reply” (Resposta de Eco). A figura 8.3 mostra 0 formato de um pacote de eco. Os pacotes de Echo Request & Reply so idénticos a nao ser pelo Tipo, que vale 8 no request © @ no reply. 0 8 16 31 TIPO CODIGO CHECKSUM IDENTIFICADOR NUMERO DE SEQUENCIA DADOS (OPCIONAIS) Fig 8.3 - Pacote de Eco © campo CODIGO nos pacotes de Echo Request ¢ Echo Reply nao é usado e deve valer 0. Os campos IDENTIFICADOR E NUMERO DE SEQUENCIA s&o utilizados para casar 08 pacotes de request com os de reply. Mariano Miranda - TCPAP hael @ © campo opcional de dados deve ser copiado de um request para 0 seu respectivo reply. Existe um programa de aplicagao, chamado PING (Packet InterNet Groper), que envia pacotes ICMP de echo e espera o reply. O Ping retoma 0 tempo que um pacote levou para ir © voltar ao destino especificado. Em geral o tamanho da parte de dados pade ser definido pelo Usuario, Existem diferentes verses do PING para diversos sistemas operacionais. O PING tem se mostrado uma valiosa ferramenta para teste de uma rede TCPIIP. 8.4 DESTINOS INATINGIVEIS ‘Quando um roteador ndo consegue enviar um datagrama IP, ele envia para o nd de origem uma mensagem de Destination Unreachable (Destino Inatingivel), cujo formato & mostrado na figura 8.4 8 16 31 TIPO CODIGO CHECKSUM NAO USADO (IGUAL A ZERO) CABEGALHO IP + 64 INICAIS DE DADOS Fig 8.4 - ICMP - Destino Inatingivel © campo cédigo indica qual o tipo de erro. Os possiveis valores s& Rede Inatingivel Né inatingivel Protocolo Inatingivel Porta Inatingivel Fragmentagao Necessaria e bit de nao fragmentacao setado Falha na Rota Especificada 8.5 CONTROLE DE FLUXO Quando um roteador recebe um fluxo de pacotes a0 qual ndo consegue dar vazao, os pacotes comecam a ser descartados. Neste caso 0 roteador envia mensagens ICMP de Source Quench. Ao receber esta mensagem 0 né passa a enviar dados numa taxa menor até parar de receber mensagens de Source Quenche, quando entéo passa a_aumentar gradativamente a sua taxa de transmissa0. O formato deste pacote é igual ao de Destination Umreachable. O campo cédigo vale sempre 0, Mariano Miranda - TCP/IP a 8.6 REDIRECIONAMENTO ‘Quando um roteador percebe que um né esta utilizando rotas nao-dtimas ele envia um pacote ICMP de Redirect. O datagrama & enviado para o seu destino. © formato de um pacote de redirecionamento pade ser visto na figura 8.5. 0 8 16 31 TIPO CODIGO CHECKSUM ENDEREGO DO ROTEADOR (GATEWAY) CABEGALHO IP + 64 INICAIS DE DADOS Fig. 8.5 - ICMP - Redirecionamento © campo ENDEREGO DO ROTEADOR contém 0 enderego do roteador que deve ser utiizado para alcangar 0 enderego especificado no cabegalho do datagrama. © campo CODIGO pode ter os seguintes valores: Redirecione datagramas para a rede Redirecione datagramas para 01nd Redirecione datagramas para 0 tipo de servigo e rede Redirecione datagramas para 0 tipo de servigo € nd Cumpre observar que esta mensagem sé enviada para nés na mesma rede em que o roteador. 8.7 DETECGAO DE ROTAS CIRCULARES (LOOPS) Um datagrama IP tem um contador "time-to-live". Para evitar que um pacote circule indefinidamente na rede em caso de ero no roteamento, cada roteador decrementa este ‘contador e 0 datagrama é descartado quando 0 contador chega a zero. Neste caso é enviado uma mensagem ICMP do tipo "Tempo Excedido". O campo cédigo pode ter os seguintes valores: DESCRIGAQ —— Contador time to live excedido ‘Tempo de remontagem de fragmentos excedido Mariano Miranda - TGPIIP Be Quando um né recebe o primeiro fragmento de um datagrama IP, ele inicia um temporizador. Se o tempo do temporizador terminar antes de todos os fragmentos restantes chegarem, o datagrama é descartado e é enviado ao no de origem uma mensagem ICMP do tipo "Tempo Excedido" com o cédigo igual a 4 8.8 AVISO DE CABEGALHOS INCORRETOS Esta mensagem é usada no caso de haver um erro no cabegalho do datagrama IP. O formato da mensagem é mostrado na figura 8.6. 0 8 16 31 TIPO CODIGO CHECKSUM PONTEIRO NAO USADO (IGUAL A ZERO) CABEGALHO IP + 64 INICAIS DE DADOS Fig. 8.6 - ICMP - Erro no Cabegalho O campo PONTEIRO indica o byte onde ocorreu erro no cabegalho. 8.9. SINCRONISMO DE RELOGIOS E ESTIMATIVA DE TEMPO DE TRANSMISSAO Um cliente envia um pacote de timestamp request para outro que responde com uma mensagem de timestamp reply, com a hora do seu relégio, A figura 8.7 mostra 0 formato de ambas as mensagens. O campo TIPO identica’o reply ou request, IDENTIFICADOR e NUMERO DE SEQUENCIA sao usados para associar pacotes de request com os respectivos pacotes de reply. Os outros trés campos so preenchidos com a hora, dada em milisegundos desde a meia-noite, hora universal. Mariano Miranda - TCP/IP, Bs 30 0 8 16 31 [ TIPO CODIGO CHECKSUM IDENTIFICADOR NUMERO DE SEQUENCIA TEMPO DE ORIGEM ‘TEMPO DO RECEPGAO TEMPO DE TRANSMISSAO Fig. 8.7 - TIMESTAMP REQUEST e REPLY O né cliente, imediatamente antes de enviar 0 pacote seta 0 campo TEMPO DE ORIGEM. O né de destino, a0 receber a mensagem seta 0 campo TEMPO DE RECEPCAO imediatamente antes de enviar a resposta seta o campo TEMPO DE TRANSMISSAO. O cliente, com estes trés valores pode calcular o tempo de trafego na rede e a diferenga de tempo entre os relégios. Para uma medida acurada 6 necessario que sejam feitas varias medidas e calculada a média. Mariano Miranda - TCP/IP Unidade 9 UDP - User Datagram Protocol 9.1 INTRODUGAO © UDP prove um servigo de entrega de mensagens sem conexdo e sem garantia. O tipo de servigo é similar ao do IP. Sé que, sendo um protocolo do nivel de transporte, além de especificar um né de destino, especifica um processo de destino. ; Enderecar um processo de destino é fundamental porque a maioria dos computadores modemos so multitarefas, ou seja, executam mais de um processo. Por exemplo, podem existir um processo servidor de arquivos, outro servidor WWW, diversos processos clientes, etc. Para enderegar estes processos, o UDP (e o TCP também) usam o conceito de portas (’ports"): Um processo conecta-se a uma ou mais portas © passa a receber mensagens através delas. Um processo pode se conectar a mais de uma porta. A porte é identificada por um numero inteiro positivo de 16 bits. 9.2 FORMATO DE UM PACOTE UDP Um pacote UDP € composto de 2 partes: um cabegalho e uma area de dados, conforme pode ser visto na figura 9.1. CABECALHO UDP DADOS UDP Fig. 9.1 - Pacote UDP O cabegalho de um pacote UDP pode ser visto na figura 9.2. 0 8 16 31 PORTA DE ORIGEM PORTA DE DESTINO. TAMANHO. CHECKSUM Fig. 9.2 - Cabegalho UDP O campo TAMANHO indica 0 numero de bytes do pacote UDP, incluindo o cabegalho e os dados. © campo checksum é calculado da mesma forma que no IP, mas para o seu calculo 6 usado um pseudo-cabegalho, o cabegalho e os dados, aos quais so apendados bytes valendo 0 para formar um milltiplo de 16 bits. Mariano Miranda - TCP/IP a1 » O pseudo-cabegalho tem o seguinte formato: 8 16 31 ENDERECGO IP DE ORIGEM ENDEREGO IP DE DESTINO ZERO PROTO TAMANHO UDP Fig, 9.3 - Pseudo-cabegalho Mariana Miranda - TCP/IP a2 Unidade 10 TCP - Transmission Control Protocol 10.1 INTRODUGAO O TCP prové um servigo a nivel de transporte de entrega de fiuxo de bytes ("streams"), com conexZo e confidvel. Assim como 0 UDP, 0 TCP enderega processos usando 0 conceito de portas. Um processo conecta-se a uma ou mais portas € passa a receber mensagens através delas. Um processo pode se conectar a mais de uma porta. A porta é identificada por um néimero inteiro positivo de 16 bits. Cumpre ressaltar que as portas TCP sao totelmente independentes das portas UDP. Como jé dissemos, 0 TCP enxerga os dados como sequéncia de bytes. Estes bytes so divididos em segmentos para a transmissao. O tamanho deste segmento nao é definido pela aplicaco. 40.2 CONFIABILIDADE Para garantir a entrega dos dados o TCP usa confirmagao positiva com retransmissao. Em outras palavras, o destino de uma mensagem envia uma confirmagao (‘acknowledgement” ou ACK) para confirmar o seu recebimento. Se 0 ACK néo for recebido apés certo tempo (timeout), a mensagem é retransmitida. Para olimizar o uso do meio de transmiss0, 0 TCP usa o conceito de janela deslizantes (sliding windows) de transmisséo de tamanho varidvel. Com isso, diversas mensagens podem ser enviadas antes do recebimento de um ACK. Para entendermos este conceito, considere um sequéncia de pacotes a serem transmitidos como mostra a figure 10.1. 011234567 8 Fig 10.4 - Sliding Window © ndmero de pacotes enviados e sem confirmago é dado pela tamanho da janela. Na figura 10.1 temos uma janela de tamanho 5, significando que pode haver no maximo S pacotes enviados sem ter recebido ACK. Ainda neste exemplo, 0 pacote de niimero 0 ja foi confirmado. Apés a confirmagéio do pacote 1, a janela deslizaria para a préxima posicéio, como mostra a figura 10.2. Neste caso, o pacote 6 jé poderia ser enviado. 01/2345 6)7 8 Fig. 10.2 - Sliding Window Mariano Miranda - TOPIIP 70-1 oe ‘Ané que envia precisa de 3 ponteiros: um aponta para o primeiro pacote enviado e que no recebeu ACK (comeco da janela); outro aponta para o Ultimo pacote que pode ser enviado (fim da janela); e 0 terceiro aponta para o tiltimo pacote efetivamente transmitido. Este terceiro ponteiro é representado pela linha pontilhada na figura 10.1. No TCP, a janela 6 medida em bytes, nao em pacotes. 40.3 CONTROLE DE FLUXO ‘© TCP usa janelas de tamanhos varidveis. Para isto, todo pacote de ACK, que especifica quantos bytes foram recebidos, contém um antincio de quantos bytes esta preparado para receber (window advertisement) Regulando © tamanho da janela, 0 controle de fluxo pode ser implementado com simplicidade. Um né, quando 0 seu buffer de recepgao comeca a ficar cheio, pode diminuir 0 tamanho da janela. Em casos extremos pode fazer o tamanho da janela ser 0. Neste caso, 0 né de origem para de transmitir até que o né destinatario anuncie uma janela de tamanho maior que 0. 10.4 FORMATO DO SEGMENTO TCP A figura 10.3 mostra o formato de um segmento TCP. Segmentos séo usados para estabelecer conexées, transferir dados, enviar ACK e anunciar o tamanho da janela. O TCP usa piggy-backing, ou seja, envia ACK junto com dados. 0 4 8 16 24 31 PORTA DE ORIGEM PORTA DE DESTINO NUMERO DE SEQUENCIA NUMERO DO ACKNOWLEDGEMENT OFF. | RES. CODIGO JANELA CHECKSUM PONTEIRO URGENTE OPGOES PADDING DADOS Fig. 10.3 - Formato do Segmento TCP ___ Gada segmento é dividido em 2 partes: cabegalho e dados. Os campos de porta de origem e porta de destino indentificam as aplicagdes em ambas as pontas da conexéo. Mariano Miranda - TCP/IP 10-2 3 © campo de NUMERO DE SEQ. identifica a posigéo do dados enviados na sequencia de bytes enviados (stream). O NUMERO DE ACKNOWLEDGEMENT identifica 0 Ultimo byte recebido pela eplicacao. © campo OFFSET indica onde comegam os dados do pacote. Este campo € necessario porque o campo de OPGOES é variavel. © campo RES é reservado para uso futuro. Um segmento pode transportar dados, acknowledgment, ou ambos. Segmentos também s4o usados para estabelecer e finalizar conexdes. O campo CODIGO, de 6 bits, 6 usado para identificar 0 objetivo e contetido de um segmento. A tabela abaixo mostra 0 significado de cada bit deste campo. O bits so apresentados da esquerda para a direita, [RST | SYN _| Sincronizar nimeros de sequéncia FIN [ Fim da transmissao © software do TCP anuncia quantos bytes deseja receber setando 0 campo JANELA. O TCP permite que sejam enviados dados "urgentes”, ou seja, que devem ser enviados © mais rapido possivel. Neste caso 0 bit URG é setado e 0 campo PONTEIRO URGENTE aponta para 0 fim dos dados urgentes. O campo OPGOES é usado para comunicagao entre os softwares de TCP nas duas pontas da conexdo. Em particular, o campo OPGOES é usado para indicar o tamanho maximo de um segmento que se deseja receber. O° cabegalho. lo do CHECKSUM no TCP é igual ao do UDP, usando o mesmo pseudo- 40.5 CONFIRMAGAO DE RECEBIMENTO E RETRANSMISSAO "AS confirmagdes de recebimento de dados (ACK) no TCP se referem a posicao na sequencia de bytes (strem) e nao a pacotes. O nimero usado no ACK 6 sempre uma posigao acima do tiltimo byte recebido, ou seja, indica 0 préximo byte que se espera receber. acknowledgement € acumulativo pois indica quantos bytes j4 foram recebidos. Isto significa que nao é gerado um ACK para cada transmissdo bem sucedida. Se apés um certo tempo (tempo de timeout) nao é recebido um ACK de um segmento enviado, 0 segmento é retransmitido. Este tempo é no entanto varidvel. sto porque um pacote pode ser enviado para um né na mesma rede ou pode atravessar varias redes antes de atingir 0 seu destino. Além do mais, 0 atraso em cada rede depende também do trafego desta, que por sua vez pode variar a0 longo de uma conexéo. O TCP se adapta a estas mudangas medindo 0 tempo de ida-e-volta de um pacote e fazendo uma média deste tempo. ‘Mariano Miranda - TCP/IP 10-3 Esta média pode ser calculada de forma a responder rapidamente a variagdes ou de forma a ndo ser muito afetada por condigdes transientes. 410.6 RESPOSTA A CONGESTIONAMENTO Uma rede congestionada faz com que os atrasos no envio de pacotes aumentem, & -medida que estes véo se acumulando nos roteadores.E quando 0 buffer do roteador esta cheio, os pacotes passam a ser descartados. O TCP ao perceber o aumento no atraso dos pacotes e perda dos mesmos, assume que a rede esta congestionada e diminui a Sua taxa de transmissao. A forma como isto € feito é dependente da implementago. 10.7 ESTABELECENDO UMA CONEXAO Em geral um processo numa maquina fica a espera, passivamente, de um outro processo que deseje se comunicar com ele. E 0 caso dos servidores que esperam conexées de clientes. No entanto, a conexo no TCP foi feita de forma a funcionar mesmo que as duas méquinas decidam se comunicar simultaneamente. A figura 10.4 mostra como é estabelecida uma conexao. Envia SYNC seq=x| Recebe SYNC Envia SYNC=y e@ ACK x+1 Recebe SYNC e ACK) Envia ACK y+1 Recebe ACK y+1 Fig, 10.4 - Estabelecimento de Conexéo 40.8 FECHANDO CONEXOES E importante observar que as conexdes TCP sao full-duplex e podem ser vistas como duas sequencias de transmissdo independentes. Quando um dos lados termina @ sua transmissio ela fecha a conexdo numa direg&o, Os dados continuam vindo na outra diregao até que esta conexdo seja fechada também. Mariano Miranda - TCP/IP ie Para fechar um lado da conexéo, € enviado um segmento TCP com o bit FIN setado. ‘Algumas situagdes anormais podem levar @ que se deseje desconectar totalmente a conexéo. Para isto é enviado um segmento com o bit RST setado. 40.9 FORGANDO ENVIO DE DADOS ‘0 TCP divide os bytes de dados de uma aplicagdo em segmentos, independents do tamanho da transferéncia usada pela aplicagdo. O objetivo € aumentar a eficiéncia. Para isto, eTGP pode acurnular bytes suficientes para enviar um segmento com tamanho adequado para a transmisséo na rede. ‘Algumas aplicagSes, principalmente as interativas, podem evitar a demora no envio ce dados forpando © envio dos dados. Isto é chamado de PUSH e além de forgar a transmissa0 dos dados, seta o bit PSH no segmento. Mariano Miranda - TCP/IP 10-5 Unidade 11 ROTEAMETO ” 44.1 INTRODUGAO Um né pode enviar um datagrama IP para um né conectaodo na mesma rede fisica ou para um conectado em oultra rede. Podem haver inumeras redes no caminho de uma mensagem para atingir 0 seu destino. Se 0 n6 de destino esta na mesma rede que 0 né de origem, entao este envia a mensagem diretamente para o destinatério. Ja vimos anteriormente que é necessario haver uma converséo do endereco IP para o endereco da rede fisica. O ARP 6 um exemplo de um mecanismo para fazer esta conversao. Vimos também que, para decidir se o enderego de origem esta na mesma rede fisica ou nao, devem ser extraidos os bits de enderego que indentificam a rede. A determinagéo destes bits ¢ feita com 0 auxilio da mascara de enderegos. Se 0 destinatario do pacote estiver em outra rede, 0 pacote deve ser enviado para um roteador (Gateway na terminologia Internet). Um né nao precisa conhecer a rota completa para o destino de uma mensagem. Precisa apenas conhecer 0 roteador para © qual deve encaminhar esta mensagem. Os roteadores forma um estrutura cooperativa, que através de protocolos especificos podem comunicar-se entre si para determinar rotas. O estudo destes protocolos foge ao escopo deste curso. 11.2 ROTEAMENTO BASEADO EM TABELAS "A forma mais comum de roteamento na Intemet é baseado em tabelas. Cada nd possui uma que contém dois campos: o enderego IP da rede destino e o enderego IP no roteador. © fato de néo haver entradas para cada n6 de destino, e sim para cada rede diminui bastante esta tabela. Um né ao enviar uma mensagem para outro em outra rede, consulta a sua tabela de roteamento para decidir para qual roteador deve enviar a mensagem. Dado o-enderego IP do roteador, ele descobre o enderego fisico do mesmo. No cabecalho IP, no entanto, o campo END. DE DESTINO é preenchido com o enderego final e ndo o do roteador. Este, ao analisar 9 dagrama IP descobre que deve passé-lo adiante. Se 0 nd destino ndo estiver em nenhuma das redes conectadas ao roteador, este o encaminha para 0 roteador adequado. Assim a mensagem vai passando de roteador em roteador até atingir a rede de destino quando entéo 6 enviado diretamente para o nd. 41.3 ROTEADOR DEFAULT Muitas vezes em uma rede sé existe um roteador. Este roteador é 0 tinico caminho para atingir outras redes. Neste caso, ndo é necessario criar uma entrada na tabela de roteamento para todos os enderegos possiveis. Basta uma entrada indicando 0 roteador lefault. ‘Mariana Miranda - TCP/IP 1 ea Este conceito é importante também, mesmo quando existem mais de um roteador. Em nteador que € usado para a maioria dos enderegos possivels (0 roteador (oreetorna: por exemplo). Este roteador 6 designado 0 roteador default © ino que néo estejam na tabela de geral existe um conectado a red: focebe os pacotes para todos os enderegos de desti roteamento. Mariano Miranda - TCPAP 142 3e Unidade 12 APLICAGOES 12.4 TELNET © Telnet é um protocolo do nivel de aplicagSo que.permite a criagdo de um terminal virtual, Assim possfvel se conectar a computadores remotos em modo terminal. Os caracteres gerados pelo terminal so convertides para o ASCII. Os aplicativos Telnet em geral emulam os terminais da linha VTvex da DEC (Digital Equipments Corporation), em especial 0 VT100. Também 6 comum encontrar emuladores para terminais da linha 3270 da IBM. No modo normal de funcionamento, a cada tecla digitada & enviado um pacote de dados com esta tecla para o computador. Em redes lentas isto pode gerar muito trafego e por causa disto existe 0 modo linha ("line mode") que faz que sejam enviados pacotes com uma {linha inteira. No entanto, é necessario que tanto o cliente quanto o servidor sejam capazes de funcionar neste modo. 12.2 FTP - "FILE TRANSFER PROTOCOL" E 0 protocolo que permite a transferéncia de arquivos entre computadores. O usuario se conecta a uma maquina remota e apds se identificar ao sistema pode fazer transferéncias de arquivos nos dois sentidos. Os arquivos podem ser transferidos no modo bindrio ou mado texto. No modo texto ele faz algumas conversdes entre formatos de diferentes sistemas. E importante que a transferéncia de arquivos executaveis e comprimidos seja feita no modo binario para nao haver alteragao do mesmo. ‘Alguns sites colocam arquivos a disposigéo de todos e para isto existe o fip anonymous. Com ele o usuario no precisa ser cadastrado para poder copiar arquivos. Neste caso 0 acesso € restrito a apenas algumas regides do disco. Em geral € pedido uma identificagao do usuario ( 0 seu enderego de e-mail) para efeitos de estatistica. Os softwares mais modemos de FTP para PC costumam apresentar uma interface Grafica que permite que arquivos sejam transferidos com o mouse. No entanto existem versées que funcionam através de linhas de comando. Segue abaixo uma lista dos comandos mais comuns do ftp: Mariano Miranda - TCP/IP 21 © username - identifica 0 usuario. «bin seta transferéncias para o modo bindrio __ «ascii seta a transferéncia para 0 modo texto «get - copia arquivo do né remoto para o né local @ put-copia arquivo do né local para 0 né remoto + mget e mput - igual a get e put mas transfere varios arquivos. * e ? podem ser usados para definir os arquivos «prompt - faz com que o mget ¢ 0 mput néio pegam confirmagao @ cada arquivo + cd~ muda de diret6rio * dir ou ls - lista os arquivos * Icd- muda o diretério do né local 42.3 CORREIO ELETRONICO (E-MAIL) Permite 0 envio © recebimento de mensagens que sao armazenadas em "caixas- | que na realidade so arquivos. postai © coreio eletrénico utiliza um protocolo chamado SMTP (Simple Mail Transfer Protocol). As mensagens tem os seguintes campos: * To: Enderego de Destino * From: Enderego de origem © GC: Cépias para Reply-to: Enderego para o qual deve ser respondida a mensagem Subject: Assunto ou titulo da mensagem. Como as conexées através de linha discada, em geral, s80 cobradas por tempo de conexao, foi criado o protocolo POP ("Post Office Protocol") que permite a transferéncia das mensagens do correio para 0 né local (micro do usuario) a fim de que possa ser lido jocalmente sem a necessidade de haver conexo com o provedor de acesso. Este protocolo também permite a edigdo de mensagens localmente para posterior envio para o servidor de mail a fim de que ele a transmita através da Internet. 42.4 FORUNS DE DISCUSSAO Ha dois tipos de foruns de discussdo: os Newsgroups e as Mailing lists. Ambos permitem a criagao de uma comunidade virtual de pessoas interessadas num mesmo assunto. ~ Pode se encontrar Newsgroups e mailing lists de praticamente qualquer assunto que se possa imaginar. Mariano Miranda - TCP/IP 122 Be © Newsgroup € um sistema em que servidores espalhados pelo mundo guardam informagSes e comentarios sobre um assunto definido. Existem aproximadamente 10.000 grupos replicados através dos servidores. Estes servidores falam um protocolo chamado NNTP e as mensagens enviadas por um usuario a um determinado grupo é espalhada pela * rede de servidores que se estende pelo mundo. Para ver as mensagens 6 necessario que o usuario "puxe" as que Ihe interessam. Mailing lists so listas de assinatura por assunto onde o assinante recebe via correio eletrénico as mensagens relativas a lista (ou listas) que assinou. Existem dois tipos de listas: as moderadas e as ndo moderadas. Nas listas moderadas hd um moderador que seteciona as mensagens enviadas para a lista que efetivamente serdo distribuidas aos assinantes. Ja nas listas n@o moderadas qualquer mensagem @ enviada automaticamente para todos os assinantes. 12.5 COMUNICAGAO INTERATIVA Permite a conversa "ao vivo" na Intemet. Existem dois tipos, além da video conferéncia que serd discutida adiante: por teclado @ por voz. ‘A comunicago utlizando o teclado é muito itil para comunicagdes curtas em que se deseje respostas imediatas dos parceiros. Nao requer grandes taxas de comunicagao. Exemplos deste tipo de comunicago so 0 Intemet Relay Chat (IRC) ¢ 0 talk © talk estabelece comunicagéio entre duas pessoas e o IRC permite que varias pessoas se comuniquem ao mesmo tempo. Neste tiltimo caso as pessoas se conectam a um "canal" de algum assunto de seu interesse. JA a comunicaggo por voz requer uma velocidade maior de transmisso. E necessario também possuir um computador com microfone e placa de som. Um dos softwares mais utifizados para a comunicag&o com voz é 0 |-Phone (Inte met Phone) que pode ser utilizado com madens de 14.400 bps. 42.6 WORLD WIDE WEB - WWW WWW 6 0 conjunto de programas (servidor e clientes ou browsers) que manipulam: + protocolos de obtengdo de informagao: FTP, TELNET, GOPHER, HTTP... * formato dos dados: ASCII, GIF, POSTSCRIPT, HTML, ... ‘WWW suporta novo protocolo e novo formato de dados voltados para hipermi Mariano Miranda - TCP/IP 123 12.6.1 HIPERMIDIA Hipermidia é uma extensao do conceito de hipertexto. Hipertexto 6 uma interface pata textos baseada em computador que permite seguir referéncias cruzadas em um texto. Um exemplo de hipertexto ¢ 0 help do MS Windows. A figura 12.1 ilustra 0 concelto de hipertexto. Fig. 12.1 - Hipertexto Hipermidia, permite que além de textos, sons e imagens sejam acessados por referencias cruzadas. 12.6.2 PROTOCOLOS Dois so os protocolos principais do WWW: o Hyper Text Transfer Protocol (HTTP) € 0 Hyper Text Markup Language (HTML). OHTTP 60 protocolo que define a comunicagdo entre os servidores WWW os clientes (browsers). O HTML 6 um conjunto de diretivas (instrugSes/indicagdes) que definem os varios componentes de um documento hipertexto. Os "markup tags’ é que definem para o WEB browser como 0 texto deve aparecer no video, isto é , sua formatagao. Para ilustrar o HTML mostramos na figura 12.2 uma pagina do WWW e em seguida o trecho HTML que define esta pagina. Mariano Miranda - TCP/IP 124 Fig 12.2 - Pagina WWW Cédigo HTML: Mariano S, Miranda

Mariano Sumrell Mirandac/H2> feliz com a sua visita !

Espero que goste deste quadro...

aqui


Mariano Sumreli Miranda
Observe que na pagina HTML, os trechos sublinhados sao referéncias (ou "links) para outras paginas ou imagens. 126.3 Browsers Um browser WWW é um programa que executa a parte cliente do WWW. Ou seja, se comunica com um servidor WWW através do protocolo HTTP e apresenta os dados Mariano Miranda - TCP/IP 25 fornecidos por este através de uma interface grafica. Os dados enviados pela.servidor sao em geral no formato HTML mas podem der também imagens no formato GIF, JPEG, etc. Além disto, como jd foi dito anteriormente, os browsers suportam diversos outros protocolos comuns na Intemet como o FTP, NNTP, eto Os browsers sao capazes de diferenciar diferentes tipos de dados (imagens, sons, animago, planilhas, etc) e traté-los ou invocar um programa externo que os trate. © MOSAIC desenvolvido pela NCSA da Universidade de Illinois em Chicago foi o browser que popularizou o WWW e a Intemet. Depois dele, varios outros surgiram sendo 0 mais popular o Netscape. A Sun desepvolveu o browser HotJava que é capaz de executar aplicagSes na linguagem Java. Esta linguagem, também criada pela Sun, € uma linguagem orientada a objetos e propicia para ambientes distribuidos como a intemet. 12.7 GOPHER © gopher & um sistema de apresentago de informagao na Intemet. As informagées 0 apresentadas na forma-de menus hierérquicos em forma de indices. Estes, menus apontam para as informagdes que podem estar em outros servidores. 4 O gopher é limitado a informagdes na forma de texto. \ 412.8 VIDEOCONFERENCIA Te ‘A videoconferéncia é uma aplicagao muito util para se fazer reunides a longa distancia e transmissdo de conferéncias a0 vivo pela-Internet. Ela pode ser também utilizada para transmissdes ponto a ponto entre duas pessoas. Existem diversos produtos proprietétios de fabricantes, como a Silicon Graphics e Digital. No entanto o software mais utilizado na.Intemet é de dominio piiblico e conhecido como MBone. O MBone (Multicast Bone) 6 uma rede virtual que suporta multicast, ou seja transmissZo para um grupo de enderegos. Uma pessoa que deseje assistir uma videoconferéncia se conecta no enderego de multicast utilizado e passa a receber e, opcionalmente, a transmitir imagem ¢ audio. Como imagem e som geram muito tréfego na rede, se uma transmissao for feita para toda a Internet, a etiqueta exige que o som utilize no maximo 64 kbps @ a imagem 128 Kbps. O objetivo desta limitagdo € no inundar a Internet com tréfego de MBone. Com as taxas acima mencionadas, consegue-se uma boa qualidade de som (nao para ouvir misica) e imagens na taxa de 2 2 10 quadros por segundo. O software de video apenas transmite os pontos que foram modificados. Assim, dada uma mesma taxa de transmissao, — imagens mais estaticas podem produzir mais quadros por segundo do que uma imagem que se modifique muito. Mariano Miranda - TCP/IP 72-6 Se Unidade 13 NOVAS DIREGOES: IPng e INTERNET Il 13.1 IPng 'A verso 6 do IP (a atual,é a verso 4) é também conhecida como IP-Nova Geragao, ou tpng IP Next Generation). E uma evolugao do IP verso 4 @ se propée a funcionar bem Gm redes de alta velocidade, como ATM, e também em redes de balxa velocidade Deis aspectos importantes observados no projeto do Ipv6 foram @ capacidade de acomodar o fantastico crescimento da Internet e permitir uma transi¢ao gradual do [Pv para o IPv6. As principais caracterisitcas do IPng sao: Maior capacidade de Enderegamento e Roteamenio %} endereso IP é incrementado de 32 bits para 128 bits, suportando mais niveis de hierarquia’ um nimero muito maior de nés. Foi definido também uma nova classe de enderegos, a classe “anycast’. Esta classe identifica um conjunto de nés. As ‘mensagens enviadas para um enderego anycast 6 enviada para 1 dos nds deste conjunto. * Simplificagdo do Formato do Cabegalho “Alguns campos do IPv4 foram abandonades e outros se tornaram opcionais. ‘* Methoria no suporte de opgées © Capacidade de definir Qualidade-de-servigos * Autenticagao e Privacidade 13.2 INTERNET fl 'A Internet Il est sendo realizada por um consércio de Universidades, 0 govemo americano e empresas privadas. O objetivo é construir uma rede, como a Interent, de alta Velocidade e capacidade que possa ser usada em aplicagSes como educagao a disténcia outras que requerem redes de alta capacidade. jAlgm de buscar eriar meios de comunicagdo de alta velocidade, estuda novos protocolos. Mariano Miranda - TCP/IP 1

Você também pode gostar