Vous êtes sur la page 1sur 105

Instituto Federal de Educao, Cincia e Tecnologia do Rio Grande do Norte

REDES DE COMPUTADORES II
Jane Queiroz jane.queiroz@ifrn.edu.br

Arquitetura da Aplicao Par a Par (ou P2P) Cliente-Servidor

Arquitetura da Aplicao Par a Par (ou P2P) Cada PC funciona como cliente e servidor. Simples e barata Menos de 10 PCs Grupos de trabalho Cliente-Servidor Servidor dedicado Um cliente no pode oferecer servios rede Redes com mais de 10 PCs

Arquitetura da Aplicao
Hbrida (cliente-servidor/P2P) Consiste em uma juno das duas arquiteturas abordadas anteriormente. Ora utilizam P2P, ora cliente-servidor
Exemplo: MSN A conversa entre dois usurios P2P, no entanto, ao abrir o MSN, o usurio precisa se autenticar em um servidor remoto. Alm disso, quando um usurio quer conversar com outro, seu mensageiro instantneo (ou cliente) precisa contactar o servidor para saber quais usurios de sua lista de amigos esto on line.

Para que servem os protocolos?

Torre de Babel

Para que servem os protocolos?

Protocolo
Conjunto de regras que controla a interao de duas mquinas ou dois processos semelhantes (ou com funes semelhantes). Para que dois computadores se comuniquem, necessrio que usem o mesmo protocolo. Sem protocolos, o computador no pode reconstruir, no formato original, a sequncia de bits recebida de outro computador

Para que servem os protocolos?

Sutes de protocolo
Colees de protocolos que habilitam a comunicao em rede de uma mquina outra. Estruturadas em camadas, de forma a dividir e organizar as funes de cada camada

Camadas
Se comunicam somente com camadas adjacentes Recebe servios da camada inferior Presta servios camada superior

OSI

TCP/IP

Camada de Aplicao

Trata os detalhes especficos de cada aplicao. Uma aplicao consiste em um programa em execuo (processo). Cada tipo de aplicao define um protocolo de aplicao. Cada protocolo de aplicao especifica a sintaxe (ordenao/disposio) e a semntica (significado) de suas mensagens.
Exemplos de protocolos de aplicao: FTP, SMTP, DNS, HTTP.

Camada de Aplicao

Na arquitetura TCP/IP, os programas de aplicao interagem adotando o padro de interao denominado cliente-servidor
Um cliente envia requisies por meio da rede para um ou vrios servidores e aguarda o recebimento das respectivas respostas Um servidor aceita requisies dos clientes, executa seu servio processando as requisies e retornando os resultados para os respectivos clientes.

Camada de Aplicao

Comunicao entre processos rodando em mquinas hospedeiras diferentes e com sistemas operacionais (possivelmente) diferentes
A comunicao se d pela troca de mensagens por meio da rede de computadores.

Camada de Aplicao

Cada aplicao escolhe o servio de transporte requerido A camada de aplicao usa os servios da camada de transporte para permitir que as aplicaes se comuniquem Para selecionar e usar os servios da camada de transporte, as aplicaes interagem com os protocolos de transporte no sistema operacional atravs de uma API (Aplication Programming Interface)
Exemplo de interface de interao: socket

Camada de Aplicao

Um processo envia mensagens para a rede e recebe mensagens dela atravs de seu socket.
Um processo como uma casa Um socket como a porta dessa casa

Camada de Aplicao

Um socket ento uma interface entre a camada de aplicao e a camada de transporte dentro de uma mquina (tambm denominado API).

Camada de Aplicao

O cliente deve conhecer previamente a porta utilizada pelo servidor O cliente inicia a interao com o servidor O servidor s descobre o nmero da porta utilizada pelo cliente aps receber a requisio Aps receber uma requisio na porta determinada, o servidor trata a requisio, retorna a resposta para o cliente e volta a aguardar novas requisies

Camada de Aplicao

Para que um processo envie uma mensagem para outro so necessrias duas informaes:
O nome ou endereo da mquina hospedeira Endereo IP Um identificador que especifique o processo destinatrio na mquina de destino Nmero de Porta
Fazendo uma analogia, seria algo como o CEP de determinado local e o nmero da residncia.

Camada de Aplicao

Aplicaes populares recebem nmeros de portas especficos:


Servidor Web porta 80 Servidor de Correio porta 25 Servidor de Resoluo de Nomes porta 53

