Redes de Computadores

Documentos relacionados
Redes de Computadores

Redes de Computadores (RCOMP 2015/2016)

Nome: Nº de aluno: 3ª Ficha de Avaliação 20/5/2014

Capítulo 5 Sumário. Formato das Mensagens ICMP. Tipos de Mensagens ICMP

Redes de Computadores

ROUTER. Alberto Felipe Friderichs Barros

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Arquitectura de Redes

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Redes de Computadores. Protocolos TCP/IP

Camada de Rede Fundamentos e Protocolos. 6/7/18 Organizado por Bruno Pereira Pontes brunopontes.com.br

Funcionalidades da camada de rede

INFO ARQ REDES. Prova 2 Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO

Resumo P2. Internet e Arquitetura TCP/IP

Redes de computadores e a Internet. Prof. Gustavo Wagner. A camada de rede

Aula 5 Camada de rede (TCP/IP):

Arquitetura TCP/IP - Internet Protocolo IP Protocolo ICMP

CCNA 1 Roteamento e Sub-redes. Kraemer

Número: Professor: JM JF PA _. Exame2ª Época - 13/02/2009-2h

PROTOCOLOS DE COMUNICAÇÃO

Redes de Computadores

Rede Local - Administração Endereçamento IPv4

Arquitetura TCP/IP. Parte VII Mensagens de controle e erro (ICMP) Fabrízzio Alphonsus A. M. N. Soares

Roteamento e Roteadores. Conceitos Diversos

Data and Computer Network Endereçamento IP

Parte 3: Camada de Rede

Camada de rede. Introdução às Redes de Computadores

Camadas do TCP/IP. Camada de Rede Protocolo IP. Encapsulamento dos Dados. O Protocolo IP. IP visto da camada de Transporte.

Capítulo 4 - Sumário

PROTOCOLO ICMP. Março de Curso Superior em Análise e Desenvolvimento de Sistemas Redes decomputadores II RC2A3

Protocolos em Redes de Dados. Luís Rodrigues. O protocolo IP. Endereçamento NAT PAT Pacote IP ICMP. Aula 02. Encaminhamento IP IPV6 FCUL

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Arquitectura de Redes

Redes TCP-IP. Protocolo ICMP. Pilha TCP/IP. Protocolo ICMP Internet Control Message Protocol. Introdução ao Protocolo ICMP

Camada de Rede: Protocolo IP

Datagrama IP. Professor Leonardo Larback

Jéfer Benedett Dörr

REDES DE COMPUTADORES

TE239 - Redes de Comunicação Lista de Exercícios 2

Protocolos de Interligação de Redes Locais e a Distância Camada de Transporte

CCNA Exploration Endereçamento de Rede IPv4. kraemer

Arquitetura TCP/IP e aplicações em Redes de Computadores. Icmp, arp e rarp. Protocolos icmp, arp e rarp e comandos de diagnóstico de redes

RCO2. Redes Locais: Interligação de LANs com roteadores

Protocolo ICMP Internet Control Message Protocol. Introdução ao Protocolo ICMP. Introdução ao Protocolo ICMP. Introdução ao Protocolo ICMP

INSTITUTO FEDERAL SP CAMPUS DE PRESIDENTE EPITÁCIO PESQUISA PROTOCOLO ICMP

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade IV Camada de Rede. Luiz Leão

Redes de Computadores e Aplicações. Aula 37 Roteamento IP Unicast Dinâmico RIP

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Protocolos básicos de LANs IP (primeiro trabalho laboratorial) FEUP/DEEC Redes de Banda Larga MIEEC 2009/10 José Ruela

Prof. Roitier Campos Gonçalves 1. Aula 02. Introdução aos Conceitos de Roteamento

Endereçamento IP. Departamento Engª Electrotécnica ISEC

Redes de Computadores I

3º Semestre. Aula 02 Introdução Roteamento

32 bits. head. type of lenght fragment 16-bit identifier flgs offset. Internet live 32 bit endereço IP de origem 32 bit endereço IP de destino

Administração de Sistemas (ASIST)

TCP/IP Protocolos e Arquiteturas

Roteamento e Roteadores. Arquitetura TCP/IP Introdução. Professor Airton Ribeiro de Sousa

CCNA 2 Conceitos Básicos de Roteadores e Roteamento. Capítulo 8 - Mensagens de Erro e de Controle do Conjunto de Protocolos TCP/IP

