Escola de Cincia e Tecnologia Arquitetura TCPIP Protocolos

  • Slides: 35
Download presentation
Escola de Ciência e Tecnologia Arquitetura TCP/IP Protocolos TCP, UDP e ICMP Etienne César

Escola de Ciência e Tecnologia Arquitetura TCP/IP Protocolos TCP, UDP e ICMP Etienne César R. de Oliveira etienne. oliveira@unigranrio. br 1ª Versão – novembro de 2012

Escola de Ciência e Tecnologia Arquitetura TCP/IP Sumário 1. Camada de Transporte 1. 1.

Escola de Ciência e Tecnologia Arquitetura TCP/IP Sumário 1. Camada de Transporte 1. 1. Protocolo TCP 1. 2. Protocolo UDP 2. Protocolo ICMP 2

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. Camada de Transporte Arquitetura TCP/IP Conceito

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. Camada de Transporte Arquitetura TCP/IP Conceito de Portas Lógicas Portas Conhecidas – RFC 1700 • Números abaixo de 255 – para aplicações públicas • Números de 255 a 1023 – para aplicações comerciais • Números acima de 1023 – não são regulamentados 3

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. Camada de Transporte Conceito de Portas

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. Camada de Transporte Conceito de Portas Lógicas Internet Porta Origem > 1023 | Porta de Destino = 80 Porta Origem = 80 | Porta de Destino > 1023 4

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Protocolo de transporte

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Protocolo de transporte considerado confiável Orientado à conexão Controle de fluxo (Janela Deslizante) Controle de erros com retransmissão Sequenciamento Entrega ordenada Comunicação Full-Duplex 5

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Formato do Cabeçalho

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Formato do Cabeçalho TCP Porta origem Porta destino Número de Sequência Acknowlegement Tam. Reser. Flags Checksum Window Urgent Pointer Opções (se houver) Dados 6

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Orientado à conexão

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Orientado à conexão – Three Way Handshake Três Fases Flags Estabelecimento da Conexão Transmissão de Dados Encerramento da Conexão URG – Identifica que o campo Urgent Pointer contém dados válidos. ACK – Reconhecimento de recebimento. O campo Acknowledgement contém dados válidos. PSH – Indica que o receptor deve repassar os dados imediatamente à aplicação. RST – Usado para rejeitar um segmento inválido ou para reiniciar uma conexão. SYN – Utilizado para iniciar uma conexão. FIN – Utilizado para encerrar uma conexão. Options MSS – Maximum Segment Size (default=536 bytes) 7

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Orientado à conexão

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Orientado à conexão – Three Way Handshake Flags(SYN), Seq(521) Origem Destino , Portas(1501, 80), M SS(1024) A B 024) Flags(SYN, A 501), ), Portas(80, 1 2 8 (1 q e S ), 2 CK=52 MSS(1 Flags(ACK=183), Seq( 522), Portas(1501, 80 ) DADOS Flags(FIN, ACK=Y), Se q(X), Portas(1501, 80 ) Flags(FIN, ACK=X+1), Seq(Y), Portas(80, 1501) Flags(ACK=Y+1), Se q(X+1), Portas(1501, 80) 8

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Diagrama de Estados

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Diagrama de Estados Origem SYN_SENT A LISTEN SYN_RCVD Destino B SYN + ACK ESTABLISHED FIN_WAIT 1 FIN CLOSE_WAIT ACK FIN_WAIT 2 FIN + ACK TIME_WAIT 2 LAST_ACK 9 CLOSED

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Controle de Fluxo

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Controle de Fluxo (Janela Deslizante) Origem Flags(SYN), Seq(521) , Portas(1501, 80), M SS(1024) A (102 0, 1501), MSS as(8 eq(182), Port S ), 2 2 5 = K C Flags(SYN, A Flags(ACK=183), Seq( 522), Portas(1501, 80 ) Flags(ACK=183), Seq( 523), Portas(1501, 80 ), Flags(ACK=183), Seq( 3 547), Seq(18 4) Janela Deslizante=1024 DATA(804) 1327), Portas(1501, 80 ), Flags(ACK=1 Destino B 804 DATA(220) 501) ), Portas(80, 1 804 220 10

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Retransmissões Origem Flags(SYN),

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Retransmissões Origem Flags(SYN), Seq(521) , Portas(1501, 80), M SS(1024) A Temporizador (time-out) ou NACK (102 0, 1501), MSS (8 s a rt o P ), 2 q(18 CK=522), Se Flags(SYN, A Flags(ACK=183), Seq( 522), Portas(1501, 80 ) Flags(ACK=183), Seq( 523), Portas(1501, 80 ), 4) Destino B Janela Deslizante=1024 DATA(804) Flags(ACK=183), Seq( 1327), Portas(1501, 80 ), DATA(220) 220 s(80, 1501) q(183), Porta 23), Se Flags(ACK=5 Flags(ACK=184), Seq( 523), Portas(1501, 80 ), 0, 150 84), Portas(8 (1 q e S ), 7 4 5 Flags(ACK=1 1) DATA(804) 804 220

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a)

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a) b) c) d) 1 Suponha que em uma conexão tenha sido negociado o valor de 5 mensagens para uma janela de transmissão e que as seguintes confirmações tenham sido recebidas. Baseado nesta informação, identifique as mensagens que poderão ser transmitidas em cada instante. Instante 0 Mensagens: Instante 1 – Ack (3) Mensagens: Instante 2 – Ack (7) Mensagens: Instante 3 – Ack (11) Mensagens: 2 3 4 5 6 7 8 9 10 11 12

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a)

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a) b) c) d) 1 Suponha que em uma conexão tenha sido negociado o valor de 5 mensagens para uma janela de transmissão e que as seguintes confirmações tenham sido recebidas. Baseado nesta informação, identifique as mensagens que poderão ser transmitidas em cada instante. Instante 0 Mensagens: 1, 2, 3, 4 e 5 Instante 1 – Ack (3) Mensagens: Instante 2 – Ack (7) Mensagens: Instante 3 – Ack (11) Mensagens: 2 3 4 5 6 7 8 9 10 11 12

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a)

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a) b) c) d) 1 Suponha que em uma conexão tenha sido negociado o valor de 5 mensagens para uma janela de transmissão e que as seguintes confirmações tenham sido recebidas. Baseado nesta informação, identifique as mensagens que poderão ser transmitidas em cada instante. Instante 0 Mensagens: 1, 2, 3, 4 e 5 Instante 1 – Ack (3) Mensagens: 3, 4, 5, 6 e 7 Instante 2 – Ack (7) Mensagens: Instante 3 – Ack (11) Mensagens: 2 3 4 5 6 7 8 9 10 11 12

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a)

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a) b) c) d) 1 Suponha que em uma conexão tenha sido negociado o valor de 5 mensagens para uma janela de transmissão e que as seguintes confirmações tenham sido recebidas. Baseado nesta informação, identifique as mensagens que poderão ser transmitidas em cada instante. Instante 0 Mensagens: 1, 2, 3, 4 e 5 Instante 1 – Ack (3) Mensagens: 3, 4, 5, 6 e 7 Instante 2 – Ack (7) Mensagens: 7, 8, 9, 10 e 11 Instante 3 – Ack (11) Mensagens: 2 3 4 5 6 7 8 9 10 11 12

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a)

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Janela Deslizante a) b) c) d) 1 Suponha que em uma conexão tenha sido negociado o valor de 5 mensagens para uma janela de transmissão e que as seguintes confirmações tenham sido recebidas. Baseado nesta informação, identifique as mensagens que poderão ser transmitidas em cada instante. Instante 0 Mensagens: 1, 2, 3, 4 e 5 Instante 1 – Ack (3) Mensagens: 3, 4, 5, 6 e 7 Instante 2 – Ack (7) Mensagens: 7, 8, 9, 10 e 11 Instante 3 – Ack (11) Mensagens: 11 e 12 2 3 4 5 6 7 8 9 10 11 12

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Tamanho Máximo do

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 1 Protocolo TCP Tamanho Máximo do Datagrama IP com TCP Teoricamente o tamanho máximo é de 64 KB, pois no protocolo IP o campo tamanho total é de 16 bits; Mas deve-se considerar que no IP estão sendo computados: Tamanho do Cabeçalho do IP (20 bytes) Tamanho do Cabeçalho do TCP (20 bytes) Assim, o tamanho máximo é de 65495 bytes, considerando que os campos options dos protocolos não estão sendo utilizados;

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP O protocolo UDP

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP O protocolo UDP é bastante simples: Orientado a datagrama; Não orientado à conexão; Não executa controle de fluxo, controle de erro e sequenciamento; Não tem reconhecimento dos segmentos (ACK/NACK). Devido a sua simplicidade é considerado não confiável

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Formato do Cabeçalho

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Formato do Cabeçalho UDP 0 16 31 Porta Origem Porta Destino Tamanho Checksum Dados 19

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP O checksum no

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP O checksum no UDP é opcional Campo de checksum = 0, não executa verificação Campo de checksum <> 0, executa verificação O cálculo do checksum utiliza o header, os dados e também o pseudo-header O pseudo-header é utilizado para verificação adicional e confirmação de que o segmento chegou ao destino correto 0 16 31 Endereço IP Origem Endereço IP Destino Zero Protocolo Tamanho

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Ordem para cálculo

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Ordem para cálculo do checksum 0 16 31 Endereço IP Origem Endereço IP Destino Zero Header UDP Protocolo Pseudo-Header Tamanho Porta Origem Porta Destino Tamanho Checksum Datagrama UDP Dados Atenção! O pseudo-header não é transmitido junto com o datagrama UDP, ele é utilizado apenas para cálculo do checksum.

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Processamento do checksum

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Processamento do checksum Na origem, as informações necessárias são organizadas em blocos de 16 bits para o cálculo do checksum; Caso o cálculo resulte em zero, os 16 bits do checksum serão configurado todos em 1 (valor = 65535); Caso o checksum não seja utilizado, os 16 bits serão configurados todos em 0; Se o checksum recebido tem todos os bits em zero, não é necessário calculá-lo (pois não está sendo utilizado); Caso contrário, o cálculo do checksum é realizado novamente: Se o cálculo resultar em zero, o datagrama não contém erros; Se o cálculo resultar diferente de zero, o datagrama é descartado.

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Tamanho Máximo do

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 2 Protocolo UDP Tamanho Máximo do Datagrama IP com UDP Teoricamente o tamanho máximo é de 64 KB, pois no protocolo IP o campo tamanho total é de 16 bits; Mas deve-se considerar que no IP estão sendo computados: Tamanho do cabeçalho do IP (20 bytes) Tamanho do cabeçalho do UDP (8 bytes) Assim, o tamanho máximo é de 65507 bytes, considerando que o campo option do protocolo IP não está sendo utilizado;

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 3 Resumo UDP TCP Serviço sem

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 3 Resumo UDP TCP Serviço sem conexão; nenhuma sessão é estabelecida entre os hosts. Serviço orientado por conexão; uma sessão é estabelecida entre os hosts. UDP não garante ou confirma a entrega ou sequência os dados. TCP garante a entrega através do uso de confirmações e entrega seqüenciada dos dados. Os programas que usam UDP são responsáveis por oferecer a confiabilidade necessária ao transporte de dados. Os programas que usam TCP têm garantia de transporte confiável de dados. UDP é rápido e gera menor sobrecarga que o TCP é mais lento e gera maior sobrecarga que o UDP. 24

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 3 Resumo Segmentos TCP e UDP

