0% acharam este documento útil (0 voto)
15 visualizações10 páginas

Introdução

Why become a programmer?

Enviado por

abiliomaster007
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
15 visualizações10 páginas

Introdução

Why become a programmer?

Enviado por

abiliomaster007
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Introdução:

O modelo OSI (Open Systems Interconnection) e o modelo TCP/IP representam as


bases teóricas e práticas para a padronização da comunicação entre dispositivos em
redes de computadores. Desenvolvido pela ISSO (International Standards
Organization), o modelo OSI busca criar uma estrutura de camadas que descreva como
os diferentes sistemas podem se comunicar, independentemente das suas especificidades
tecnológicas. Por outro lado, o modelo TCP/IP, desenvolvido a partir da ARPANET,
foca na implementação prática da comunicação entre redes heterogêneas, sendo
amplamente adotado na internet atual. Este material explora as características, funções e
diferenças entre esses dois modelos, fundamentais para o entendimento das arquiteturas
de redes modernas.

1
1.0 O modelo de referência OSI

O modelo OSI (exceto o meio físico) é mostrado na Figura 1.20. Esse modelo se baseia
em uma proposta desenvolvida pela ISSO (International Standards Organization) como
um primeiro passo em direção à padronização internacional dos protocolos empregados
nas diversas camadas (Day e Zimmermann, 1983). Ele foi revisto em 1995 (Day, 1995).
O modelo é chamado Modelo de referência ISSO OSI (Open Systems Interconnection),
pois ele trata da interconexão de Sistemas abertos — ou seja, sistemas que estão abertos
à comunicação com outros sistemas. Para Abreviar, vamos denominá-lo simplesmente
modelo OSI.

O modelo OSI tem sete camadas. Veja a seguir um resumo dos princípios aplicados para
se chegar ás sete camadas.

1. Uma camada deve ser criada onde houver necessidade de outro grau de
abstração.

2. Cada camada deve executar uma função bem definida.

3. A função de cada camada deve ser escolhida tendo em vista a definição


de protocolos

Padronizados internacionalmente.

4. Os limites de camadas devem ser escolhidos para minimizar o fluxo de


informações pelas

Interfaces.

5. O número de camadas deve ser grande o bastante para que funções


distintas não precisem

Ser desnecessariamente co locadas na mesma camada e pequeno o suficiente para que a


arquitetura não se torne difícil de controlar.

Em seguida, discutiremos cada uma da s camadas do modelo, começando pela camada


inferior. Observe que o modelo OSI propriamente dito não é uma arquitetura de rede,
pois não especifica os serviços e os protocolos exatos que devem ser usados em cada
camada. Ele apenas informa o que cada camada deve fazer. No entanto, a ISSO também
produziu padrões para todas as camadas, embora esses padrões não façam parte do
próprio modelo de referência. Cada um foi publicado como um padrão internacional
distinto.

2
1.1 A camada física

A camada física trata da transmissão de bits brutos por um canal de comunicação. O


projeto da rede deve garantir que, quando um lado enviar um bit 1, o outro lado o
receberá como um bit 1, não como um bit 0. Nesse caso, as questões mais comuns são a
voltagem a ser usada para representar um bit 1 e um bit 0, a quantidade de nanos
segundos que um bit deve durar, o fato de a transmissão poder ser ou não realizada nos
dois sentidos simultaneamente, a forma como a conexão inicial será estabelecida e de
que maneira ela será encerrada quando ambos os lados tiverem terminado, e ainda
quantos pinos o conector de rede terá e qual será a finalidade de cada pino. Nessa
situação, as questões de projeto lidam em grande parte com interfaces mecânicas,
elétricas e de sincronização, e com o meio físico de transmissão que se situa abaixo da
camada física.

1.2 A camada de enlace de dados

A principal tarefa da camada de enlace de dados é transformar um canal de transmissão