Tecnologia de Redes de Computadores - aula 2

Laboratório Usando Wireshark para Examinar Quadros Ethernet

Saiba como funcionam os Hubs, Switchs e Routers

Endereçamento IP. Redes de Computadores. Charles Tim Batista Garrocho. Instituto Federal de São Paulo IFSP Campus Campos do Jordão

Redes de Computadores. Prof. André Y. Kusumoto

Eduardo Barasal Morales Tiago Jun Nakamura Maputo, Moçambique 18/07/17-21/07/17

Comunicação de Dados II

Rede de computadores Protocolos IP. Professor Carlos Muniz

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Origem:

Redes de Computadores e a Internet

Redes de Computadores

% & ' ( serviços fornecidos pela camada de rede. roteamento na Internet. princípios de roteamento. funcionamento de um roteador. IPv6.

Redes de Computadores Nível de Rede

Camada de Transporte Protocolos TCP e UDP

Capítulo 3 - Sumário. Tipos de Rotas (Diretas, Estáticas e Dinâmicas) Protocolos de Roteamento (RIP, OSPF e BGP)

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

IP Móvel 1. Mobilidade IP FEUP MPR

Protocolos de Interligação de Redes Locais e a Distância Protocolos de Transporte. Thiago Leite

IMEI MONTAGEM E MANIPULAÇÃO DE REDES DE DADOS - REDES DE COMPUTADORES. Curso Profissional de Técnico de Gestão de Equipamentos Informáticos

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Funcionalidades Básicas do IPv6

Funcionalidades Básicas do IPv6

Open Shortest Path First (OSPF)

Arquitetura TCP/IP - Internet Protocolo IP Protocolo ICMP

Capítulo 4: Conceitos de Roteamento

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO

Modelos de referência de arquiteturas de redes: OSI e TCP/IP Profsº Luciano / Roberto

Servidor DHCP Dynamic Host Configuration Protocol

Laboratório Uso do Wireshark para examinar quadros Ethernet

CST em Redes de Computadores

Modelo OSI x Modelo TCP/IP

Jéfer Benedett Dörr

Introdução às camadas de transporte e de rede

EXERCÍCIOS DE REVISÃO REDES DE COMPUTADORES EDGARD JAMHOUR. Segundo Bimestre

Arquitectura de Redes

ICMP. Tipos de mensagens ICMP

EXERCÍCIOS DE REVISÃO. Segundo Bimestre. Primeiro Bimestre

CCNA Exploration (Protocolos e Conceitos de Roteamento) OSPF

Arquitectura de Redes

Modelo de Referência OSI

Transcrição:

Redes de Computadores Protocolos ARP; UDP; BOOTP e DHCP Encaminhamento IP Protocolo ICMP e protocolo TCP Março de 2009 1

Transporte de datagramas IP A pilha de protocolos TCP/IP recorre a um serviço externo de transporte de pacotes (tramas de nível 2), para assegurar a transferência dos datagramas IP entre encaminhadores. Se o serviço externo de nível 2 for do tipo ligação dedicada, ou seja uma rede com apenas dois nós o endereçamento é implícito e normalmente usa-se o protocolo PPP para controlo das transferências da pacotes. Encaminhador A Encaminhador B IP PPP Ligação dedicada (Nível 2) IP PPP Se tratar de uma tecnologia multiponto (rede comutada ou de broadcast), é necessário estabelecer uma equivalência entre os endereços de nível 2 e os endereços de nível 3. Quando um datagrama IP é colocado no interior de uma trama de nível 2 (encapsulamento) é necessário determinar o endereço de destino (nível 2) para a trama. MAC destino (48 bits) MAC origem (48 bits) 800 Cabeçalho IP DADOS IP FCS 2

ARP Address Resolution Protocol O protocolo ARP tem como objectivo assegurar a ligação entre o endereçamento IP de 32 bits e o endereçamento local de uma rede de nível 2 multiponto, tipicamente 802.3 com endereços de 48 bits. TABELA ARP A camada ARP gere uma tabela de IP IP MAC equivalências entre endereços IP dos ARP nós IP da rede local e os endereços ETHERNET MAC respectivos. 192.168.10.5 00:0A:B3:45:34:AB 192.168.10.34 00:0A:B3:50:54:14 192.168.10.240 00:0E:F3:50:00:FA A gestão desta tabela é totalmente dinâmica, cada linha tem um tempo de vida de apenas alguns segundos, após esse tempo é eliminada. Quando é necessário enviar um datagrama IP a um nó local, o endereço de destino (IP) é pesquisado na tabela para obter o respectivo endereço MAC de destino para colocar na trama (encapsulamento no nível 2). Quando é necessário um endereço que não se encontra na tabela, então é usado o protocolo ARP propriamente dito para determinar esse endereço que será depois adicionado à tabela. 3

