1. Protocolos de Comunicação

Documentos relacionados
REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

IESGO Redes de Computadores I

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva

Modelo de Camadas. Redes de Computadores

Fundamentos de Rede. Aula 2 - Modelo OSI

Redes de Computadores

Redes de Computadores I

Redes de Computadores I

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

Protocolos de Interligação de Redes Locais e a Distância Modelos de Referência. Thiago Leite

CURSO TÉCNICO EM INFORMÁTICA

CURSO TÉCNICO EM INFORMÁTICA

Redes de Computadores. Prof. Msc André Y. Kusumoto

MODELOS DE REFERENCIA OSI TCP/IP

Redes de Computadores e a Internet Kurose. Prof. Rone Ilídio da Silva DTECH-CAP-UFSJ

Redes de Computadores

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI

Prof. Samuel Henrique Bucke Brito

Redes de Computadores

Rede de Computadores (REC)

Definição das 7 Camadas do Modelo OSI e Explicação das Funções

Infra Estruturas Computacionais. Modelos de Referência. Modelos de Referência para Redes de Computadores. Arquitetura RM-OSI/ISO. O Modelo OSI da ISO

Redes de computadores são sistemas complexos Decomposição dos sistemas em elementos realizáveis

REDES DE COMPUTADORES

Modelo de Referência OSI. Prof. Alberto Felipe

Redes de Computadores

Curso Técnico em Informática Redes TCP/IP 2 o Módulo. Prof. Cristiano da Silveira Colombo

FUNDAMENTOS DE REDES DE COMPUTADORES AULA 2: MODELO OSI. Professor: LUIZ LEÃO

Arquitetura em Camadas. Profª. Dianne Scherly Varela de Medeiros

Arquitetura de Redes de Computadores - aula 2

Resumo. Redes de Computadores. História da Internet. História da Internet. História da Internet. História da Internet

Fundamentos de Redes de Computadores Modelo de Referência ISO/OSI

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO O MODELO TCP/IP

Modelos de referência de arquiteturas de redes: OSI e TCP/IP Profsº Luciano / Roberto

Tecnologia de Redes. Arquitetura de Rede de Computadores

Modelo em camadas. As redes de computadores são sistemas muito complexos; Decomposição dos sistemas em elementos realizáveis

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Modelos de Referência

Redes para Automação Industrial: Introdução às Redes de Computadores Luiz Affonso Guedes

Arquitetura e Protocolos de Rede TCP/IP

Tecnologia em Sistemas para Internet Redes de Computadores e Aplicações

Redes de comunicação. Mod 2 Redes de computadores. Professor: Rafael Henriques

REDES DE COMPUTADORES. Prof. Gabriel Campos camposg.com.br

Introdução a Redes e a Internet. Introdução ao Computador 2010/01 Renan Manola

Evolução na comunicação

Redes de Comunicação de Dados

Protocolos e Serviços de Redes

Modelo OSI. Marcelo Assunção 10º13. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Disciplina: Redes de Comunicação

Protocolos e Serviços de Redes

Direto ou Indireto Monolítico ou Estruturado Simétrico ou Assimétrico Padronizado ou Não-Padronizado

Capítulo 2: O MODELO ISO-OSI

Protocolos de Redes de Computadores

AULA 2 - INTERNET. Prof. Pedro Braconnot Velloso

Curso Técnico Integrado em Informática Redes de Computadores e Aplicações

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

Comutação de pacotes. Não há um estabelecimento de um caminho dedicado. Não há reserva de recursos. Compartilhamento de enlaces ou partes de enlaces

Arquitetura da Internet TCP/IP

Conceito de Serviço Universal. Conceito de Serviço Universal. Arquitetura de uma internet. Hardware básico de uma internet. Serviço universal:

TELECOMUNICAÇÕES Prof. Ricardo Rodrigues Barcelar

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

MODELO OSI CAMADAS FUNCIONAMENTO. Arquiteturas de Redes

Prof. Marcelo Cunha Parte 6

Redes de Dados e Comunicações

Comunicações por transações. Grupo 3. Lisiê Tieko Nakasone Tatiane Fernanda Silva Galinari. Orientador: Profº Norian Marranguello

Redes de Computadores

Camada de Rede. Redes de Computadores. Motivação para interconexão. Motivação para interconexão (DCC023) Antonio Alfredo Ferreira Loureiro

