SlideShare uma empresa Scribd logo
1 de 27
Protocolos ICMP, UDP, TCP
Camada de transporte, que tanto no Modelo OSI quanto no Modelo TCP/IP,
é a camada responsável pela transferência eficiente, confiável e económica dos
dados entre a máquina de origem e a máquina de destino, independente do
tipo, topologia ou configuração das redes físicas existentes entre elas,
garantindo ainda que os dados cheguem sem erros e na sequência correcta.
A camada de transporte possui dois protocolos que são o UDP ( User
Datagram Protocol) e TCP (Transmission Control Protocol).
 Camada de rede do modelo OSI que é responsável por controlar a
operação da rede de um modo geral. Suas principais funções são o
roteamento dos pacotes entre fonte e destino, o controle de
congestionamento e a contabilização do número de pacotes ou bytes
utilizados pelo usuário, para fins de tarifação.
 O protocolo da camada de rede que iremos detalhar é o ICMP ( Internet
Control Message Protocol).
 2. ICMP (Internet Control Message Protocol)
 É um protocolo de mensagem de controlo da Internet (utilizado para envio de
mensagens de controle e mensagens de erro em emissão de bancos de dados do
tipo IP).
 Caso um roteador não consiga passar adiante um datagrama recebido por estar
congestionado demais ou então por ter zerado o campo tempo de vida (ITL, Time
to Live) do datagrama que ocorreu um erro.
 O mecanismo usado pelos roteadores para informar esse tipo de erro è o uso do
protocolo ICMP, Internet Control Message Protocol. Apesar de estarmos tratando
o ICMP como um assunto à parte, ele è parte integrante do protocolo IP.
 Ele não se preocupa em corrigir o erro nem tão pouco em verificar a integridade
dos datagramas que circulam pela rede.
 Como mostramos na figura 1, a mensagem ICMP è transmitida usando um
datagrama IP. Como o IP não verifica se um datagrama chegou ou não ao destino,
pode ocorrer de a própria mensagem ICMP ser perdida no meio caminho!
Figura 1: Encapsulamento de uma mensagem ICMP
È também importante notar que o ICMP, apesar de ser encapsulado em um
datagrama IP, não è considerado um protocolo de alto nível (como o TCP ou o
UDP).
2.1. ESTRUTURA DAS MENSAGENS ICMP
 Cada mensagem ICMP possui uma estrutura própria, mas todas elas
começam da mesma maneira, mostrada na figura 2. O campo tipo informa
justamente o tipo de mensagem ICMP. Sò para se ter uma ideia concreta dos
tipos de mensagens ICMP existentes, na tabela a seguir mostramos alguns
desses tipos e seu valor numérico (entrado no campo Tipo).
Figura2: Cabeçalho do protocolo ICMP
O campo Código prove mais informações sobre a mensagem ICMP, e o campo
Checksum apresenta a soma de todos os valores presentes na mensagem ICMP.
Checksum - é uma conta que consiste em somar todos os bytes presentes no pacote
de dados e enviar o resultado dentro do próprio pacote.
Para entendermos melhor o funcionamento do ICMP, iremos explicar rapidamente o
funcionamento de algumas das mensagens ICMP existentes.
2.2.ECO
A mensagem de eco serve para verificar se o caminho entre o transmissor e o
receptor está bom.
 2.3.DESTINO INALCANÇAVEL
Caso o roteador não consiga entregar um determinado datagrama,ele envia para o
transmissor uma mensagem ICMP de destino inalcançável. Na mensagem de
destino inalcançável, o campo código do cabeçalho ICMP (ver figura 2) e
preenchido com um dos seguintes valores.
 2.4.CONGESTIONAMENTO
 Um roteador pode porventura receber um número maior de datagramas do que ele
e capaz de processar. Caso isso ocorra, dizemos que o roteador esta
congestionado. Neste tipo de situação, o roteador inclusive pode ter de descartar
datagramas por não estar sendo capaz de recebe - los naquele momento. Quando
isso ocorre, o roteador envia uma mensagem de redução da velocidade de
transmissão ao transmissor do datagrama descartado. O transmissor, ao receber
essa mensagem, passa a transmitir datagramas a uma velocidade menor.
2.5.REDIRECIONAMENTO
Caso o roteador verifique que na rede local onde ele está instalado existe uma rota
melhor a ser usada para enviar um datagrama recebido, ele envia uma mensagem
ICMP de solicitação de redireccionamento ao transmissor, enviando também o
datagrama ao destino.
2.6.TEMPO DE VIDA EXCEDIDO
Quando o contador Tempo de Vida (TTL, Time to Live) do datagrama e zerado, o
roteador envia para a maquina transmissora uma mensagem ICMP de tempo de vida
excedido.
Como vimos anteriormente, todo datagrama IP possui um campo tempo de vida,
que possui um valor que e decrementado a cada vez que o datagrama passa por um
roteador.
 2.7.PROBLEMA NOS PARAMETROS
Quando um roteador ou uma máquina encontra problemas para processar um
datagrama e não há nenhuma outra mensagem ICMP que cubra o problema
encontrado, o roteador (ou máquina) envia uma mensagem de problema nos
parâmetros para o transmissor. Normalmente essa mensagem è usada quando o
roteador não consegue decodificar correctamente as informações presentes no
cabeçalho IP do datagrama, isto è, quando há algum problema no cabeçalho do
datagrama.
 2.8.SOLICITAÇÃO DE HORÀRIO
Através dessa mensagem de controlo uma máquina pode pedir o horário do
relógio de outra máquina que esteja conectada na rede. A máquina transmissora
envia um comando de solicitação de horário (mensagem ICMP tipo 13) a máquina
da qual quer saber o horário, incluindo no datagrama a hora do envio do
datagrama. A máquina receptora responde ao comando de solicitação de horário
(mensagem ICMP tipo 14) incluindo o horário que o datagrama chegou atè ela e o
horário em que o datagrama de resposta foi enviado.
 3. UDP (USER DATAGRAM PROTOCOL)
