65
ENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA - static.eventials.com · 3.1 Protocolos e serviços de transporte 3.2 Multiplexação de aplicações 3.3 UDP 3.4 TCP –Princípios de transferência confiável

Embed Size (px)

Citation preview

ENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA

Atualmente é professor na área de informática da Universidade Salgado de Oliveira(Universo) – campus NITERÓI desde 2000, tendo sido professor no campus SÃOGONÇALO de 2003 a 2008.

Foi Coordenador do Curso de ANÁLISE DE SISTEMAS/SISTEMAS DE INFORMAÇÃO naUNIVERSO campus NITERÓI de 2000 a 19/02/2008.

Possui Curso de Graduação em Engenharia de Telecomunicações pelo IME eMestrado em Sistemas & Computação também pelo IME. Possui Curso deEspecialização em Análise de Sistemas pela PRODESP e no Curso Avançado emSistemas e Computação pela IBM

É Sócio-Diretor da GLOBAL FC CONSULTORIA E SERVIÇOS LTDA - ME.

Atuou como professor em diversas instituições a nível de graduação e pós-graduaçãocom a IBM, USU, Gama Filho, Estácio de Sá, entre outras.

Atuou e atua de 1989 como membro de Bancas em Concursos Públicos com diversasinstituições como CESGRANRIO, FGV, FESP/CEPERJ, FUNCAB, IBAM, SELECON, entreoutras.

ENSINO À DISTÂNCIA

Professor CELSO CARDOSO NETO, M. Sc.

UNIDADE

III

ENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA

Camada de Transporte

3.1 Protocolos e serviços de transporte3.2 Multiplexação de aplicações3.3 UDP3.4 TCP – Princípios de transferência confiável de dados

ENSINO À DISTÂNCIA

Objetivos:

• Entender a função da camada de transporte

• Conhecer os protocolos da camada de transporte

• Aprender quais serviços são prestados na camada de transporte.

ENSINO À DISTÂNCIA

• COMO SURGIU ?

• OBJETIVO ?

• O QUE SIGNIFICA A SIGLA ?

• APLICAÇÃO ?

Inicialmente desenvolvido para a ARPANET,

resultante das pesquisas do Projeto DARPA

(“Defense Advanced Research Projects Agency”)

Pilha de Protocolos de interligação em redes TCP/IP

Surgiu ... INTERLIGAÇÃO DE REDES ...

TCP/IP é anterior ao Modelo OSI/ISO

ENSINO À DISTÂNCIA

História e escopo do TCP / IP

Internet teve início --- 1980

ARPANET --- “backbone” da Internet

1983 : a “Defense Communication Agency (DCA)”

separou a ARPANET em duas partes:

(1) para futuras pesquisas

(2) para fins militares (MILNET)

1986 : novo backbone (NSFNET)

1993 : mais de 3 milhões de computadores em 61

países

ENSINO À DISTÂNCIA

TCP/IP: Quem estabelece as DIRETRIZES

TÉCNICAS e decide quando os protocolos

devem se tornar um PADRÃO ?IAB (“Internet Architeture Board”) proporciona a base

e a coordenação para pesquisas e desenvolvimentos,

orientando a evolução da Internet

Nenhum fornecedor detém o direito de propriedade

sobre TCP/IP --- a “National Science Foundation”

(NSF) financia um grupo da AT&T para manter e

distribuir informações sobre TCP/IP e Internet global

Conhecido como “Internet NetWork Information

Center (INTERNIC)” --- trata de detalhes

administrativos para a Internet, além de distribuir a

documentação

ENSINO À DISTÂNCIA

DESENVOLVIMENTO DO PROJETO TCP/IP

BOA CAPACIDADE DE FALHAS

CAPACIDADE DE SE LIGAR A NOVAS SUB-REDES

“DURANTE A EXECUÇÃO”

CAPACIDADE DE MANIPULAR ALTAS TAXAS DE

ERROS

INDEPENDÊNCIA DO HOST

SOBRECARGA DE DADOS MUITO PEQUENA

DESEMPENHO – Protocolos mais simples significam

transmissão e comutação de pacotes mais rápidos

ENSINO À DISTÂNCIA

DESENVOLVIMENTO DO TCP/IP

Transmission Control Protocol / Internet Protocol