Redes Industriais. Curso: Téc. Automação Professor: Regis Isael

Redes de Computadores e Aplicações

Modelo de Referência TCP/IP

Transmissão e comunicação de dados. Renato Machado

Arquitetura de Redes. Redes TCP-IP. Agenda. Introdução à Arquitetura TCP/IP. Tipos de Serviços. Modelo de Referênca ISO/OSI

CURSO TÉCNICO EM INFORMÁTICA

Funções da Camada de

Arquiteturas de Redes de Computadores

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Redes de Computadores Prof. Fred Sauer

PROTOCOLOS DE REDES DE COMPUTADORES

Modelo de Referência TCP/IP

: TMS M

Protocolos e Arquiteturas de Redes. Thiago Leite

MODELO OSI. Prof. Msc. Hélio Esperidião

Resumo P2. Internet e Arquitetura TCP/IP

Camada de Aplicação da Arquitetura TCP/IP

Preparação AV3 Fundamentos de Redes de Computadores

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Programação para Web

A camada de enlace de dados executa diversas funções específicas. Dentre elas

Modelo TCP/IP. Douglas Wildgrube Bertol DEE - Engenharia Elétrica CCT

OSI e TCP/IP. Professor: Leandro Engler Boçon Disciplina: Redes e Serviços

Redes de Computadores

Aplicações de Redes de Computadores

Transcrição:

1. Protocolos de Comunicação 1.1 Software de Rede Nas primeiras redes de computadores, o hardware foi colocado como prioridade e o software, em segundo plano. Atualmente, o software da rede está altamente estruturado. Neste tópico será estudada a técnica de estruturação dos softwares. 1.1.1 Hierarquias de Protocolo Para reduzir a complexidade do projeto, a maioria das redes foi organizada como uma série de camadas ou níveis, que são colocados um em cima do outro. O objetivo de cada camada é oferecer determinados serviços para as camadas superiores, ocultando detalhes da implementação desses recursos. A camada n de uma máquina se comunica com a camada n da outra máquina. As regras usadas nesse diálogo são chamadas de protocolo da camada n. Basicamente, um protocolo é um conjunto de regras sobre o modo como se dará a comunicação entre as partes envolvidas. A figura acima mostra uma rede com camadas. As entidades que ocupam as mesmas camadas em diferentes máquinas são chamadas de pares (peers). São os pares que se comunicam usando o protocolo. Os dados não são diretamente transferidos da camada n de uma máquina para a camada n da outra. Cada camada transfere os dados e as informações de controle para a camada imediatamente abaixo dela, até a última camada ser alcançada. Abaixo da camada 1 está o meio físico, através do qual se dá a comunicação propriamente dita. Uma das considerações mais importantes é a definição clara das interfaces entre as camadas. É preciso que cada camada execute um conjunto de funções bem definido. Isto reduz o volume de informações a ser passado de uma camada para outra e simplifica a substituição de uma camada por uma implementação diferente. Um conjunto de camadas de protocolos é chamado de arquitetura de rede. A especificação de uma arquitetura deve conter informações suficientes para permitir que um implementador desenvolva o software ou construa o hardware de cada camada de modo que ele transmita corretamente o protocolo adequado. Não há, no entanto, a 1