A alocao de portas realizada pela IANA (Internet Assigned Number Authority) e so divididos em trs faixas:
Portas reservadas ou bem conhecidas (0 at 1023) Portas registradas (1024 at 49151) Portas dinmicas (49152 at 65535)

Protocolos da Camada de Aplicao

Definem como processos de uma aplicao, que funcionam em sistemas finais diferentes, passam mensagens entre si.
Tipos de mensagens trocadas (requisio/resposta) Sintaxe dos tipos de mensagens (campos da mensagem e como so delineados) Semntica dos campos (significado da informao nos campos) Regras para determinar quando e como um processo envia mensagens e responde a mensagens

Transferncia de dados

O protocolo da camada de transporte dever ser escolhido de acordo com as exigncias da aplicao...
Transferncia confivel de dados: no pode haver perda de dados Protocolo de transporte: TCP (orientado conexo) Correio eletrnico, mensagem instantnea, transferncia de arquivos, acesso remoto, acesso a pginas web e aplicaes financeiras Transferncia no confivel de dados: a perda de alguns dados resulta em pequenas falhas, mas nada grave. Protocolo de transporte: UDP (no orientado conexo) Aplicaes multimdia (udio/vdeo em tempo real), telefonia IP, videoconferncias.

Servios de Aplicao

Servio de Nomes

O que mais fcil decorar?


Www.google.com OU 173.194.42.52

DNS

DNS ou Domain Name System o servio responsvel por atribuir nomes nicos s estaes conectadas Internet e por traduzir os nomes de mquinas (conhecidos como domnios) para seus respectivos endereos IP e vice-versa. Exemplo: www.jose.com.br 221.0.0.9 (mapeamento direto) 221.0.0.9 www.jose.com.br (mapeamento reverso) 1970 ARPANet era uma pequena rede de pesquisa
Essa rede utilizava um arquivo HOST.TXT para prover resoluo de nomes A cada nova modificao, o arquivo era redistribudo via FTP ou e-mail Com o crescimento da rede (em 1980, devido adoo da pilha de protocolos TCP/IP), a redistribuo desse arquivo tornou-se invivel

DNS

Especificado nos RFCs 1034 e 1035 Define a sintaxe dos nomes e a delegao de autoridade para gerenciamento de nomes
Sintaxe: regras que dizem como os nomes devem ser escritos Delegao de autoridade: no h uma entidade central que gerencie todos os nomes de domnios, mas sim vrios servidores de nomes espalhados pelo mundo Por isso, em se tratando de DNS, falamos em Base de Dados distribuda.

Utiliza a porta 53/UDP para resoluo de nomes e a porta 53/TCP para enviar atualizaes do servidor mestre (master) para o servidor escravo (slave)

DNS

O servio de nomes implementado em um conjunto hierrquico e geograficamente distribudo de servidores de nomes Nenhum servidor de nomes mantm todas as informaes do servio de nomes Quando um usurio informa a URL www.jose.br/index.html, antes de requisitar o servidor web, o navegador (cliente) precisa saber o IP desse servidor. Ento ele pergunta ao DNS:
DNS, quem o IP de www.jose.br?

DNS Base de Dados Hierrquica e Geograficamente Distribuda


O servio de nomes implementado em um conjunto hierrquico e geograficamente distribudo de servidores de nomes... Existem 13 root servers espalhados pelo mundo. Eles s aceitam requisies *iterativas...

DNS Base de Dados Hierrquica e Geograficamente Distribuda


Cada n da rvore hierrquica tem um rtulo de at 63 caracteres A raz da rvore um n especial, cujo rtulo representado por um ponto . Cada n intermedirio denominado domnio Cada n folha representa uma estao Exemplos:
br e jose.br so nomes de domnios www.jose.br nome de estao www.jose.br. um nome de domnio absoluto (tambm chamado FQDN, do ingls Fully Qualified Domain Name ou nome de domnio totalmente qualificado. O servidor DNS s resolve nomes de domnio absolutos)

DNS Base de Dados Hierrquica e Geograficamente Distribuda


Inicialmente, existiam 8 domnios principais (TLD Top Level Domain)
.com (comercial) .edu (educao) .gov (governo) .mil (militar) .net (internet) .org (no-comercial) .int (internacional) .arpa (funcional - ramo da rvore para domnio reverso)

DNS Tipos de Consulta