INTERCONEXÃO DE AMBIENTES HETEROGÊNEOS SEM DISTINÇÃO

DE FABRICANTE, TECNOLOGIA OU ARQUITETURA

OBJETIVO :

SPERRY

HONEYWELL IBM

UNIX

BOLT BERANEK NEWMAN

ENSINO À DISTÂNCIA

PROTOCOLO TCP/IP --- DEVE SER CAPAZ

DE REALIZAR AS TAREFAS:

Dividir MSG em pedaços gerenciáveis de dados que serão

passados eficientemente pelo meio de transmissão

Realizar a interface com o HARDWARE adaptador de rede

Fazer o ENDEREÇAMENTO: o TX deve endereçar dados

ao RX e este deve reconhecer uma msg destinada a ele

Fazer o ROTEAMENTO: o sistema deve rotear dados à

sub-rede do computador de destino, mesmo que as sub-

redes de origem e de destino sejam diferentes

Realizar VERIFICAÇÃO DE ERROS, CONTROLE DE

FLUXO e CONFIRMAÇÃO

Aceitar dados de uma APLICAÇÃO e passá-los para a

rede

ENSINO À DISTÂNCIA

PROTOCOLO TCP/IP

Modelo em 4 camadas

ENSINO À DISTÂNCIA

SERVIÇOS DE INTERLIGAÇÃO DE REDES

EM NÍVEL DE APLICATIVOS

CORREIO ELETRÔNICO

TRANSFERÊNCIA DE ARQUIVOS

LOGIN REMOTO (TELNET)

ENSINO À DISTÂNCIA

CONCEITO DE INTERLIGAÇÃO DE REDES

INTERCONEXÃO DE REDES FÍSICAS,

SUPORTANDO TECNOLOGIAS BÁSICAS E

HETEROGÊNEAS E UM CONJUNTO DE

CONVENÇÕES QUE POSSIBILITAM AS

COMUNICAÇÕES

ESQUEMA QUE ESCONDE OS DETALHES DE

HARDWARE DE REDE, PERMITINDO QUE OS

COMPUTADORES SE COMUNIQUEM

INDEPENDENTEMENTE DE SUAS CONEXÕES

FÍSICAS

ENSINO À DISTÂNCIA

ARQUITETURA DE INTERLIGAÇÃO DE REDES

O GATEWAY G1

deverá conhecer os

HOSTs conectados

a ambas as redes,

ou apenas saber o

endereço das redes

envolvidas?

Resposta: basta saber os endereços de rede.

ENSINO À DISTÂNCIA

Visão do usuário de uma INTERNET TCP/IP

ENSINO À DISTÂNCIA

Estrutura física da rede

GATEWAYs / ROTEADORES provêm a interconexão

ENSINO À DISTÂNCIA

TCP / IP SOLUÇÃO PARA

CONECTIVIDADE

ENSINO À DISTÂNCIA

ARQUITETURA TCP/IP X MODELO OSI/ISO

ORIGEM

outros ...

Camada IP

Interface

Camada IP

Interface

Camada IP

Interface

DESTINO

outros ...

Camada IP

Interface

Meio de

Comunicação 1

Meio de

Comunicação 2

Meio de

Comunicação 3

ENSINO À DISTÂNCIA

MODELO DE DIVISÃO EM CAMADAS

DA INTERLIGAÇÃO EM REDES TCP/IP

Camada Conceitual Objetos passados

entre camadasAPLICAÇÃO

TRANSPORTE

INTER-REDE

INTERFACE DE

REDES OU ENLACE

DE DADOS

HARDWARE

Mensagens ou Fluxos

Pacotes de Protocolos

de Transporte

Datagramas IP

Quadros de Redes

Específicas

ENSINO À DISTÂNCIA

NETWORK

ACCESS

INTERNET

TRANSPORTE

APLICAÇÃO

DADOS

CABEÇALHO

S

101011110010 ...

PACOTE DE DADOS

ENSINO À DISTÂNCIA

APLICAÇÃO Aplicações de rede

TRANSPORTE TCP UDP

INTERNET IPARP

RARP

NETWORK

ACCESS

FDDIPPP (MODEM)

TOKEN RINGETHERNET

Rede Física

FTP

SMTP/POP3

IMAP DNS SNMP

ICMP

VISÃO GERAL DO SISTEMA BÁSICO

