Protocolos de Rede

TCP / IP
e

UDP
Prof. Esp. André Nobre
Visão Geral
Protocolo

IP

Camada 3: Redes

Protocolo para Endereçamento
Protocolo

TCP

Protocolo para Transporte
Protocolo

UDP

Protocolo para Transporte

Camada 4: Transporte
Protocolos de Rede

Protocolo

IP

Protocolo para Endereçamento

Camada 3: Redes
Protocolo IP
O IP permite identificar o Host e sua Rede.
“...o protocolo TCP/IP é responsável, isto é, ele foi criado pensando na interligação de diversas redes – onde
podemos ter diversos caminhos interligando o transmissor e receptor -, culminando na rede mundial que hoje
conhecemos por internet. Por isso, ele utiliza um esquema de endereçamento lógico chamado endereço IP.
Em uma rede TCP/IP cada dispositivo em rede necessita usar pelo menos um endereço IP. Esse endereço
permite identificar o dispositivo e a rede na qual ele pertence.”

(TORRES, PDF, PAG. 86.)

Exemplo:

192 . 168 . 2 . 100
Rede

Host
Protocolos de Rede
Protocolo

TCP

Protocolo para Transporte
Protocolo

UDP

Protocolo para Transporte

Camada 4: Transporte
Camada de Transporte
TCP e UDP
“A Internet tem dois protocolos principais na camada de transporte, um protocolo sem conexões e outro
orientado a conexões. O protocolo sem conexões é o UDP. O protocolo orientado a conexões é o TCP.”
(TANENBAUM, PDF, PAG. 399.)

Comunicação Lógica provida pela camada de Transporte.
“Um protocolo de camada de transporte fornece comunicação lógico entre
processos de aplicações que rodam em hospedeiros diferentes. Comunicação
Lógica nesse contexto significa que, do ponto de vista de uma aplicação, tudo se
passa como se os hospedeiros que rodam os processos estivessem conectados
diretamente; na verdade, esses hospedeiros poderão estar em lados opostos do
planeta, conectados por numerosos roteadores e uma ampla variedade de tipos de
enlace. Processos de aplicações usam a comunicação lógica provida pela camada
de transporte para enviar mensagens entre si, livres da preocupação dos detalhes da
infraestrutura física utilizada para transportar essas mensagens.”
(KUROSE, PDF, PAG. 168.)
Multiplexação e Demultiplexação (na camada 4)
Varias aplicações no mesmo Endereçamento.
“No hospedeiro de destino, a camada de transporte recebe segmentos da camada de rede logo abaixo dela e
tem a responsabilidade de entregar os dados desses segmentos ao processo de aplicação apropriado que
roda no hospedeiro.”
Solução para cada aplicação receber seus dados corretamente.
“A tarefa de entregar os dados contidos em um segmento da camada de transporte à porta correta é
denominada demultiplexação. O trabalho de reunir, no hospedeiro de origem (Cliente), porções de dados
provenientes de diferentes portas, encapsular cada porção de dados com informações necessárias de
cabeçalho (que mais tarde serão usadas na demultiplexação) para criar segmentos, e passar esses segmentos
para a camada de rede é denominada multiplexação.”
(KUROSE, PDF, PAG. 172.)
Serviços

E-mails
Internet
Acesso
Remoto

Portas

Portas

110
80
3389

110
80
3389

1.0.0.2
3389
1.0.0.1

Transmissão

1.0.0.2
110

1.0.0.2
3389

1.0.0.2
80

Recepção

1.0.0.2

Serviços

E-mails
Internet
Acesso
Remoto
Protocolos de Rede
Camada 4: Transporte
Protocolo

UDP

Protocolo para Transporte
Sistema
DNS

Comando
PING

Programa
Look@LAN

Protocolo
DNS

Protocolo
ICMP

Protocolo
SNMP

Porta 53

Porta 7

Porta 161/192

Protocolo de Transporte UDP

Camada de
Aplicação

Camada de
Transporte
Protocolo UDP (User Datagram Protocol)
Características do UDP
“..o UDP e basicamente o IP com um pequeno cabeçalho... O UDP oferece um meio para as aplicações enviarem
data gramas IP encapsulados sem que seja necessário estabelecer uma conexão. O UDP transmite segmentos que
consistem em um cabeçalho de 8 bytes, seguido pela carga util.”