Consulta Interativa (norecursiva): O servidor DNS local usa suas informaes locais para resolver a requisio. Se ele possui a informao, ele j responde para o cliente. Seno, ele informa os servidores com autoridade no domnio de nvel inferior, que devem ser consultados para resolver a requisio.
Consulta Recursiva: O servidor DNS local usa suas informaes locais e, caso necessrio, envia requisies iterativas para outros servidores DNS para resolver o nome requisitado pelo cliente. Ao receber uma requisio recursiva, o servidor de nomes requisitado tornase cliente de outros servidores de nomes os quais ele ir consultar. Aps resolver o nome, o servidor DNS local inicialmente requisitado retorna essa informao para o cliente que a requisitou. A maioria dos servidores DNS utilizam esse tipo de consulta.

DNS Tipos de Consulta Consulta Interativa Consulta Recursiva

DNS Tipos de Servidores

Primrio (ou master/mestre): mantm, em arquivos de configurao local, as informaes sobre a *zona que possui autoridade Secundrio (ou slave/escravo): uma cpia do servidor primrio. Caso o servidor primrio sofra algum problema e pare de responder requisies, o secundrio assume imediatamente a funo do primrio. A porta 53/TCP usada para enviar periodicamente informaes do primrio para o secundrio, atualizando-o.

DNS Zonas

Zona: sub-rvore do espao de nomes hierrquico, composta por seus domnios e estaes. A zona delimita que informaes de um domnio so delegadas a um servidor. A abrangncia depende da autoridade desse servidor.

DNS Mapeamento Reverso


Realiza a resoluo de endereos IP para seus respectivos nomes de estaes. Lembra do Jos? (...) 221.0.0.9 www.jose.com.br

Nesse caso, a configurao para permitir mapeamento reverso no servidor ficaria: 0.0.221.in-addr.arpa

DNS Registros de Recursos


Tipo de RR A AAAA NS CNAME MX PTR SOA TXT SRV Significado Address Address IPv6 Name Server Canonical Name Mail eXchange PoinTeR Start of Authority TeXT SeRVice Funo Especifica um endereo IP direto Especifica um endereo IPv6 Especifica servidores DNS para o domnio ou subdomnio Apelido para outro hostname Especifica o servidor de e-mail Aponta o hostname/domnio reverso a partir de um IP Indica o responsvel por respostas autoritativas por um domnio Permite incluir texto curto em um hostname. Usado para implementar SPF Permite definir servios disponveis em um domnio

Servio Web

J imaginou a vida sem o nosso ami Agora imagine algo pior: o fim dos websites!

Nada de enciclopdias on line Nada de transaes bancrias via rede Nada de chats, jogos on line e facebook O fim das pesquisas de preo e compras on line

Servio Web

Calma amigo, foi s uma suposio!

Servio WEB

WWW (World Wide Web) Teve incio em 1989, no CERN (centro europeu para pesquisa nuclear) Surgiu da necessidade de se criar uma ferramenta colaborativa para a troca de documentos entre grupos de cientistas de diferentes nacionalidades 1 prottipo da WWW: criado por Tim BernersLee em maro de 1989

Servio WEB

Aplicao mais usada na Internet Permite a publicao, recuperao, visualizao e navegao na estrutura hipertexto definida pelos documentos publicados na Internet Utiliza o protocolo HTTP (HyperText Transfer Protocol)
Esse protocolo define como as mensagens so formadas e transmitidas e quais aes os servidores web e browsers (navegadores) devem realizar em resposta aos vrios comandos.

Servio WEB

Documento Web = Pgina Web = Site Um site possui diversos objetos, com diferentes contedos e formatos HTML (HyperText Markup Language)
Linguagem para desenvolvimento de pginas web ela quem define como uma pgina web ser apresentada pelo navegador Contm referncias (links) aos demais objetos (imagens, por exemplo) que compem o documento/site

Servio WEB

Cada objeto identificado por uma URL


Uniform Resource Locator A URL possui 3 partes, por exemplo: http://www.teste.com.br/index.html Nome do protocolo: http Nome DNS da mquina em que a pgina est localizada: www.teste.com.br Nome do arquivo que contm a pgina: index.html

Servio WEB Requisio HTTP