necessidade de que as interfaces de todas as máquinas de uma rede sejam iguais, desde que cada uma delas possa usar todos os protocolos. Uma lista de protocolos usados por um determinado sistema é chamado de pilha de protocolos. Usando como exemplo uma rede com 5 camadas, uma mensagem M produzida por uma aplicação executando na camada 5 é transmitida para a camada 4. A camada 4 coloca um cabeçalho na frente da mensagem para identificá-la e envia o resultado à camada 3. O cabeçalho inclui informações de controle, como números de seqüência para permitir que a camada 4 da máquina de destino repasse as mensagens na ordem correta, para o caso das camadas inferiores não conseguirem manter a seqüência. Algumas camadas não impõem limite ao tamanho da mensagem transmitida, enquanto outras impõem. Assim, as camadas que limitam o tamanho da mensagem que elas podem enviar devem dividir as mensagens em unidades menores, chamadas pacotes, anexando um cabeçalho de sua camada a cada pacote. A camada 3 divide então as mensagens e transmite os pacotes à camada 2. A camada 2 adiciona, além de um cabeçalho, um fecho (trailer), e envia a unidade resultante à camada 1, para que ela possa ser transmitida fisicamente. Na máquina receptora, a mensagem será movida para cima de camada em camada, com os cabeçalhos sendo excluídos durante o processo. 1.1.2 Interfaces e Serviços Os elementos ativos em cada camada são chamados de entidades. Uma entidade pode ser uma entidade de software (como um processo) ou uma entidade de hardware. As entidades da mesma camada contidas em máquinas diferentes são chamadas de entidades pares (peer entity). As entidades da camada n implementam um serviço usado pela camada n+1. Nesse caso, a camada n é chamada provedora de serviços e a camada n+1 é chamada de usuária do serviço. A camada n pode usar os serviços da camada n-1 para oferecer seu serviço. Ela pode, ainda, oferecer diversas classes diferentes de serviços. Os serviços estão disponíveis em SAPs (Service Access Points Pontos de Acesso ao Serviço). Os SAPs da camada n são os locais onde a camada n+1 pode acessar os serviços oferecidos. Cada SAP tem um endereço exclusivo que o identifica. Para que duas camadas possam trocar informações é necessário estabelecer um conjunto de regras sobre a interface. A entidade da camada n+1 passa uma IDU (Interface Data Unit Unidade de Dados da Interface) para a entidade da camada n através do SAP. A IDU consiste em uma SDU (Service Data Unit Unidade de Dados do Serviço) e algumas informações de controle. A SDU é a informação passada pela rede para a entidade par da camada n+1. Para enviar a SDU, a camada n acrescenta um cabeçalho à SDU. Tal cabeçalho é 2

conhecido como PCI (Protocol Control Information Informação de Controle do Protocolo). O pacote formato pela união da PCI com a SDU formam PDU (Protocol Data Unit Unidade de Dados do Protocolo). 1.1.3 Serviços Orientados à Conexão e Serviços sem Conexão As camadas podem oferecer dois tipos de serviço diferentes para as camadas superiores: serviços orientados à conexão e serviços sem conexão. No serviço orientado à conexão o usuário do serviço antes estabelece uma conexão, usa a conexão e, em seguida, libera a conexão. Uma conexão funciona como um duto entre duas aplicações, onde o emissor coloca os dados em uma extremidade do duto e o receptor recebe estes dados na outra extremidade. No serviço sem conexão cada mensagem carrega o endereço destino. Cada mensagem pode percorrer um caminho diferente das demais, ocasionando a possibilidade de uma mensagem enviada em determinado momento chegar depois de uma mensagem enviada depois dela. Alguns serviços são confiáveis no sentido de que os dados jamais serão perdidos. Geralmente um serviço confiável é implementado por meio da confirmação das mensagens que chegam ao receptor. O processo de confirmação introduz overhead e retardos, fazendo com que ele nem sempre seja desejável. Uma situação típica em que um serviço orientado à conexão confiável é apropriado é a transferência de arquivos, enquanto uma situação em que é o retardo introduzido pode ser pior do que a confiabilidade é o tráfego de voz. O serviço orientado à conexão confiável tem duas pequenas variações: fluxo de mensagem e fluxo de bytes. No fluxo de mensagens os limites da mensagem são preservados. Quando duas mensagens são enviadas, elas chegam como duas mensagens distintas. No fluxo de bytes a conexão não preserva os limites da mensagem. Nem todas as aplicações necessitam de conexão. Tudo o que é necessário é enviar uma mensagem cuja probabilidade de chegada seja bastante alta, sem que haja uma garantia de entrega. O serviço sem conexão não confiável (sem confirmação) é conhecido como serviço de datagrama. Em algumas situações é conveniente ter confiabilidade em um serviço sem conexão. O serviço de datagrama com confirmação pode ser oferecido para essas aplicações. 3