Escola de Ciência e Tecnologia Arquitetura TCP/IP 1. 3 Resumo Segmentos TCP e UDP TCP UDP

Escola de Ciência e Tecnologia Arquitetura TCP/IP Introdução l Internet Control Message Protocol (ICMP)

Escola de Ciência e Tecnologia Arquitetura TCP/IP Introdução l Internet Control Message Protocol (ICMP) l Utilizado para enviar mensagens de erro e de controle l Protocolo de Nível 3 l Encapsulado em um datagrama IP Header ICMP Header IP Mensagem ICMP

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Características do ICMP Não

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Características do ICMP Não é enviada uma mensagem ICMP para mensagens ICMP de erro Isto é: ICMP não relata erros que ocorram em mensagens ICMP Em caso de fragmentação, os erros são relatados somente sobre o primeiro fragmento (offset = 0)

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Cabeçalho ICMP O ICMP

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Cabeçalho ICMP O ICMP tem uma frame básico, comum a todos os tipo de mensagem Type: tipo da mensagem Echo, Timestamp, Destination Unreachable, . . . Code: tipo específico Checksum: da mensagem ICMP 0 8 Type 16 Code 31 Checksum

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Tipo de Mensagens ICMP

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Tipo de Mensagens ICMP Tipo Descrição 0 Echo reply 15 Information request 3 Destination unreachable 16 Information reply 4 Source quench 17 Address mask request 5 Redirect 18 Address mask reply 8 Echo request 11 Time exceeded 12 Parameter unintelligible 13 Time-stamp request 14 Time-stamp reply

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP 0 Echo Request /

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP 0 Echo Request / Echo Reply – Ping 8 16 Type Code Checksum Identifier Sequence Number Optional Data. . ð Type: ü 8 – Echo Request ü 0 – Echo Reply ð Code: sempre zero (0) 31

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Destination Unreachable 0 8

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Destination Unreachable 0 8 Type 16 Code 31 Checksum Unused (Must be Zero) Internet Header + First 64 bits of datagram. . Type: 3 - Destination Unreachable Code: Vários códigos específicos

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Destination Unreachable – Code

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Destination Unreachable – Code Código 0 1 2 3 4 5 6 7 8 9 10 11 12 Descrição Network unreachable Host unreachable Protocol unreachable Port unreachable Fragmentation need and don’t fragment bit set Source route failed Destination network unknown Destination host unknown Source host isolated Communication with dest net administratively prohibited Communication with dest host administratively prohibited Network unreachable for type of service Host unreachable for type of service

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Time Exceeded 0 8

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Time Exceeded 0 8 Type 16 Code 31 Checksum Unused (Must be Zero) Internet Header + First 64 bits of datagram. . Type 11 – Time Exceeded Código 0 – Time-to-live count exceeded 1 – Fragment reassembly time exceeded

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Outras Mensagens Timestamp Redirect

Escola de Ciência e Tecnologia Arquitetura TCP/IP 2. Protocolo ICMP Outras Mensagens Timestamp Redirect Gerada para correção de rotas Address Maks Request/Reply Gerada para marcação de data/hora de passagem do datagrama Gerada para solicitação de máscara de subrede Source Quench Gerada para controle de fluxo pelo nível 3

Escola de Ciência e Tecnologia Arquitetura TCP/IP Bibliografia Material da Professora Ana Cristina Benso

Escola de Ciência e Tecnologia Arquitetura TCP/IP Bibliografia Material da Professora Ana Cristina Benso da Silva (UFRGS e PUC/RS) Apostila Arquitetura TCP/IP 35