Usurio digita a URL no navegador e d enter 1.Navegador pergunta ao DNS da rede quem o IP da URL digitada pelo usurio 2.DNS responde ao navegador com o IP do site 3.Navegador estabelece uma conexo TCP (geralmente na porta 80) com o IP do servidor web que contm a pgina 4.O navegador envia um comando pedindo o arquivo/pgina web presente no servidor web 5.O servidor envia a pgina solicitada 6.A conexo TCP encerrada 7.O navegador exibe todo o contedo de texto da pgina web 8.O navegador busca e exibe as imagens que o arquivo/pgina web contm

Servio WEB

Toda requisio feita ao servidor web exige a realizao de um acesso ao disco para obter o arquivo. Assim, o servidor no pode atender a mais solicitaes por segundo que o nmero de acessos de disco que ele pode realizar. Soluo:
manter um cache na memria com os n arquivos mais recentemente usados. Antes de ir ao disco para obter um arquivo, o servidor verifica o cache. Se o arquivo estiver l, ele poder ser atendido diretamente da memria, eliminando assim o acesso ao disco

Servio WEB Requisio HTTP

Servio WEB Tipos de Conexes


Conexo No Persistente Transporta uma nica mensagem de requisio e sua respectiva resposta. Uma conexo no persistente deve ser estabelecida para cada objeto requisitado pelo cliente.

Conexo Persistente: O servidor mantm a conexo aberta, permitindo que requisies e respostas subsequentes sejam enviadas na mesma conexo.

Servio WEB

A verso 1.0 do protocolo HTTP suporta apenas conexes no persistentes O servidor web fecha uma conexo persistente aps um tempo de inatividade Em conexes persistentes, as requisies podem ser realizadas de duas formas:
Com paralelismo: o cliente envia diversas requisies antes mesmo de receber as respostas s requisies anteriores Sem paralelismo: o cliente envia uma nova requisio somente aps receber a resposta da requisio anterior.

Lado Cliente Cabealho de uma requisio HTTP

Lado Servidor Cabealho de uma resposta HTTP

Mtodos HTTP

Existem vrios, mas os mais usados so:


Mtodo GET Usado pelo cliente para solicitar a recuperao de um determinado objeto do servidor. A maioria das interaes entre o cliente e o servidor adota esse mtodo. Mtodo POST Semelhante ao GET Envia informaes adicionais para o servidor, obtidas de formulrios preenchidos pelos usurios.

Mtodos HTTP

O navegador requisita o servidor web local utilizando um mtodo GET O servidor web local serve como cache para pginas j consultadas anteriormente O servidor web local realiza uma consulta ao servidor web responsvel pela pgina, usando um mtodo GET condicional GET condicional verifica se os objetos do servidor web de cache esto atualizados. Possui a seguinte linha de cabealho:
If-Modified-Since

Se a pgina existente no cache do servidor local estiver atualizada, o servidor local responde requisio do cliente.

Cdigos de processamento de requisies HTTP


Cdigo 1xx 2xx 3xx 4xx 5xx Significado Informao Sucesso Redirecionamento Erro do Cliente Erro do Servidor Exemplo 100 = server agrees to handle client's request 200 = request succeeded; 204 = no content present 301 = page moved; 304 = cached page still valid 403 = forbidden page; 404 = page can not found 500 = internal server error; 503 = try again later

Servio de Correio Eletrnico

Servio de Correio Eletrnico

Padronizado nas RFCs 821 e 822 que especificam o protocolo SMTP (Simple Mail Transfer Protocol) e formato das mensagens, respectivamente. SMTP: Protocolo que define como as mensagens so enviadas. Utiliza a porta TCP 25.

Servio de Correio Eletrnico

Componentes
Agente de usurio (UA User Agent): o leitor de correio, programa usado pelo usurio para ler, compor e enviar mensagens. Ex.: Microsoft Outlook. Servidor de Correio (MTA Message Transfer Agent): responsvel pelo roteamento de mensagens na Internet. Ex.: sendmail

Servio de Correio Eletrnico

Modelo de Comunicao Assncrona


No necessrio que o usurio esteja conectado para que mensagens possam ser enviadas para ele. Para isso, cada usurio do servidor de correio eletrnico possui uma caixa de mensagens (mailbox ou caixa postal) que mantm as mensagens enviadas ao usurio.

Servio de Correio Eletrnico

Spooling
Tcnica adotada pelo servio de correio eletrnico em que cada servidor mantm uma fila de mensagens (spool) que armazena temporariamente as mensagens at que seja possvel entreg-las.

Servio de Correio Eletrnico

Como funciona o envio e recebimento de e-mails