bruta em uma linha que pareça livre de erros de transmissão não detetados para a
camada de rede. Para executar essa tarefa, a camada de enlace de dados faz com que o
transmissor divida os dados de entrada em quadros de dados (que, em geral, têm
algumas centenas ou alguns milhares de bytes), e transmita os quadros sequencialmente.
Se o serviço for confiável, o recetor confirmará a receção correta de ca da quadro,
enviando de volta um quadro de confirmação. Outra questão que surge na camada de
enlace de dados (e na maioria das camadas mais altas) é como impedir que um
transmissor rápido envie uma quantidade excessiva de dados a um recetor lento. Com
frequência, é necessário algum mecanismo que regule o tráfego para informar ao
transmissor quanto espaço o buffer do recetor tem no momento. Muitas vezes, esse
controle de fluxo e o tratamento de erros estão integrados.

As redes de difusão têm uma questão adicional a ser resolvida na camada de enlace de
dados:

Como controlar o acesso ao canal compartilhado?. Uma subcamada especial da camada


de enlace de dados, a subcamada de controle de acesso ao meio, cuida desse problema.

1.3 A camada de rede

A camada de rede controla a operação da sub-rede. Uma questão fundamental de projeto


é determinar a maneira como os pacotes são roteados da origem até o destino. As rotas
podem se basear em tabelas estáticas, “amarradas” à rede e raramente alteradas. Elas
também podem ser determinadas no início de cada conversação; por exemplo, uma
sessão de terminal (como um logon em uma máquina remota). Por fim, elas podem ser
altamente dinâmicas, sendo determinadas para cada pacote, com o objetivo de refletir a
carga atual da rede.

Se houver muitos pacotes na sub-rede ao mesmo tempo, eles dividirão o mesmo


caminho, provocando gargalos. O controle desse congestionamento também pertence à
camada de rede. De modo mais geral, a qual idade do serviço fornecido (retardo, tempo
em trânsito, instabilidade etc.)

3
Também é uma questão da camada de rede. 70Quando um pacote tem de viajar de uma
rede para outra até chegar a seu destino, podem surgir um itos problemas. O
endereçamento utilizado pela segunda rede pode ser diferente do que é empregado pela
primeira rede. Talvez a segunda rede não aceite o pacote devido a seu tamanho
excessivo. Os protocolos podem ser diferentes e assim por diante. Cabe à camada de
rede superar todos esses problemas, a fim de permitir que redes heterogêneas sejam
interconectadas.

Nas redes de difusão, o problema de rote amento é simples, e assim a camada de rede
com frequência é estreita, ou mesmo inexistente.

1.4 A camada de transporte

A função básica da camada de transporte é aceitar dados da camada acima dela, dividi-
los em unidades menores caso necessário, repassar essas unidades à camada de rede e
assegurar que todos os fragmentos chegarão corretamente à outra extremidade. Além do
mais, tudo isso deve ser feito com eficiência e de forma que as camadas superiores
fiquem isoladas das inevitáveis
Mudanças na tecnologia de hardware.

A camada de transporte também determina que tipo de serviço deve ser fornecido à
camada de Sessão e, em última análise, aos usuários da rede. O tipo de conexão de
transporte mais popular é um canal ponto a ponto livre de erros que entrega mensagens
ou bytes na ordem em que eles foram enviados. No entanto, outros tipos possíveis de
serviço de transporte são as mensagens isoladas sem nenhuma garantia relativa à ordem
de entrega e à difusão de mensagens para muitos destinos. O tipo de serviço é
determinado quando a conexão é estabelecida. (Observe que é impossível conseguir um
canal livre de erros; o que as pessoas realmente entendem por essa expressão é que a
taxa de erros é baixa o suficiente para ser ignorada na prática.) 71ª camada de transporte
é uma verdadeira camada fim a fim, que liga a origem ao destino. Em outras palavras,
um programa da máquina de origem mantém uma conversação com um programa
semelhante instalado na máquina de destino, utilizando os cabeçalhos de mensagens e
as mensagens de controle. Nas camadas inferiores, os protocolos são trocados entre cada
uma das máquinas e seus vizinhos imediatos, e não entre as máquinas de origem e de
destino, que podem estar separadas por muitos roteadores. A diferença entre as camadas
de 1 a 3, que são encadeadas, e as camadas de 4 a 7, que são camadas fim a fim.

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 oferece diversos serviços, inclusive o controle de diálogo
(mantendo o controle de quem deve transmitir em cada momento), o gerenciamento de
símbolos (impedindo que duas partes tentem executar a mesma operação crítica ao

4
mesmo tempo) e a sincronização (realizando a verificação periódica de transmissões
longas para permitir que elas continuem a partir do ponto em que estavam ao ocorrer
uma falha).

