camadatransporte ar

19
20/05/1127/04/ 1 1 Prof. Mauro Mendes Novembro de 2012 Camada de Transporte

Upload: miguel-soares

Post on 06-Nov-2015

212 views

Category:

Documents


0 download

DESCRIPTION

aula de camada de transporte

TRANSCRIPT

  • *

    Prof. Mauro MendesNovembro de 2012Camada de Transporte

  • Os protocolos da camada de rede no fornecem uma transferncia de dados fim a fim confivel, especialmente na modalidade datagrama (IP), porque :

    Os pacotes podem no chegar ao destino devido a algum problema nos ns intermedirios

    Os pacotes podem no chegar ordenados no destino

    O IP no faz checagem de erros no pacote transmitido. Essa checagem feita apenas no cabealho do protocolo. O IPV6 no tem nenhum check de erro

    Quem resolver os problemas acima o TCP (Transmission control Protocol)Limitaes da camada de RedeP1P2P3P3P1P1P2P3P3P2P12

  • Controle fim a fim de que os pacotes chegam e chegam corretamente utilizando nmeros de seqncia e reconhecimentos

    Controle de fluxo: o receptor informa ao transmissor a sua capacidade de recepo de dados

    Segmentao e blocagem de segmentos para transmisso

    Controle de seqncia de mensagens fim a fim

    Deteco de erros (no protocolo TCP, no UDP opcional)

    Lembrando: Na camada de rede h 2 modalidades: Datagrama (IP), quando o algoritmo de roteamento executado para todos os pacotes. Na modalidade circuito virtual, o algoritmo executado apenas na abertura da conexo.

    Perguntas: O protocolo IP (camada de rede) fim a fim? O que fim a fim no protocolo IP?Funes da camada de Transporte 33

  • O TCP um dos protocolos de transporte da Arquitetura TCP/IPO outro o UDPTCP : Transmission Control Protocol4

    Modelo OSIModelo TCP/IpModelo Hbrido Tanenbaum7-AplicaoAplicaoAplicao6-Apresentao5-Sesso4-TransporteTransporteTransporte3-RedeInternetRede2-EnlaceAcesso RedeEnlace1-FsicaFsica

  • Protocolo da camada de transporte (fim a fim)

    O TCP permite que mltiplos programas de aplicao numa determinada mquina se comuniquem concorrentemente com outros programas de outras mquinas

    O TCP um protocolo orientado a conexo que fornece um servio confivel de transferncia de dados fim a fim

    Soluo para os problemas de erros que no forem solucionados no nvel IP, dado que este ltimo um protocolo sem conexo.

    Alguns dos problemas que o TCP deve tratar so: pacotes perdidos ou destrudos por erros de transmisso expedio de pacotes fora de ordem Caractersticas TCP 5

  • Exemplo de utilizao Cada octeto transmitido associado a um nmero de sequncia de segmento

    Os segmentos podem carregar "de carona" (piggybacking) um reconhecimento

    O reconhecimento o nmero de sequncia do prximo octeto que o receptor espera receber

    Quando uma entidade TCP transmite um segmento de dados ele o coloca em uma fila de retransmisso e dispara um temporizador. Se o reconhecimento recebido, o segmento retirado da fila. Se no (timeout-estouro de tempo), o segmento retransmitido.6

  • A camada de transporte deve prover meios para que o receptor possa determinar o volume de dados que o transmissor pode lhe enviar (controle de fluxo).

    O controle de fluxo baseia-se no envio, junto com o reconhecimento, do nmero de octetos que o receptor tem condies de receber (janela de recepo), contados a partir do ltimo octeto da cadeia de dados recebido com sucesso.

    Com base na informao de janela, o transmissor atualiza sua janela de transmisso, calculando o nmero de octetos que pode enviar antes de receber outra liberao.Controle de fluxo 7

  • O TCP permite comunicaes simultneas entre diversos processos de aplicao com vrios hosts.

    Nas aplicaes de rede existe sempre um processo cliente numa mquina que dispara uma conexo, e um processo servidor em outra que tem que estar preparado para aceitar vrias conexes simultneas.

    Para isso existe para cada tipo de processo servidor o conceito de um processo "master" que aceita novas conexes e cria processos escravos do mesmo tipo para lidar com cada conexo. O processo "master" nunca morre (exceto em condies excepcionais) e o processo cliente tem uma durao finita.

    SOCKETS8

  • Cada processo cliente e servidor tem uma identificao de porta, que variam de 0 a 65.535

    Os processos Servidores (FTP, WEB, TELNET, etc) alocam nmeros de portas padronizados (well known ports) de 0 a 1023. O Telnet aloca porta 23, o FTP a 21 e o SMTP a 25.

    Os processos clientes alocam os nmeros a partir de 1024 dinmicamente para cada processo.

    Os processos clientes alocam os endereos de forma dinmica, iniciando por 1024

    As identificaes de portas nos clientes e servidores no so suficientes para identificar univocamente um processo TCP. Para tanto o identificador da porta associado ao endereo IP, definindo um socket (ponto terminal).

    SOCKETS9

  • Uma conexo identificada pelo par de sockets, que uma identificao nica numa rede Internet.

    O O TCP foi construdo sobre a abstrao de CONEXO, na qual os objetos a serem identificados so conexes de circuitos virtuais e no portas individuais. As conexes so identificadas por um par de "sockets".

    Uma conexo consiste de um circuito virtual entre dois programas de aplicaes. O TCP define um "socket" como um par de inteiros (host,port), onde host o endereo IP para um computador e Port uma porta TCP nesse computador. SOCKETS10

  • Exemplo:(128.10.2.3, 25) especifica a porta TCP nmero 25 na mquina com o o endereo IP 128.10.2.3. Uma conexo est definida por dois endpoints. Se h uma conexo entre as mquinas 192.107.104.12 (na UNICE) e 143.54.2.99 (FORTALNET), a conexo deve ser definida pelos endpoints seguintes: (192.107.104.12, 1069) e (143.54.2.99, 25). l) J que o TCP identifica uma conexo por um par de endpoints, um nmero de porta nos Servidores pode ser compartilhado por mltiplas conexes na mesma mquina.

    Alguns Nmeros de Portas TCP de Servidores bem conhecidasSOCKETS11

    ServioPorta padroServioPorta padroFTP-DATA20HTTP80FTP (controle) 21DNS53TELNET23POP3110SMTP25IMAP4143

  • CABEALHO TCP1112

  • CABEALHO TCP1112a) Portas Destino e Origem Identificam os processos local e remoto Portas : Variam de 0 a 65535 (0 reservada) Portas Servidores (baixas) : - Variam de 0 a 1023 Portas clientes (altas) : - Variam de 1024 a 65535

    b) Nmero de sequncia : relativo ao primeiro byte do campo de dados dosegmento

    c) Nmero de ack : especifica o nmero de sequncia do prximo byte esperadoPossuem 32 bits

  • CABEALHO TCP1112d) TamanhoEspecifica o tamanho do cabealho do segmento. medido em de palavras de 4 bytes (32 bits). Se o valor deste campo for 5, o tamanho do cabealho=20bytes(5x4)Tamanho mximo : 60 bytes (15 palavras de 32 bits)e) FlagsURG-Indica presena de dados urgentesACK-Indica existncia do ack piggybackedPSH-Entregar o dado imediatamente para a aplicao antes de encher o bufferde recepoRST-Indica necessidade de refazer a conexo ou no aceitar a conexoSYN-Usado para estabelecer conexesFIN : Usado para desfazer a conexo

  • CABEALHO TCP1112f) Tamanho da Janela Indica quantos bytes podem ser enviados a partir daquele especificado no ack Usado para controle de fluxo Se for zero, indica que no momento o receptor no pode receber dados, por nohaver espao disponvel na janela de recepog) Checksum TCP- faz check de erro completo do datagrama IP, com o IPV6 o nico check de erro TCP/iph) Ponteiro para dados urgentesi) OpesFacilidades extras no cobertas pelo cabealho como o MSS (Maximumsegment size). O MSS comum em redes Ethernet 05B4, que equivale a 1460

  • Para transmisso de segmentos usando o TCP necessrio inicialmente o estabelecimento da conexo entre os processos cliente e servidor, quando so estabelecidos os seguintes parmetros:As portas usadas pelo cliente e pelo ServidorOs nmeros de sequncia do cliente e do ServidorTamanho mximo do segmento a ser utilizado (MSS-Maximum Segment size).

    2. No estabelecimento da conexo so necessrios os seguintes passos (Three way handshake-estabelecimento em 3 vias):O cliente envia um datagrama com o bit Syn ligado e o seu nmero de sequncia (Syn-seq). O bit Syn uma das informaes do cabealho TCP que sero vistos nas prximas aulas, assim como o bit FIN (Finaliza conexo);O servidor envia tambm uma sequncia Syn-seq com o seu nmero de sequncia e um ack para confirmar o recebimento do cliente (Syn-seq-ack);O cliente envia um ack para o servidor confirmando o recebimento do segmento (Ack)3. Conceito de segmento : conjunto de dados montado pelo TCP composto de uma seqncia de bytes e identificado por um nmero de sequncia.Transmisso de Segmentos13

  • Exemplo de Transmisso de SegmentosContedo do registro 1: ABCDContedo do segmento 1: ABCDEo 2. Transmisso de dados :14Abertura de Conexo

    Nmero de Sequncia101102103104105106107108109110111112113114115116117118119120ContedoA BCDEFGHIJKLMNOPQRSTRegistros11112222333344445555Segmentos11111222223333344444

    Cliente ServidorSyn seq 100Syn seq 20 ack 101 mss 5Ack 21

  • Exemplo Transmisso de Segmentos2. Transmisso de dados :2. Transmisso de dados :Fase de Transmisso dos dados15

    Nmero de Sequncia101102103104105106107108109110111112113114115116117118119120ContedoA BCDEFGHIJKLMNOPQRSTRegistros11112222333344445555Segmentos11111222223333344444

    ClienteServidorSeq 101 ack 21 ABCDESeq 106 ack 21 FGHIJSeq 111 ack 21 KLMNOAck 111 Seq 116 ack 21 PQRST

  • FECHAMENTO DE CONEXO2. Transmisso de dados :3. Encerramento da conexo:Fechamento da Conexo16

    Nmero de Sequncia101102103104105106107108109110111112113114115116117118119120ContedoA BCDEFGHIJKLMNOPQRSTRegistros11112222333344445555Segmentos11111222223333344444

    ClienteServidorSeq 121- ack 21 - FINAck 122 FIN Seq 21 ack 122Ack 22

    **