








































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Conheça sobre endereço IP
Tipologia: Notas de estudo
1 / 48
Esta página não é visível na pré-visualização
Não perca as partes importantes!









































Autor:
Kleper Gomes
Devido ao tremendo impacto dos computadores na sociedade, principalmente na última década, este período da história tem sido denominado “a era da informação”. O lucro e a produtividade das organizações e indivíduos tem sido aumentados de forma significativa pelo uso das redes de computadores como suporte a troca e acesso à informação. Indivíduos utilizam as redes de computadores quase que diariamente de forma a conduzir suas atividades pessoais e empresariais. O que se pode observar é uma aceleração da utilização e das aplicações com base na tecnologia das redes de computadores, à medida que mais pessoas descobrem as potencialidades dos computadores e das redes de comunicação tanto em aplicações domésticas como em empresariais. As transações e atividades diárias em lojas de departamentos, bancos, e outras pessoas e empresas das mais diversas naturezas, estão cada vez mais dependentes das redes de computadores.
Lamentavelmente, a maioria das redes constitui entidades independentes estabelecidas para atender às necessidades de um grupo isolado. Os usuários selecionam uma tecnologia de hardware que seja adequada aos seus problemas de comunicação. É impossível a estruturação de uma rede universal com base em uma única tecnologia de hardware, já que nenhuma rede única atende a todas as aplicações. Alguns usuários precisam de uma rede de alta velocidade para conectar-se a máquinas, mas essas redes não podem ser expandidas para alcançar grandes distâncias. Outros preferem uma rede de velocidade inferior que faça conexão com máquinas a centenas de milhas de distância.
Ao longo dos anos, as agências governamentais norte-americanas perceberam a importância e o potencial de tecnologia de interligação em redes e vêm financiando as pesquisas que possibilitaram a interconexão global de redes. A tecnologia da ARPA (Advanced Research Projects Agency) inclui um conjunto de padrões de rede que especificam os detalhes do sistema pelo qual os computadores se comunicam, bem como um conjunto de convenções para interconexão em redes e para roteamento. Denominado oficialmente Pilha de Protocolos de interligação em redes TCP/IP, e geralmente citado como TCP/IP, essa pilha pode ser utilizada para comunicação em qualquer conjunto de redes interconectadas. Algumas empresas, por exemplo, utilizam o TCP/IP para interconectar todas as redes de sua organização, ainda que a empresa não se comunique com redes externas. Outros grupos utilizam o TCP/IP para estabelecer comunicações entre sites geograficamente distantes.
Nos Estados Unidos, a National Science Foundation (NSF), o Department of Energy (DOE), o Department of Defense (DOD), a Health and Human Services Agency (HHS) e a National Aearonautics and Space Administration (NASA) participaram do financiamento da Internet e utilizam o TCP/IP para conectar muitas de suas instalações de pesquisa. A interligação em redes resultante permite que os pesquisadores de instituições conectadas compartilhem informações com seus colegas de todo o mundo com a mesma facilidade com que compartilham informações com pesquisadores da sala ao lado. Um sucesso extraordinário, a Internet demonstra a viabilidade da tecnologia TCP/IP e mostra como pode-se lidar com uma diversidade de tecnologias de redes.
Grande parte da abordagem de serviços terá como foco padrões denominados protocolos. Protocolos como TCP e IP fornecem as regras para a comunicação. Eles contém os detalhes de formatos de mensagens, descrevem o que um computador faz ao receber uma mensagem e especificam como um computador trata os erros ou outras condições anormais. De certa forma, um protocolo de comunicação permite que alguém especifique ou entenda uma comunicação de dados sem depender de conhecimentos minuciosos do hardware da rede de um fornecedor específico. Todos os serviços de rede são descritos por protocolos.
A arquitetura TCP/IP surgiu com a criação de uma rede patrocinada pelo Departamento de Defesa dos Estados Unidos. Uma das tarefas essenciais dessa rede seria manter comunicados, mesmo que apenas uma parte, órgãos do governo e universidades, numa ocorrência de guerras ou catástrofes que afetassem os meios de comunicação daquele país. Dessa necessidade, surgiu a ARPANET, uma rede que permaneceria intacta caso um dos servidores perdesse a conexão. A ARPANET necessitava então de um modelo de protocolos que assegurasse tal funcionalidade esperada, mostrando-se confiável, flexível e de fácil implementação. É então desenvolvida a arquitetura TCP/IP, que se torna um padrão de fato. A ARPANET cresceu e tornou-se a rede mundial de computadores – Internet. A utilização (e facilidades) do padrão TCP/IP utilizado pelos fabricantes de outras redes, com a finalidade da conectividade com a Internet. A normalização do TCP/IP chegou após a sua utilização em massa.
A Internet cresceu, abrangendo centenas de redes individuais localizadas nos Estados Unidos e na Europa. Conectou aproximadamente 20. computadores de universidades, órgãos públicos e laboratórios de pesquisa organizacional. O tamanho e a utilização da Internet continuou em ascensão muito mais acelerada do que o previsto. No final de 1987, estimou-se que o crescimento alcançara 15% ao mês. Em torno de 1994, a Internet alcançava mais de 3 milhões de computadores em 61 países.
A utilização de protocolos TCP/IP e o crescimento da Internet não se limitaram a projetos financiados pelo governo. Grandes companhias voltadas para o setor de computadores conectaram-se à Internet, bem como muitas outras organizações de grande porte como companhias de petróleo, indústria automobilística, empresas de eletrônica, companhias farmacêuticas e portadoras de telecomunicações. As empresas de pequeno e médio porte começaram a conectar-se na década de 1990. Além disso, muitas outras utilizavam os protocolos TCP/IP em suas interligações em redes corporativas, mesmo tendo optado por não participar da Internet.
Uma expansão acelerada trouxe problemas de escala não previstos no projeto original e motivou os pesquisadores a encontrar técnicas para gerenciar numerosos recursos distribuídos. No projeto original, por exemplo, os nomes e endereços de todos os computadores conectados à Internet eram mantidos em um único arquivo que era editado manualmente e, a seguir, distribuído a todos os sites da Internet. Em meados da década de 1980, tornou-se óbvio que um banco de dados de origem não seria suficiente. Primeiro, os pedidos para atualização de arquivos rapidamente provocaria excesso do pessoal disponível para processá-los. Segundo, ainda que existisse um arquivo-fonte correto, a capacidade da rede seria insuficiente para permitir a distribuição freqüente para todos os sites ou o acesso on-line a cada site.
Novos protocolos foram desenvolvidos e um sistema de atribuição de nome foi colocado em vigor através da Internet para permitir que qualquer usuário automaticamente determinasse o nome de uma máquina remota. Conhecido como Domain Name System (DNS), o mecanismo conta com máquinas denominadas servidoras de nome para responder a consultas sobre nomes. Nenhuma máquina contém todo o banco de dados de nomes de domínios. Em vez de uma máquina, os dados são distribuídos por um conjunto de máquinas que utilizam protocolos TCP/IP para se comunicarem entre si quando estiverem respondendo a uma consulta. Tão logo a Internet tornou-se popular e os usuários passaram a buscar informações através de serviços como Gopher e a World Wide Web, novamente o tráfego aumentou.
A Internet não é controlada por nenhum órgão governamental ou comercial, mas sim por organizações voluntárias que controlam os usuários e os artigos publicados na Internet. Eis algumas organizações:
IAB (^) A IAB (Internet Advisory Board) é constituída de várias organizações e seu objetivo principal é coordenar a organização geral da Internet. InterNIC (^) A InterNIC (Internet Network Information Center) foi criado pela NSF para distribuir endereços IP. IRTF O IRTF (Internet Research Task Force) é um dos comitês que constituem a IAB. Ele é responsável por várias atividades a nível de pesquisa, como o desenvolvimento de protocolos. RFC RFC (Request for Comments) são documentos técnicos relacionados aos protocolos da Internet. Alguns deles contém padrões para os protocolos, outros são recentemente desenvolvidos, podendo obter sucesso e se tornarem padrões. Esses documentos formam a documentação da Internet. FNC FNC (Federal Networking Council) é um comitê que exerce a parte informativa da Internet. A FNC realiza o intermédio entre a IAB e as instituições governamentais, além de prestar suporte a agências no uso da Internet. IETF IETF (Internet Engeneering Task Force) é um subcomitê da IAB que realiza a manutenção de problemas construtivos e também a implementação de novas tecnologias.
A Internet é considerada por muitos como um dos mais importantes e revolucionários desenvolvimentos da história da humanidade. Pela primeira vez no mundo um cidadão comum ou uma pequena empresa pode (facilmente e a um custo muito baixo) não só ter acesso a informações localizadas nos mais distantes pontos do globo como também – e é isso que torna a coisa revolucionária – criar, gerenciar e distribuir informações em larga escala, no âmbito mundial, algo que somente uma grande organização poderia fazer usando os meios de comunicação convencionais. Isso com certeza afetará substancialmente toda a estrutura de disseminação de informações existente no mundo, a qual é controlada primariamente por grandes empresas. Com a Internet um pessoa qualquer (um jornalista, por exemplo) pode, de sua própria casa, oferecer um serviço de informação baseado na Internet, a partir de um microcomputador, sem precisar da estrutura que no passado só uma empresa de grande porte poderia manter. Essa perspectiva abre um enorme mercado para profissionais e empresas interessadas em oferecer serviços de informação específicos.
As tecnologias de rede local possuem uma velocidade de conexão entre comutadores bem mais rápida, mas deixam a desejar na capacidade de operar em longas distâncias. Por exemplo, uma rede local típica abrange uma área pequena, como um único edifício ou um campus, e funciona entre 10 Mbps e 2 Gbps (bilhões de bits por segundo). Já que essas tecnologias operam em pequenas áreas, o retardo de transmissão é bem menor do que o das tecnologias de rede de longas distâncias, o qual pode durar desde alguns décimos de um milissegundo, até no máximo dez milissegundos.
Ethernet é o nome dado a uma tecnologia de rede local popular, de comutação de pacotes; a maioria das empresas de médio e grande porte a utiliza. Cada cabo da Ethernet possui aproximadamente 0,5 polegadas de diâmetro e até 500 metros de comprimento. Para oferecer o máximo de proteção contra interferência elétrica de dispositivos como motores elétricos, o cabo possui uma forte proteção que o torna difícil de ser dobrado. O esquema de fiação funciona perfeitamente quando vários computadores ocupam um mesmo compartimento. O cabo percorre o trajeto diretamente de um computador a outro. Para incluir um novo computador, basta conectá-lo à cadeia.
Figura 2.1. Conexão física entre dois computadores.
Com o avanço da tecnologia foi possível construir redes Ethernets que não necessitam da proteção elétrica de um cabo coaxial. Chamada de Ethernet de pares trançados , essa tecnologia permite que um computador acesse uma rede Ethernet utilizando um par de fios de cobre normais sem proteção, semelhantes aos utilizados para fazer conexões entre equipamentos telefônicos. A vantagem desse tipo de tecnologia é que, além de reduzir os custos, oferece proteção a outros computadores da rede no caso de um usuário desconectar um único computador. Em alguns casos, uma tecnologia de pares trançados possibilita que uma instituição utilize a Ethernet com a fiação telefônica já existente, sem a adição de novos cabos. Conhecido tecnicamente como 10Base-T, o esquema de fiação de pares trançados conecta cada computador a um HUB da Ethernet, como ilustra a Figura 2.2.
Figura 2.2. Cada computador conecta-se a um HUB por cima de um par de fios.
O HUB é um dispositivo eletrônico que estimula os sinais num cabo Ethernet. Fisicamente, o HUB é formado por uma pequena caixa que geralmente é alojada em um gabinete de fiação; uma conexão entre um HUB e um computador deve ter menos de cem metros de extensão. Um HUB necessita de energia elétrica e, talvez, de pessoal qualificado para fazer o monitoramento e o controle de sua operação na rede. Para a interface com um computador, a conexão a um HUB parece funcionar do mesmo modo que a conexão direta com coaxial.
A Ethernet é uma tecnologia de barramento de difusão de 10 Mbps com método de entrega sem garantia e controle de acesso distribuído. É um barramento porque todas as estações compartilham um único canal de comunicação; é de difusão (broadcast) porque todos os transceptores recebem cada uma das transmissões. O controle de acesso é distribuído porque, ao contrário de algumas tecnologias de rede, a Ethernet não possui nenhuma autoridade central para permitir o acesso, vários equipamentos podem acessar a Ethernet simultaneamente e cada um deles estabelece se o meio está ou não livre, detectando a presença ou não de sinal. Quando uma interface do host tem um pacote para transmitir, ela verifica o meio para saber se há alguma mensagem sendo transmitida. Se nenhuma transmissão for detectada, a interface do host inicializa a transmissão. Cada uma das transmissões possui um limite de duração (porque há um tamanho máximo de pacote). Além do mais, o hardware deve observar um intervalo mínimo de tempo entre as transmissões, o que significa que nenhum par de equipamentos comunicantes pode utilizar a rede sem oferecer aos demais equipamentos uma oportunidade de acesso.
Apesar de um cabo da Ethernet possuir um comprimento máximo, a rede pode ser aumentada de duas maneiras: com o auxílio de repetidores e de pontes.
De acordo com a visão do TCP/IP, as Ethernets ligadas por pontes são simplesmente uma outra forma de conexão física de rede. O importante é que: Em virtude de a conexão entre cabos físicos, fornecida pelas pontes e pelos repetidores, ser transparente para os equipamentos conectados à Ethernet, um sistema único de rede física.
2.3. FDDI (Fiber Distributed Data Interconnect)
A FDDI é uma conhecida tecnologia de rede que opera em pequenas áreas geográficas e oferece uma largura de banda maior do que a Ethernet. Ao contrário da Ethernet e de outras tecnologias de redes locais que utilizam cabos para transportar os sinais elétricos, a FDDI utiliza fibras de vidro e transmite as informações, convertendo-as em feixes de luz.
A fibra óptica possui duas vantagens a mais do que o fio de cobre:
Uma rede ATM utiliza técnicas de hardware e software especiais:
A rede ATM difere das redes de comutação de pacotes porque oferece um serviço baseado em conexão. Antes de um computador host conectado a um ATM enviar células, ele deve primeiramente interagir com o comutador para especificar o endereço do destinatário. A interação é análoga a uma ligação telefônica. O host especifica o endereço do computador remoto e espera o comutador ATM entrar em contato com o sistema remoto e estabelecer um caminho (rota fixa). Se o computador remoto não aceitar o pedido, não responder ou se o comutador não puder alcançar o computador remoto, o pedido para estabelecer a comunicação falha.
Quando uma conexão é feita, o comutador ATM local escolhe um identificador da conexão e passa-o para o host, juntamente com um mensagem informando o sucesso da conexão. O host utiliza o identificador da conexão ao enviar ou receber células.
Ao terminar a conexão, o host comunica-se novamente com o comutador para que a conexão seja desfeita. O comutador desconecta os dois computadores. A desconexão equivale a tirar um telefone do gancho no final de uma ligação telefônica; após a desconexão, o comutador pode novamente utilizar o identificador da conexão.
2.5. INTERLIGAÇÃO EM REDES
Fisicamente, duas redes só podem ser conectadas por um computador que esteja ligado às duas. No entanto, uma ligação física não fornece a interconexão que imaginamos, porque tal ligação não garante que o computador vai cooperar com outras máquinas que desejam se comunicar. Para se ter uma interconexão de rede viável, necessitamos de computadores que queiram repassar pacotes de uma rede para outra. Os computadores que conectam entre si duas redes e repassam pacotes de um para o outro são chamados de gateways de interligação em redes ou roteadores de interligação em redes. Considere um exemplo que consista de duas redes físicas mostradas na Figura 2.4, o roteador R está conectado às redes 1 e
Figura 2.4. Duas redes físicas conectadas entre si por um roteador.
Na figura acima, são usadas nuvens para demonstrar redes físicas, porque o hardware específico não tem importância. Cada rede pode ser uma rede local ou uma rede de longa distância, e cada uma pode ter muitos ou poucos hosts acoplados.
Quando conexões de interligação em redes se tornam mais complexas, os roteadores necessitam saber sobre a topologia da interligação em redes, além das redes às quais estão conectados.
Figura 2.5. Três redes interconectadas por dois roteadores.
Neste exemplo, o roteador R1 deve transferir da rede 1 para a rede 2 todos os pacotes destinados a máquinas em qualquer das redes 2 e 3. Para uma grande interligação em redes composta de muitas redes, a tarefa do roteador de tomar decisões sobre por onde enviar pacotes se torna mais complexa.
Além de roteadores que conectam entre si redes físicas, o software é necessário em cada host para permitir que programas aplicativos usem a interligação em redes como se fosse uma única rede realmente física. Do ponto de vista da interligação em redes, qualquer sistema de comunicação capaz de transferir pacotes é considerado como uma única rede, independente do retardo, da vazão, do tamanho máximo do pacote ou da escala geográfica.
O protocolo da interligação em redes do TCP/IP trata todas as redes do mesmo modo. Uma rede local, como uma Ethernet, uma rede de área maior, como o backbone de ANSNET, ou uma ligação de ponto a ponto entre duas máquinas, cada uma conta como uma rede.
Pensando em uma interligação em redes como uma grande rede igual a qualquer outra rede física. A diferença é que a interligação em redes é uma estrutura virtual, idealizada por seus projetistas e totalmente implantada em software. Assim, os projetistas estão livres para escolher formatos e tamanhos de pacotes, endereços, técnicas de entrega e assim por diante; nada é orientado pelo hardware. Para endereços, os projetistas de TCP/IP optaram por um esquema análogo ao endereçamento de rede física, no qual a cada host da interligação é atribuído um endereço com número inteiro de 32 bits, denominado seu endereço IP. A parte interessante do endereçamento da interligação é que os números inteiros são escolhidos cuidadosamente para tornar o roteamento eficiente. Especificamente, um endereço IP codifica a identificação da rede à qual um host se acopla, assim como a identificação de um único host nessa rede. Resumindo:
Na realidade, a maioria dos softwares TCP/IP que apresenta ou requer uma pessoa para manipular um endereço IP usa a notação decimal com ponto. Assim, compreender a relação entre tipos de endereços IP e números decimais pode ajudar. A tabela da Figura 3.2 resume a escala de valores para cada tipo.
Classe Endereço mais baixo Endereço mais alto A 0.1.0.0 126.0.0. B 128.0.0.0 191.255.0. C 192.0.1.0 223.255.255. D 224.0.0.0 239.255.255. E 240.0.0.0 247.255.255.
Figura 3.2. A escala de valores decimais que correspondem a cada tipo de endereço IP.
A maior vantagem de codificar informações de rede em endereços de interligação em redes é o roteamento eficiente. Outra vantagem é que os endereços de interligação em redes podem se referir a redes, assim como a hosts. Por convenção, hostid zero nunca é atribuído a um host individual. Em vez disso, um endereço IP com hostid zero é usado para se referir a essa própria rede. O esquema de endereçamento da interligação em redes inclui um endereço de difusão que se refere a todos os hosts da rede. De acordo com o padrão, qualquer hostid que consista de todos os 1s é reservado para difusão. Em muitas tecnologias de rede, difusão pode ser tão eficiente quanto as transmissões normais; em outras, difusão é apoiada pelo software da rede, mas requer uma demora muito mais substancial do que uma transmissão única. Algumas redes não aceitam qualquer difusão. Assim, ter um endereço de difusão de IP não assegura a disponibilidade ou a eficiência da entrega de difusão.
Um endereço de difusão direcionado pode ser interpretado sem ambivalência em qualquer etapa de uma interligação em redes porque identifica, de modo único, a rede de destino, além de especificar difusão naquela rede. Os endereços de difusão direcionados fornecem um poderoso mecanismo que permite a um sistema remoto enviar um pacote único que será transmitido por difusão na rede especificada. Do ponto de vista de endereçamento, a principal desvantagem da difusão direcionada é que ela requer conhecimento do endereço da rede. Outra forma de endereço de difusão, denominada endereço de difusão limitado ou de rede local, fornece um endereço de difusão para a rede local, independente do endereço atribuído de IP. Consiste em trinta e dois 1s. Um host pode usar os endereços de difusão limitados coo parte de um procedimento padrão antes que ele aprenda seu endereço de IP ou o endereço para a rede local. Entretanto, uma vez que o host aprenda o endereço correto de IP para a rede local, ele deve usar difusão direcionada.
Em geral, o software da interligação em redes interpreta os campos que consistem em 0s (zeros) para significar “este”. Assim, um endereço de IP com hostid igual a zero refere-se a “este” host e outro de netid igual a zero refere-se a “esta” rede. Usar netid zero é especialmente importante nas circunstâncias em que um host deseja comunicar-se em uma rede, mais ainda não sabe o endereço IP dela. O host usa a netid zero temporariamente, e outros hosts da rede interpretam o endereço como “esta” rede.
A tabela da Figura 3.2 mostra que nem todos os endereços possíveis foram atribuídos a classes. Por exemplo, o endereço 127.0.0.0, num valor da escala da classe A, é reservado para loopback , e é utilizado no teste TCP/IP e para a comunicação na máquina local. Quando algum programa usa o endereço de loopback como destino, o software de protocolo retorna os dados sem enviar o tráfego através de qualquer rede. Um pacote enviado a um endereço 127 da rede não deve aparecer em nenhuma rede. Além disso, um host ou um roteador nunca deve difundir informações sobre roteamento ou alcance para o número de rede 127; este não é um endereço de rede.
Codificar informações de rede em um endereço pode ter suas desvantagens. A mais óbvia delas é que os endereços referem-se às conexões de redes, não ao host: se um host se move de uma rede para outra, seu endereço IP deve mudar.
Outra falha do esquema de endereçamento é que, quando qualquer rede tipo C cresce além de 255 hosts, deve ter seu endereço mudado para um endereço tipo B. Apesar de isto parecer um problema menor, mudar endereços de redes pode tomar muito tempo e ser difícil para depurar. Coo muitos softwares não são projetados para trabalhar com endereços múltiplos para a mesma rede física, os administradores não podem planejar uma transição tranqüila, na qual introduzam novos endereços lentamente. Ao contrário, devem interromper o uso de um endereço de rede, mudar os endereços de todas as máquinas e, então, recuperar a comunicação usando o novo endereço de rede.
Saber apenas um endereço de IP, para determinado destino, talvez não seja suficiente; pode ser impossível alcançar o destino usando tal endereço. Considere o exemplo da interligação em redes mostrado na Figura 3.3. Nesta figura, dois hosts, A e B, conectam-se à rede 1 quase sempre se comunicam diretamente usando aquela rede. Assim, os usuários do host A normalmente devem referir-se ao host B usando endereço IP I 3. Existe outro caminho de A até B, através do roteador R, e é usado sempre que A envia um pacote com endereço IP I 5 (endereço de B na rede 2). Agora, suponha que a conexão de B para a rede 1 falhe, mas a máquina em si continue trabalhando. Os usuários em A, que especificam endereços IP I 3 , não alcançam B apesar de os usuários que especificam endereços I 5 poderem alcançar.
Figura 3.3. Um exemplo de interligação em redes com um host de multi-homed, B, que indica um problema com o esquema de endereçamento IP. Se a interface I 3 é desconectada, A deve usar o endereço I 5 para alcançar B, enviando pacotes através do roteador R.
Host 2
Host 3
Host 4
UMC (Ethernet) 128.10.0.
128.10.2.3 128.10.2.8 128.10.2.
Host 1
UNICSUL (Token) 192.5.48.
192.5.48.
192.5.48.
192.5.48.6 10.0.0.
Router2 Router
192.5.48. 128.10.2.70 IBPI-NET
Figura 3.5. Exemplo de designação de endereços IP para roteadores e hosts acoplados a três redes da figura anterior.
4. PROTOCOLOS
Os protocolos são os padrões que especificam como os dados são apresentados ao serem transmitidos de uma máquina para outra. Os protocolos representam para a comunicação computadorizada o que a linguagem de programação é para a computação.
Os complexos sistemas de comunicação de dados não usam um único protocolo para tratar com todas as tarefas de transmissão. Ao contrário, requerem uma pilha de protocolos cooperativos, algumas vezes chamados família de protocolo ou pilha de protocolo. Para compreender a razão, vejamos os problemas que surgem quando as máquinas se comunicam através de uma rede de dados:
Existe um modelo desenvolvido pela ISO (International Standards Organization) usado para descrever a estrutura e funcionamento dos protocolos de comunicação de dados é denominado Modelo de Referência OSI (Open Systems Interconnect). A base deste modelo é a divisão da complexidade do projeto organizando a rede em camadas, com níveis de abstração diferentes definindo uma pilha de protocolos. Ele contém sete camadas, sendo cada uma, responsável por oferecer serviços às camadas superiores de uma forma transparente, ou seja, as demais camadas não precisam saber de detalhes da implementação do serviço implementado nesta camada.
Camada Funcionalidade 7 Aplicativo 6 Apresentação 5 Sessão 4 Transporte 3 Rede 2 Enlaces de Dados 1 Conexão Física
Figura 4.1. Modelo OSI de referência das sete camadas para o protocolo.
Descrição básica das camadas do modelo OSI:
4.3. PROTOCOLOS DE TRANSPORTE
4.3.1. UDP (User Datagram Protocol)
Na pilha de protocolos TCP/IP, o UDP, fornece o mecanismo principal utilizado pelos programas aplicativos para enviar datagramas a outros programas iguais. O UDP fornece um serviço de transmissão sem conexão, não-confiável, usando o IP para transportar mensagens entre máquinas. Usa o IP para transportar mensagens, porém acrescenta a habilidade de distinguir entre múltiplos destinos em um certo host.
Cada mensagem UDP é conhecida como um datagrama de usuário, que consiste em duas partes: um cabeçalho UDP e uma área de dados UDP. Como a Figura 4.3 mostra, o cabeçalho está dividido em quatro campos de 16 bits que especificam a porta da qual a mensagem foi enviada, a porta à qual a mensagem é destinada, o comprimento da mensagem e a soma de verificação UDP.
Figura 4.3. O formato dos campos em um datagrama UDP.
Os campos PORTA DE ORIGEM e PORTA DE DESTINO contêm os números de porta do protocolo UDP de 16 bits usados para demultiplexar os datagramas entre os processos que esperam para recebê-los. A PORTA DE ORIGEM é opcional. Quando usada, especifica a porta para a qual devem ser enviadas as respostas; se não usada, deverá ser zero.
O campo COMPRIMENTO contém uma contagem de octetos no datagrama UDP, incluindo o cabeçalho UDP e os dados de usuário. Assim, o valor mínimo para COMPRIMENTO é oito, que é o comprimento apenas do cabeçalho.
A soma de verificação UDP é opcional e não precisa ser usada; um valor de zero no campo SOMA DE VERIFICAÇÃO significa que a soma de verificação não foi calculada. Os projetistas resolveram tornar opcional a soma de verificação a fim de permitir que as implementações operassem com pouco overhead ao usar UDP através de uma rede local altamente confiável. O IP não calcula uma soma de verificação na parte dos dados de um datagrama IP, portanto, a soma de verificação oferece o único modo de assegurar que os dados tenham chegado intactos e possam ser usados.
A camada IP é responsável apenas pela transferência de dados entre um par de hosts em uma interligação em redes, enquanto a camada UDP é responsável apenas pela diferenciação entre múltiplas origens ou destinos em um host. Desse modo, apenas o cabeçalho IP identifica os hosts de origem e destino; apenas a camada UDP identifica as portas de origem e destino em um host.
O software colocado em cada camada de uma hierarquia de protocolo deve ser capaz de multiplexar ou demultiplexar múltiplos objetos da camada seguinte. O software UDP apresenta outro exemplo de multiplexação e demultiplexação. Aceita datagramas UDP de muitos programas aplicativos e os passa ao IP, para transmissão, e aceita datagramas UDP recebidos de IP e os passa ao programa aplicativo apropriado. Conceitualmente, toda a multiplexação e demultiplexação entre o software UDP e os programas aplicativos ocorre através do mecanismo da porta. Na prática, cada programa aplicativo deve negociar com o sistema operacional a fim de obter uma porta de protocolo e um número de porta correspondente, antes que ele possa enviar um datagrama UDP.
O modo mais simples de conceber uma porta UDP é uma fila. Na maioria das implementações, quando um programa aplicativo negocia com um sistema operacional para usar determinada porta, o sistema operacional cria uma fila interna que pode reter as mensagens que estão chegando. Freqüentemente, o aplicativo pode especificar ou mudar o tamanho da fila. Quando o UDP recebe um datagrama, verifica se o número de porta de destino confere com uma das portas atualmente em uso. Se não conferir, envia uma mensagem de erro de porta não-atingida e descarta o datagrama. Se for encontrada uma correspondência, o UDP enfileira o novo datagrama na porta onde o programa aplicativo pode acessá-lo. Naturalmente, ocorrerá um erro se a porta estiver cheia e o UDP descartar o datagrama recebido.
O UDP é um protocolo mais rápido do que o TCP, pelo fato de não verificar o reconhecimento das mensagens enviadas. Por este mesmo motivo, não é confiável como o TCP.
4.3.2. TCP (Transmission Control Protocol)
Em um nível mais baixo, as redes de comunicação fornecem uma entrega de pacotes não-confiável, os pacotes podem ser perdidos ou danificados quando erros de transmissão interferem nos dados. As redes que roteiam pacotes dinamicamente podem entregá-los fora de ordem, entregá-los após um intervalo substancial, ou entregar reproduções.
Em um nível mais alto, os programas aplicativos freqüentemente precisam enviar grandes volumes de dados de um computador a outro. A utilização de um sistema de transmissão sem conexão e não-confiável torna-se tediosa e irritante, e requer que os programadores criem detecção e recuperação de erros em cada programa aplicativo. Um dos objetivos da pesquisa de protocolos de rede foi encontrar soluções de fins gerais para problemas de transmissão confiável de streams de pacotes, possibilitando aos especialistas criar um único protocolo para transmissão de stream de dados que todos os programas aplicativos pudessem utilizar.
O serviço é definido pelo TCP, o serviço de stream confiável é tão importante que toda a pilha de protocolos é citada como TCP/IP. O TCP é um protocolo de comunicação, e não um software, o protocolo especifica o formato dos dados e das confirmações que os dois computadores trocam para oferecer uma transferência confiável e, também, os procedimentos de que se valem os computadores para assegurar que os dados cheguem corretamente.
O TCP pode ser utilizado com uma variedade de sistema de transmissão de pacotes, inclusive o serviço de transmissão de datagramas IP. O TCP pode, por exemplo, ser implementado para utilizar linhas telefônicas por discagem, rede local, rede de fibra óptica de alta velocidade, ou uma rede de longas distâncias de velocidade mínima. Na realidade, um dos pontos fortes do TCP é a grande variedade de sistemas de transmissão que ele pode usar.
O TCP posiciona-se acima do IP no esquema de divisão em camadas do protocolo, permite que programas aplicativos múltiplos, de determinada máquina, comuniquem-se simultaneamente, e ele demultiplexa o tráfego TCP de entrada entre os programas aplicativos. Como o UDP, o TCP utiliza