(TANENBAUM, PDF, PAG. 399.)

Não orientado a conexão
“Note que, com o UDP, não há apresentação entre as entidades
remetente e destinatária da camada de transporte antes de
enviar um segmento. Por essa razão, dizemos que o UDP é não
orientado a conexão.”
(KUROSE, PDF, PAG. 177)
Protocolo UDP (User Datagram Protocol)
Função das Portas
“As duas portas servem para identificar os pontos extremos nas maquinas de origem e destino. Quando um pacote UDP
chega, sua carga útil e entregue ao processo associado a porta de destino. ... Sem os campos de portas, a camada de
transporte não saberia o que fazer com o pacote. Com elas, a camada entrega o segmentos corretamente.”

(TANENBAUM, PDF, PAG. 400.)

Serviços
E-mails
Internet
Acesso
Remoto

Portas

Portas

110
80
3389

110
80
3389

1.0.0.2
3389
1.0.0.1

Transmissão

1.0.0.2
110

1.0.0.2
3389

1.0.0.2
80

Recepção

1.0.0.2

Serviços
E-mails
Internet
Acesso
Remoto
Protocolo UDP (User Datagram Protocol)
UDP é menos complexo.
“Ele não realiza controle de fluxo, controle de erros ou retransmissão apos a recepção de um segmento incorreto. Tudo
isso cabe aos processos do usuário. O que ele faz é fornecer uma interface para o protocolo IP com o recurso adicional de
demultiplexacao de vários processos que utilizam as portas.”

Exemplo
“Uma área na qual o UDP é especialmente útil é a de situações cliente/servidor. Com frequência, o cliente envia uma
pequena solicitação ao servidor e espera uma pequena resposta de volta. Se a solicitação ou a resposta se perder, o
cliente simplesmente chegara ao timeout (tempo esgotado) e tentara de novo. Uma aplicação que utiliza o UDP desse
modo é o DNS (Domain Name System). Não é necessária nenhuma configuração antecipada e também nenhum
encerramento posterior. Basta enviar duas mensagens pela rede (Solicitação e Resposta).”

(TANENBAUM, PDF, PAG. 400.)
Protocolos de Rede
Protocolo

TCP

Protocolo para Transporte

Programa
de e-mail

Navegação
na WEB

Programa
de FTP

Protocolo
POP3

Protocolo
HTTP

Protocolo
FTP

Porta 110

Porta 80

Porta 20/21

Protocolo de Transporte TCP

Camada 4: Transporte
Camada de
Aplicação

Camada de
Transporte
Protocolo TCP (Transmission Control Protocol)
Proposta do TCP é ser uma solução confiável em um ambiente não confiavél.
“O TCP (Transmission Control Protocol) foi projetado especificamente para oferecer um fluxo de bytes fim a fim confiável
em uma inter-rede não confiável. Uma inter-rede é diferente de uma única rede porque suas diversas partes podem ter
topologias, larguras de banda, retardos, tamanhos de pacote e outros parâmetros completamente diferentes. O TCP foi
projetado para se adaptar dinamicamente as propriedades da inter-rede e ser robusto diante dos muitos tipos de falhas
que podem ocorrer.”

(TANENBAUM, PDF, PAG. 405.)

Objetivo ao estabelecer uma transmissão confiável.:
“Com um canal confiável, nenhum dos dados transferidos é corrompido (Trocado de 0 para 1 ou vice-versa) nem perdido,
e todos são entregues na ordem em que foram enviados. Este é exatamente o modelo de serviço oferecido pelo TCP às
aplicações de Internet que recorrem a ele.”

(KUROSE, PDF, PAG. 181.)
Protocolo TCP (Transmission Control Protocol)
TCP e IP
“Cada maquina compatível com o TCP tem uma entidade de transporte TCP, que pode ser um procedimento de
biblioteca (DLL), um processo do usuário (Software) ou parte do núcleo (Kernel). em todos os casos, ele gerencia fluxos e
interfaces TCP para a camada IP.
Responsabilidades do TCP
A camada IP não oferece qualquer garantia de que os datagramas serão entregues da forma apropriada; portanto, cabe
ao TCP administrar os timers e retransmiti-los sempre que necessário. Os datagramas também podem chegar fora de
ordem; o TCP também terá de reorganiza-los em mensagens na sequencia correta.
Resumindo, o TCP deve fornecer a confiabilidade que a maioria dos usuários desejam, mas que o IP não oferece.”
(TANENBAUM, PDF, PAG. 405.)

