Escolar Documentos
Profissional Documentos
Cultura Documentos
Lliam B. Leal
processos
de
Lado emissor: quebra as mensagens da aplicao em segmentos e envia para a camada de rede. Lado receptor: remonta os segmentos em mensagens e passa para a camada de aplicao. Internet: TCP e UDP
Camada de rede: comunicao lgica entre os hospedeiros; Camada de transporte: comunicao lgica entre os processos;
Processos = crianas; Mensagens da aplicao = cartas; Hospedeiros = casas; Protocolos de transporte: Ana e Joo; Protocolo de camada de rede: servio postal.
Controle de congestionamento Controle de fluxo Orientado a conexo Extenso do melhor esforo do IP Garantia a atrasos Garantia de banda
Servios no disponveis:
Multiplexao / Demultiplexao
Coleta de dados de multiplos sockets, envelopa os dados com cabealhos (usado depois para demultiplexar)
Cada datagrama possui endereo IP de origem e IP de destino Cada datagrama carrega 1 segmento da camada de transporte Cada segmento possui nmeros de porta de origem e destino (lembre-se: nmeros de porta bem conhecidos para aplicaes especficas)
O hospedeiro usa endereo IP e nmeros de porta para direcionar o segmento ao socket apropriado.
Demultiplexao
Datagramas com IP de origem diferentes e/ou portas de origem diferentes so direcionados para o mesmo socket.
Demultiplexao
Endereo IP de origem; Endereo porta de origem; Endereo IP de destino; Endereo porta destino;
Cada socket identificado pelos seus prprios 4 valores; Servidores Web possuem sockets diferentes para cada cliente conectado;
UDP
Protocolo de transporte da internet sem gordura (simplificado); Servio best effort, os segmentos UDP podem ser:
Sem conexo
No h apresentao entre UDP transmissor e receptor Cada segmento UDP tratado de forma independente dos outros.
No h estabelecimento de conexo (que possa resultar em atraso) Simples: no h estado de conexo Cabealho do segmento reduzido No h controle de congestionamento: UDP pode enviar segmentos to rpido quanto desejar.
UDP
Tolerantes perda; Sensveis a taxas. DNS; SNMP. Acrescentar confiabilidade na camada de aplicao; Recuperao de erros especfica de cada aplicao.
UDP
0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Source | Destination | | Port | Port | +--------+--------+--------+--------+ | | | | Length | Checksum | +--------+--------+--------+--------+ | | data octets ... +---------------- ...
Datagrama UDP
Os campos Source Port e Destination Port indicam as portas entre as quais a mensagem trocada. O campo Length indica o comprimento do datagrama incluindo dados e cabealho em bytes. O Checksum opcional e, se utilizado, inclui todo o datagrama UDP e um pseudo-header, para garantir que a mensagem foi entregue ao destino correto.
TCP
Origem: O host de origem armazena em um buffer bytes suficientes do processo transmissor para preencher um pacote de tamanho razovel, e depois envia ao receptor. Destino: Esvazia o contedo do pacote em um buffer de recebimento e o processo receptor l o buffer como desejar.
TCP
Source port - nmero da porta lgica de origem. Destination port - nmero da porta lgica de destino Sequence number - nmero usado na seqenciao dos segmentos TCP Acknowledgment number segmento TCP esperado nmero do prximo
SYN (synchronize): Iniciar a conexo, sincroniza nmeros de sequncia ACK Campo acknowledgement number vlido FIN Emissor terminou de enviar dados RST (reset) fora o trmino da conexo PSH (push)
Normalmente o TCP passa dados para aplicao de forma buferizada, push indica mande dados para a aplicao imediatamente (ex: TELNET)
Com URG ligado, o TCP entende que os dados tm prioridade Neste caso, o campo urgent pointer indica o ultimo byte urgente do segmento. TCP repassa dados urgentes primeiro. Exemplo: aplicao manda um comando para interromper a transferncia de um arquivo em andamento.
Window - tamanho da janela de recepo Checksum - seqncia de verificao de erro Urgent pointer - aponta o primeiro byte aps os dados urgentes Options - uma opo est definida atualmente, o tamanho mximo do segmento TCP
Algoritmo usado pelo TCP para estabelecer e terminar conexes. Envolve a troca de trs mensagens entre o cliente e o servidor.
Passo 1: o cliente envia um segmento SYN especificando a porta do servidor ao qual deseja se conectar e seu nmero de sequncia inicial; Passo 2: o servidor responde enviando outro segmento SYN com o ACK do segmento recebido e o seu prprio nmero de sequncia; Passo 3: o cliente retorna um ACK e a conexo se estabelece.
O O MSS (Maximum Segment Size) que cada lado se prope a aceitar tambm negociado durante o estabelecimento da conexo
Three-way Handshake
Client Server Status: LISTENING
T E MP O
Three-way Handshake
Client SYN Server Status: SYN_RECV Conexo solicitada pelo cliente
T E MP O
Three-way Handshake
Client SYN SYN-ACK T E MP O Servidor aloca recursos (memria) Para a potencial conexo e liga relgio de TIMEOUT Server Status: SYN_RECV
Three-way Handshake
Client SYN SYN-ACK ACK (DATA) Cliente confirma o pedido de conexo E inicia envio de dados. T E MP O Server Status: ESTABILISHED
Three-way Handshake
Client SYN SYN-ACK ACK THREE WAY HANDSHAKE T E MP O Server Status: ESTABILISHED
Termino da Conexo
conexo
encerrada
Passo 1: o cliente envia um segmento FIN Passo 2: o servidor retorna um ACK para o cliente Passo 3: o servidor envia um segmento FIN Passo 4: o cliente envia um ACK e a conexo se encerra
Termino da Conexo
Client SYN SYN-ACK ACK (DATA) (DATA) (DATA) T E MP O Server Status: CLOSED
Aps troca de informao, um dos lados solicita fim da conexo e o outro lado confirma.
Host B
bytes data
X loss
Seq=9 2, 8
100 CK= A
bytes data
100 CK= A