1.6 A camada de apresentação

Diferente das camadas mais baixas, que se preocupam principalmente com a


movimentação de bits, a camada de apresentação está relacionada à sintaxe e à
semântica das informações transmitidas. Para tornar possível a comunicação entre
computadores com diferentes representações de dados, as estruturas de dados a serem
intercambiadas podem ser definidas de maneira abstrata, juntamente com uma
codificação padrão que será usada durante a conexão. A camada de apresentação
gerência essas estruturas de dados abstratas e permite a definição e o intercâmbio de
estruturas de dados de nível mais alto (por exemplo, registros bancários).

1.7 A camada de aplicação

A camada de aplicação contém uma série de protocolos comumente necessários para os


usuários. Um protocolo de aplicação amplamente utilizado é o HTTP (HyperText
Transfer Protocol), que constitui a base para a World Wide Web. Quando um navegador
deseja uma página da Web, ele envia o nome da página desejada ao servidor, utilizando
o HTTP. Então, o servidor transmite a página de volta. Outros protocolos de aplicação
são usados para transferências de arquivos, correio eletrônico e transmissão de notícias
pela rede.

2.0 O modelo de referência TCP/IP

Vamos deixar de lado o modelo de referência OSI e passar ao modelo de referência


usado na “avó” de todas as redes de computadores geograficamente distribuídas, a
ARPANET, e sua sucessora, a Internet mundial. Embora tenhamos deixado para depois
a apresentação da história da ARPANET, será de grande utilidade entender alguns de
seus principais aspetos. A ARPANET era uma rede de pesquisa patrocinada pelo

5
Departamento de Defesa dos Estados Unidos (DoD). Pouco a pouco, centenas de
universidades e repartições públicas foram conectadas, usando linhas telefônicas
dedicadas. Quando foram criadas as redes de rádio e satélite, começaram a surgir
problemas com
os protocolos existentes, o que forçou a criação de uma nova arquitetura de referência.
Desse modo, a habilidade para conectar várias redes de maneira uniforme foi um dos
principais objetivos de projeto, desde o início. Mais tarde, essa arquitetura ficou
conhecida como Modelo de Referência TCP/IP, graças a seus dois principais protocolos.
Esse modelo foi definido pela primeira vez em (Cerf e Kahn, 1974). Uma nova
perspetiva foi oferecida mais tarde em (Leiner etal., 1985). A filosofia de projeto na qual
se baseia o modelo é discutida em (Clark, 1988). Diante da preocupação do
Departamento de Defesa dos EUA de que seus preciosos hosts, roteadores e gateways
de interconexão de redes fossem destruídos de uma hora para outra, definiu-se também
que a rede deveria ser capaz de sobreviver à perda do hardware de sub-redes,com as
conversações existentes sendo mantidas em atividade. Em outras palavras, o
Departamento de Defesa dos EUA 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. Além disso, era
necessária uma arquitetura flexível, capaz de se adaptar a aplicações com requisitos
divergentes como, por exemplo, a transferência de arquivos e a transmissão de dados de
voz em tempo real.

2.1 A camada inter-redes

Todas essas necessidades levaram à escolha de uma rede de comutação de pacotes


baseada em um camada de interligação de redes sem conexões. Essa camada, chamada
camada inter-redes, integra toda a arquitetura. Sua tarefa é permitir que os hosts injetem
pacotes em qualquer rede e garantir que eles trafegarão independentemente e até o
destino (talvez em uma rede diferente). Eles podem chegar até mesmo em uma ordem
diferente daquela em que foram enviados, obrigando as camadas superiores a
reorganizá-los, caso a entrega em ordem seja desejável. Observe que, nesse caso, a
expressão "inter-rede" é usada em sentido genérico, muito embora essa camada esteja
presente na Internet.