Protocolo ARP O protocolo ARP é usado quando é necessário um endereço de nível 2 (MAC) correspondente a um dado endereço de nível 3 (IP), e este não se encontra na tabela ARP. IP IP IP IP PEDIDO ARP (BROADCAST) RESPOSTA ARP (UNICAST) ARP ARP Nível 2 ARP (FF:FF:FF:FF:FF:FF) ARP A camada ARP começa por enviar um PEDIDO ARP que contém o endereço IP pretendido, este pedido é enviado em BROADCAST, por isso todos os nós da rede recebem. Todas as camadas ARP estão à escuta destes pedidos, quando os recebem comparam o seu próprio endereço IP com o que consta no pedido, se forem iguais enviam a RESPOSTA ARP que contém o endereço MAC pretendido. Ao receber a resposta, o nó que desencadeou o processo, adiciona os novos dados à sua tabela ARP, estes novos dados serão válidos apenas durante algum tempo. 4

Endereçamento IP O protocolo IP, como protocolo de rede que é, define não apenas endereços de nó, mas também endereços de rede. 0 RRR RRRR NNNN NNNN NNNN NNNN NNNN NNNN 10 RR RRRR RRRR RRRR NNNN NNNN NNNN NNNN 110 R RRRR RRRR RRRR RRRR RRRR NNNN NNNN 1110 11110 Classe A Classe B Classe C Classe D (MULTICAST) Classe E (Reservada) 32 BITS RRRRRRRR RRRRRRRR RRRRRNNN NNNNNNNN REDE (21 BITS) NÓ (11 BITS) EXEMPLO: MASCARA DE REDE = 21 BITS Um endereço IP (32 bits) é constituído por uma N bits de rede (mascara de rede) seguidos de (32-N) bits de nó. Um endereço IP (32 bits) identifica univocamente e universalmente (INTERNET) um nó e ao mesmo tempo identifica a rede onde esse nó se encontra. Os nós de uma mesma rede IP têm endereços IP (32 bits) com os bits de rede exactamente iguais e os bits de nó obrigatoriamente diferentes. O endereço com 1 em todos os bits de nó significa broadcast na rede. 5

Protocolo UDP ( User Datagram Protocol ) O protocolo IP não apresenta as funcionalidades mínimas para ser usado directamente por aplicações de rede de uso geral. Um problema menor é a ausência de detecção de erros nos dados, mais grave é a ausência de um mecanismo de identificação de aplicações. O protocolo UDP implementa estas duas funcionalidades. Mínimo 20 bytes Cabeçalho UDP = 64 bits Cabeçalho IP Porto de origem Porto de destino Comprimento CHECKSUM DADOS TRANSPORTADOS 16 bits 16 bits 16 bits 16 bits Aplicações Os números de porto servem para identificar aplicações individuais no interior de um nó. Uma vez que em cada nó podem existir centenas de aplicações de rede esta identificação é fundamental. Aplicação B 45 Aplicação A 1351 UDP Aplicação C IP (192.168.1.8) 9084 Nível 2 Aplicação D 10244 UDP IP (192.168.1.3) Aplicação E 234 UDP EXEMPLO Quando a Aplicação A pretende enviar dados para a Aplicação E não é suficiente especificar o destino 192.168.1.3. Também é necessário o número de porto, ou seja 192.168.1.3:234. A origem destes dados será 192.168.1.8:1351 e o destino será 192.168.1.3:234. Se a Aplicação E enviar uma resposta, ela será enviada para 192.168.1.8:1351. Deste modo as aplicações comunicam entre si sem interferir com terceiros. IP 6