Orientado a conexão
“Dizemos que o TCP é orientado a conexão porque, antes que um processo de aplicação possa começar a
enviar dados a outro, os dois processos precisam primeiramente se „apresentar‟ – isto é, devem enviar alguns
segmentos preliminares da conexão TCP, ambos os lados da conexão iniciarão muitas “variáveis de estado”
associadas com a conexão TCP.”
(KUROSE, PDF, PAG. 202.)
Protocolo TCP (Transmission Control Protocol)
A ‘Conexão’ TCP não se compara a um Circuito Virtual
“A „conexão‟ TCP não é um circuito TDM ou FDM fim-a-fim, como acontece em uma rede de comutação de
circuitos. Tampouco é um circuito virtual, pois o estado de conexão reside inteiramente nos dois sistema finais. Como o
protocolo TCP roda somente nos sistemas finais, e não nos elementos intermediários da rede (roteadores e comutadores
da camada de enlace), os elementos intermediários não mantêm estado de conexão TCP. Na verdade, os roteadores
intermediários são completamente alheios às conexões TCP; eles enxergam datagramas, e não conexões.”

(KUROSE, PDF, PAG. 203.)
TCP
TCP
Router
Router
Router

RIP
Router
Router
Protocolo TCP (Transmission Control Protocol)
Full-duplex e Unicast
“Uma conexão TCP provê um serviço full-duplex: se houver uma conexão TCP entre o processo A em um
hospedeiro e o processo B em outro hospedeiro, então os dados da camada de aplicação poderão fluir de A
para B ao mesmo tempo em que os dados da camada de aplicação fluem de B para A. A conexão TCP é
sempre ponto a ponto (Unicast), isto é, entre um único remetente e um único destinatário. O chamado
„multicast‟ – a transferência de dados de um remetente para vários destinatários em uma única operação de
envio – não é possível com o TCP. Com o TCP, dois hospedeiros é bom; três é demais!.”

(KUROSE, PDF, PAG. 203.)

TCP
TCP
Router
Router

A

Router

RIP
Router
Router

B
Protocolo TCP (Transmission Control Protocol)
Segmento TCP
“As entidades transmissoras e receptoras do TCP trocam dados na forma de segmentos (pacotes). Um segmento TCP
consiste em um cabeçalho fixo de 20 bytes, seguido do espaço necessário para os dados (carga útil). O software TCP
decide qual deve ser o tamanho dos segmentos.”

(TANENBAUM, PDF, PAG. 407.)
Protocolo TCP (Transmission Control Protocol)
Tamanho de um segmento
“ Dois fatores restringem o tamanho do segmento.
Primeiro, cada segmento, incluindo o cabeçalho do TCP, deve caber na carga útil do IP, que é de 65.515 bytes.
Em Segundo lugar, cada rede tem uma unidade máxima de transferência, ou MTU (Maximum Transfer Unit) e cada
segmento deve caber na MTU.
Na pratica, a MTU geralmente tem 1.500 bytes (o tamanho da carga útil Ethernet) e, portanto, define o limite superior de
tamanho de segmentos.”

(TANENBAUM, PDF, PAG. 407.)

Cabeçalho TCP
Cabeçalho IP

Carga Útil TCP
Carga Útil IP

MTU (Unidade Máxima de Transferência da Rede)
Comparação
Protocolo

TCP

Protocolo para Transporte
Protocolo

UDP

Protocolo para Transporte
Comparação
Comparação Simplificada
Funcionamento do Protocolo UDP
Solicita Dados

Cliente

Servidor
Envia Dados

Funcionamento do Protocolo TCP
Estabelecer Conexão

Confirmar Conexão

Cliente

Solicita Dados

Envia Dados

Solicita Dados Não Recebidos

Servidor

• Funcionamento mais simples
• Mais rápido por ter menos Controles
• Menos Seguro em relação ao recebimento
dos Dados (Transporte)
• Não estabelece conexão

