Protocolo TCP/IP Wandreson Luiz Brandino wandreson.com [email protected] Curso TCP/IP 1. Introdução ao TCP/IP Protocolo aberto (Open System) para Interconexão de diferentes tecnologias de rede – Linguagem Comum independente da tecnologia de rede física utilizada (Ethernet, Token Ring, FDDI, ATM, etc) – Não precisa pagar Royaltes para construir uma aplicação sobre este protocolo Curso TCP/IP 1. Introdução ao TCP/IP (cont.) Várias aplicações disponíveis – Correio Eletrônico (SMTP) – WWW (HTTP) – Resolução de Nomes (DNS) – Transferência de Arquivos (FTP) – Terminal Remoto (Telnet) – Gerenciamento (SNMP) Curso TCP/IP 1.1 Histórico Surgiu em meados da década de 70, financiado pela DARPA dos Estados Unidos – Surgi num contexto de Guerra Fria com o objetivo de interligar computadores de forma simples e não centralizada – O protocolo TCP/IP foi incluído no Unix de Berkley usado amplamente nos Estados Unidos para facilitar sua disseminação Curso TCP/IP 1.1 Histórico (cont.) – O protocolo TCP/IP e a rede Internet estão altamente relacionados – Não existe nenhuma pessoa ou instituição que controla a Internet existem organismos tal como: • IETF (Internet Engineering Task Force) • IAB (Internet Activites Board) – Toda documentação da Internet esta no formato de RFCs (Request For Comments) Curso TCP/IP 1.2 Documentação Qualquer pessoa pode sugerir uma RFC – A RFC fica no formato de rascunho quando é sugerida. Caso seja aceita ela recebe um número e é publicada. – As RFCs são sugeridas ao NIC (Network Information Center) Curso TCP/IP 1.2 Documentação (cont.) Locais de divulgação das RFCs – www.ietf.org – andrew2.andrews.cmu.edu/rfc/rfc1160.html • Este último exemplo traz a descrição da RFC 1160 Curso TCP/IP 2. Endereço de Rede O nível de Rede da Arquitetura TCP/IP é exatamente o protocolo IP (Internet Protocol) A funcionalidades básica do IP é a de Rotear Pacotes dentro de uma mesma rede ou entre redes diferentes Utiliza datagrama não-confiável Curso TCP/IP 2. Endereço de Rede (cont.) Não faz controle de verificação de entrega do pacote. Ficando esta responsabilidade para a camada de nível de transporte (TCP e UDP) Define o endereço universal da Internet Curso TCP/IP 2. Endereço de Rede (cont.) Modelo OSI versus Arquitetura TCP/IP Curso TCP/IP 2.1 Endereço IP Para duas máquinas se comunicarem, cada uma precisa de um endereço IP O formato do endereço IP é: X.X.X.X onde X varia de 0 à 255. Exemplo: 200.241.16.8, 30.10.90.155, etc Curso TCP/IP 2.1 Endereço IP (cont.) Representação Binária e Decimal No Brasil, a responsabilidade de distribuir endereços IP e de controlar os domínios é da FAPESP (www.fapesp.br) Curso TCP/IP 2.1 Endereço IP (cont.) Os endereços IP são gratuitos FAPESP distribui endereços Classe C para grandes empresas ou para os provedores Os provedores se responsabilizam em distribuir os endereços para seus clientes ou através de Proxy Endereços IP estão acabando Curso TCP/IP 2.2 Classes de Endereços Os endereços IP foram divididos da seguinte forma: De 0 128 192 224 240 À 126 191 223 239 247 Classe de Endereço A B C D E Curso TCP/IP 2.2 Classes de Endereços (cont.) Divisão em classes e as sua respectiva representação binária Curso TCP/IP 2.2 Classes de Endereços (cont.) Faixa de endereços decimais e binários Classe A B C D E Faixa de Endereços 1-126.X.X.X 128-191.X.X.X 192-223.X.X.X 224-239.X.X.X 240-247.X.X.X Representação Binária Utilização 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Multicast / Broadcast 11110xxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Reservado X é um número que varia de 0 à 255 N é o número de bits da rede H é o número de bits do host x é o número de bits da rede e do host Curso TCP/IP 2.2.1 Endereço de Loopback Todo endereço na forma 127.x.x.x é um endereço de Loopback Interface que não conecta a nenhuma rede Comunicação Inter-processos dentro da mesma máquina (Não utiliza a rede) Endereço não é propagado pelos roteadores Curso TCP/IP 2.2.2 Endereços IP reservados Existem alguns endereços como o de Loopback que são reservados para redes que NUNCA se ligam à Internet ou se ligam através de um Proxy Estes endereços estão definidos na RFC 1597 Gateways não permitem tráfegos destes endereços na Internet Curso TCP/IP 2.2.2 Endereços IP reservados (cont.) Os endereços reservados são: Rede 10.0.0.0 172.16.0.0 192.168.0.0 Máscara 255.0.0.0 255.240.0.0 255.255.0.0 Curso TCP/IP 2.3 Roteadores Os Roteadores são usados interligar duas ou mais redes O roteador possui pelo menos duas Interfaces de rede. Cada Interface de rede possui um endereço IP Curso TCP/IP para 2.3 Roteadores (cont.) Exemplo de Interconexão de três redes: – Token Ring 192.3.40.0 (classe C) – Ethernet 146.134.0.0 (classe B) – Ethernet 12.0.0.0 (classe A) Curso TCP/IP 2.3 Roteadores (cont.) Configuração da Rede: Curso TCP/IP 2.3 Roteadores (cont.) Na rede Ethernet (146.134.0.0) temos as máquinas: – 146.134.8.2 – 146.134.20.7 – 146.134.20.8 (Máquina A) – 146.134.150.1 (Máquina B) Curso TCP/IP Figura 2.3 Roteadores (cont.) Na rede Ethernet (12.0.0.0) temos as máquinas: – 12.11.111.0 (Máquina B) – 12.0.0.4 – 12.20.40.32 (Máquina C) Curso TCP/IP Figura 2.3 Roteadores (cont.) Na rede Token Ring (192.3.40.0) temos as máquinas: – 192.3.40.1 – 192.3.40.2 – 192.3.40.20 (Máquina C) – 192.3.40.21 – 192.3.40.22 (Máquina A) Curso TCP/IP Figura 2.3 Roteadores (cont.) As máquinas A, B e C fazem papel de roteador. – Máquina A entre a rede Token-Ring (192.3.40.0) e a rede Ethernet (146.134.0.0) – Máquina B entre a rede Ethernet (146.134.0.0) e a rede Ethernet (12.0.0.0) – Máquina C entre a rede Ethernet (12.0.0.0) e a rede Token-Ring (192.3.40.0) Figura Curso TCP/IP 2.4 Sub-Rede Objetivo: – Dividir um endereço que seria para uma única rede física em diversas redes físicas distintas. Curso TCP/IP 2.4 Sub-Rede (Cont.) Para todas a Internet existe o endereço de rede 128.10.0.0, só quando o pacote chega ao Gateway que ele irá tomar a decisão para que sub-rede o pacote deve ser encaminhado A divisão em Sub-Redes em muitos caso aumenta a Performance do sistema de comunicação Curso TCP/IP 2.4 Sub-Rede (Cont.) Sem a divisão em sub-redes os endereços 128.10.2.0 e 128.10.1.0 seriam endereços de máquina (Classe B). Como foi feito a divisão, estes endereços passaram a ser endereços de rede Curso TCP/IP 2.4.1 Máscara de uma Sub-rede Utilizamos o conceito de máscara para definirmos se um endereço IP é um endereço de rede ou de máquina. O formato da máscara é o mesmo do número IP. Exemplo: – 255.255.255.0 (Decimal) – 11111111 11111111 11111111 00000000 (Binário) Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) O 1 binário indica que é endereço de rede. No exemplo anterior os três primeiros octetos estavam sendo utilizados para rede. Logo seria uma rede classe C, sem sub-redes Quantidade de máquina 254 (256 - 2). – Exclui o primeiro e o último endereço Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Qual máscara usar nas classes A, B e C? Classe A B C Máscara Binária 11111111 00000000 00000000 00000000 11111111 11111111 00000000 00000000 11111111 11111111 11111111 00000000 Máscara Decimal 255.0.0.0 255.255.0.0 255.255.255.0 Exemplo: – Quantas sub-redes eu posso ter com o endereço IP classe C 200.241.16.X ? Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Caso mais simples – Máscara: 255.255.255.0 Binário Decimal 11111111 255 11111111 255 11111111 255 00000000 0 Endereços IP de: 200.241.16.0 à 200.241.16.255 Importante: Pelo padrão devemos excluir a primeira e a última máquina. Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Endereços válidos: 200.241.16.1 à 200.241.16.254 Obs: Alguns fabricantes permitem usar os endereços extremos. Mas esta fora do padrão. Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Divisão em duas sub-redes. – Máscara: 255.255.255.128 Binário Decimal 11111111 255 11111111 255 11111111 255 10000000 128 Existem duas possíveis redes. A rede 0 e a rede 1 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Na rede 0 os endereços vão de: 200.241.16.0 à 200.241.16.127 Na rede 1 os endereços vão de: 200.241.16.128 à 200.241.16.255 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Lembrando do padrão temos que excluir os extremos. Portanto ficaríamos com os endereços válidos: Na rede 0 os endereços vão de: 200.241.16.1 à 200.241.16.126 Na rede 1 os endereços vão de: 200.241.16.129 à 200.241.16.254 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Só que ainda pelo padrão não podem existir sub-redes com todos os bits iguais a 0 ou iguais a 1. Logo os extremos das sub-redes também precisam ser excluidos. A máscara 255.255.255.128 NÃO pode possuir nenhuma máquina Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Maiores informações sobre a norma que proibe o uso destas mascaras podem ser encontradas na RFC 1716, Almquist & Kastenholz, página.45 Alguns sistemas operacionais como Windows 95, NT, SCO Unix, Novell simplesmente ignoram esta regra. Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Divisão em quatro sub-redes. – Máscara: 255.255.255.192 Binário Decimal 11111111 255 11111111 255 11111111 255 11000000 192 Existem quatro possíveis redes – 00 – 01 – 10 – 11 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Na rede 00 os endereços vão de: 200.241.16.0 à 200.241.16.63 Na rede 01 os endereços vão de: 200.241.16.64 à 200.241.16.127 Na rede 10 os endereços vão de: 200.241.16.128 à 200.241.16.192 Na rede 11 os endereços vão de: 200.241.16.93 à 200.241.16.255 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Excluindo os extremos temos: Na rede 00 os endereços vão de: 200.241.16.1 à 200.241.16.62 Na rede 01 os endereços vão de: 200.241.16.65 à 200.241.16.126 Na rede 10 os endereços vão de: 200.241.16.129 à 200.241.16.191 Na rede 11 os endereços vão de: 200.241.16.194 à 200.241.16.254 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Excluindo agora os endereços de rede todos 0 e todos 1 temos: Na rede 01 os endereços vão de: 200.241.16.65 à 200.241.16.126 Na rede 10 os endereços vão de: 200.241.16.129 à 200.241.16.191 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Generalizando (IP Classe C): – O número de sub-redes é sempre múltiplo de 2. – Pega-se 256 e divide-se pelo número de sub-redes – Retira-se os extremos do endereço IP de cada sub-rede – Retira-se as sub-redes com todos os bits 0 e todos os bits 1 Curso TCP/IP 2.4.1 Máscara de uma Sub-rede (cont.) Exercício – Quais são os endereços IP válidos para 8 sub-redes? – Faça uma tabela que relacione a quantidade de sub-redes, a quantidade de máquinas por sub-rede e o total de máquinas. Obs.: Para um endereço classe C Curso TCP/IP 2.5 Formato do datagrama IP O IP é a unidade básica de dados do nível de rede Entrega de pacotes não-confiável – Responsabilidade de entrega, sequencialização, correção de erros, etc é dos níveis superiores Existem duas áreas básicas: Área de Cabeçalho e Área de Dados Curso TCP/IP 2.5 Formato do datagrama IP Curso TCP/IP 2.5 Formato do datagrama IP Descrição dos campos – VERS • Versão – HLEN • Comprimento do cabeçalho – TOTAL LENGTH • Tamanho total do pacote. Se o pacote for fragmentado é o tamanho do fragmento e não o do pacote original Curso TCP/IP 2.5 Formato do datagrama IP – SERVICE TYPE • Especifica como o datagrama será manipulado pelo sistema de comunicação – D - Baixo Delay – T - Alto Throughput – R - Alta Confiabilidade – IDENTIFICATION • Campo utilizado quando da fragmentação de pacotes Curso TCP/IP 2.5 Formato do datagrama IP – FLAG • Controle de fragmentação. Específica se o pacote pode ou não ser fragmentado e se for um fragmento, se ele é o primeiro os intermediários ou o último pacote – TTL (Time to Live) • Decrementado a cada gateway (roteador) – PROTOCOL • FTP, HTTP, SMTP, etc Curso TCP/IP 2.5 Formato do datagrama IP – HEADER CHECKSUM • Somente para o cabeçalho. Não é para os dados • Objetivo de garantir que o pacote vai ser entregue no endereço correto – OPTIONS • Diversas opções para um pacote – PADDING – DATA Curso TCP/IP 2.5.1 Algumas OPTIONS interessantes Record Route Option – Gravar no pacote IP os endereços que o pacote percorreu até chegar ao destino Curso TCP/IP 2.5.1 Algumas OPTIONS interessantes Source Route Option – Permite que a origem indique por quais gateways o pacote deverá passar Curso TCP/IP 2.5.1 Algumas OPTIONS interessantes TimeStamp Option – Semelhante ao Record Route, só que acrescenta também o tempo em que o pacote chegou ao gateway Curso TCP/IP 3. Mapeamento de Endereço Físico em endereço de rede Protocolo ARP (Address Resolution Protocol) – Mapear Endereços IP de uma mesma rede em endereços físicos – Envia uma mensagem de broadcasting para todas as estações perguntando quem tem aquele endereço IP Curso TCP/IP 3.1 ARP – Uma única máquina responde – A máquina que fez a pergunta guarda o endereço físico no cache para possível uso posterior – Em máquinas UNIX o comando • arp -a traz a relação de todas os endereços IPs da rede com seus respectivos endereços físicos Curso TCP/IP 3.1.1 Formato do Pacote ARP Curso TCP/IP 3.1.1 Formato do Pacote ARP Descrição dos campos Nome do Campo Descrição Hardware Type Especifica a interface de hardware pela qual o usuário aguarda uma resposta. No caso da rede Ethernet o valor é 1. Especifica o tipo de endereço que o usuário está procurando (0800H se Protocol Type for IP). HLEN Tamanho do endereço de Hardware PLEN Tamanho do endereço do protocolo de alto nível. As opções HLEN e PLEN em conjunto permitem que o ARP possa ser usado para uma rede qualquer. Operation 1 - ARP request (Requisição do endereço físico) 2 - ARP response (Resposta do endereço físico) 3 - RARP request (Requisição do endereço IP) 4 - RARP response (Resposta do endereço IP) Curso TCP/IP 3.2 Protocolo RARP O RARP (Reverse Address Resolution Protocol) associa um endereço físico em um número IP Usado em estações diskless para obter um endereço IP no momento do boot remoto Curso TCP/IP 3.3 Fragmentação de pacotes IPs em pacotes do nível físico Utilizado quando um pacote passa por redes com diferentes tamanhos de área de dados (MTU) Dividir o tamanho do pacote IP num tamanho do pacote daquela rede física Curso TCP/IP 3.3 Fragmentação de pacotes IPs em pacotes do nível físico Pacotes dentro da mesma rede só serão fragmentados se o tamanho do pacote IP for maior do que o tamanho do pacote físico da rede Exemplo: Transmitir um pacote de 1400 bytes da rede 1 (MTU=1500) para a rede 3 (MTU=1500) passando pela rede 2 (MTU=620) Curso TCP/IP 3.3 Fragmentação de pacotes IPs em pacotes do nível físico Pacote 1: 600 bytes de dados + 20 bytes de cabeçalho Pacote 2: 600 bytes de dados + 20 bytes de cabeçalho Pacote 3: 200 bytes de dados + 20 bytes de cabeçalho Curso TCP/IP 3.3 Fragmentação de pacotes IPs em pacotes do nível físico Fragmentação do pacote para posterior remontagem Curso TCP/IP 4. ICMP (Internet Message Protocol) Control Objetivo: Informar à origem de problemas na entrega do pacote IP: – Falha nas linhas de comunicação – Máquina destino desconectada da rede – TTL (Time-to-Live) do pacote IP expirar – Gateway intermediários congestionados entre outros Curso TCP/IP 4. ICMP ICMP faz parte do protocolo IP, as informações retornadas serão analisadas por outros protocolos de camada superiores Algumas mensagens reportadas pelo ICMP são: Curso TCP/IP 4. ICMP Possíveis mensagens do ICMP Network Unreachable (rede não alcançável) Host Unreachable (host não alcançável) Port Unreachable (port não alcançável) Destination Host Unknown (Host destino desconhecido) Destination Network Unknown (rede destino desconhecida) Echo Request e Echo Reply (Solicitação de Eco e Resposta de Eco) Time Exceded for Datagram – TTL (Tempo do pacote excedido) Entre outros Curso TCP/IP 4.1 Entrega de mensagens ICMP Encapsulamento do ICMP Curso TCP/IP 4.2 Tipos de Mensagens ICMP Possíveis valores para o campo TYPE Curso TCP/IP 4.2.1 Echo Request e Echo Reply Usado para identificar se uma máquina esta respondendo ou não. É implementado pelo programa PING Formato da mensagem: Curso TCP/IP 4.2.1 Echo Request e Echo Reply Descrição dos campos: Campo TYPE=8 TYPE=0 IDENTIFIER e SEQUENCE NUMBER OPTIONAL DATA Descrição Echo Request (Requisição de resposta) Echo Reply (Resposta à solicitação anterior) São usados para identificar qual mensagem foi enviada e qual esta sendo recebida Campo opcional, que dependendo da implementação pode retornar dados ao remetente, como por exemplo o tempo gasto para se alcançar a máquina. Curso TCP/IP 4.2.2 Unreacheble Destination Identifica que não esta conseguindo acessar o IP da máquina destino. O cabeçalho padrão é: Curso TCP/IP 4.2.2 Unreacheble Destination Os possíveis valores para o campo CODE são: Curso TCP/IP 4.2.3 Controle de Congestionamento Fluxo e Usado para informar a origem para par de enviar pacotes que os roteadores não estão suportando o tráfego. A mensagem padrão é: Curso TCP/IP 4.2.4 Route Change Request Caso a rota não esteja minimizada esta mensagem será enviada Não será tomada nenhuma providencia, os protocolos de roteamento que farão isto. Formato da mensagem é: Curso TCP/IP 4.2.4 Route Change Request Exemplo: – Suponha que H queira enviar dado para a Rede 1, mas esteja enviando uma mensagem G2 Curso TCP/IP 4.2.4 Route Change Request Exemplo (continuação) – G2 envia uma mensagem de Route Change Request para H1 – Um protocolo de nível superior pega essa mensagem e toma a providencia de enviar por G1 – G1 recebe a mensagem e entrega à rede 1 Curso TCP/IP 4.2.5 Detecta rota circular ou excessivamente longa Esta mensagem é enviada quando o campo TTL (time-to-live) do IP é zerado Lembre-se que o campo TTL é decrementado por cada roteador que o pacote IP passar Curso TCP/IP 4.2.5 Detecta rota circular ou excessivamente longa Formato do pacote Se CODE = 0, TTL zerou Se CODE = 1, remontagem de fragmentos excedeu tempo máximo Curso TCP/IP 4.2.6 Reporta outros problemas Reporta outros problemas, tipo erro no cabeçalho IP Formato da mensagem: Curso TCP/IP 4.2.7 Sincronização de relógio e estimativa de tempo de trânsito Usa a mensagem ICMP REQUEST TIMESTAMP para recuperar a hora do dia da máquina destino (contado em milisegundos a partir da meia-noite do dia corrente) A mensagem ICMP REQUEST TIMESTAMP traz a resposta Curso TCP/IP 4.2.7 Sincronização de relógio e estimativa de tempo de trânsito Campo TYPE=13, significa request Campo TYPE=14, significa reply Formato da mensagem: Curso TCP/IP 5. Camada de Transporte Transferir um dado “fim-a-fim” entre duas máquinas Independente da estrutura física de comunicação Existem dois protocolos básicos – TCP (Transfer Control Protocol) – UDP (User Datagram Protocol) Curso TCP/IP 5. Camada de Transporte Protocolos de Transporte da Arquitetura TCP/IP Curso TCP/IP 5. Camada de Transporte Diferença básica entre o TCP e o UDP – TCP garante que o dado vai chegar ao seu destino corretamente – UDP não tem garantia de entrega de dados – O TCP possui diversos controles para garantir que o dado irá chegar corretamente ao destino. Por isso é mais lento que o UDP Curso TCP/IP 5.1 Aplicações Cliente-Servidor Possui duas entidades básicas – Servidor • Responsável por prover informações a um ou vários clientes • Processar as mensagens enviadas pelo cliente – Cliente • Acessar informações contidas em um ou mais servidores • Envia pequenas mensagens ao servidor Curso TCP/IP 5.1 Aplicações Cliente-Servidor Toda aplicação possui a sua versão server e a sua versão client – Ex: • Telnet Server e Telnet Client • HTTP Server ou Web Server e HTTP Client (Browsers como Netscape ou Internet Explorer) • FTP Server e FTP Client • etc Curso TCP/IP 5.1.1 O conceito de Porta Somente os campos IP origem e IP destino não são suficientes para identificar uma conexão É preciso identificar a porta de origem e a porta de destino, bem como qual protocolo esta sendo utilizado (TCP ou UDP) Curso TCP/IP 5.1.1 O conceito de Porta Formato do Pacote TCP Curso TCP/IP 5.1.2 Utilizando a Arquitetura Client-Server Primeiramente é preciso instalar um determinado serviço em um servidor. Exemplo: – O servidor de HTTP (Web Server) do Universo Online - www.uol.com.br (200.241.5.65) é configurado para a porta 80 (default para este serviço) Curso TCP/IP 5.1.2 Utilizando a Arquitetura Client-Server Após o serviço instalado um determinado Cliente pode acessar o serviço. Ex: – O usuário da máquina 200.241.16.8 deseja acessar a página do universo online – Neste momento o sistema operacional lhe da uma porta escolhida randomicamente para fazer a conexão TCP Curso TCP/IP 5.1.2 Utilizando a Arquitetura Client-Server Teremos portanto: – IP Origem: 200.241.16.8 (Máquina Local) – Porta Origem: 3478 (SO fornece) – IP Destino: 200.246.4.65 (Máquina Remota – Porta Destino: 80 (Porta Default do serviço de WWW, pode ser alterada) Curso TCP/IP 5.1.2 Utilizando a Arquitetura Client-Server Suponha que abramos uma outra janela do Browser, teremos então: – IP Origem: 200.241.16.8 (Máquina Local) – Porta Origem: 4312 (SO fornece outra) – IP Destino: 200.246.4.65 (Máquina Remota – Porta Destino: 80 (Porta Default do serviço de WWW, pode ser alterada) Curso TCP/IP 5.1.2 Utilizando a Arquitetura Client-Server Suponha que outra pessoa esteja acessando a mesma página: – IP Origem: 200.30.20.83 (Máquina Local) – Porta Origem: 4312 (SO fornece pode ser igual a de outra máquina) – IP Destino: 200.246.4.65 (Máq. Remota) – Porta Destino: 80 (Porta Default WWW) Curso TCP/IP 5.2 O Protocolo TCP Protocolo Orientado à Conexão Confiável do ponto de vista de entrega dos dados ao destino sem erros Processos de transmissão, retransmissão, controle de fluxo e erros, etc são totalmente transparentes ao usuário desta camada Curso TCP/IP 5.2 O Protocolo TCP São responsabilidades da camada de transporte: – Estabelecimento e Liberação da Conexão – Transferência de Dados – Transferência de Dados Urgentes – Multiplexação • Diversas conexões de transporte em uma única conexão de rede Curso TCP/IP 5.2 O Protocolo TCP – Segmentação • Área de dados do IP é menor que a área de dados do TCP – Controle de Fluxo • Janela Deslizante – Controle de Erros • CheckSum Curso TCP/IP 5.2.1 Formato do pacote TCP Curso TCP/IP 5.2.1 Formato do pacote TCP Descrição de alguns campos – CODE BITS • Determina o propósito e conteúdo do segmento Opção URG ACK PSH RST SYN FIN Significado Campo de ponteiro Urgente é válido Campo de Reconhecimento é válido Este segmento solicita um Push Resetar a conexão Sincroniza números de Sequências O transmissor chega ao fim do fluxo de bytes Curso TCP/IP 5.2.1 Formato do pacote TCP Descrição de alguns campos – WINDOW • Indica quantos bytes ele tem capacidade de receber – URGENT POINTER • Indica que alguns dados serão entregues de forma urgente. Repassa ao IP – PADDING • Parâmetros do campo OPTION Curso TCP/IP 5.2.2 Portas bem conhecidas do TCP Curso TCP/IP 5.3 O Protocolo UDP Utiliza o mesmo princípio de portas do TCP Muito mais leve que o TCP Não garante entrega dos dados, sequencialização, fluxo de mensagens, etc Você simplesmente envia um dado e reza para que ele chegue do outro lado Curso TCP/IP 5.3.1 Formato do pacote UDP Curso TCP/IP 5.3.2 Portas bem conhecidas do UDP Curso TCP/IP