Números de porto e servidores No contexto do modelo cliente-servidor, os números de porto assumem um papel importante. Uma vez que os números de porto servem para identificar aplicações, o cliente necessita de conhecer não apenas o endereço IP da máquina onde está o servidor, mas também o número de porto que o servidor está a usar. Por exemplo 192.200.10.6:200 para indicar que o servidor está no porto 200 do endereço 192.200.10.6. Para simplificar a utilização das redes são definidos números de porto normalizados para cada tipo de serviço, os mais importantes abaixo de 1024. Quando o utilizador não indica à aplicação cliente qual é o número de porto do servidor, a aplicação cliente assume que se pretende usar o porto normal para esse tipo de serviço. Por exemplo um browser que é capaz de suportar diversos protocolos observa a parte inicial do URL para saber que porto usar. http://192.168.10.1 significa porto 80 no nó 192.168.10.1 https://192.168.10.1 significa porto 443 no nó 192.168.10.1 O ficheiro /etc/services existente nos sistemas tipo Unix contém uma lista com os principais números de porto normalizados. 7

Protocolo BOOTP O protocolo BOOTP ( BOOTstrap Protocol ) é um exemplo de um serviço UDP, no caso, o servidor recebe datagramas UDP no porto 67. Como tal os clientes BOOTP sabem que devem enviar os seus pedidos para o número de porto 67. O objectivo deste protocolo é obter informação para configuração IP do nó. Assim sendo, o cliente nada conhece sobre a rede a que está ligado, nem sequer o seu próprio endereço IP. Como o cliente não sabe a que rede está ligado, não pode usar o endereço de broadcast correspondente, em vez disso usa o endereço 255.255.255.255 que significa broadcast na rede local (seja ela qual for). Servidor BOOTP (porto 67) Cliente BOOTP PEDIDO BOOTP (BROADCAST) UDP UDP Rede IP RESPOSTA BOOTP (UNICAST) (255.255.255.255:67) Ficheiro de configuração BOOTP ORIGEM = 0.0.0.0:68 Cliente BOOTP Servidor BOOTP (porto 67) DESTINO = 255.255.255.255:67 MAC 00:0A:B3:06:34:AB 00:0A:B3:50:54:14 00:0E:F3:50:00:FA IP 192.168.0.30 192.168.0.31 192.168.0.32 8

BOOTP dinâmico O protocolo BOOTP cumpre totalmente as funções para que foi desenvolvido, fornecendo aos clientes todo o tipo de informações de configuração de que necessitam para funcionar e permitindo ainda acrescentar outras informações. Contudo é necessário que cada endereço MAC seja registado manualmente no ficheiro de configuração. Muitas vezes é desejável que novas máquinas que se ligam à rede tenham automaticamente um endereço IP atribuído sem necessidade de nenhum acto de administração manual. Os servidores BOOTP podem realizar esta tarefa, o problema é que não conseguem determinar quando é que um dado nó deixa de necessitar do endereço que lhe foi atribuído, ou seja esta atribuição é permanente. Assim para o servidor BOOTP funcionar em modo dinâmico, é necessária uma quantidade de endereços IP igual ao número total de nós que potencialmente pode ser ligado à rede. O ideal seria necessitar de uma quantidade de endereços IP igual ao número máximo de nós ligados simultaneamente. 9

Protocolo DHCP ( Dynamic Host Configuration Protocol ) O protocolo DHCP não é mais do que uma extensão do protocolo BOOTP, ao qual é adicionado o conceito de aluguer do endereço (lease) por determinado tempo. Quando um cliente recebe um endereço via DHCP tem de controlar o tempo de aluguer e, se pretender continuar a usar o endereço, tem de renovar o pedido antes que o aluguer se esgote. Uma vez esgotado o tempo de aluguer o servidor DHCP tem a liberdade de fornecer esse endereço IP a outro cliente. Na prática os servidores DHCP tentam manter sempre o IP de cada cliente, apenas quando se esgota a gama disponível é que os endereços são reutilizados para clientes diferentes. Os próprios clientes DHCP tentam manter o mesmo IP e quando arrancam enviam ao servidor um pedido de renovação com o IP que tinham anteriormente. 10

Encaminhamento Uma das principais razões do actual sucesso do protocolo IP é o facto de ser assegurado que um DATAGRAMA IP emitido em qualquer ponto da INTERNET será correctamente encaminhado até ao endereço de destino. As decisões de encaminhamento são realizadas usando uma tabela conhecida por tabela de encaminhamento (ou routing table ). DESTINO PRÓXIMO NÓ 192.168.10.0/24 195.30.6.20 194.13.57.23/32 195.30.6.202 190.123.5.23/30 194.3.236.22 Cada linha da tabela de encaminhamento possui dois elementos fundamentais: >> DESTINO identificação de destinos, ou seja um endereço IP associado a uma mascara de rede. >> PRÓXIMO NÓ próximo endereço para onde devem ser enviados os dados quando se pretende que estes cheguem ao DESTINO anteriormente identificado. Trata-se do nó seguinte do percurso ou rota dos dados. 11

