Redes TCPIP Protocolos de Transporte e Aplicao Edgard
- Slides: 31
Redes TCP/IP Protocolos de Transporte e Aplicação Edgard Jamhour
Pilha de Protocolos Aplicação Seqüência de empacotamento Camada de Aplicação HTTP, FTP, SMTP, etc Interface Sockets Camada de Transporte TCP, UDP mensagem segmento/datagrama S. O. Camada de Rede IP Interface de Rede Camada de Enlace e Fisica pacote quadro Edgard Jamhour
Endereçamento por Portas Dispositivo B Dispositivo A Processo B Processo 1024 Processo 1025 Porta TCP Porta UDP 80 80 TCP UDP Endereço IP IP IP End. MAC Ethernet 1024 80 Dados Edgard Jamhour
TCP X UDP TCP Orientado a Conexão Identifica uma sequencia de pacotes com pertencentes a uma mesma transmissão Transmissão por Fluxo Segmentação e Remontagem feita pelo S. O. Transmissão Confiável Confirma recebimento e retransmite pacotes perdidos UDP Não Orientado a Conexão Cada pacote é uma transmissão independente Transmissão por Datagramas: Segmentação e Remontagem feita pela aplicação. Não confiável Cabe a aplicação implementar os mecanismos de retransmissão Edgard Jamhour
Orientado (TCP) vs Não-Orientado (UDP) a Conexão ABERTURA DE CONEXÃO THREE WAY HANDSHAKE TRANSMISSÃO DE DADOS. . . FIM DE CONEXÃO DE DADOS O TCP USA PACOTES DE CONTROLE PARA CRIAR E ENCERRAR CONEXÕES O CONTEÚDO TRANSPORTADO PELOS PACOTES NO INTERIOR DA CONEXÃO É NUMERADO 4 PACOTES PARA FECHAR A CONEXÃO TRANSMISSÃO DE DADOS O UDP NÃO USA PACOTES DE CONTROLE OS PACOTES UDP SÃO INDEPENDENTES Edgard Jamhour
Transmissão por Fluxo (TCP) vs Datagrama (UDP) Aplicação write(buffer) fluxo contínuo de bytes (stream) NA TRANSMISSÃO POR FLUXO A APLICAÇ O NÃO CONTROLA O TAMANHO DO PACOTE read(buffer) TCP segmentos IP IP pacotes Aplicação sendto(buffer) socket UDP recvfrom(buffer) UDP datagramas IP OS DADOS RECEBIDOS SÃO VISTOS PELA APLICAÇÃO RECEPTORA COMO UM FLUXO CONTÍNUO DE BYTES pacotes IP NA TRANSMISSÃO POR DATAGRAMA A APLICAÇÃO DEFINE O TAMANHO DOS PACOTES A MENSAGEM RECEBIDA É LIDA POR INTEIRO (recvfrom) Edgard Jamhour
Transmissão Confiável (TCP) DADOS SEGMENTO B X TCP APLICAÇÃO ACK A SEGMENTO C SEGMENTO B ACK C APLICAÇ O SEGMENTO A DADOS O MODO DE COMUNICAÇÃO CONFIÁVEL DO TCP É RETRANSMISSÃO POR AUSÊNCIA DE CONFIRMAÇÃO A APLICAÇÃO RECEBE APENAS DADOS QUE CHEGAREM NA ORDEM CORRETA DE TRANSMISSÃO DADOS Edgard Jamhour
TCP X UDP TCP Controle de Congestionamento Perda de pacotes fazem o transmissor reduzir sua taxa de transmissão entre confirmações Controle de Fluxo O espaço livre no buffer do S. O. do receptor é informado ao transmissor a cada confirmação Apenas Unicast O destino de um pacote é apenas um dispositivo UDP Sem controle Perda de pacotes não interfere na velocidade de transmissão Sem controle: O transmissor não recebe nenhuma informação sobre o buffer do receptor. Unicast, Broadcast e Multicast O destino de um pacote pode ser um ou mais dispositivos Edgard Jamhour
Controle de Congestionamento e Fluxo DADOS SEGMENTO A DADOS ACK A DADOS SEGMENTO B SEGMENTO C ACK C DADOS … ACK D (BUFFER LIVRE) DADOS APLICAÇ O DADOS TCP ACK D (BUFFER CHEIO) DADOS TCP APLICAÇÃO SEGMENTO D A QUANTIDADE DE BYTES QUE PODE SER ENVIADA SEM CONFIRMAÇÃO É A MENOR QUANTIDADE IMPOSTA PELO CONTROLE DE FLUXO E CONTROLE DE CONGESTIONAMENTO SEGMENTO E SEGMENTO F SEGMENTO G X ACK E SEGMENTO F ACK G Edgard Jamhour
Unicast, Broadcast e Multicast UNICAST: O DESTINO DE CADA PACOTE É APENAS UM UNICAST: O DESTINO DO PACOTE SÃO TODOS A B C B TODOS SWITCH A C MULTICAST: O DESTINO DO PACOTE É UM GRUPO 1 SWICH PERTENCE AO GRUPO 1 X NÃO PERTENCE AO GRUPO 1 ENDEREÇOS DE GRUPO SÃO ENDEREÇO IP DA CLASSE D: DE 224. 0. 0. 0 ATÉ 239. 255 PERTENCE AO GRUPO 1 Edgard Jamhour
Protocolo TCP 0 4 8 Byte 1 12 16 Byte 2 24 20 Byte 3 Porta de Origem 28 31 Byte 4 Porta de Destino Número de Seqüência Número de Confirmação HLEN Reservado Flags Janela de Recepção Checksum Ponteiro de Urgência Opções Dados. . FLAGS: ACK, SYN, FIN, RST, URG, CWR, ECN, PUSH Edgard Jamhour
Segmentação e Remontagem Início da Conexão FLUXO CONTÍNUO DE BYTES 1000 DADOS NS = NIS+2920 SEGMENTO C 1460 DADOS 1460 NS = NIS+1460 SEGMENTO B DADOS NS = NIS+0 SEGMENTO A FLUXO DE PACOTES Edgard Jamhour
TCP/IP Overhead = 40 BYTES 20 BYTES (sem opções) Edgard Jamhour
MSS: Maximum Segment Size MTU ETHERNET = 1500 BYTES 1460 BYTES O TAMANHO MÁXIMO DO CAMPO DE DADOS DO ETHERNET (MTU) É 1500 BYTES O CABEÇALHO IP SEM OPÇÕES TEM 20 BYTES O CABEÇALHO TCP SEM OPÇÕES TEM 20 BYTES SEGMENTO É O NOME DADO AO PDU DO TCP MSS É A QUANTIDADE MÁXIMA DE DADOS TRANSPORTADA POR UM SEGMENTO MSS = Maximum Segment Size MTU = Maximum Transmission Unit PDU = Protocol Data Unit Edgard Jamhour
Conexão TCP cliente tempo servidor NS NC FLGS ACK, SYN, FIN C LIXO SYN S C+1 SYN, ACK C+1 S+1 ACK S+1 C+2 ACK C+2 S+1002 ACK … … … u v FIN, ACK v u+1 ACK … … … w u+1 FIN, ACK u+1 w+1 ACK tempo Edgard Jamhour
Encerramento da Conexão • FIN = Terminar a conexão – Método normal de encerramento (close chamado pela aplicação) – Encerra a conexão em apenas uma direção – Indica que não haverão mais transmissões, mas o canal ficará aberto para recepção. • RST = Abortar a conexão – Método anormal de encerramento (erro detectado pelo kernel) – Acontece quando um segmento que não pertence a conexão é recebido – Indica que não haverão mais tranmissões e o canal será fechado para recepção Edgard Jamhour
EXEMPLO: HTTP 1. 1 www. ppgia. pupcr. br 10. 32. 1. 22 10. 32. 1. 166 53171 80 O Wireshark mostra números de sequencia relativos CONEXÃO ENCERRADA PELO SERVIDOR OBS. Essa conexão TCP está usando opções Edgard Jamhour
Máquina de Estados TCP Aguarda para ter certeza que não reberá outro FIN devido a perda do ACK Edgard Jamhour
Comunicação Confiável C B A 1 2 800 1200 100 200 cliente A … C K 3 … NS NC DADOS 1 1 1000 1 100 101 1001 200 1001 301 1200 2201 301 800 301 3001 sem dados 302 3001 200 servidor Edgard Jamhour
Recomendações RFC 1122 e 2581 EVENTO • Chegada de um segmento na ordem. • Chegada de um segmento fora de ordem (número mais alto que o esperado). • Chegada de um segmento que preenche a lacuna. AÇÃO TCP DESTINATÁRIO • Aguarda 500 ms. Se outro segmento não chegar, confirma o segmento. Se outro segmento vier, confirma os dois com um único ACK. • Envia imediatamente o ACK duplicado com o número do byte aguardado (isto é, repete o último ACK de ordem correta). • Envia imediatamente o ACK (se o preechimento foi na parte contigua baixa da lacuna). Edgard Jamhour
Algoritmo de Confirmação • O tempo máximo para aguardar uma confirmação é estimado em função do tempo médio de Round-Trip Time (RTT) para enviar e confirmar um segmento. • O transmissor pode adotar várias técnicas para estimar este tempo. Uma estratégia comum é calcular iterativamente a cada confirmação recebida: Media. RTT = 0. 875 Media. RTT + 0. 125 Ultimo. RTT Temporizador = Media. RTT + 4. Desvio = 0. 875 Desvio + 0. 125 (Ultimo. RTT - Media. RTT) Onde: – Ultimo. RTT: última medição de RTT – Temporizador: tempo máximo para aguardar uma confirmação – Desvio: medida da flutuação do valor do RTT Edgard Jamhour
Controle de Fluxo O TRANSMISSOR (A) precisa estimar o espaço livre no buffer do S. O. do RECEPTOR (B). O espaço livre no buffer de B é enviado junto com cada confirmação (Rcv. Window), mas ela não é absoluta pois podem haver pacotes em trânsito. S. O. Rcv. Buffer Então A calcula o espaço livre em B pela fórmula: 3000 Rcv. Buffer = Rcv. Window - [Last. Byte. Sent - Last. Byte. Rcvd] Rcv. Buffer = estimativa do buffer livre em B Rcv. Window = buffer livre informado por B Last. Byte. Sent = último byte enviado por A Last. Byte. Rcvd = último byte confirmado por B (NC-1) 1000 A Transmissor 2000 Last. Byte. Rcvd aplicação 1000 0 1000 Bytes lidos liberam o buffer 1000 NC=2001, Rcv. Window=1000 B Receptor Edgard Jamhour
Controle de Congestionamento MSS congwindow evento de falha crescimento exponencial prevenção de congestionamento Threshold t RTT A RTT RTT RTT B envio RTT confirmação Edgard Jamhour
Tipos de TCP: Tahoe e Reno Edgard Jamhour
TCP RENO • Cong. Win é calculada em múltiplos de MSS (Maximum Segment Size = 1460 bytes). A) Inicialização Cong. Win = 1 MSS Threshold = Estimado (65 K) B) Partida Lenta: Cong. Win < Threshold Cong. Win = Cong. Win+1 MSS A cada segmento confirmado, ou seja: Cong. Win = 2* Cong. Win por RTT C) Prevenção de congestionamento Cong. Win >= Threshold Cong. Win = Cong. Win + (MSS/Cong. Win) A cada segmento confirmado, ou seja: Cong. Win = Cong. Win +1 MSS por RTT Em caso de detecção de segmentos fora Threshold = Cong. Win/2 de ordem: Vai para prevenção de congestionamento Em caso de detecção de perda por temporização Threshold = Cong. Win/2 Cong. Win = 1 MSS Vai para partida Lenta Edgard Jamhour
Congestionamento X Controle de Fluxo A quantidade de bytes que pode ser transmitida sem confirmação é o menor valor entre Cong. Win e Rcv. Win tempo Buffer de Transmissão 2000 Rcv. Window Cong. Window 1800 QUANTO AINDA PODE SER ENVIADO 1500 Last. Byte. Sent 1000 Last. Byte. Acked 0 A B envio RTT confirmação Edgard Jamhour
Protocolo UDP 0 4 8 Byte 1 12 16 Byte 2 24 20 28 Byte 3 31 Byte 4 Porta de Origem Porta de Destino Ponteiro de Urgência Checksum Dados. . Aplicação sendto(buffer) socket UDP recvfrom(buffer) UDP datagramas IP pacotes IP NA TRANSMISSÃO POR DATAGRAMA A APLICAÇÃO DEFINE O TAMANHO DOS PACOTES A MENSAGEM RECEBIDA É LIDA POR INTEIRO OU BYTES REMANECENTES SÃO DESCARTADOS (recvfrom) Edgard Jamhour
OS RISCOS DO UDP • É muito mais simples injetar pacotes falsos em uma comunicação UDP do que TCP 1. 2. 3. 4 9999 GERENCIADOR VERDADEIRO 8888 GERENCIADOR FALSO 40901 ABRIR PORTA 5. 6. 7. 8 Em uma comunicação TCP, só é possível injetar pacotes em uma conexão ABERTA se: A) IP de origem e destino forem os usados na abertura de conexão B) Porta de origem e destino forme os usados na abertura da conexão C) O número de sequência do pacote estive na ordem correta em relação aos pacotes recebidos anteriormente Edgard Jamhour
Protocolos de Aplicação Camada de Transporte Camada de Rede HTTP FTP SMTP NFS TCP DNS DHCP UDP IP Edgard Jamhour
Portas bem Conhecidas httpd 80 >1023 wget ftp control 21 ftpd >1023 20 servidor ftp data >1023 cliente smtp smptd 25 >1023 firefox nfsd 2049 >1023 nfs client dns named 53 >1023 dig >1023 dhclient dhcpd 67 Edgard Jamhour
Conclusão Protocolos de Transporte e Aplicação Edgard Jamhour
- Capa de transporte
- No texto citado o pensador contemporâneo edgard
- Url
- Edgard jamhour
- Tcpip
- Tcp/ip logo
- Modelo tcpip
- Ganesh sittampalam
- Iso osi vs tcp ip
- Tcpip model
- History of osi model
- Tcp
- Protocolos da camada de aplicação
- Protocolos telnet
- Triangulo de valoracion pediatrica
- Daniela campos schwarze
- Protocolos
- Protocolos de banerji
- Precision y exactitud
- Protocolos de routing
- Metrica protocolos de enrutamiento
- Protocolo
- Protocolos tcp
- Plantillas para protocolos
- Protocolos del minsal
- Escalas no comparativas ejemplos
- Que es una red empresarial
- Aplicaciones de las redes neuronales
- Simbologia cisco
- Redes
- Redes de computadores
- Redes que transporten materia