• Funcionamento mais complexo
• Mais Controles
• Mais Seguro em relação ao
recebimento dos Dados (Transporte)
• Estabelece conexão antes de transmitir
os dados.
• Solicita retransmissão dos dados não
recebidos ou corrompidos.

Protocolos TCP IP UDP

  • 1.
    Protocolos de Rede TCP/ IP e UDP Prof. Esp. André Nobre
  • 2.
    Visão Geral Protocolo IP Camada 3:Redes Protocolo para Endereçamento Protocolo TCP Protocolo para Transporte Protocolo UDP Protocolo para Transporte Camada 4: Transporte
  • 3.
    Protocolos de Rede Protocolo IP Protocolopara Endereçamento Camada 3: Redes
  • 4.
    Protocolo IP O IPpermite identificar o Host e sua Rede. “...o protocolo TCP/IP é responsável, isto é, ele foi criado pensando na interligação de diversas redes – onde podemos ter diversos caminhos interligando o transmissor e receptor -, culminando na rede mundial que hoje conhecemos por internet. Por isso, ele utiliza um esquema de endereçamento lógico chamado endereço IP. Em uma rede TCP/IP cada dispositivo em rede necessita usar pelo menos um endereço IP. Esse endereço permite identificar o dispositivo e a rede na qual ele pertence.” (TORRES, PDF, PAG. 86.) Exemplo: 192 . 168 . 2 . 100 Rede Host
  • 5.
    Protocolos de Rede Protocolo TCP Protocolopara Transporte Protocolo UDP Protocolo para Transporte Camada 4: Transporte
  • 6.
    Camada de Transporte TCPe UDP “A Internet tem dois protocolos principais na camada de transporte, um protocolo sem conexões e outro orientado a conexões. O protocolo sem conexões é o UDP. O protocolo orientado a conexões é o TCP.” (TANENBAUM, PDF, PAG. 399.) Comunicação Lógica provida pela camada de Transporte. “Um protocolo de camada de transporte fornece comunicação lógico entre processos de aplicações que rodam em hospedeiros diferentes. Comunicação Lógica nesse contexto significa que, do ponto de vista de uma aplicação, tudo se passa como se os hospedeiros que rodam os processos estivessem conectados diretamente; na verdade, esses hospedeiros poderão estar em lados opostos do planeta, conectados por numerosos roteadores e uma ampla variedade de tipos de enlace. Processos de aplicações usam a comunicação lógica provida pela camada de transporte para enviar mensagens entre si, livres da preocupação dos detalhes da infraestrutura física utilizada para transportar essas mensagens.” (KUROSE, PDF, PAG. 168.)
  • 7.
    Multiplexação e Demultiplexação(na camada 4) Varias aplicações no mesmo Endereçamento. “No hospedeiro de destino, a camada de transporte recebe segmentos da camada de rede logo abaixo dela e tem a responsabilidade de entregar os dados desses segmentos ao processo de aplicação apropriado que roda no hospedeiro.” Solução para cada aplicação receber seus dados corretamente. “A tarefa de entregar os dados contidos em um segmento da camada de transporte à porta correta é denominada demultiplexação. O trabalho de reunir, no hospedeiro de origem (Cliente), porções de dados provenientes de diferentes portas, encapsular cada porção de dados com informações necessárias de cabeçalho (que mais tarde serão usadas na demultiplexação) para criar segmentos, e passar esses segmentos para a camada de rede é denominada multiplexação.” (KUROSE, PDF, PAG. 172.) Serviços E-mails Internet Acesso Remoto Portas Portas 110 80 3389 110 80 3389 1.0.0.2 3389 1.0.0.1 Transmissão 1.0.0.2 110 1.0.0.2 3389 1.0.0.2 80 Recepção 1.0.0.2 Serviços E-mails Internet Acesso Remoto
  • 8.
    Protocolos de Rede Camada4: Transporte Protocolo UDP Protocolo para Transporte Sistema DNS Comando PING Programa Look@LAN Protocolo DNS Protocolo ICMP Protocolo SNMP Porta 53 Porta 7 Porta 161/192 Protocolo de Transporte UDP Camada de Aplicação Camada de Transporte
  • 9.
    Protocolo UDP (UserDatagram Protocol) Características do UDP “..o UDP e basicamente o IP com um pequeno cabeçalho... O UDP oferece um meio para as aplicações enviarem data gramas IP encapsulados sem que seja necessário estabelecer uma conexão. O UDP transmite segmentos que consistem em um cabeçalho de 8 bytes, seguido pela carga util.” (TANENBAUM, PDF, PAG. 399.) Não orientado a conexão “Note que, com o UDP, não há apresentação entre as entidades remetente e destinatária da camada de transporte antes de enviar um segmento. Por essa razão, dizemos que o UDP é não orientado a conexão.” (KUROSE, PDF, PAG. 177)
  • 10.
    Protocolo UDP (UserDatagram Protocol) Função das Portas “As duas portas servem para identificar os pontos extremos nas maquinas de origem e destino. Quando um pacote UDP chega, sua carga útil e entregue ao processo associado a porta de destino. ... Sem os campos de portas, a camada de transporte não saberia o que fazer com o pacote. Com elas, a camada entrega o segmentos corretamente.” (TANENBAUM, PDF, PAG. 400.) Serviços E-mails Internet Acesso Remoto Portas Portas 110 80 3389 110 80 3389 1.0.0.2 3389 1.0.0.1 Transmissão 1.0.0.2 110 1.0.0.2 3389 1.0.0.2 80 Recepção 1.0.0.2 Serviços E-mails Internet Acesso Remoto
  • 11.
    Protocolo UDP (UserDatagram Protocol) UDP é menos complexo. “Ele não realiza controle de fluxo, controle de erros ou retransmissão apos a recepção de um segmento incorreto. Tudo isso cabe aos processos do usuário. O que ele faz é fornecer uma interface para o protocolo IP com o recurso adicional de demultiplexacao de vários processos que utilizam as portas.” Exemplo “Uma área na qual o UDP é especialmente útil é a de situações cliente/servidor. Com frequência, o cliente envia uma pequena solicitação ao servidor e espera uma pequena resposta de volta. Se a solicitação ou a resposta se perder, o cliente simplesmente chegara ao timeout (tempo esgotado) e tentara de novo. Uma aplicação que utiliza o UDP desse modo é o DNS (Domain Name System). Não é necessária nenhuma configuração antecipada e também nenhum encerramento posterior. Basta enviar duas mensagens pela rede (Solicitação e Resposta).” (TANENBAUM, PDF, PAG. 400.)
  • 12.
    Protocolos de Rede Protocolo TCP Protocolopara Transporte Programa de e-mail Navegação na WEB Programa de FTP Protocolo POP3 Protocolo HTTP Protocolo FTP Porta 110 Porta 80 Porta 20/21 Protocolo de Transporte TCP Camada 4: Transporte Camada de Aplicação Camada de Transporte
  • 13.
    Protocolo TCP (TransmissionControl Protocol) Proposta do TCP é ser uma solução confiável em um ambiente não confiavél. “O TCP (Transmission Control Protocol) foi projetado especificamente para oferecer um fluxo de bytes fim a fim confiável em uma inter-rede não confiável. Uma inter-rede é diferente de uma única rede porque suas diversas partes podem ter topologias, larguras de banda, retardos, tamanhos de pacote e outros parâmetros completamente diferentes. O TCP foi projetado para se adaptar dinamicamente as propriedades da inter-rede e ser robusto diante dos muitos tipos de falhas que podem ocorrer.” (TANENBAUM, PDF, PAG. 405.) Objetivo ao estabelecer uma transmissão confiável.: “Com um canal confiável, nenhum dos dados transferidos é corrompido (Trocado de 0 para 1 ou vice-versa) nem perdido, e todos são entregues na ordem em que foram enviados. Este é exatamente o modelo de serviço oferecido pelo TCP às aplicações de Internet que recorrem a ele.” (KUROSE, PDF, PAG. 181.)
  • 14.
    Protocolo TCP (TransmissionControl Protocol) TCP e IP “Cada maquina compatível com o TCP tem uma entidade de transporte TCP, que pode ser um procedimento de biblioteca (DLL), um processo do usuário (Software) ou parte do núcleo (Kernel). em todos os casos, ele gerencia fluxos e interfaces TCP para a camada IP. Responsabilidades do TCP A camada IP não oferece qualquer garantia de que os datagramas serão entregues da forma apropriada; portanto, cabe ao TCP administrar os timers e retransmiti-los sempre que necessário. Os datagramas também podem chegar fora de ordem; o TCP também terá de reorganiza-los em mensagens na sequencia correta. Resumindo, o TCP deve fornecer a confiabilidade que a maioria dos usuários desejam, mas que o IP não oferece.” (TANENBAUM, PDF, PAG. 405.) Orientado a conexão “Dizemos que o TCP é orientado a conexão porque, antes que um processo de aplicação possa começar a enviar dados a outro, os dois processos precisam primeiramente se „apresentar‟ – isto é, devem enviar alguns segmentos preliminares da conexão TCP, ambos os lados da conexão iniciarão muitas “variáveis de estado” associadas com a conexão TCP.” (KUROSE, PDF, PAG. 202.)
  • 15.
    Protocolo TCP (TransmissionControl Protocol) A ‘Conexão’ TCP não se compara a um Circuito Virtual “A „conexão‟ TCP não é um circuito TDM ou FDM fim-a-fim, como acontece em uma rede de comutação de circuitos. Tampouco é um circuito virtual, pois o estado de conexão reside inteiramente nos dois sistema finais. Como o protocolo TCP roda somente nos sistemas finais, e não nos elementos intermediários da rede (roteadores e comutadores da camada de enlace), os elementos intermediários não mantêm estado de conexão TCP. Na verdade, os roteadores intermediários são completamente alheios às conexões TCP; eles enxergam datagramas, e não conexões.” (KUROSE, PDF, PAG. 203.) TCP TCP Router Router Router RIP Router Router
  • 16.
    Protocolo TCP (TransmissionControl Protocol) Full-duplex e Unicast “Uma conexão TCP provê um serviço full-duplex: se houver uma conexão TCP entre o processo A em um hospedeiro e o processo B em outro hospedeiro, então os dados da camada de aplicação poderão fluir de A para B ao mesmo tempo em que os dados da camada de aplicação fluem de B para A. A conexão TCP é sempre ponto a ponto (Unicast), isto é, entre um único remetente e um único destinatário. O chamado „multicast‟ – a transferência de dados de um remetente para vários destinatários em uma única operação de envio – não é possível com o TCP. Com o TCP, dois hospedeiros é bom; três é demais!.” (KUROSE, PDF, PAG. 203.) TCP TCP Router Router A Router RIP Router Router B
  • 17.
    Protocolo TCP (TransmissionControl Protocol) Segmento TCP “As entidades transmissoras e receptoras do TCP trocam dados na forma de segmentos (pacotes). Um segmento TCP consiste em um cabeçalho fixo de 20 bytes, seguido do espaço necessário para os dados (carga útil). O software TCP decide qual deve ser o tamanho dos segmentos.” (TANENBAUM, PDF, PAG. 407.)
  • 18.
    Protocolo TCP (TransmissionControl Protocol) Tamanho de um segmento “ Dois fatores restringem o tamanho do segmento. Primeiro, cada segmento, incluindo o cabeçalho do TCP, deve caber na carga útil do IP, que é de 65.515 bytes. Em Segundo lugar, cada rede tem uma unidade máxima de transferência, ou MTU (Maximum Transfer Unit) e cada segmento deve caber na MTU. Na pratica, a MTU geralmente tem 1.500 bytes (o tamanho da carga útil Ethernet) e, portanto, define o limite superior de tamanho de segmentos.” (TANENBAUM, PDF, PAG. 407.) Cabeçalho TCP Cabeçalho IP Carga Útil TCP Carga Útil IP MTU (Unidade Máxima de Transferência da Rede)
  • 19.
  • 20.
  • 21.
    Comparação Simplificada Funcionamento doProtocolo UDP Solicita Dados Cliente Servidor Envia Dados Funcionamento do Protocolo TCP Estabelecer Conexão Confirmar Conexão Cliente Solicita Dados Envia Dados Solicita Dados Não Recebidos Servidor • Funcionamento mais simples • Mais rápido por ter menos Controles • Menos Seguro em relação ao recebimento dos Dados (Transporte) • Não estabelece conexão • Funcionamento mais complexo • Mais Controles • Mais Seguro em relação ao recebimento dos Dados (Transporte) • Estabelece conexão antes de transmitir os dados. • Solicita retransmissão dos dados não recebidos ou corrompidos.