4. 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
6. 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.)
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
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
9. 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)
10. 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
11. 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.)
12. 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
13. 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.)
14. 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.)
15. 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
16. 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
17. 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.)
18. 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)
21. 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.