Destinatrio

Remetente

UA SMTP

Servidor de Correio

SMTP

Servidor de Correio POP3 IMAP

UA

Servio de Correio Eletrnico

Como funciona o envio e recebimento de e-mails


1.Quando o usurio solicita o envio de uma mensagem usando o protocolo SMTP, o UA remetente envia a mensagem ao servidor de correio do prprio usurio (remetente) 2.O servidor remetente armazena a mensagem na fila e tenta entreg-la. (Para isso, o servidor remetente precisa saber o endereo do servidor destinatrio, ento
ele consulta o servio de nomes em busca de registros MX referentes ao domnio de e-mail do destinatrio)

3.O servidor remetente envia ento a mensagem para o servidor de correios do destinatrio 4.O servidor do destinatrio armazena a mensagem na caixa de mensagens do usuiro 5.Quando o usurio destinatrio deseja ler a mensagem, usando um UA, ele acessa a mensagem armazenada em sua caixa de mensagens.

Servio de Correio Eletrnico


O UA pode acessar a caixa de mensagens de duas formas: 1.Acesso direto o UA executa na estao em que reside o arquivo que contm a caixa de mensagens e portanto pode acess-la diretamente 2.Acesso por meio de um protocolo de acesso o UA reside em uma estao remota, diferente daquela que armazena a caixa de mensagens do usurio, e portanto deve adotar o protocolo POP3 ou IMAP para recuperar o contedo da caixa de mensagens.

Servio de Correio Eletrnico

Na comunicao entre o UA e o servidor do usurio remetente


O UA faz o papel de cliente e o servidor remetente faz o papel de servidor

Na comunicao entre o servidor do usurio remetente e o servidor do usurio destinatrio


O servidor remetente faz o papel de cliente e o servidor do usurio destinatrio faz o papel de servidor

Servio de Correio Eletrnico

POP (Post Office Protocol)


Protocolo utilizado para recuperar e-mails a partir de um servidor de correio eletrnico

IMAP (Internet Message Access Protocol)


Protocolo para recuperao de e-mails. Atualmente, apresenta-se na verso 4 e possui avanos em relao ao POP3, como a capacidade de pesquisar e-mails por palavraschave enquanto as mensagens ainda esto no servidor. Assim, pode-se escolher as mensagens para download.

Servio de Correio Eletrnico

O protocolo SMTP define um conjunto de comandos e respostas

Servio de Correio Eletrnico

O protocolo SMTP define um conjunto de comandos e respostas

Estrutura da Mensagem
A mensagem composta por 3 partes: Envelope usado pelo servidor para entregar a mensagem. Contm os endereos do remetente e do destinatrio Cabealho Descreve caractersticas da mensagem Ex.: endereos do remetente (From) e do destinatrio (To), assunto da mensagem (Subject) Cada entrada possui um nome seguido por dois pontos (:) e o valor do campo Corpo Contedo da mensagem Deve conter apenas caracteres ASCII de 7 bits

ASCII

Cdigo ASCII (American Standard Code for Information Interchange) A memria do computador conserva todos os dados sob a forma numrica. No existe um mtodo para armazenar diretamente os caracteres. Cada caracter possui o seu equivalente em cdigo numrico: o cdigo ASCII. O cdigo ASCII bsico representava os caracteres em 7 bits (quer dizer 128 caracteres possveis, de 0 a 127).

MIME

Multipurpose Internet Mail Extensions Definida em 1992 pela IETF Especificao para formatao de mensagens no-ASCII Permite enviar e receber arquivos de imagens, udio e vdeos atravs do sistema de correio eletrnico S/MIME nova verso MIME que suporta mensagens criptografadas.

Estrutura da Mensagem

O UA adiciona o cabealho ao corpo da mensagem e envia o resultado para o servidor do usurio remetente. O servidor do usurio remetente adiciona algumas entradas no cabealho e envia o resultado ao servidor do usurio destinatrio. O servidor do usurio destinatrio adiciona algumas entradas no cabealho e armazena a mensagem na caixa de mensagens do usurio destinatrio.

Servio de Transferncia de Arquivos

Servio de Transferncia de Arquivos


FTP (File Transfer Protocol) Permite que arquivos completos sejam transferidos de uma estao para outra Envolve 2 componentes: Cliente FTP: possui um UA que prov uma interface de interao, permitindo ao usurio interagir com o cliente FTP para solicitar a transferncia de arquivos do servidor para o cliente e vice-versa Servidor FTP: processa as requisies de transferncia de arquivos dos clientes FTP.