O User Datagram Protocol (UDP) que significa protocolo de datagramas de
utilizador (ou usuário)- é um protocolo de transporte não orientado á conexão. O
UDP é pouco confiável, não existem técnicas no protocolo para confirmar que os
dados chegaram ao destino correctamente. Por esse motivo esse protocolo não é
usado no transporte de dados importantes como arquivos e e-mails.
Na verdade as aplicações que usam o UDP deverão criar mecanismos para
verificar se os dados chegaram ao destino correctamente e para colocar os
datagramas recebidos em ordem.
3.1. Vantagens do UDP
 A vantagem de os programas usarem o UDP em vez do TCP em dados pequenos é
que a transmissão de dados fica mais rápida.
 Em redes locais confiáveis, onde não há quase perda de pacotes, o uso do protocolo
UDP é atè viável.
 3.2. Desvantagens do UDP
 Em redes grandes,e principalmente na internet a taxa de perdas de pacotes pode ser
grande de mais e acabar dando mais trabalho a aplicação ,tornando o envio de
pacotes através do UDP inviável do ponto de vista prático .Por esse motivo o
protocolo UDP so é usado para o envio de dados pequenos e onde a taxa de perda
de pacotes não é problema, isto é, não vai dar muito trabalho a aplicação.
 3.3. Protocolos que Utilizam o UDP
 SNMP-(Simple Network Managment)É utilizado para configurar dispositivos
como switches ou roteadores e permite que estes enviem o seu status. O problema é
que os hackers, utilizam este protocolo para obter informações sobre o sistema,
como as tabelas de roteamento. As últimas versões do SNMP podem fazer
criptografia md5, porém a maioria ainda usa versões antigas que passa o password
em formato de texto.
 TFTP - (Trivial File TranferProtocol) - Esse protocolo é um dos mais elementares
que existem, pois apresenta poucos utilitários, como controle temporal e de
integridade. Ele é um modelo mais simples de FTP, pois não possui nenhum tipo de
mecanismo de segurança e como é baseado no protocolo UDP, não se pode confiar
na integridade de suas transmissões.
 DHCP-(Dynamic Host Configuration Protocol) É utilizado em redes que sofrem
constantes alterações na topologia e o administrador não pode verificar o IP
(Internet Protocol) de cada máquina devido a enorme quantidade, então o roteador
distribui IPs automaticamente para as estações. Como esta atribuição é feita com a
utilização do UDP, caso haja algum problema o usuário terá que pedir o reenvio
ou reiniciar a máquina. O único problema técnico deste protocolo é que como os
IPs são atribuídos aleatoriamente, fica mais difícil para o administrador ter
controle sobre o que cada host está fazendo.
 DNS –(Domain Name System) Um tradutor dos nomes na rede, na qual cada IP
pode ser correspondido com um nome. Neste caso, imaginemos que um usuário
esteja acessando a internet e deseja ir para outra página. Ele digita o endereço no
campo apropriado e entra. Se a página, por acaso, não abrir por não ter
reconhecido o endereço, o problema poderá ter sido no envio ou resposta do
servidor de nomes utilizando o UDP, e então o usuário tentará de novo acessar a
página e provavelmente conseguirá.
Encapsulamento de um datagrama UDP
Figura 3: Encapsulamento de um datagrama UDP
3.4.Estrutura do Datagrama UDP
Como foi visto no TCP/IP as aplicações comunicam-se com os protocolos da
camada de transporte (o UDP e o TCP) através de portas.
Figura 4: Estrutura do datagrama UDP
Os campos porta de origem e porta de destino especificam a aplicação que
originou o datagrama e para cuja aplicação o datagrama deverá ser entregue na
máquina de destino. Mesmo que a máquina de destino receba vários datagramas
UDP vindo de várias aplicações diferentes, ela tem como saber para qual
aplicação deve entregar o conteúdo do datagrama por causa da existência do
campo Porta de Destino.
O campo tamanho especifica o tamanho do datagrama UDP em bites, incluindo
o seu cabeçalho e sua área de dados. O valor mínimo para esse campo é oito que é
o tamanho do próprio cabeçalho.
Já o checksum é calculado de forma não convencional. O protocolo UDP cria um
pseudo - cabeçalho esse pseudo - cabeçalho é formado apenas para ser utilizado
na soma que resultara no checksum do datagrama, não sendo transmitido junto
com o datagrama. Esse pseudo - cabeçalho é formado pelo endereço IP de origem
e pelo endereço IP de destino, pelo conjunto de oito zeros (campo zeros) pelo
numero que o protocolo UDP representa no protocolo IP( 17 campo protocolo) e
novamente o tamanho do datagrama UDP ( mesmo valor presente no campo
tamanho do datagrama do verdadeiro cabeçalho UDP).
Para formar o seu checksum, o UDP faz a soma usando os valores desse pseudo -
cabeçalho ( que não é transmitido) os valores do seu cabeçalho verdadeiro ( este
sim é transmitido), e os valores presentes em seu campo de dados.
Figura 5: Pseudo - cabeçalho UDP, usando apenas o checksum
Teoricamente o campo checksum é opcional (para não usar o checksum, basta
preencher esse campo com todos os bits em um). Entretanto, sem o uso do
checksum torna-se impossível saber se o dado recebido está corrompido ou não, isto
é se ele sofreu ou não alterações durante o caminho entre o transmissor e o receptor.
Por isso, a maioria das aplicações que usam o UDP prefere realizar o checksum.
3.5. Vulnerabilidades do Protocolo UDP
O protocolo UDP assim como o TCP utilizam portas para a comunicação. Um dos
primeiros passos que um hacker pode explorar é fazer a verificação das portas que
estão abertas para comunicação. Caso, o administrador da rede queira impedir a
invasão no sistema ele poderá fechar as portas mais isso significa ficar sem
comunicação, então esta não é a melhor solução.
 4. TCP (Transmission Control Protocol) – Protocolo de Controle de