Tabelas de Encaminhamento Para cada interface de rede a que um nó está ligado existe uma linha especial na tabela de encaminhamento em que o PRÓXIMO NÓ é a identificação interna dessa interface na rede local e não um endereço IP. Numa tabela de encaminhamento não é possível ter identificados todos os destinos possíveis, usa-se uma linha no fim da tabela que serve para identificar todos os destinos não contemplados em linhas anteriores. Trata-se do caminho por omissão ( default route ). Todos os nós de rede IP possuem uma tabela de encaminhamento, no caso mais simples apenas com duas entradas: interface na rede local e caminho por omissão. Todos os endereços na coluna PRÓXIMO NÓ pertencem obrigatoriamente a redes locais directamente ligadas por uma interface. DESTINO PRÓXIMO NÓ 192.168.10.0/24 INTERFACE ETHERNET 1 172.14.0.0/16 INTERFACE ETHERNET 2 194.121.12.0/24 172.14.5.100 0.0.0.0/0 192.168.10.200 12

Caminhos alternativos Quando apenas existe um caminho possível para chegar ao nó de destino, as tabelas de encaminhamento com duas colunas são suficientes. Em redes mais complexas como por exemplo as redes de trânsito que interligam zonas da INTERNET é vulgar e desejável (redundância e distribuição do tráfego) que existam vários caminhos alternativos para chegar a qualquer ponto. Caminhos alternativos, significa que em DESTINO PRÓXIMO NÓ determinados encaminhadores vão existir 192.168.10.0/24 INTERFACE ETHERNET 1 linhas da tabela de encaminhamento 172.14.0.0/16 INTERFACE ETHERNET 2 repetidas com o mesmo destino. 194.121.12.0/24 172.14.5.100 É necessário definir novos critérios para 194.121.12.0/24 192.168.10.2 tomar uma decisão de escolha do melhor 0.0.0.0/0 192.168.10.200 caminho. Para permitir uma decisão no sentido de que seja usado o melhor caminho, a cada linha da tabela de encaminhamento são adicionados outros parâmetros que deverão quantificar o custo da sua utilização (caminho até ao destino). Quando existem duas linhas com o mesmo DESTINO será usada a de menor custo. 13

Encaminhamento dinâmico A construção das tabelas de encaminhamento pode ser realizada manualmente (encaminhamento estático), contudo para redes extensas e complexas essa tarefa torna-se quase impossível e tem de ser automatizada. As vantagens da existência de caminhos alternativos (redundância e distribuição do tráfego) apenas fazem sentido se as tabelas de encaminhamento mantiverem uma representação actualizada do estado da rede, isso não pode ser feito manualmente. Para resolver estes problemas usam-se protocolos de encaminhamento dinâmico que permite a construção automática das tabelas de encaminhamento. Estes protocolos envolvem a troca de informação de controlo entre os nós encaminhadores. Existem dois tipos de protocolo de encaminhamento dominantes: DISTANCE-VECTOR - cada nó divulga junto dos nós vizinhos a sua tabela de encaminhamento. LINK-STATE - cada nó divulga junto dos nós vizinhos a lista de nós aos quais está directamente ligado (vizinhos). 14

Algoritmos DISTANCE-VECTOR Este algoritmo envolve a divulgação periódica entre nós vizinhos das respectivas tabelas de encaminhamento. Esta divulgação pode recorrer a uma simples emissão em BROADCAST. Inicialmente cada nó possui uma tabela de encaminhamento em que constam apenas as redes a que está directamente ligado (interfaces de rede), a cada uma das interfaces está associado um custo (distância). Quando um nó recebe do vizinho uma tabela de encaminhamento adiciona ao custo de cada linha o custo da interface por onde a informação foi recebida e modifica o PROXIMO NÓ para corresponder ao endereço de origem dessa informação: Rede 1 ROUTER A Rede 2 ROUTER B Rede 3 ROUTER C Destino Próximo nó Custo Rede 1 Interface 1 2 Rede 2 Interface 2 3 As regras dinâmicas (recebidas dos vizinhos) têm um tempo de vida limitado, se uma ligação está inoperante as tabelas não passam e as respectivas linhas acabam por ser eliminadas. Destino Próximo nó Custo Rede 2 Interface 1 8 Rede 3 Interface 2 2 Rede 1 ROUTER A 2+8 Rede 2 ROUTER A 3+8 Destino Próximo nó Custo Rede 3 Interface 1 4 Rede 2 ROUTER B 8+4 Rede 3 ROUTER B 2+4 Rede 1 ROUTER B 2+8+4 Rede 2 ROUTER B 3+8+4 15

