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.
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.
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
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
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
Top Related