DAS REDES TCP/IP

ENSINO À DISTÂNCIA

APLICAÇÃO

REDE

APRESENTAÇÃO

SESSÃO

TRANSPORTE

ENLACE

FÍSICA

Arquitetura OSI

TRANSPORTE

(TCP ou UDP)

FÍSICA

(802.3, SDLC, HDLC,

FDDI, ...)

Arquitetura TCP/IP

REDE (IP)

APLICAÇÃO (Telnet,

FTP, ...)

COMPARAÇÃOENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA

3.1 Protocolos e serviços de transporte

A camada de transporte é considerada peça chave na arquitetura da rede. Esta camada tem a função de fornecer serviços de comunicação de maneira direta para os processos da camada de aplicação.

É composta pelos protocolos TCP e UDP, o protocolo TCP - Transmission ControlProtocol ou Protocolo de Controle de Transmissão e o UDP - User DatagramProtocol ou Protocolo de Datagrama de Usuário.

O TCP é um dos principais protocolos da camada de transporte e é um dos principais protocolos sobre o qual está a Internet. Este é um PROTOCOLO ORIENTADO A CONEXÃO E É CONFIÁVEL, assim permite a entrega de dados sem qualquer erro entre máquinas na rede.

No protocolo UDP os dados são transmitidos de uma só vez. Este PROTOCOLO NÃO É ORIENTADO A CONEXÃO, assim, não possui confiabilidade como o protocolo TCP, e deste modo não oferece nenhuma garantia de envio/recebimento dos pacotes entre as máquinas.

ENSINO À DISTÂNCIA

3.1 Protocolos e serviços de transporte A FUNÇÃO BÁSICA DA CAMADA DE TRANSPORTE é aceitar dados da camada

acima dela, dividi-los em unidades menores, se for preciso, repassar essas unidades à camada de rede e garantir 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 com o passar do tempo.

O PRINCIPAL OBJETIVO DA CAMADA DE TRANSPORTE é oferecer um SERVIÇO CONFIÁVEL, EFICIENTE E ECONÔMICO a seus usuários, que, em geral, são processos presentes na camada de aplicação.

Para atingir esse objetivo, a camada de transporte utiliza vários serviços oferecidos pela camada de rede.

(TANENBAUM; WETHERALL, 2011, p.310)

ENSINO À DISTÂNCIA

3.1 Protocolos e serviços de transporte

Os protocolos desta camada são responsáveis por fornecer SERVIÇOS ORIENTADOS A CONEXÃO e NÃO ORIENTADOS A CONEXÃO.

O principal objetivo desta camada é manter comunicação entre dois hosts, assim, nesta camada é realizada transferências fim-a-fim, de uma máquina origem para uma máquina destino.

As transferências realizadas na camada de transporte são confiáveis, eficientes e econômicas.

ENSINO À DISTÂNCIA

A figura representa a CAMADA DE TRANSPORTE, exemplificando seu funcionamento:

3.1 Protocolos e serviços de transporte

ENSINO À DISTÂNCIA

A camada de transporte oferece alguns serviços que possibilitam a transferências de pacotes entre a máquina de origem e a máquina destino. Os principais serviços desta camada são: CONTROLE DE CONEXÃO; FRAGMENTAÇÃO,, ENDEREÇAMENTO e CONFIABILIDADE.

3.1 Protocolos e serviços de transporte

1) CONTROLE DE CONEXÃO: os protocolos da camada de transporte podem oferecer serviços

orientados à conexão bem como serviços não orientados a conexão. Os serviços orientados a conexão estabelecem comunicação entre

usuários finais e após começa a realizar a transmissão, neste caso utiliza-se o protocolo TCP que é responsável por realizar sessões TCP, transferência confiável e ordenada de dados, controle de fluxo e controle de gestão.

Enquanto os serviços não orientados a conexão são realizados pelo protocolo UDP, que não faz checagem de informações, os dados são transmitidos de uma única vez, isso pode corromper pacotes.

(BEZERRA, 2008)

ENSINO À DISTÂNCIA

3.1 Protocolos e serviços de transporte

2) FRAGMENTAÇÃO: outro serviço da camada de transporte é a fragmentação, que é realizada

somente no transmissor e no receptor. Não tem relação com a fragmentação realizada na camada de rede.