A analogia usada nesse caso diz respeito ao sistema de correio (convencional). Uma
pessoa pode deixar uma sequência de cartas internacionais em uma caixa de correio em
um país e, com um pouco de sorte, a maioria delas será entregue no endereço correto no
país de destino. Provavelmente, as cartas atravessarão um ou mais gateways
internacionais ao longo do caminho, mas esse processo é transparente para os usuários.
Além diss o, o fato de cada país (ou seja, cada rede) ter seus próprios selos, tamanhos de
envelope preferidos e regras de entrega fica oculto dos
usuários.

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 de pacotes é uma questão de grande importância nessa
camada, assim como a

6
necessidade de evitar o congestionamento. Por esses motivos, é razoável dizer que a
função da camada inter-redes do TCP/IP é muit o parecida com a da camada de rede do
OSI.

2.2 A camada de transporte

No modelo TCP/IP, a camada localizada acima da camada inter-redes é chamada


camada de transporte. A finalidade dessa camada é permitir que as entidades pares dos
hosts de origem e de destino mantenham uma conversação, exatamente como acontece
na camada de transporte OSI.

Dois protocolos fim a fim foram definidos aqui. O primeiro deles, o TCP (Transmission
Control Protocol — protocolo de controle de transmissão), é um protocolo orientado a
conexões confiável que permite a entrega sem erros de um fluxo de bytes originário de
uma determinada máquina em qualquer computador da inter-rede. Esse protocolo
fragmenta o fluxo de bytes de entrada em mensagens discretas e passa cada uma delas
para a camada inter-redes. No destino, o processo TCP recetor volta a montar as
mensagens recebidas no fluxo de saída. O TCP também cuida do controle de fluxo,
impedindo que um transmissor rápido sobrecarregue um recetor lento com um volume
de mensagem maior do que ele pode manipular. [arte: ver original p. 43ª]

2.3 A camada de aplicação

O modelo TCP/IP não tem as camadas de sessão e de apresentação. Como não foi
percebida qualquer necessidade, elas não foram incluídas. A experiência com o modelo
OSI demonstrou a correção dessa tese: elas são pouco usadas na maioria das aplicações.

Acima da camada de transporte, encontramos a camada de aplicação. Ela contém todos


os Protocolos de nível mais alto. 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), como o protocolo de terminal virtual permite que um usuário de um
computador se conecte a uma máquina distante e trabalhe nela. O protocolo de
transferência de arquivos permite mover dados com eficiência de uma máquina para
outra. Originalmente, o correio eletrônico era um tipo de transferência de arquivos; no
entanto, foi desenvolvido mais tarde um protocolo especializado para essa função (o
SMTP). Muitos outros protocolos foram incluídos com o decorrer dos anos, como o
DNS (Domain Name Service), que mapeia os nomes de hosts para seus respetivos
endereços de rede, o NNTP, o protocolo usado para mover novos artigos de notícias da
USENET, e o HTTP, o protocolo usado para buscar páginas na World Wide Web, entre
muitos outros.

2.4 A camada host/rede

Abaixo da camada inter-re des, encontra-se um grande vácuo. O modelo de referência


TCP/IP não especifica muito bem o que acontece ali, exceto o fato de que o host tem de
se conectar à rede utilizando algum 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. Os livros e a
documentação que tratam do modelo TCP/IP raramente descrevem esse protocolo.

7
3 Uma 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. Além disso, as camadas têm
praticamente as mesmas funções. Por exemplo, em ambos os modelos estão presentes as
camadas que englobam até a camada de transporte para oferecer um serviço de
transporte fim a fim independente da rede a processos que desejam se comunicar. Essas
camadas formam o provedor de transporte. Mais uma vez, em ambos os modelos, as ca
madas acima da camada de transporte dizem respeito aos usuários orientados a
aplicações do serviço de transporte.