Servio de Transferncia de Arquivos

Para acessar um servidor FTP, o usurio precisa: Ter uma conta particular de acesso no servidor ou Utilizar o usurio anonymous (annimo), que permite a qualquer usurio acessar o repositrio pblico de arquivos no servidor. O cliente e o servidor interagem usando comandos e respostas do protocolo FTP. (O UA converte os comandos do usurio em comandos FTP)

Servio de Transferncia de Arquivos


O protocolo FTP adota duas conexes TCP simultneas: Conexo de controle (porta 21): usada para enviar comandos do cliente para o servidor e respostas do servidor para o cliente. Ela Persistente permanece ativa durante toda a sesso FTP do usurio. Ex: envio de login e senha do usurio para para recuperar a listagem do diretrio atual e transferir arquivos. Conexo de dados (porta 20): usada para a transferncia dos dados entre o cliente e o servidor. No Persistente Enviar um arquivo do cliente para o servidor Enviar um arquivo do servidor para o cliente Enviar a listagem de um diretrio do servidor para o cliente Ateno: Uma nova conexo de dados dinamicamente criada para cada transferncia de arquivo ou listagem de diretrio.

Servio de Transferncia de Arquivos

UA Cliente FTP

Conexo de Controle Conexo de Dados


Porta 20

Porta 21

Servidor FTP

O envio de informaes de controle por uma conexo separada denominado sinalizao fora de banda (out-of-band).

Servio de Transferncia de Arquivos

Diferentemente do HTTP, o FTP um protocolo de estado, pois o servidor deve manter informaes locais sobre o estado de cada conexo de controle estabelecida. Em particular, o servidor deve associar a conexo de controle com uma conta de usurio especfica e deve monitorar o diretrio corrente do usurio enquanto ele passeia pela rvore do diretrio remoto Esse monitoramento limita o nmero de sesses que o FTP pode manter simultaneamente.

Camada de Transporte

Camada de Transporte

Tem a funo de fornecer servios de comunicao diretamente aos processos de aplicao que rodam em hospedeiros diferentes. Ela amplia o servio de entrega da camada de rede entre dois sistemas finais para um servio de entrega entre dois processos da camada de aplicao que rodam nos sistemas finais Um protocolo de camada de transporte fornece comunicao lgica entre processos de aplicao Comunicao lgica (ou comunicao fim-a-fim): do
ponto de vista de uma aplicao, tudo se passa como se os hospedeiros estivessem conectados diretamente (sendo que na verdade, eles podem estar em lados opostos do planeta).

Camada de Transporte

Protocolos de camada de transporte so implementados nos sistemas finais, mas no em roteadores de rede. No lado remetente, a camada de transporte converte as mensagens que recebe de uma aplicao em segmentos de camada de transporte. Isso feito fragmentando-se as mensagens de aplicao em pedaos menores e adicionando-se um cabealho a cada pedao Esses segmentos passam ento para a camada de rede, onde so encapsulados em datagramas e enviados ao destinatrio.

Camada de Transporte

No lado destinatrio, a camada de rede extrai do datagrama o segmento de camada de transporte e passa-o para a camada de transporte. Essa camada processa o segmento recebido, disponibilizando os dados para a camada destinatria. Na Internet, temos dois protocolos de transporte: TCP UDP

Camada de Transporte

Protocolos da camada de transporte fornecem comunicao lgica entre processos que rodam em hospedeiros diferentes Protocolos de camada de rede fornecem comunicao lgica entre hospedeiros Roteadores no reconhecem nenhuma informao que a camada de transporte possa ter anexado s mensagens da aplicao, nem agem sobre ela.

Camada de Transporte

Os servios que um protocolo de transporte pode fornecer so limitados pelo modelo de servio do protocolo subjacente da camada de rede (ex.: atraso, largura de banda). O protocolo IP (camada de rede) um servio de entrega de melhor esforo, o que significa que o IP faz o melhor esforo para levar segmentos entre hospedeiros comunicantes, mas no garante:
A entrega de segmentos A entrega ordenada de segmentos A integridade dos dados nos segmentos

Por isso, o IP denominado servio no confivel

Camada de Transporte