Assim, quando se faz a transmissão de uma mensagem de e-mail, o SMTP pode conter dezenas de bytes, o que torna necessário proceder à fragmentação da informação em pacotes com tamanhos menores que serão encapsulados pela camada de rede.

(BEZERRA, 2008)

ENSINO À DISTÂNCIA

3.1 Protocolos e serviços de transporte3) ENDEREÇAMENTO:

para identificar dois serviços em um host e para identificar duas sessões diferentes entre uma máquina cliente e uma máquina servidor, é preciso que a camada de transporte realize o endereçamento, este serviço é oferecido à camada de aplicação.

No endereçamento, os serviços são identificados por portas, como exemplo tem: HTTP-80, FTP-20/21, SMTP-25, DNS-53 e outras tantas portas existentes.

A conexão entre uma estação e outro host é feita por um SOCKET(IP+porta).

(BEZERRA, 2008)

o Um SOCKET é a combinação de um endereço IP com um número deporta, o que permite definir um processo de forma única tanto no clientequanto no servidor. Para que seja possível usar serviços de rede dacamada de transporte são necessários, portanto, um par de endereço desocket: um para o cliente e outro para o servidor. Um socket possui dadostanto da camada de Internet (endereço IP), quanto da camada detransporte (número de porta). (REIS, 2015, p.1)

ENSINO À DISTÂNCIA

3.1 Protocolos e serviços de transporte

4) CONFIABILIDADE: A camada de transporte oferece como meio de garantir confiabilidade o

controle de fluxo, controle de erros e controle de congestionamento e qualidade de serviço.

(BEZERRA, 2008)

ENSINO À DISTÂNCIA

3.2 Multiplexação de aplicações A figura trata de MULTIPLEXAÇÃO e DEMULTIPLEXAÇÃO na camada de

transporte.

ENSINO À DISTÂNCIA

3.2 Multiplexação de aplicações A DEMULTIPLEXAÇÃO corresponde à tarefa de entregar os dados contidos em

um segmento da camada de transporte ao socket correto.

Segmentos multiplexados na camada de transporte para serem enviados a um hospedeiro destino, são agrupado em datagramas, ao chegar ao hospedeiro destino, a camada de transporte pega os segmentos e lê o cabeçalho a fim de identificar para onde cada segmento irá, isso acontece devido à informação das portas tanto de origem quanto de destino.

Isso é o que se chama de DEMULTIPLEXAÇÃO.

ENSINO À DISTÂNCIA

3.2 Multiplexação de aplicações Cada segmento de camada de transporte tem um conjunto de campos para tal

finalidade. Na extremidade receptora, a camada de transporte examina esses campos para

identificar a porta receptora e direcionar o segmento a esse socket. A tarefa de entregar os dados contidos em um segmento da camada de

transporte ao socket correto e denominada DEMULTIPLEXAÇÃO.

[...] cada socket do hospedeiro pode receber um número designado; quando umsegmento chega ao hospedeiro, a camada de transporte examina seu número deporta de destino e direciona o segmento ao socket correspondente. Então, os dadosdo segmento passam pela porta e entram no processo ligado a ela.

(KUROSE; ROSS, 2013, p.140-141)

ENSINO À DISTÂNCIA

3.2 Multiplexação de aplicações Já a MULTIPLEXAÇÃO é a função do hospedeiro de origem de reunir as partes

dos dados originados em diversos sockets, encapsulando cada parte destes dados incluindo informações relacionadas ao cabeçalho, que servem para a DEMULTIPLEXAÇÃO identificar o local destino de cada segmento, inclui ainda a tarefa de repassar esses segmentos à camada de rede.

“[...] (1) que as portas tenham identificadores exclusivos e (2) que cada segmentotenha campos especiais que indiquem a porta para a qual o segmento deve serentregue. Esses campos especiais, [...] são o campo de número de porta de origeme o campo de número de porta de destino. (Os segmentos UDP e TCP tem outroscampos também, que serão examinados nas seções subsequentes deste capitulo.)Cada número de porta é um número de 16 bits na faixa de 0 a 65535. Os númerosde porta entre 0 e 1023 são denominados números de porta bem conhecidos; elessão restritos, o que significa que estão reservados para utilização por protocolos deaplicação bem conhecidos, como HTTP (que usa a porta número 80) e FTP (que usaa porta número 21). A lista dos números de porta bem conhecidos e apresentada noRFC 1700 e atualizada em <http://www.iana.org> [RFC 3232].”