1.1.4 Primitivas de Serviço Um serviço é um conjunto de primitivas (operações) disponíveis para que uma entidade possa acessá-lo. Uma primitiva indica a execução de alguma ação ou a geração de um relatório sobre uma ação executada por uma entidade par. As primitivas podem ser divididas em quatro classes: Primitiva Request Indication Response Confirm Significado Uma entidade solicita uma ação a outra Uma entidade é informada sobre um evento Uma entidade responde a um evento Resposta a uma solicitação anterior da entidade Para estabelecer uma conexão ente uma máquina A e uma máquina B, por exemplo, uma entidade na máquina A emite uma primitiva CONNECT.request, que faz com que um pacote seja enviado à máquina B, que por sua vez recebe uma primitiva CONNECT.indication anunciando o pedido de conexão. A máquina B responde ao pedido pela primitiva CONNECT.response, que chega à máquina A como a primitiva CONNECT.confirm. No serviços com confirmação as quatro primitivas são utilizadas, enquanto nos serviços sem confirmação apenas as duas primeiras primitivas são utilizadas. 1.2 Modelos de referência Nesta seção serão analisadas duas importantes arquiteturas de rede: o modelo de referência OSI e o modelo TCP/IP. 1.2.1 O Modelo de Referência OSI O RM-OSI (Reference Model for Open Systems Interconnection Modelo de Referência para Interconexão de Sistemas Abertos) é mostrado na figura abaixo. Ele é um modelo de 7 camadas baseado em uma proposta desenvolvida pela ISO (International Organization for Standardization) como um primeiro passo na direção da padronização internacional dos protocolos usados nas diversas camadas. O modelo OSI trata da interconexão de sistemas abertos, ou seja, sistemas que estão abertos à comunicação com outros sistemas. 4

O modelo OSI em si não é uma arquitetura de rede, pois não especifica os serviços e os protocolos que devem ser usados em cada camada. Ele apenas informa o que cada camada deve fazer. No entanto, a ISO criou padrões para todas as camadas, embora eles não pertençam ao modelo de referência propriamente dito. 1.2.1.1 A Camada Física A camada física trata da transmissão bruta de bits através de um canal de comunicação, sem se preocupar com o seu significado. O projeto da rede deve garantir que, quando um lado envia um bit, o outro lado o receba corretamente. As questões mais comuns são a quantidade de volts a ser usada para representar um bit 1 e um bit 0, a quantidade de tempo que um bit deve durar, o fato de a transmissão poder ser ou não realizada nas duas direções, a forma como a conexão inicial será estabelecida e de que maneira ela será encerrada, a quantidade de pinos que o conector da rede precisará e de que maneira eles serão utilizados, etc. As questões dizem respeito às interfaces mecânicas, elétricas e procedurais e ao meio de transmissão físico, que fica abaixo da camada física. 1.2.1.2 A Camada de Enlace de Dados A principal tarefa da camada de enlace de dados é transformar um canal de transmissão de bits de dados bruto em uma linha que pareça livre dos erros de transmissão não detectados na camada de rede. Para tal, a camada de enlace de dados divide os dados de entrada em quadros de dados (que em geral têm algumas centenas ou milhares de bytes), transmite-os seqüencialmente e processa os quadros de reconhecimento transmitidos pelo receptor. Cabe à camada de enlace de dados criar e reconhecer os limites do quadro. Para o reconhecimento dos limites podem ser utilizados quatro métodos. Contagem de caracteres: o cabeçalho informa o tamanho do quadro. Caracteres delimitadores e transparência de caracteres: caracteres especiais são utilizados para indicar o início e o fim do quadro. Para evitar confusão de aparecerem delimitadores nos dados são inseridos caracteres especiais. Seqüências especiais de bits: são utilizados flags para delimitar os quadros. Para evitar seqüência igual nos dados é criado o bit stuffing. 5