Multiplexao e demultiplexao
Ampliao do servio de entrega hospedeiro a hospedeiro (provido pela camada de rede) para um servio de entrega processo a processo (provido pela camada de transporte) Um processo pode ter um ou mais sockets (portas pelas quais dados passam da rede para o processo e do processo para a rede) A camada de transporte do host destinatrio entrega dados a um socket
Como podem haver mais de um socket no host, cada um tem um identificador exclusivo. O formato desse socket difere se ele UDP ou TCP

Camada de Transporte

Multiplexao
Tarefa de reunir, no host de origem, pores de dados proveniente de diferentes portas, encapsular cada poro de dados com informaes de cabealho para criar segmentos e passar esses segmentos para a camada de rede.

Demultiplexao
Tarefa de entregar os dados contidos em um segmento da camada de transporte porta correta

Camada de Transporte

Campos em um segmento da camada de transporte

Camada de Transporte

Porta
Nmero de 16 bits na faixa de 0 a 65.535 Portas bem conhecidas: de 0 a 1023. Esto reservadas para uso por protocolos de aplicao bem conhecidos, como HTTP (80), por exemplo Lista de nmeros de porta disponvel em http://www.iana.org Quando um segmento chega ao host de destino, a camada de transporte examina seu nmero de porta de destino e o direciona porta correspondente.

Camada de Transporte

Multiplexao e demultiplexao no orientadas conexo


Um programa em execuo cria uma porta UDP A camada de transporte designa uma porta alta (que no esteja em uso no hospedeiro) ao socket

Camada de Transporte

Um socket UDP identificado por uma tupla com dois elementos: Endereo IP de destino Nmero de porta de destino Se dois segmentos UDP tiverem IPs e portas de fonte diferentes, porm o mesmo IP e porta de destino, eles sero direcionados ao mesmo processo de destino, por meio do mesmo socket

Camada de Transporte

Multiplexao e demultiplexao orientadas conexo


O socket TCP identificado por uma tupla de quatro elementos (endereo IP da fonte, porta da fonte, endereo IP do destino, porta de destino) Quando um segmento TCP que vem da rede chega a um hospedeiro, este usa os quatro valores para direcionar (demultiplexar) o segmento para o socket apropriado

Camada de Transporte

Multiplexao e demultiplexao orientadas conexo


Dois segmentos TCP chegando com IP ou porta de fonte diferentes sero direcionados para dois sockets diferentes (com exceo de um TCP que esteja carregando a requisio de estabelecimento de conexo original)

Camada de Transporte

Multiplexao e demultiplexao orientadas conexo


O servidor pode suportar vrios sockets TCP simultneos, sendo cada um ligado a um processo e identificado por sua prpria tupla de quatro elementos. Quando um segmento TCP chega ao hospedeiro, todos os quatro campos so usados para direcionar (demultiplexar) o segmento para o socket apropriado.

Camada de Transporte

Servidores web e TCP Quando clientes (browsers) enviam segmentos ao servidor, todos os segmentos tero a porta 80 como destino O servidor distingue os segmentos dos diferentes clientes pelo IP e porta de origem Servidores web geram um novo processo ou criam uma nova thread para cada nova conexo cliente

Camada de Transporte

Servidores web e TCP Cada um desses processos tem seu prprio socket de conexo atravs do qual chegam requisies HTTP e so enviadas respostas HTTP. Servidores web de alto nvel utilizam somente um processo e criam uma nova thread com um novo socket de conexo para cada nova conexo cliente

Camada de Transporte

UDP (User Datagram Protocol)


Realiza o transporte de dados que no requeiram confiabilidade na entrega Utiliza menos largura de banda* que o TCP
A Largura de Banda ou Bandwidth a medida da capacidade de transmisso de um determinado meio, conexo ou rede, determinando a velocidade que os dados passam atravs desta rede especfica. O UDP recebe blocos de dados das camadas superiores e os quebra em segmentos O UDP numera cada segmento transmitido pelo dispositivo de origem, permitindo a reconstruo do bloco de dados no destino

Camada de Transporte

UDP
O UDP no se importa com a ordem dos segmentos. Simplesmente numera-os, transmiteos e os esquece Por isso, o UDP um protocolo no-confivel No estabelece um circuito virtual antes da transmisso, por isso um protocolo noorientado conexo

Camada de Transporte

Estrutura do segmento ou datagrama UDP

Camada de Transporte

Estrutura do segmento ou datagrama UDP