Algoritmos LINK-STATE Nos algoritmos LINK-STATE as tabelas de encaminhamento são totalmente construídas em cada encaminhador. Para isso cada encaminhador tem de conhecer toda a rede. Cada nó de encaminhamento tem de conhecer os seus vizinhos directos e controlar permanentemente o estado da ligação com cada um deles. Na posse dessa lista divulga-a por todos os encaminhadores da rede. Sempre que detectar uma alteração nos estados das ligação reconstrói a lista e divulga-a novamente. Cada nó de encaminhamento recebe portanto mensagens de todos os outros nós contendo a identificação do nó de origem e dos respectivos vizinhos (as ligações entre nós só são aceites com reconhecimento mutuo). Com estas informações todos os encaminhadores ficam a conhecer as interligações de toda a rede. Na posse do conhecimento de todas as interligações da rede, o nó pode agora autonomamente determinar a tabela de encaminhamento. Trata-se de um algoritmo simples de determinação dos caminhos mais curtos (menos nós intermédios). 16

IGP, EGP e BGP Para efeitos de encaminhamento a INTERNET está dividida em sistemas autónomos (AS), cada sistema autónomo integra um conjunto de redes IP geridas por uma mesma entidade. Os protocolos de encaminhamento usados no interior de um AS são independentes da restante INTERNET. Os protocolos de encaminhamento usados no interior de um AS são independentes da restante INTERNET e são habitualmente designados de IGP (Interior Gateway Protocols). Na categoria DISTANCE-VECTOR: RIP (Routing Information Protocol) e o IGRP (Interior Gateway Routing Protocol). Na categoria LINK-STATE: OSPF (Open Shortest Path First) e o IS-IS (Intermediate system to intermediate system). O encaminhamento entre sistema autónomos era originalmente assegurado pelo protocolo EGP (Exterior Gateway Protocol), actualmente considerado obsoleto e substituído pelo BGP (Border Gateway Protocol). 17

Protocolo ICMP O protocolo ICMP (Internet Control Message Protocol) é um protocolo auxiliar de controlo que permite realizar a notificação de vários tipos de situações anómalas relacionadas com o protocolo IP e ainda desencadear alguns tipos de operações de manutenção. MENSAGEM ICMP UDP (17) TCP (6) ICMP (1) IP ARP Nível 2 Cabeçalho IP Tipo Código Checksum Dados 8 bits 8 bits Comprimento variável O campo Tipo identifica o tipo de mensagem, para cada tipo poderão existir vários valores possíveis para o campo Código. O campo Checksum serve para detectar erros na mensagem ICMP e o campo Dados contém elementos dependentes do tipo de mensagem ICMP. Por exemplo a mensagem ICMP tipo 0 significa echo reply, é usada em conjunto com o tipo 8 ( echo request ) e servem para teste de conectividade sendo usadas pelo bem conhecido comando ping. Em ambos os casos o código deverá ser zero, os dados são constituídos por um identificador e um número de sequência, ambos com 16 bits, seguidos de um padrão de bis que o requisitante pode colocar e no pedido e será devolvido na resposta. 18

Mensagem ICMP Destino inatingível A mensagem ICMP de tipo 3 ( Destination Unreachable ) é enviada ao nó de origem quando um DATAGRAMA IP não pode ser entregue no endereço de destino pretendido. O campo Código é usado para indicar a razão dessa falha. 3 Código Checksum Reservado MTU seguinte Cópia do cabeçalho IP + 8 octetos de dados DADOS ICMP O campo MTU seguinte é usado apenas para o código 4. Em qualquer caso é devolvida na mensagem ICMP uma cópia da parte inicial do DATAGRAMA IP que causou o problema. Código 0 1 2 3 4 5 Alguns códigos Destino inatingível Significado NETWORK UNREACHABLE significa que o DATAGRAMA não chegou à rede de destino. HOST UNREACHABLE significa que o DATAGRAMA chegou à rede de destino, mas não pode ser entregue no nó de destino. PROTOCOL UNREACHABLE significa que o DATAGRAMA IP chegou ao nó de destino, mas esse nó não tem o protocolo indicado. PORT UNREACHABLE o DATAGRAMA IP chegou ao nó de destino, mas não existe nenhuma aplicação no número porto de destino indicado. O DATAGRAMA necessita de ser fragmentado e a flag DF está activa. O campo MTU seguinte contém o valor do MTU que causou o problema. Foi usada a opção IP source route e falhou 19