Violação de código: utilizado em redes onde a codificação dos bits traz redundâncias como, por exemplo, Manchester, que determina o bit pela direção da transição no meio do período do relógio. Ruídos na linha podem destruir completamente um quadro. Nesse caso, a camada de enlace de dados da máquina de origem deverá retransmitir o quadro. No entanto, várias transmissões do mesmo quadro criam a possibilidade de existirem quadros repetidos, especialmente no caso de um quadro de reconhecimento enviado pelo receptor ao transmissor ser perdido. Cabe à camada de enlace de dados resolver os problemas causados pelos quadros repetidos, perdidos e danificados. Ela pode, ainda, oferecer diferentes classes de serviço para a camada de rede. Outra função da camada de enlace de dados é implementar algum mecanismo de controle de fluxo para impedir que um transmissor rápido seja dominado por um receptor lento. Nas redes de difusão a camada de enlace de dados precisa ainda controlar o acesso ao canal compartilhado. Esse problema é resolvido por uma subcamada especial denominada subcamada de acesso ao meio. 1.2.1.3 A Camada de Rede A camada de rede controla como os pacotes são roteados da origem para o destino. As rotas podem se basear em tabelas estáticas que raramente são alteradas, podem ser determinadas no início de cada conversação ou podem ser altamente dinâmicas, sendo determinadas para cada pacote a fim de refletir a situação atual da rede. Se houver muitos pacotes na sub-rede eles utilizarão o mesmo caminho, provocando engarrafamentos. O controle de congestionamento pertence à camada de rede. A camada de rede também é responsável pelo endereçamento das máquinas. Em redes que trabalham com unidades de dados de diferentes tamanhos no nível de enlace de dados pode ser necessário realizar a fragmentação e a remontagem dos pacotes. A camada de rede é a responsável por esta tarefa. A camada de rede pode interligar redes com diferentes protocolos de enlace de dados. 1.2.1.4 A Camada de Transporte A função básica da camada de transporte é aceitar dados da camada superior, dividi-los em unidades menores (caso seja necessário), passá-los para a camada de rede e garantir que todas as unidades cheguem corretamente à outra extremidade. Ela deve isolar os níveis superiores de erros como chegada fora de ordem dos pacotes ou até mesmo a perda ou a duplicação de um pacote. A camada de transporte determina o tipo de serviço que será oferecido à camada acima. O tipo de conexão de transporte mais comum é o canal ponto a ponto sem erros, que libera mensagens ou bytes na ordem em que eles são enviados. Outros tipos possíveis de serviço de transporte são as mensagens isoladas sem garantia em relação à ordem de entrega e à difusão de mensagens para muitos destinos. O tipo de serviço é determinado quando a conexão é estabelecida. A camada de transporte é uma camada fim a fim, que liga a origem ao destino. Nas camadas inferiores os protocolos são trocados entre máquinas vizinhas. 6

Muitos hosts são multiprogramados, possuindo várias conexões com outros hosts. Desta forma, é preciso criar algum mecanismo que determiner a qual conexão uma mensagem pertence. A multiplexação de várias conexões deve ser feita de forma transparente pela camada de transporte para as camadas superiores. Além da multiplexação, a camada de transporte pode realizar também o splitting, que é o aumento da vazão distribuindo uma conexão de transporte por várias conexões de rede simultaneamente. Também cabe à camada de transporte estabelecer e encerrar conexões. 1.2.1.5 A Camada de Sessão A camada de sessão permite que os usuários de diferentes máquinas estabeleçam sessões entre eles. Uma sessão pode ser usada para permitir que um usuário estabeleça um, login com um sistema remoto ou transfira um arquivo entre duas máquinas. Um dos serviços de sessão é o gerenciamento de token Para alguns protocolos, é necessário que ambos os lados não executem a mesma operação ao mesmo tempo. A camada de sessão oferece tokens para serem trocados, fazendo com que determinadas operações só possam ser executadas pelo lado que está mantendo o token. Outro serviço que a camada de sessão oferece é a sincronização. São inseridos pontos de sincronização no fluxo de dados de forma que se a conexão for perdida não seja necessário retransmitir todos os dados novamente, mas apenas aqueles enviados após o último ponto de sincronização. 1.2.1.6 A Camada de Apresentação A camada de.apresentação executa determinadas funções solicitadas com muita freqüência, oferecendo uma solução geral para todas elas em vez de. deixar tal responsabilidade a cargo de cada usuário. Ao contrário das camadas inferiores, que estão interessadas em tornar confiável o processo de movimentação de bits de uma extremidade a outra, a camada de apresentação se preocupa com a sintaxe e a semântica das informações transmitidas. Um exemplo típico de um serviço da camada de apresentação é a codificação de dados conforme o padrão estabelecido. Hosts têm diferentes códigos para representar strings e valores numéricos. Para permitir que hosts com diferentes representações se comuniquem, as estruturas de dados trocadas podem ser definidas de uma forma abstrata, juntamente com. a codificação padrão a ser usada durante a conexão. A camada de apresentação gerencia essas estruturas de dados abstratas e converte a representação utilizada pelo host para a representação padrão da rede, e vice-versa. Outros exemplos de serviços que podem ser oferecidos pela camada de sessão são a criptografia e a compressão de dados. 1.2.1.7 A Camada de Aplicação É a camada que oferece aos usuários acesso à pilha de protocolos OSI. Ela contém uma série de protocolos necessários ao funcionamento de uma rede como, por exemplo, terminais virtuais, transferência de arquivos, correio eletrônico, etc. É na camada de aplicação que são executados os processos dos usuários. 1.2.1.8 Transmissão de Dados no Modelo OSI A figura abaixo mostra como os dados podem ser transmitidos através do modelo OSI. Um processo que deseja enviar dados para um receptor passa os dados para a 7