Source Port (Porta de Origem): porta lgica onde a aplicao transmissora est localizada Destination Port (Porta de Destino): porta lgica onde a aplicao ou protocolo requisitado est localizado na mquina destinatria Lenght (Comprimento): Define o tamanho do segmento UDP, incluindo o cabealho e dados Checksum: checagem de redundncia (CRC) de campos no cabealho e dados Data (Dados): dados passados para a camada de transporte, que incluem os cabealhos das camadas superiores (encapsulamento)

Camada de Transporte

Checksum (ou Soma de Verificao)


Serve para detectar erros, ou seja, determinar se bits dentro do segmento UDP foram alterados (por rudos nos enlaces ou enquanto armazenados no roteador) durante sua movimentao da fonte at o destino.

Camada de Transporte

TCP (Transmission Control Protocol)


O TCP recebe um fluxo de dados de uma aplicao e os quebra em segmentos Esses segmentos so numerados e sequenciados, permitindo a remontagem do fluxo assim que os segmentos atingem seu destino

Camada de Transporte

TCP Aps o envio desses segmentos, o TCP aguarda uma confirmao da mquina receptora, retransmitindo os segmentos que no forem devidamente confirmados

Camada de Transporte

TCP Antes que a transmisso se inicie, o protocolo TCP da mquina origem contata o protocolo TCP da mquina destino para que uma conexo seja estabelecida. Essa conexo chamada circuito virtual. Esse tipo de comunicao chamado orientada conexo.

Camada de Transporte

TCP Durante esse aperto de mo (hand-shake) inicial, o protocolo TCP das pontas envolvidas tambm determina o volume de dados a ser transmitido antes de ocorrer a confirmao por parte do destinatrio. Com tudo acertado com antecedncia, o caminho para uma comunicao confivel est pavimentado

Camada de Transporte

TCP O TCP um protocolo full-duplex, orientado conexo e altamente confivel O TCP complexo, acarretando em grande custo em termos de cabealho (overhead)

Camada de Transporte

TCP Aps o envio desses segmentos, o TCP aguarda uma confirmao da mquina receptora, retransmitindo os segmentos que no forem devidamente confirmados

Camada de Transporte

Estrutura do segmento TCP

Camada de Transporte

Estrutura do segmento TCP


Source Port (Porta de Origem): nmero da porta lgica onde a aplicao transmissora est localizada Destination Port (Porta de Destino): nmero da porta lgica onde a aplicao ou protocolo requisitado est localizado na mquina destinatria Sequence Number (Nmero Sequencial): nmero utilizado na recolocao dos segmentos na ordem correta Acknowledgement Number (Nmero de Confirmao): define qual octeto TCP deve ser aguardado na sequncia HLEN (Header Lenght ou Comprimento do cabealho): define o comprimento do cabealho TCP

Camada de Transporte

Estrutura do segmento TCP


Reserved: esse valor sempre 0 (zero) Code Bits (ou campo de flag): funes de controle utilizadas para iniciar e encerrar uma sesso Window (Janela): tamanho da janela de dados que o remetente tem capacidade de receber, medido em octetos Checksum: checagem de redundncia cclica (CRC). O TCP no confia nos controles de erro realizados pelas camadas mais baixas, dispondo de um controle prprio para identificao de segmentos corrompidos

Camada de Transporte

Estrutura do segmento TCP


Urgent Pointer (Marcao de Urgncia): marcao de dados crtico (urgentes) Option (Opo): define o tamanho mximo do segmento TCP Data (Dados): dados passados para a camada de transporte, que incluem cabealhos das camadas superiores (encapsulamento)

Camada de Transporte

Flags TCP
ACK: indica se o valor carregado no campo de reconhecimento vlido, ou seja, se o segmento contm um reconhecimento para o segmento que foi recebido com sucesso. RST, SYN e FYN: so usados para estabelecer e encerrar a conexo. PSH: indica que o destinatrio deve passar os dados para a camada superior imediatamente. URG: usado para mostrar que h dados nesse segmento que a entidade da camada superior do lado remetente marcou como urgentes.

Referncias

Livro: Redes de Computadores e a Internet. Autores: Kurose e Ross. 3 edio. Livro: Redes de Computadores. 4 Edio. Autor: Andrew S. Tanenbaum. Apotila: Arquitetura e Protocolos de Rede TCP/IP. Escola Superior de Redes (RNP). Um ami muito legal! =)

Vous aimerez peut-être aussi