Transmissão
 É o protocolo TCP que faz a comunicação fim - a - fim da rede. É orientado à
conexão e altamente confiável independente da qualidade de serviços das sub-
redes que lhe servem de caminho. Para a confiabilidade de transmissão, garante a
entrega das informações na sequência em que lhe foram fornecidas, sem perda
nem duplicação.
 Esse protocolo tem como principal objectivo realizar a comunicação entre
aplicações de dois hosts diferentes. O protocolo TCP é um protocolo de nível de
transporte muito utilizado que trabalha com mensagens de reconhecimento,
especificação do formato da informação e mecanismos de segurança. Ele garante
que todos os PDU's (Protocol data Unit) serão enviados com sucesso, pois realiza
transmissões orientadas à conexão.
 Quando executado, utiliza o protocolo IP, não orientado à conexão. O TCP então
fica responsável pelo controle dos procedimentos da transferência segura de
dados. Cabe salientar que o IP não é o único protocolo não orientado à conexão
que pode ser utilizado pelo TCP.
 Para maior eficiência nas comunicações, o TCP engloba várias funções que
poderiam estar nas próprias aplicações, como processador de texto, base de dados
e correio electrónico. Ele foi criado com o intuito de ser um software universal
contendo essas funções.
 Existem ainda outros serviços do TCP:
 Controle de fluxo - O controle de fluxo atribui uma janela de transmissão ao host
de origem. Essa janela limita o número de bytes transmitidos por vez. O controlo
de fluxo em si está na possibilidade de atribuir diferentes valores às janelas.
 Segurança na transmissão - A confiabilidade nas transmissões via TCP está
baseada no fato de que esse protocolo é orientado à conexão e trabalha com
números de reconhecimento sequenciais e positivos.
 Comando de OPEN/CLOSE -Por meio de todos os dispositivos físicos, o TCP
pode estabelecer uma conexão virtual, a partir do comando OPEN. Nesse
momento, o TCP realiza o "three - way handshake", que é um processo onde os
TCP's origem e destino trocam mensagens de reconhecimento que possibilitam a
conexão.
No momento em que a transferência de informações terminar, qualquer host (origem ou
destino) poderá fechar a conexão virtual, a partir do comando CLOSE.
 Gerenciamento da informação nas transmissões orientadas a conexão - O
protocolo TCP pode controlar todos os aspectos da informação que esta sendo
transmitida, pois é um protocolo de transmissão orientada à conexão. A acção do
TCP se estende a toda a trajectória da informação, onde ele procura garantir o
sucesso da transmissão.
 Prioridade e segurança - O protocolo TCP permite que o administrador do host
controle os níveis de segurança e permissão de acesso, bem como as prioridades
nas conexões. Essas características não estão presentes em todas as versões, embora
estejam definidas nos padrões TCP.
 Transferências orientadas a “stream” - Os aplicativos de nível de interface em
geral enviam dados ao TCP de forma orientada a "stream", onde a informação é
transmitida byte a byte, um após o outro. Quando a informação chega ao TCP, é
então agrupada em pacotes e assim enviada aos demais níveis de transmissão.
As aplicações enviam dados a serem transmitidos pela rede ao protocolo TCP,
através de canais virtuais de comunicação chamados de portas. As portas mais
usadas pelo protocolo TCP são:
As portas mais usadas pelo protocolo TCP
Porta Uso
11 Systat
15 Netsat
20 FTP(dados)
21 FTP(controle)
23 Telnet
25 SMTP
43 Whois
79 Finger
80 HTTP
O TCP empacota os dados recebidos adicionando as informações da porta de
origem e da porta destino, entre outras, passando o pacote de dados ao
protocolo e ao IP.
A figura a seguir mostra o encapsulamento do pacote de dados TCP.
Figura 6: Encapsulamento de pacote de dados TCP.
Ao receber um quadro, a camada de interface com a rede da máquina receptora
(o driver e a placa de rede) ira passar os dados para a camada IP, que por sua vez
passará os dados para a camada TCP, que passará os dados para a aplicação
correcta. A camada TCP sabe para qual aplicação ela deve entregar os dados por
causa do uso do conceito de portas.
4.2. Transmissão e recepção de pacotes
O protocolo TCP envia uma mensagem de confirmação de recebimento a máquina
transmissora chamada acknowledge (também chamada ack).
Se o transmissor não receber uma confirmação de recebimento dentro de um
determinado tempo, o pacote é retransmitido, já que isso significa que datagrama
IP carregando informações inseridas pelo protocolo TCP foram desgastados no
meio do caminho por algum motivo.
Esse determinado tempo a que nos referimos no parágrafo anterior, chamado RTT
(Round trip time), tempo aproximado de viagem é calculado dinamicamente pelo
protocolo TCP.
 4.3. Conexão
 É comunicação entre duas aplicações em duas diferentes maquinas.
 O protocolo TCP é responsável por abrir uma conexão, mantê-la e fecha-la e é
mantida através do envio de dados do transmissor ao receptor.
 4.4. Socket
Cada porta permite o uso de um conceito chamado socket. O socket define uma
conexão dentro de uma porta. Com o uso deste conceito, pode-se ter várias
conexões diferentes em uma mesma porta.
Os sockets podem ser classificados em activos ou passivos. Um socket activo é
aquele que envia dados e um passivo é aquele que recebe dados.
 4.5. Janelas