camada de aplicação que, em seguida, anexa o cabeçalho da aplicação e transmite o item resultante para a camada de apresentação. camada de apresentação inclui um cabeçalho ao item a ser enviado e passa o resultado para a camada de sessão. A camada de apresentação não identifica qual trecho dos dados transmitidos a ela é o cabeçalho da camada de aplicação e quais são os verdadeiros dados do usuário. O processo é repetido até os dados alcançarem a camada física, onde eles são realmente transmitidos para o host de recepção. Na recepção, os diversos cabeçalhos são excluídos um a um conforme a mensagem se propaga pelas camadas. Embora a transmissão de dados propriamente dita seja vertical, cada camada é programada como se fosse horizontal. Quando a camada de transporte do transmissor, por exemplo, obtém uma mensagem da camada de sessão, ela anexa um cabeçalho de transporte e a envia à camada de transporte do receptor. 1.2.2 O Modelo de Referência TCP/IP A ARPANET, antecessora da Internet, foi uma rede de pesquisa criada pelo Departamento de Defesa dos Estados Unidos. Aos poucos universidades e repartições públicas foram sendo conectadas a ela. Quando foram criadas as redes de rádio e satélite, começaram a surgir problemas com os protocolos existentes, forçando a criação de uma nova arquitetura de referência com o objetivo de conectar várias redes ao mesmo tempo. Essa arquitetura veio a ficar conhecida como Modelo de Referência TCP/IP, graças a seus dois principais protocolos. Diante da preocupação do Pentágono de que seus hosts e roteadores fossem destruídos de uma hora para outra, definiu-se também que a rede deveria ser capaz de sobreviver à perda de hardwares da sub-rede, impedindo que as conversas que estivessem ocorrendo fossem interrompidas. Em outras palavras, o Pentágono queria que as conexões permanecessem intactas enquanto as máquinas de origem e de destino estivessem funcionando, mesmo que algumas máquinas ou linhas de transmissão intermediárias deixassem de operar repentinamente. 8

1.2.2.1 A Camada Inter-redes A camada inter-redes é a camada que integra toda a arquitetura. Sua tarefa é permitir que os hosts injetem pacotes em qualquer rede e garantir que eles sejam transmitidos independentemente do destino (que pode ser outra rede). A camada inter-redes define um formato de pacote oficial e um protocolo chamado IP (Internet Protocol). A tarefa da camada inter-redes é entregar pacotes IP onde eles são necessários. O roteamento é uma questão de grande importância nessa camada, assim como evitar congestionamentos. A função da camada inter-redes do modelo TCP/IP é a mesma da camada de rede do modelo OSI. 1.2.2.2 A Camada de Transporte A finalidade da camada de transporte é permitir que as entidades par (peer entity) dos hosts de origem e de destino mantenham uma conversação exatamente como acontece na camada de transporte do modelo OSI. Dois protocolos fim a fim foram definidos. O primeiro deles, o TCP (Transmission Control Protocol), é um protocolo orientado à conexão confiável que permite a entrega sem erros de um fluxo de bytes originado de um determinado host para qualquer host da inter-rede. Esse protocolo fragmenta o fluxo de bytes de entrada em mensagens e passa cada uma delas para a camada inter-redes. No destino, o processo TCP remonta as mensagens recebidas no. O TCP cuida também do controle de fluxo, impedindo que um transmissor rápido sobrecarregue um receptor lento com um volume de mensagens muito grande. O segundo protocolo dessa camada é o UDP (User Datagram Protocol), um protocolo sem conexão, não confiável, para aplicações que não necessitam nem de controle de fluxo, nem da manutenção da seqüência das mensagens enviadas. É amplamente utilizado em aplicações em que a entrega imediata é mais importante do que a entrega precisa. 1.2.2.3 A Camada de Aplicação O modelo TCP/IP não tem as camadas de sessão e de apresentação. Acima da camada de transporte está a camada de aplicação. A camada de aplicação contém os protocolos de alto nível. Dentre eles estão o protocolo de terminal virtual (Telnet), o protocolo de transferência de arquivos (FTP) e o protocolo de correio eletrônico (SMTP). Muitos outros protocolos foram incluídos com o decorrer dos anos, como o DNS (Domain Name Service), que mapeia os nomes 9