Apesar dessas semelhanças fundamentais, os dois modelos também têm muitas


diferenças. Nesta seção do livro, vamos nos deter nas principais diferenças existentes
entre os dois modelos de referência. É importante notar que estamos comparando os

8
modelos de referência, e não as pilhas de protocolos correspondentes. Os protocolos
propriamente ditos serão discutidos em seguida. Para examinar as semelhanças e as
diferenças entre o TCP/IP e o OSI, consulte (Piscitello e Chapin, 1993).

O modelo OSI tem três conceitos fundamentais:

• Serviços

• Interfaces

• Protocolos

Provavelmente, a maior contribuição do modelo OSI seja tornar explícita a distinção


entre esses três conceitos. 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
acedam ou como a camada funciona. Essa definição estabelece a semântica da camada.

A interface de uma camada informa como os processos acima dela podem acessá-la. A
interface especifica quais são os parâmetros e os resultados a serem esperados. Ela
também não revela o funcionamento interno da camada.

Finalmente, 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 (ou seja, forneçam os serviços oferecidos). Ela também pode
alterar esses protocolos sem influenciar o Software das camadas superiores. Essas ideias
se adaptam perfeitamente aos novos conceitos da programação orientada a objetos.

Um objeto, assim como uma camada, tem um conjunto de métodos (operações) que os
processos externos ao objeto podem invocar. A semântica desses métodos define o
conjunto de serviços que o objeto oferece. Os parâmetros e os resultados dos métodos
formam a interface do objeto. O Código interno do objeto é seu protocolo, que não é
visível nem interessa aos elementos que estão fora do objeto.

Originalmente, o modelo TCP/IP não distinguia com clareza a diferença entre serviço,
interface e protocolo, embora as pessoas tenham tentado adaptá-lo ao modelo OSI. Por
exemplo, os únicos serviços reais oferecidos pela camada inter- redes são SEND IP
PACKET (enviar pacote IP) e RECEIVE IP PACKET (receber pacote IP).

Por essa razão, os protocolos do modelo OSI são mais bem encapsulados que os do
modelo TCP/IP e podem ser substituídos com relativa facilidade, conforme as mudanças
da tecnologia. Um dos principais objetivos das diversas camadas de protocolos é
permitir a implementação dessas alterações. O modelo de referência OSI foi concebido
antes de os protocolos correspondentes terem sido

Criados. Isso significa que o modelo não foi desenvolvido com base em um
determinado conjunto de protocolos, o que o deixou bastante flexível e genérico. No
entanto, por não terem experiência no assunto, os projetistas não tinham muita noção
sobre a funcionalidade que deveria ser incluída em cada camada.

9
Por exemplo, a camada de enlace de dados lidava originalmente com redes ponto a
ponto. Quando surgiram as redes de di fusão, foi preciso criar uma nova camada no
modelo. Quando as pessoas começaram a criar redes reais com base no modelo OSI e
nos protocolos existentes, elas perceberam que as especificações de serviço obrigatórias
não eram compatíveis. Portanto, foi necessário enxertar no modelo subcamadas de
convergência que permitissem atenuar as diferenças. Por fim, como acreditava que cada
país teria uma rede contro lada pelo governo ebaseada nos protocolos OSI, o comitê não
se preocupou com as conexões inter-redes. Para encurtar a história: na prática, tudo
aconteceu de maneira muito diferente da teoria

Conclusão:

Os modelos OSI e TCP/IP são pilares fundamentais na evolução e operação das redes de
computadores. O modelo OSI, com sua abordagem teórica e estruturada, proporciona
uma compreensão detalhada das camadas e das funções de cada uma. Já o modelo
TCP/IP, com seu foco na eficiência e na aplicação prática, reflete os desafios reais das
redes interconectadas. Apesar das diferenças, ambos desempenham papéis
complementares na compreensão e no desenvolvimento de tecnologias de rede.
Compreender essas arquiteturas é essencial para profissionais e estudantes da área de
computação, pois fornece as bases necessárias para a implementação, análise e
aprimoramento das redes no contexto atual e futuro.

10

Você também pode gostar