Para aumentar o desempenho do envio do pacote, o protocolo TCP trabalha com
o conceito de janela. Com esse conceito, o transmissor pode enviar outros antes de
ter recebido a confirmação de recebimento do primeiro pacote enviado.
ESTRUTURA DO SEGMENTO TCP
Figura 07: Estrutura do segmento TCP
Onde꞉
•Porta de origem: indica a aplicação que origina os dados.
•Porta do destino: indica a aplicação para a qual os dados serão entregues no
receptor.
•Número de sequência: identifica o número do primeiro byte presente no segmento
dentro do fluxo de dados gerados pela aplicação.
•Número de confirmação: é o acknowledge (ack). Aqui é colocado o número de
sequência do próximo segmento que o receptor espera receber.
•HLEN ou Offset: Esse campo (header lenght) especifica o tamanho do cabeçalho
do pacote TCP, contado em número de 32 bits, isto é, o número de linhas existentes
na figura xxx (em outras palavras o numero de bits existentes no cabeçalho dividido
por 32).
•Bits de controlo ou bits de código: esses bits são usados para controle, conforme
mostra a próxima tabela (os seis bits deste campo são contados da esquerda para a
direita, isto é, o bit URG é o primeiro da esquerda e assim por diante).
Bit Significado
URG O campo ponteiro
ACK O campo numero de confirmação e valido
PSH Força a entrada dos dados ( push )
RST Reiniciar a conexão
SYS Sincronismo ,determina o número de sequência inicial
FIN O transmissor chegou ao fim dos seus dados
 Tamanho da janela: define o tamanho da janela, em bytes, que será usada
na conexão.
 Checksum: é calculado de forma similar ao checksum do protocolo UDP,
com a criação de um pseudo - cabeçalho.
 Ponteiro urgente: caso existam casos que precisem serem processados
antes de a conexão chegar ao fim, dentro de uma mesma conexão, o bit
URG é activado e este campo é usado para informar a posição, dentro do
segmento, em que os dados urgentes terminam.
 Opções + pad: Esse campo é opcional e possui tamanho variável. Se não
for usado, o tamanho do cabeçalho TCP é de 20 bytes. Caso seja usado, o
tamanho do cabeçalho passa a ter 24bytes. Se o campo opções for menor
que 32 bits, então são adicionados zeros (chamados pad) ate que tamanho
desse campo tenha 32 bits (4 bytes).

Mais conteúdo relacionado

Mais procurados

Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processosFaculdade Mater Christi
 
Análise de Tráfego TCP/IP
Análise de Tráfego TCP/IPAnálise de Tráfego TCP/IP
Análise de Tráfego TCP/IPThiago Finardi
 
Redes de computadores volume 2
Redes de computadores   volume 2Redes de computadores   volume 2
Redes de computadores volume 2Marques Silva
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumWellington Oliveira
 
Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPMauro Tapajós
 
Redes - Camada de Transporte
Redes - Camada de TransporteRedes - Camada de Transporte
Redes - Camada de TransporteLuiz Arthur
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPMauro Tapajós
 
Aula06 camada de transporte
Aula06 camada de transporteAula06 camada de transporte
Aula06 camada de transporteTiago Tda
 
Modelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteModelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteWalyson Vëras
 
Camada de transporte Aula de redes
Camada de transporte  Aula de redesCamada de transporte  Aula de redes
Camada de transporte Aula de redesJefferson Macena
 
Redes - Camada Enlace
Redes - Camada EnlaceRedes - Camada Enlace
Redes - Camada EnlaceLuiz Arthur
 
RC - SL05 - Camada de Enlace e Redes Locais
RC - SL05 - Camada de Enlace e Redes LocaisRC - SL05 - Camada de Enlace e Redes Locais
RC - SL05 - Camada de Enlace e Redes LocaisUFPB
 

Mais procurados (20)

Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
 
Análise de Tráfego TCP/IP
Análise de Tráfego TCP/IPAnálise de Tráfego TCP/IP
Análise de Tráfego TCP/IP
 
Redes de computadores volume 2
Redes de computadores   volume 2Redes de computadores   volume 2
Redes de computadores volume 2
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes Tanenbaum
 
Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IP
 
Redes - Camada de Transporte
Redes - Camada de TransporteRedes - Camada de Transporte
Redes - Camada de Transporte
 
Camada de transporte parte1
Camada de transporte parte1Camada de transporte parte1
Camada de transporte parte1
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IP
 
Aula06 camada de transporte
Aula06 camada de transporteAula06 camada de transporte
Aula06 camada de transporte
 
Trabalho camada de transporte
Trabalho camada de transporteTrabalho camada de transporte
Trabalho camada de transporte
 
Redes tcp udp
Redes tcp udpRedes tcp udp
Redes tcp udp
 
Modelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteModelo OSI - Camada de Transporte
Modelo OSI - Camada de Transporte
 
Exercicio rossana
Exercicio rossanaExercicio rossana
Exercicio rossana
 
Camada de transporte Aula de redes
Camada de transporte  Aula de redesCamada de transporte  Aula de redes
Camada de transporte Aula de redes
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
 
Camada de enlace parte2
Camada de enlace   parte2Camada de enlace   parte2
Camada de enlace parte2
 
Camada de Rede
Camada de RedeCamada de Rede
Camada de Rede
 
Redes - Camada Enlace
Redes - Camada EnlaceRedes - Camada Enlace
Redes - Camada Enlace
 
RC - SL05 - Camada de Enlace e Redes Locais
RC - SL05 - Camada de Enlace e Redes LocaisRC - SL05 - Camada de Enlace e Redes Locais
RC - SL05 - Camada de Enlace e Redes Locais
 

Destaque

ماذا بعد التحرج؟؟؟؟؟؟؟
ماذا بعد التحرج؟؟؟؟؟؟؟ماذا بعد التحرج؟؟؟؟؟؟؟
ماذا بعد التحرج؟؟؟؟؟؟؟HAJAR ameen
 
Tugas ekonomi islam
Tugas ekonomi islamTugas ekonomi islam
Tugas ekonomi islamAna Tamara
 
Artist summary
Artist summaryArtist summary
Artist summary11-awhi
 