de host para seus respectivos endereços de rede, o NNTP, protocolo usado para mover artigos de notícias, o HTTP, protocolo usado para buscar páginas na WWW (World Wide Web), o SSH, permite a conexão com outro computador na rede, permite as mesmas funcionalidades do Telnet com a vantagem da conexão entre o cliente e o servidor criptografada, o SSL, são protocolos criptografados que provêem comunicação segura na Internet,como e-mail, navegação por páginas, entre outros. 1.2.2.4 A Camada Host/Rede Abaixo da camada inter-redes nada é definido, exceto pelo fato de que o host tem de se conectar com a rede utilizando um protocolo para que seja possível enviar pacotes IP. Esse protocolo não é definido e varia de host para host e de rede para rede. 1.2.3 Comparação entre os Modelos de Referência OSI e TCP/IP Os modelos de referência OSI e TCP/IP têm muito em comum. Os dois se baseiam no conceito de uma pilha de protocolos independentes e as camadas têm praticamente as mesmas funções. Em ambos são oferecidos aos processos que desejam se comunicar um serviço de transporte fim a fim independente do tipo de rede que está sendo usado. O modelo OSI tem três conceitos fundamentais: Serviços Interfaces Protocolos' Cada camada executa alguns serviços para a camada acima dela. A definição do serviço informa o que a camada faz e não a forma como as entidades acima dela o acessam ou como a camada funciona. A interface de uma camada informa como os processos acima dela podem acessála. A interface especifica quais são os parâmetros e resultados a serem esperados. Ela também não revela o funcionamento interno da camada. Os protocolos utilizados em uma camada são de responsabilidade dessa camada. A camada pode usar os protocolos que quiser, desde que eles viabilizem a realização do trabalho. Ela também pode alterar esses protocolos sem influenciar o software das camadas superiores. Originalmente, o modelo TCP/IP não distinguiu com clareza a diferença entre serviço, interface e protocolo, embora as pessoas tenham tentado adaptá-lo ao modelo OSI. Por essa razão, os protocolos do modelo OSI são mais bem encapsulados do que no modelo TCP/IP e podem ser substituídos com relativa facilidade. O modelo de referência OSI foi concebido antes de os protocolos terem sido inventados. Conseqüentemente, o modelo não foi criado com base em um determinado conjunto de protocolos, o que o deixou bastante flexível. No entanto, há o inconveniente de os projetistas não terem experiência com o assunto e não terem muita noção sobre a funcionalidade que deveria ter sido colocado em cada camada. Com o TCP/IP, aconteceu exatamente o contrário, Como os protocolos vieram primeiro, o modelo foi criado com base neles. Os protocolos não tiveram problemas para se adaptarem ao modelo. O único problema foi que o modelo não se adaptava às outras pilhas de protocolos. Assim ele não era de muita utilidade quando havia necessidade de se descrever redes que não faziam uso do protocolo TCP/IP. 10

Uma das maiores diferenças entre os dois modelos está no número de camadas. O modelo OSI tem sete camadas e o TCP/IP quatro. Outra diferença está na área da comunicação sem conexão e da comunicação orientada à conexão. Na camada de rede o modelo OSI é compatível com a comunicação sem conexão e com a comunicação orientada à conexão. No entanto, na camada de transporte, o modelo aceita apenas a comunicação orientada à conexão. O modelo TCP/IP tem apenas um modo na camada de rede (sem conexão), mas aceita ambos os modelos na camada de transporte, oferecendo aos usuários uma opção de escolha. Essa escolha é especialmente importante para os protocolos simples de solicitação/resposta. 11