(KUROSE; ROSS, 2013, p.140).

ENSINO À DISTÂNCIA

3.2 Multiplexação de aplicações Tanto a MULTIPLEXAÇÃO quanto a DEMULTIPLEXAÇÃO podem ser orientadas a

conexão ou não orientadas a conexão. Quando É ORIENTADA À CONEXÃO acontece que o socket TCP é identificado por

4 valores: endereço IP de origem, endereço da porta de origem, endereço IP de destino e endereço da porta de destino. Assim, é possível identificar cada socket por estes 4 valores, além disso, os servidores web possuem para cada cliente conectado sockets diferentes e nem há correspondência unívoca entre sockts de conexão e processos.

Quando É NÃO ORIENTADO À CONEXÃO, o socket UDP é identificado por dois valores, que são: endereço IP de destino e número de porta do destino. Assim, que o hospedeiro recebe um segmento UDP, deve verificar o número da porta de destino no segmento, deve direcionar o segmento UDP para o socket que ontenha o número da porta correspondente. E, se dois segmentos possuírem o mesmo número de porta destino, ambos serão direcionados ao mesmo processo destino por meio deste socket destino.

ENSINO À DISTÂNCIA

3.3 UDP

O UDP é um protocolo que faz o serviço de datagramas para as aplicações, ampliando o serviço do protocolo IP com MULTIPLEXAÇÃO e DEMULTIPEXAÇÃO de aplicações bem como a detecção de erros.

Este protocolo possui como características ser NÃO ORIENTADO A CONEXÃO, assim não produz atrasos à tarefa. • Possui pequeno overhead, informações de controle no cabeçalho e, não

provê mecanismos que possam controlar o fluxo, o congestionamento nem para garantias temporais ou de banda mínima. Isso tudo torna este protocolo adequado para aplicações como telefonia e transferência tanto de áudio quanto de vídeo, em tempo real, na Internet.

(CANTÚ, 2009)

SEGMENTO TCP do TCP/IP

O protocolo IP é NÃO CONECTADO, pois não há ligação física

origem-destino, onde cada DATAGRAMA pode tomar um rumo

diferente dentro da rede para alcançar seu objetivo.

Este fato ...

acarreta problema de segurança

há necessidade de medidas de recuperação e controle

de erros

responsável por estas tarefas é o nível TRANSPORTE,

cujo protocolo mais eficiente da internet é o TCP

ENSINO À DISTÂNCIA

SEGMENTO TCP do TCP/IP O TCP implementa a transmissão “FULL-DUPLEX”

Técnica “SLIDING WINDOWS”

ENSINO À DISTÂNCIA

SEGMENTO TCP do TCP/IP

O TCP implementa a transmissão “FULL-DUPLEX”

Técnica “SLIDING WINDOWS”

ENSINO À DISTÂNCIA

SEGMENTO TCP do TCP/IP

Função :

FORNECER UM SERVIÇO DE ENTREGA DE

DADOS ALTAMENTE CONFIÁVEL, EM

CANALIZAÇÕES VIRTUAIS, COM

INDEPENDÊNCIA QUANTO AOS NÍVEIS

INFERIORES DE COMUNICAÇÃO E

ESCONDENDO DAS APLICAÇÕES OS

DETALHES DOS NÍVEIS INFERIORES

ENSINO À DISTÂNCIA

A CAMADA DE TRANSPORTE:

PROTOCOLOS TCP X UDP

CAMADA DE TRANSPORTE :

OFERECER INTERFACE PARA APLICAÇÕES DE REDE

MECANISMO PARA MULTIPLEXAÇÃO / DESMULTIPLEXAÇÃO

ACEITAR DADOS DE VÁRIAS ENTRADAS E DIRECIONÁ-LOS PARA

UMA ÚNICA SAÍDA ---- DEVE SER CAPAZ DE ACEITAR

SIMULTANEAMENTE VÁRIAS APLICAÇÕES DE REDE E

GERENCIAR O FLUXO DE DADOS PARA A CAMADA INTERNET

DEVE ACEITAR DADOS DA CAMADA INTERNET E DIRECIONÁ-LOS