BeeckmanFundamentalPrinciplesarticle2015
BeeckmanFundamentalPrinciplesarticle2015BeeckmanFundamentalPrinciplesarticle2015
BeeckmanFundamentalPrinciplesarticle2015Katrien Beeckman
 

Destaque (7)

Resume
ResumeResume
Resume
 
Tarea diplomado
Tarea diplomadoTarea diplomado
Tarea diplomado
 
ماذا بعد التحرج؟؟؟؟؟؟؟
ماذا بعد التحرج؟؟؟؟؟؟؟ماذا بعد التحرج؟؟؟؟؟؟؟
ماذا بعد التحرج؟؟؟؟؟؟؟
 
Monalisa
MonalisaMonalisa
Monalisa
 
Tugas ekonomi islam
Tugas ekonomi islamTugas ekonomi islam
Tugas ekonomi islam
 
Artist summary
Artist summaryArtist summary
Artist summary
 
BeeckmanFundamentalPrinciplesarticle2015
BeeckmanFundamentalPrinciplesarticle2015BeeckmanFundamentalPrinciplesarticle2015
BeeckmanFundamentalPrinciplesarticle2015
 

Semelhante a Protocolos de Transporte TCP, UDP e ICMP

Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostasForça Tauá
 
Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Caio Miranda
 
Modelos osi tcpip
Modelos osi tcpipModelos osi tcpip
Modelos osi tcpipSuguha
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteWellington Oliveira
 
Modelo ozil camada de transporte
Modelo ozil camada de transporteModelo ozil camada de transporte
Modelo ozil camada de transporte2lindos
 
Modelo ozil camada de transporte
Modelo ozil camada de transporteModelo ozil camada de transporte
Modelo ozil camada de transporte2lindos
 
02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdf02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdfedsonjcg
 
Bases para internet
Bases para internetBases para internet
Bases para internetdiogolevel3
 
Bases para internet
Bases para internetBases para internet
Bases para internetdiogolevel3
 
Camada de transporte
Camada de transporteCamada de transporte
Camada de transportePaula Lopes
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IPEvandro Júnior
 
Ac m4 -_tarefa_video_-_petro
Ac m4 -_tarefa_video_-_petroAc m4 -_tarefa_video_-_petro
Ac m4 -_tarefa_video_-_petrokamatozza
 
FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6Matheus Girardi
 

Semelhante a Protocolos de Transporte TCP, UDP e ICMP (20)

Intro_redes.pdf
Intro_redes.pdfIntro_redes.pdf
Intro_redes.pdf
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostas
 
Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2
 
Protocolos TCP/IP
Protocolos TCP/IPProtocolos TCP/IP
Protocolos TCP/IP
 
Modelos osi tcpip
Modelos osi tcpipModelos osi tcpip
Modelos osi tcpip
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de Transporte
 
Modelo ozil camada de transporte
Modelo ozil camada de transporteModelo ozil camada de transporte
Modelo ozil camada de transporte
 
Modelo ozil camada de transporte
Modelo ozil camada de transporteModelo ozil camada de transporte
Modelo ozil camada de transporte
 
02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdf02 - Aplicação-Transporte.pdf
02 - Aplicação-Transporte.pdf
 
Redes - TCP/IP
Redes - TCP/IPRedes - TCP/IP
Redes - TCP/IP
 
Bases para internet
Bases para internetBases para internet
Bases para internet
 
Bases para internet
Bases para internetBases para internet
Bases para internet
 
Camada de transporte
Camada de transporteCamada de transporte
Camada de transporte
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IP
 
Ac m4 -_tarefa_video_-_petro
Ac m4 -_tarefa_video_-_petroAc m4 -_tarefa_video_-_petro
Ac m4 -_tarefa_video_-_petro
 
FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6FAST TCP e Checksum no IPV6
FAST TCP e Checksum no IPV6
 
Arquitetura tcp ip - 1
Arquitetura tcp ip - 1Arquitetura tcp ip - 1
Arquitetura tcp ip - 1
 
Lab 06 ping_com_udp
Lab 06 ping_com_udpLab 06 ping_com_udp
Lab 06 ping_com_udp
 
Tcp
TcpTcp
Tcp
 