Outras mensagens ICMP importantes Mensagem tipo 4 ( Source Quench ) aviso gerado por um nó saturado, pede que o fluxo de dados seja reduzido. Mensagem tipo 5 ( Redirect ) indica ao nó de origem que está a usa o encaminhador errado para chegar ao destino pretendido e como tal deve corrigir o encaminhamento, para esse efeito os primeiros 32 bits da zona de dados da mensagem ICMP contêm o endereço IP do encaminhador correcto. O nó de origem pode usar esta informação para alterar a sua tabela de encaminhamento. Mensagem tipo 11 ( Time Exceeded ) indica que o TTL chegou a zero (código=0) ou que o tempo máximo de reagrupamento de um DATAGRAMA fragmentado se esgotou (código=1). Os primeiros 32 bits de dados não são usados, e segue-se o cabeçalho IP mais 64 bits (copiados do DATAGRAMA que causou o erro). O código 0 é usado pelo comando traceroute, gerando erros sucessivos nos vários encaminhadores fica a saber-se o caminho que os dados seguem. 20

Protocolo TCP Ao contrário do protocolo UDP que é muito simples, o Transmission Control Protocol (TCP) é comparativamente bastante complexo devido ao conjunto de funcionalidades disponibilizadas. Usando um simples e não fiável serviço de DATAGRAMAS do IPv4 ou IPv6, o TCP proporciona um serviço de transferência de dados em fluxo através de uma ligação lógica. A operação do TCP utiliza controlo de erros e de fluxo baseado a ARQ continuo que garante a total ausência de erros. Estabelecimento de ligação para que a comunicação seja possível em TCP é necessário ter uma ligação lógica, para o efeito um dos intervenientes envia uma mensagem SYN, que terá como resposta um SYN-ACK, finalmente é enviado o SYN-ACK-ACK. SYN (1º) Aplicações IPv4 TCP IPv6 Aplicação A SYN-ACK (2º) Aplicação B SYN-ACK-ACK (3º) Finalização de ligação qualquer dos dois nós pode requerer o fim da ligação. Para esse efeito envia o comando FIN. O parceiro pode responder apenas com ACK, nesse caso a ligação fica meio aberta. Ou pode responder com um ACK-FIN (finalização com 3 envios): Aplicação A FIN (1º) ACK-FIN (2º) Aplicação B ACK (3º) 21

Segmentos TCP A informação de controlo e os dados do protocolo TCP são divididos em partes capazes de serem colocadas no interior de pacotes IP, conhecidas por segmentos TCP. O parâmetro MSS ( maximum segment size ) indica o tamanho máximo que o segmento TCP pode ter em função do MTU determinado e eventualmente o Path MTU. 4 bits PORTO DE ORIGEM 8 bits 32 bits Número de sequência Número de sequência de ACK 8 bits 8 bits PORTO DE DESTINO Em cabeçalhos simples (sem opções): HLEN Reservado FLAGS TAMANHO DA JANELA DE RECEPÇÃO CHECKSUM URGENT POINTER IPv4: MSS = MTU - 40 IPv6: MSS = MTU - 60 OPÇÕES (OPCIONAL) DADOS Os portos de origem e destino TCP são totalmente independentes dos portos UDP pois tratase de duas camadas independentes. O campo HLEN especifica o tamanho do cabeçalho TCP em unidades de 32 bits, pode variar de 5 a 15 devido às opções. O campo CHECKSUM permite detectar erros no cabeçalho e dados, engloba ainda partes do cabeçalho IP. A forma de cálculo do CHECKSUM é diferente conforme o encapsulamento seja feito em IPv4 ou IPv6. O campo FLAGS é composto por vários bits que identificam comandos tais como SYN; ACK; FIN e RST. 22