PARA VÁRIAS SAÍDAS (APLICAÇÕES DE REDE

VERIFICAÇÃO DE ERRO, CONTROLE DE FLUXO E

CONFIRMAÇÃO

ENSINO À DISTÂNCIA

TCP X UDP

TCP OFERECE VERIFICAÇÃO DE ERRO E

CONTROLE DE FLUXO PARA GARANTIR A

ENTREGA BEM SUCEDIDA DOS DADOS

TCP É PROTOCOLO BASEADO EM CONEXÃO

UDP OFERECE UMA VERIFICAÇÃO DE ERRO

BASTANTE RUDIMENTAR E FOI PROJETADO PARA

SITUAÇÕES EM QUE OS RECURSOS DE

CONTROLE EXTENSIVOS DO TCP NÃO SÃO

NECESSÁRIOS

UDP É PROTOCOLO SEM CONEXÃO

ENSINO À DISTÂNCIA

TCP X UDP

PROTOCOLO BASEADO EM CONEXÃO

ESTABELECE E MANTÉM CONEXÃO ENTRE COMPUTADORES SE

CONECTANDO E MONITORA O ESTADO DESSA CONEXÃO

DURANTE A TRANSMISSÃO / CADA PACOTE DE DADOS

ENVIADO RECEBE CONFIRMAÇÃO / MÁQUINA EMISSORA

REGISTRA INFORMAÇÕES DE “STATUS” PARA GARANTIR QUE

CADA PACOTE SEJA RECEBIDO SEM ERROS

PROTOCOLO SEM CONEXÃO

ENVIA UM DATAGRAMA UNIDIRECIONAL AO DESTINO E NÃO SE

PREOCUPA EM NOTIFICAR À MÁQUINA DE DESTINO QUE OS

DADOS ESTÃO A CAMINHO / MÁQUINA DE DESTINO RECEBE

DADOS E NÃO SE PREOCUPA EM RETORNAR INFORMAÇÕES DE

“STATUS” PARA O COMPUTADOR DE ORIGEM

CONFIABILIDADE X VELOCIDADE

ENSINO À DISTÂNCIA

PORTAS TCP E UDP CONHECIDAS

13 DAYTIME

21 FTP

23 TELNET

25 SMTP

37 TIME

53 DNS

70 GOPHER

80 HTTP

110 POP3

13 DAYTIME

53 DNS

67/68 DHCP

161 SNMP

443 HTTPS

ENSINO À DISTÂNCIA

OUTROS PROTOCOLOS DO

CONJUNTO TCP/IP

FTP (“File Transfer Protocol”)

SMTP (“Simple Mail Transfer Protocol”)

TELNET (Programa de Emulação de

Terminal e de Comunicações)

ENSINO À DISTÂNCIA

UTILITÁRIOS DO TCP/IP

São residentes na camada de APLICAÇÃO

Desenvolvidos originalmente para a Internet e

redes UNIX

São usados para configurar, gerenciar e

diagnosticar redes TCP/IP

Estão disponíveis nos diversos Sistemas

Operacionais de Rede

ENSINO À DISTÂNCIA

UTILITÁRIOS DO TCP/IP

De CONECTIVIDADEIPConfig valores de configuração do TCP/IP

Ping testa a conectividade da rede

Traceroute caminho de um datagrama pela interligação de

rede

Route permite incluir ou editar entradas em uma tabela

de roteamento

Netstat apresenta estatísticas deIP, UDP, TCP e ICMP

Hostname retorna o nome do host da rede local

ENSINO À DISTÂNCIA

UTILITÁRIOS DO TCP/IP

De TRANSFERÊNCIA DE ARQUIVOS

FTP utilitário básico de transferência de arquivos que

utiliza o TCP

TFTP utilitário básico de transferência de arquivos que

utiliza o UDP

RCP utilitário remoto de transferência de arquivos

ENSINO À DISTÂNCIA

UTILITÁRIOS DO TCP/IP

REMOTOS

Telnet utilitário de terminal remoto

Finger utilitário que apresenta informações de usuários

ENSINO À DISTÂNCIA

UTILITÁRIOS DO TCP/IP

INTERNETBrowsers oferecem acesso a conteúdo de HTML na WWW

Newsreader conectam a “newsgroups” da Internet

Programas oferecem recursos para enviar/receber e-mail

de e-mail

Archie oferece acesso a índices de sites FTP anônimos

Gopher informações da Internet baseado em menus. É

textual

Whois oferece acesso a catálogos com informações de

contato pessoal

ENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

O protocolo TCP oferece um SERVIÇO ORIENTADO À CONEXÃO. Oferece a MULTIPLEXAÇÃO e a DEMULTIPLEXAÇÃO de aplicações bem

como a detecção de erros. A transferência de dados é garantida neste protocolo, sendo que para

acontecer é necessário que os dois processos estabeleçam a conexão. O TCP faz parte de um serviço que provê o controle de fluxo, garantindo

que nenhum lado da comunicação consiga enviar pacotes rapidamente, uma vez que uma das aplicações talvez não consiga processar a informação tão rapidamente, oferece ainda um serviço que controla o congestionamento ajudando a prevenir que os mesmos aconteçam na rede.

O TCP realiza conexões FULL-DUPLEX, ou seja, a conexão acontece em dois sentidos e simultaneamente. Além disso, essa comunicação é fim-a-fim, ou seja, acontece entre o host de origem e o destinatário. Sempre que se estabelece uma conexão os processos de ambos os lados podem iniciar a troca de informações.

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

A abstração do serviço fornecido as entidades das camadas superiores e a de um canal confiável através do qual dados podem ser transferidos. Com um canal confiável, nenhum dos dados transferidos e corrompido (trocado de 0 para 1 ou vice-versa) nem perdido, e todos são entregues na ordem em que foram enviados. Este e exatamente o modelo de serviço oferecido pelo TCP as aplicações de Internet que recorrem a ele.

É responsabilidade de um protocolo de transferência confiável de dados implementar essa abstração de serviço.

A tarefa é dificultada pelo fato de que a camada abaixo do protocolo de transferência confiável de dados talvez seja não confiável. Por exemplo, o TCP e um protocolo confiável de transferência de dados que e executado sobre uma camada de rede fim a fim não confiável (IP). De modo mais geral, a camada abaixo das duas extremidades que se comunicam de modo confiável pode consistir em um único enlace físico (como no caso de um protocolo de transferência de dados na camada de enlace) ou em uma rede global interligada (como em um protocolo de camada de transporte). Para nossa finalidade, contudo, podemos considerar essa camada mais baixa apenas como um canal ponto a ponto não confiável.

(KUROSE; ROSS, 2013, p.149)

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

A figura trata a função de transferência confiável de dados.

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados“ [...]o TCP e orientado para conexão porque, antes que um processo de aplicaçãopossa começar a enviar dados a outro, os dois processos precisam primeiro se“apresentar” — isto e, devem enviar alguns segmentos preliminares um ao outropara estabelecer os parâmetros da transferência de dados. Como parte doestabelecimento da conexão TCP, ambos os lados da conexão iniciarão muitasvariáveis de estado [...] associadas com a conexão TCP. A “conexão” TCP não e umcircuito TDM ou FDM fim a fim, como acontece em uma rede de comutação decircuitos. Tampouco e um circuito virtual [...], pois o estado de conexão resideinteiramente nos dois sistemas finais. Como o protocolo TCP roda apenas nessessistemas, e não nos elementos intermediários da rede (roteadores e comutadores —switches — de camada de enlace), os elementos intermediários não mantém estado de conexão TCP. Na verdade, os roteadores intermediários são de todo alheios as conexões TCP; eles enxergam datagramas, e não conexões. ”

(KUROSE; ROSS, 2013, p.169)

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

o TCP faz controle de fluxo e de congestionamento.

“O controle de fluxo no TCP visa evitar que um emissor não “afogue" um receptor,enviando mais dados que ele possa processar. Quando uma conexão TCP recebe bytesque estão corretos e em sequência, ela os armazena em um buffer de recepção, antesde entregá-los a aplicação. Como o processo de aplicação pode não ler estes dadosimediatamente, pode ocorrer um estouro da capacidade do buffer. Assim, omecanismo de controle de fluxo implementa um tipo de casamento de velocidadesentre o emissor e o receptor. O controle de fluxo e implementado por meio de umavariável, chamada janela do receptor (receive window), que mantém o valor atual dacapacidade de armazenamento do buffer de recepção. Esta janela limita aquantidade de bytes que pode ser enviada antes de esperar por um reconhecimento.O tamanho desta janela é dinâmico, podendo variar durante uma conexão. Como aconexão é full-duplex, cada um dos receptores mantém a informação sobre sua janelade recepção.”

(CANTÚ, 2009, p.47)

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

É importante dizer que o TCP faz ainda uma TEMPORIZAÇÃO a cada segmento enviado. Assim, toda vez que o protocolo TCP enviar um segmento ele, inicializa o temporizador, que por um tempo limite aguarda o reconhecimento deste segmento. Se o temporizador se esgotar, neste caso há um timeout, então o TCP retransmite o segmento.

“O valor do temporizador deve ser maior que o tempo de ida e volta dos pacotes.Contudo, não pode ser muito pequeno, pois pode gerar estouros desnecessários dotemporizador, nem muito longo, pois aumenta o tempo de reação a possíveis erros.Para definir o valor do temporizador o TCP faz uma estimativa dinâmica do tempo deida e volta dos pacotes, chamado RTT (round trip time). A partir desta estimativa,calcula o valor médio e desvio, e aplica uma margem de segurança para definir ovalor do temporizador.”

(CANTÚ, 2009, p.47)

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

Já o CONTROLE DE CONGESTIONAMENTO busca reduzir o congestionamento no centro da rede. Para isso, é necessária a implementação de mecanismos de controle. Esse controle é feito a partir das informações de pacotes perdidos ou recebidos com atraso.

“Caso o TCP detecte perda de pacotes ele supõe que há congestionamento da rede. Apartir dai o TCP diminui o fluxo de pacotes enviado, visando colaborar com adiminuição do possível congestionamento no núcleo da rede. Lembre que a perda depacotes ocorre principalmente quando estoura a capacidade de armazenamento nosroteadores devido ao congestionamento e os novos pacotes que chegam sãodescartados (dropped). O TCP controla sua taxa de transmissão limitando o númerode segmentos transmitidos e ainda não reconhecidos. Este controle depende dotamanho da janela do receptor [...]. Idealmente, deve-se permitir que o TCP transmitao mais rápido possível, desde que não perca segmentos. Para isto, a conexão TCPcomeça com uma janela de tamanho pequeno, visando sondar a existência de banda,e vai aumentando até que ocorra uma perda. Quando isto acontece, o TCP reduz otamanho da janela para um nível seguro, e volta a aumentá-la, sondando novamentea existência de banda.”

(CANTÚ, 2009, p.48)(CANTÚ, 2009, p.47)

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

Para o CONTROLE DE CONGESTIONAMENTO as formas mais comuns são: 1. Controle de congestionamento fim a fim: aqui a camada de rede não dá

suporte explícito à camada de transporte para controlar o ongestionamento. Neste caso, o congestionamento deve ser pensado pelos sistemas finais tendo por base o comportamento da rede.

2. Controle de congestionamento assistido pela rede: neste tipo, os roteadores fazem uma retroalimentação específica com informações ao remetente sobre o estado do congestionamento na rede, a retroalimentação pode se dar com um bit que indica o congestionamento.

ENSINO À DISTÂNCIA

3.4 TCP – Princípios de transferência confiável de dados

CONCLUSÃO:

O TCP representa • um protocolo confiável, • é orientado a conexão e, • é um protocolo que consegue fornecer ainda o controle de fluxo, estimativa

de tempo ida e volta e transferência confiável de dados, esta última funcionalidade permite que sempre que um cliente hospedeiro for enviar dados, ele deve abrir um socket TCP para o servidor, aí então deve repassar os dados dentro deste socket.

Mesmo com toda essa capacidade, as complexidades do TCP não são visíveis, ficam escondidas na aplicação de rede, desta forma a aplicação cliente-servidor não percebe toda a complexidade do protocolo TCP.

ENSINO À DISTÂNCIA

TANENBAUM, A. S. Redes de Computadores. 5 ed. São Paulo : Campus, 2011

FOROUZAN, B. A. Comunicação de Dados e Redes de Computadores. McGraw Hill, 2008.

KUROSE, J. F. ROSS, K. W. Redes de computadores e a internet: uma abordagem top-down. 5.ed. São Paulo: Pearson, 2011

ENSINO À DISTÂNCIA