Protocolos de Transporte TCP, UDP e ICMP

  • 2. Camada de transporte, que tanto no Modelo OSI quanto no Modelo TCP/IP, é a camada responsável pela transferência eficiente, confiável e económica dos dados entre a máquina de origem e a máquina de destino, independente do tipo, topologia ou configuração das redes físicas existentes entre elas, garantindo ainda que os dados cheguem sem erros e na sequência correcta. A camada de transporte possui dois protocolos que são o UDP ( User Datagram Protocol) e TCP (Transmission Control Protocol).  Camada de rede do modelo OSI que é responsável por controlar a operação da rede de um modo geral. Suas principais funções são o roteamento dos pacotes entre fonte e destino, o controle de congestionamento e a contabilização do número de pacotes ou bytes utilizados pelo usuário, para fins de tarifação.  O protocolo da camada de rede que iremos detalhar é o ICMP ( Internet Control Message Protocol).
  • 3.  2. ICMP (Internet Control Message Protocol)  É um protocolo de mensagem de controlo da Internet (utilizado para envio de mensagens de controle e mensagens de erro em emissão de bancos de dados do tipo IP).  Caso um roteador não consiga passar adiante um datagrama recebido por estar congestionado demais ou então por ter zerado o campo tempo de vida (ITL, Time to Live) do datagrama que ocorreu um erro.  O mecanismo usado pelos roteadores para informar esse tipo de erro è o uso do protocolo ICMP, Internet Control Message Protocol. Apesar de estarmos tratando o ICMP como um assunto à parte, ele è parte integrante do protocolo IP.  Ele não se preocupa em corrigir o erro nem tão pouco em verificar a integridade dos datagramas que circulam pela rede.
  • 4.  Como mostramos na figura 1, a mensagem ICMP è transmitida usando um datagrama IP. Como o IP não verifica se um datagrama chegou ou não ao destino, pode ocorrer de a própria mensagem ICMP ser perdida no meio caminho! Figura 1: Encapsulamento de uma mensagem ICMP È também importante notar que o ICMP, apesar de ser encapsulado em um datagrama IP, não è considerado um protocolo de alto nível (como o TCP ou o UDP).
  • 5. 2.1. ESTRUTURA DAS MENSAGENS ICMP  Cada mensagem ICMP possui uma estrutura própria, mas todas elas começam da mesma maneira, mostrada na figura 2. O campo tipo informa justamente o tipo de mensagem ICMP. Sò para se ter uma ideia concreta dos tipos de mensagens ICMP existentes, na tabela a seguir mostramos alguns desses tipos e seu valor numérico (entrado no campo Tipo). Figura2: Cabeçalho do protocolo ICMP
  • 6. O campo Código prove mais informações sobre a mensagem ICMP, e o campo Checksum apresenta a soma de todos os valores presentes na mensagem ICMP. Checksum - é uma conta que consiste em somar todos os bytes presentes no pacote de dados e enviar o resultado dentro do próprio pacote. Para entendermos melhor o funcionamento do ICMP, iremos explicar rapidamente o funcionamento de algumas das mensagens ICMP existentes.
  • 7. 2.2.ECO A mensagem de eco serve para verificar se o caminho entre o transmissor e o receptor está bom.  2.3.DESTINO INALCANÇAVEL Caso o roteador não consiga entregar um determinado datagrama,ele envia para o transmissor uma mensagem ICMP de destino inalcançável. Na mensagem de destino inalcançável, o campo código do cabeçalho ICMP (ver figura 2) e preenchido com um dos seguintes valores.  2.4.CONGESTIONAMENTO  Um roteador pode porventura receber um número maior de datagramas do que ele e capaz de processar. Caso isso ocorra, dizemos que o roteador esta congestionado. Neste tipo de situação, o roteador inclusive pode ter de descartar datagramas por não estar sendo capaz de recebe - los naquele momento. Quando isso ocorre, o roteador envia uma mensagem de redução da velocidade de transmissão ao transmissor do datagrama descartado. O transmissor, ao receber essa mensagem, passa a transmitir datagramas a uma velocidade menor.
  • 8. 2.5.REDIRECIONAMENTO Caso o roteador verifique que na rede local onde ele está instalado existe uma rota melhor a ser usada para enviar um datagrama recebido, ele envia uma mensagem ICMP de solicitação de redireccionamento ao transmissor, enviando também o datagrama ao destino. 2.6.TEMPO DE VIDA EXCEDIDO Quando o contador Tempo de Vida (TTL, Time to Live) do datagrama e zerado, o roteador envia para a maquina transmissora uma mensagem ICMP de tempo de vida excedido. Como vimos anteriormente, todo datagrama IP possui um campo tempo de vida, que possui um valor que e decrementado a cada vez que o datagrama passa por um roteador.
  • 9.  2.7.PROBLEMA NOS PARAMETROS Quando um roteador ou uma máquina encontra problemas para processar um datagrama e não há nenhuma outra mensagem ICMP que cubra o problema encontrado, o roteador (ou máquina) envia uma mensagem de problema nos parâmetros para o transmissor. Normalmente essa mensagem è usada quando o roteador não consegue decodificar correctamente as informações presentes no cabeçalho IP do datagrama, isto è, quando há algum problema no cabeçalho do datagrama.  2.8.SOLICITAÇÃO DE HORÀRIO Através dessa mensagem de controlo uma máquina pode pedir o horário do relógio de outra máquina que esteja conectada na rede. A máquina transmissora envia um comando de solicitação de horário (mensagem ICMP tipo 13) a máquina da qual quer saber o horário, incluindo no datagrama a hora do envio do datagrama. A máquina receptora responde ao comando de solicitação de horário (mensagem ICMP tipo 14) incluindo o horário que o datagrama chegou atè ela e o horário em que o datagrama de resposta foi enviado.
  • 10.  3. UDP (USER DATAGRAM PROTOCOL) O User Datagram Protocol (UDP) que significa protocolo de datagramas de utilizador (ou usuário)- é um protocolo de transporte não orientado á conexão. O UDP é pouco confiável, não existem técnicas no protocolo para confirmar que os dados chegaram ao destino correctamente. Por esse motivo esse protocolo não é usado no transporte de dados importantes como arquivos e e-mails. Na verdade as aplicações que usam o UDP deverão criar mecanismos para verificar se os dados chegaram ao destino correctamente e para colocar os datagramas recebidos em ordem.
  • 11. 3.1. Vantagens do UDP  A vantagem de os programas usarem o UDP em vez do TCP em dados pequenos é que a transmissão de dados fica mais rápida.  Em redes locais confiáveis, onde não há quase perda de pacotes, o uso do protocolo UDP é atè viável.  3.2. Desvantagens do UDP  Em redes grandes,e principalmente na internet a taxa de perdas de pacotes pode ser grande de mais e acabar dando mais trabalho a aplicação ,tornando o envio de pacotes através do UDP inviável do ponto de vista prático .Por esse motivo o protocolo UDP so é usado para o envio de dados pequenos e onde a taxa de perda de pacotes não é problema, isto é, não vai dar muito trabalho a aplicação.
  • 12.  3.3. Protocolos que Utilizam o UDP  SNMP-(Simple Network Managment)É utilizado para configurar dispositivos como switches ou roteadores e permite que estes enviem o seu status. O problema é que os hackers, utilizam este protocolo para obter informações sobre o sistema, como as tabelas de roteamento. As últimas versões do SNMP podem fazer criptografia md5, porém a maioria ainda usa versões antigas que passa o password em formato de texto.  TFTP - (Trivial File TranferProtocol) - Esse protocolo é um dos mais elementares que existem, pois apresenta poucos utilitários, como controle temporal e de integridade. Ele é um modelo mais simples de FTP, pois não possui nenhum tipo de mecanismo de segurança e como é baseado no protocolo UDP, não se pode confiar na integridade de suas transmissões.
  • 13.  DHCP-(Dynamic Host Configuration Protocol) É utilizado em redes que sofrem constantes alterações na topologia e o administrador não pode verificar o IP (Internet Protocol) de cada máquina devido a enorme quantidade, então o roteador distribui IPs automaticamente para as estações. Como esta atribuição é feita com a utilização do UDP, caso haja algum problema o usuário terá que pedir o reenvio ou reiniciar a máquina. O único problema técnico deste protocolo é que como os IPs são atribuídos aleatoriamente, fica mais difícil para o administrador ter controle sobre o que cada host está fazendo.  DNS –(Domain Name System) Um tradutor dos nomes na rede, na qual cada IP pode ser correspondido com um nome. Neste caso, imaginemos que um usuário esteja acessando a internet e deseja ir para outra página. Ele digita o endereço no campo apropriado e entra. Se a página, por acaso, não abrir por não ter reconhecido o endereço, o problema poderá ter sido no envio ou resposta do servidor de nomes utilizando o UDP, e então o usuário tentará de novo acessar a página e provavelmente conseguirá.
  • 14. Encapsulamento de um datagrama UDP Figura 3: Encapsulamento de um datagrama UDP 3.4.Estrutura do Datagrama UDP Como foi visto no TCP/IP as aplicações comunicam-se com os protocolos da camada de transporte (o UDP e o TCP) através de portas. Figura 4: Estrutura do datagrama UDP
  • 15. Os campos porta de origem e porta de destino especificam a aplicação que originou o datagrama e para cuja aplicação o datagrama deverá ser entregue na máquina de destino. Mesmo que a máquina de destino receba vários datagramas UDP vindo de várias aplicações diferentes, ela tem como saber para qual aplicação deve entregar o conteúdo do datagrama por causa da existência do campo Porta de Destino. O campo tamanho especifica o tamanho do datagrama UDP em bites, incluindo o seu cabeçalho e sua área de dados. O valor mínimo para esse campo é oito que é o tamanho do próprio cabeçalho. Já o checksum é calculado de forma não convencional. O protocolo UDP cria um pseudo - cabeçalho esse pseudo - cabeçalho é formado apenas para ser utilizado na soma que resultara no checksum do datagrama, não sendo transmitido junto com o datagrama. Esse pseudo - cabeçalho é formado pelo endereço IP de origem e pelo endereço IP de destino, pelo conjunto de oito zeros (campo zeros) pelo numero que o protocolo UDP representa no protocolo IP( 17 campo protocolo) e novamente o tamanho do datagrama UDP ( mesmo valor presente no campo tamanho do datagrama do verdadeiro cabeçalho UDP). Para formar o seu checksum, o UDP faz a soma usando os valores desse pseudo - cabeçalho ( que não é transmitido) os valores do seu cabeçalho verdadeiro ( este sim é transmitido), e os valores presentes em seu campo de dados.
  • 16. Figura 5: Pseudo - cabeçalho UDP, usando apenas o checksum Teoricamente o campo checksum é opcional (para não usar o checksum, basta preencher esse campo com todos os bits em um). Entretanto, sem o uso do checksum torna-se impossível saber se o dado recebido está corrompido ou não, isto é se ele sofreu ou não alterações durante o caminho entre o transmissor e o receptor. Por isso, a maioria das aplicações que usam o UDP prefere realizar o checksum. 3.5. Vulnerabilidades do Protocolo UDP O protocolo UDP assim como o TCP utilizam portas para a comunicação. Um dos primeiros passos que um hacker pode explorar é fazer a verificação das portas que estão abertas para comunicação. Caso, o administrador da rede queira impedir a invasão no sistema ele poderá fechar as portas mais isso significa ficar sem comunicação, então esta não é a melhor solução.
  • 17.  4. TCP (Transmission Control Protocol) – Protocolo de Controle de Transmissão  É o protocolo TCP que faz a comunicação fim - a - fim da rede. É orientado à conexão e altamente confiável independente da qualidade de serviços das sub- redes que lhe servem de caminho. Para a confiabilidade de transmissão, garante a entrega das informações na sequência em que lhe foram fornecidas, sem perda nem duplicação.  Esse protocolo tem como principal objectivo realizar a comunicação entre aplicações de dois hosts diferentes. O protocolo TCP é um protocolo de nível de transporte muito utilizado que trabalha com mensagens de reconhecimento, especificação do formato da informação e mecanismos de segurança. Ele garante que todos os PDU's (Protocol data Unit) serão enviados com sucesso, pois realiza transmissões orientadas à conexão.  Quando executado, utiliza o protocolo IP, não orientado à conexão. O TCP então fica responsável pelo controle dos procedimentos da transferência segura de dados. Cabe salientar que o IP não é o único protocolo não orientado à conexão que pode ser utilizado pelo TCP.  Para maior eficiência nas comunicações, o TCP engloba várias funções que poderiam estar nas próprias aplicações, como processador de texto, base de dados e correio electrónico. Ele foi criado com o intuito de ser um software universal contendo essas funções.
  • 18.  Existem ainda outros serviços do TCP:  Controle de fluxo - O controle de fluxo atribui uma janela de transmissão ao host de origem. Essa janela limita o número de bytes transmitidos por vez. O controlo de fluxo em si está na possibilidade de atribuir diferentes valores às janelas.  Segurança na transmissão - A confiabilidade nas transmissões via TCP está baseada no fato de que esse protocolo é orientado à conexão e trabalha com números de reconhecimento sequenciais e positivos.  Comando de OPEN/CLOSE -Por meio de todos os dispositivos físicos, o TCP pode estabelecer uma conexão virtual, a partir do comando OPEN. Nesse momento, o TCP realiza o "three - way handshake", que é um processo onde os TCP's origem e destino trocam mensagens de reconhecimento que possibilitam a conexão. No momento em que a transferência de informações terminar, qualquer host (origem ou destino) poderá fechar a conexão virtual, a partir do comando CLOSE.  Gerenciamento da informação nas transmissões orientadas a conexão - O protocolo TCP pode controlar todos os aspectos da informação que esta sendo transmitida, pois é um protocolo de transmissão orientada à conexão. A acção do TCP se estende a toda a trajectória da informação, onde ele procura garantir o sucesso da transmissão.
  • 19.  Prioridade e segurança - O protocolo TCP permite que o administrador do host controle os níveis de segurança e permissão de acesso, bem como as prioridades nas conexões. Essas características não estão presentes em todas as versões, embora estejam definidas nos padrões TCP.  Transferências orientadas a “stream” - Os aplicativos de nível de interface em geral enviam dados ao TCP de forma orientada a "stream", onde a informação é transmitida byte a byte, um após o outro. Quando a informação chega ao TCP, é então agrupada em pacotes e assim enviada aos demais níveis de transmissão. As aplicações enviam dados a serem transmitidos pela rede ao protocolo TCP, através de canais virtuais de comunicação chamados de portas. As portas mais usadas pelo protocolo TCP são:
  • 20. As portas mais usadas pelo protocolo TCP Porta Uso 11 Systat 15 Netsat 20 FTP(dados) 21 FTP(controle) 23 Telnet 25 SMTP 43 Whois 79 Finger 80 HTTP
  • 21. O TCP empacota os dados recebidos adicionando as informações da porta de origem e da porta destino, entre outras, passando o pacote de dados ao protocolo e ao IP. A figura a seguir mostra o encapsulamento do pacote de dados TCP. Figura 6: Encapsulamento de pacote de dados TCP.
  • 22. Ao receber um quadro, a camada de interface com a rede da máquina receptora (o driver e a placa de rede) ira passar os dados para a camada IP, que por sua vez passará os dados para a camada TCP, que passará os dados para a aplicação correcta. A camada TCP sabe para qual aplicação ela deve entregar os dados por causa do uso do conceito de portas. 4.2. Transmissão e recepção de pacotes O protocolo TCP envia uma mensagem de confirmação de recebimento a máquina transmissora chamada acknowledge (também chamada ack). Se o transmissor não receber uma confirmação de recebimento dentro de um determinado tempo, o pacote é retransmitido, já que isso significa que datagrama IP carregando informações inseridas pelo protocolo TCP foram desgastados no meio do caminho por algum motivo. Esse determinado tempo a que nos referimos no parágrafo anterior, chamado RTT (Round trip time), tempo aproximado de viagem é calculado dinamicamente pelo protocolo TCP.
  • 23.  4.3. Conexão  É comunicação entre duas aplicações em duas diferentes maquinas.  O protocolo TCP é responsável por abrir uma conexão, mantê-la e fecha-la e é mantida através do envio de dados do transmissor ao receptor.  4.4. Socket Cada porta permite o uso de um conceito chamado socket. O socket define uma conexão dentro de uma porta. Com o uso deste conceito, pode-se ter várias conexões diferentes em uma mesma porta. Os sockets podem ser classificados em activos ou passivos. Um socket activo é aquele que envia dados e um passivo é aquele que recebe dados.  4.5. Janelas Para aumentar o desempenho do envio do pacote, o protocolo TCP trabalha com o conceito de janela. Com esse conceito, o transmissor pode enviar outros antes de ter recebido a confirmação de recebimento do primeiro pacote enviado.
  • 24. ESTRUTURA DO SEGMENTO TCP Figura 07: Estrutura do segmento TCP
  • 25. Onde꞉ •Porta de origem: indica a aplicação que origina os dados. •Porta do destino: indica a aplicação para a qual os dados serão entregues no receptor. •Número de sequência: identifica o número do primeiro byte presente no segmento dentro do fluxo de dados gerados pela aplicação. •Número de confirmação: é o acknowledge (ack). Aqui é colocado o número de sequência do próximo segmento que o receptor espera receber. •HLEN ou Offset: Esse campo (header lenght) especifica o tamanho do cabeçalho do pacote TCP, contado em número de 32 bits, isto é, o número de linhas existentes na figura xxx (em outras palavras o numero de bits existentes no cabeçalho dividido por 32). •Bits de controlo ou bits de código: esses bits são usados para controle, conforme mostra a próxima tabela (os seis bits deste campo são contados da esquerda para a direita, isto é, o bit URG é o primeiro da esquerda e assim por diante).
  • 26. Bit Significado URG O campo ponteiro ACK O campo numero de confirmação e valido PSH Força a entrada dos dados ( push ) RST Reiniciar a conexão SYS Sincronismo ,determina o número de sequência inicial FIN O transmissor chegou ao fim dos seus dados
  • 27.  Tamanho da janela: define o tamanho da janela, em bytes, que será usada na conexão.  Checksum: é calculado de forma similar ao checksum do protocolo UDP, com a criação de um pseudo - cabeçalho.  Ponteiro urgente: caso existam casos que precisem serem processados antes de a conexão chegar ao fim, dentro de uma mesma conexão, o bit URG é activado e este campo é usado para informar a posição, dentro do segmento, em que os dados urgentes terminam.  Opções + pad: Esse campo é opcional e possui tamanho variável. Se não for usado, o tamanho do cabeçalho TCP é de 20 bytes. Caso seja usado, o tamanho do cabeçalho passa a ter 24bytes. Se o campo opções for menor que 32 bits, então são adicionados zeros (chamados pad) ate que tamanho desse campo tenha 32 bits (4 bytes).