Skip to content

TCP/IP

Incialmente temos que entender que Protocolo é um conjunto de regras de comunicação previamente definidas que controlam a comunicação entre dois dispositivos.

Os protocolos definem entre outras coisas, o formato dos dados, as mensagens de controle e as  formas de envio.

A comunicação é uma das maiores necessidades da sociedade humana desde os primórdios de sua existência. Conforme as civilizações se espalhavam, ocupando áreas cada vez mais dispersas geograficamente, a comunicação a longa distância se tornava cada vez mais uma necessidade e uma desafio.

As formas de comunicação através de sinais de fumaça ou pombos-correios foram as maneiras encontradas por nossos ancestrais para tentar aproximar as comunidades distantes.

O que é Necessário para um Protocolo Funcionar?

  • Atender a todas as funções necessárias para duas máquinas ou entidades entendam as mensagens recebidas.
  • Que respondam da mesma forma às mensagens.
  • Transmitir sinalização e informação
  • Pode rodar em dispositivos e sistemas operacionais diferentes.

A comunicação é uma das maiores necessidades da sociedade humana desde os primórdios de sua existência. Conforme as civilizações se espalhavam, ocupando áreas cada vez mais dispersas geograficamente, a comunicação a longa distância se tornava cada vez mais uma necessidade e uma desafio. As formas de comunicação através de sinais de fumaça ou pombos-correios foram as maneiras encontradas por nossos ancestrais para tentar aproximar as comunidades distantes.

A invenção do telégrafo por Samuel F. B. Morse em 1838 inaugurou uma nova época nas comunicações. Nos primeiros telégrafos utilizados no século XIX, as mensagens eram codificadas em cadeias de símbolos binários (código morse) e eram transmitidas manualmente por um operador através de um dispositivo gerador de pulsos elétricos. Desde então, a comunicação através de sinais elétricos atravessou uma grande evolução, dando origem a maior parte dos grandes sistemas de comunicação que temos hoje em dias, como o telefone, o rádio e a televisão.

A evolução tecnológica  e a conseqüente diminuição dos custos dos computadores tornou cada vez mais atraente a distribuição do poder computacional em módulos processadores localizados em diversos pontos de uma organização. A necessidade de interconexão desses módulos processadores, para permitir o compartilhamento de recursos de hardware e software e principalmente a troca de informações entre os usuários, criou um ambiente propício para o desenvolvimento de um sistema de redes de computadores. No princípio, as redes foram implementadas empiricamente, contudo, nas décadas de 1970 e 1980, um conjunto de conhecimentos foi adquirido, tornando possível o seu projeto sistemático.  A evolução contínua da microeletrônica e da tecnologia de comunicação vem, desde então, abrindo novas fronteiras. O emprego de sistemas de comunicação capazes de transportar dados a altas velocidades e a grandes distâncias permitiu a introdução do conceito de rede única, capaz de transportar de forma integrada as diferentes mídias de vídeo, áudio, imagens e texto.

A Internet surgiu através da plataforma TCP/IP (Transmission Control Protocol/Internet Protocol) que foi encomendada pelo DARPA (Defense Advanced Research Projects Agency), nos Estados Unidos, no início da década de 70, constituindo a ARPANET, que mais tarde se desmembrou em ARPANET para pesquisa, e MILNET, para instituições militares. Para encorajar os pesquisadores universitários a adotar o TCP/IP, o DARPA fez uma implementação de baixo custo, integrando-o ao UNIX da Universidade de Berkeley (BSD) já em uso em todas as universidades americanas. Além disso, teve-se o cuidado de definir aplicações de rede similares às já conhecidas em Unix, como rusers e rcp. Mais tarde a NSF (National Science Foundation) estimulou o seu crescimento criando a NSFNET, que ligava centros de supercomputação espalhados por todo o país, numa rede de longa distância, também com os protocolos TCP/IP.

Existe um grupo chamado IAB (Internet Activities Board) que coordena os esforços de pesquisa na área, através de vários grupos de trabalho. A documentação dos trabalhos, propostas para novos protocolos ou alteração de outros já existentes é feita através de artigos conhecidos como RFCs (Request for Comments). Propostas ainda em estudos são chamadas de IEN (Internet Engineering Notes) ou Internet Drafts.

Tanto as RFCs quanto as IENs são numeradas seqüencialmente e em ordem cronológica. São distribuídas pelo SRI-NIC, órgão que executa várias tarefas administrativas na INTERNET.

Quando atendemos o telefone que toca em nossa casa, seguimos um protocolo (regra) de comunicação: a pessoa que atende fala “alô”, a pessoa que chamou pergunta “de onde fala” para verificar se está conectado ao número correto; uma pessoa “fala” enquanto a outra “ouve”; caso uma não entenda o que a outra falou, esta pede para que a informação seja repetida e assim por diante. Antes de iniciar a conversação, uma pessoa precisa discar o número da outra para estabelecer a conexão; após essa fase as duas podem iniciar a troca de informações.

Com os computadores acontece o mesmo, ou seja, é necessário que existam regras para que possa haver a troca de informação. Essas regras são implementadas por software denominados protocolos de comunicação que, dependendo do tipo de link, ponto-a-ponto, multiponto ou links de acesso a redes de computadores, implementam funções mais ou menos complexas. Existe um grande número de software desse tipo, dentre os quais podemos citar Zmodem, Kermit, Xmodem (também conhecidos como “Protocolos de Modem”), BSC, SDLC, X-25, etc.

Com relação às funções, podemos ver que, por exemplo, num link ponto-a-ponto, não existirá endereçamento, função que será necessária num link multiponto. Se pensarmos em redes de computadores, outras funções além de endereçamento serão necessárias, tais como: roteamento, controle de fluxo (computares em rede não são iguais e por isso podem ter diferentes capacidades), controle de “login” (senha e conta), etc.



Nesse tipo de protocolo, uma parte inicia a troca de informações sem estabelecer uma conexão. A outra parte responde assim que chega a solicitação. O grande representante é o protocolo UDP – User Datagram Protocol.

 

PROTOCOLOS LAN

São protocolos utilizados no interior da rede local do cliente e são utilizados para conexão das estações de trabalho a Rede. Podemos elencar os seguintes protocolos.

– APPLETALK

Este protocolo caiu em desuso, foi um protocolo suite concebido para a comunicação entre os computadores Macintosh. AppleTalk foi desenvolvido pela Apple Computer Corporation. Seu objetivo era facilitar o compartilhamento de arquivos e impressoras. (está em desuso).

– IPX/SPX

Internetwork Packet Exchange/Sequenced Packet Exchange Protocol foi desenvolvido pela Novell, na década de 80, para os sistemas operacionais Netware, O IPX  opera na camada de rede, foi derivado do IDP da Xerox Network Systems. Ele também caiu em desuso. 

– NETBEUI

NetBIOS Enhanced User Interface, protocolo desenvolvido pela Microsoft e foi utilizado para interconexão de máquinas Windows que utilizavam o sistema operacional Windows 3.11, Windows 95/98 e Windows NT. Não é um protocolo roteável, ou seja se tivermos que ligar duas redes locais, temos que utilizar o recurso de WINS ( a partir de 1996 foi descontinuado).

– TCP/IP (Transmission Control Protocol/Internet Protocol)

A partir de 1996 todos os fabricantes de sistemas operacionais se renderam ao TCP/IP, pois ele era o protocolo responsável pela conexão com a Internet. Então a Microsoft, Novell e Apple, passaram a fabricar os seus produtos com o TCP/IP nativo.

PROTOCOLOS WAN

Os protocolo LAN foram projetados para trafegar apenas dentro da rede local do cliente, para que eles possam ser transportados do ambiente do cliente até a operadora é necessário um encapsulamento com um protocolo WAN. Os protocolos WAN mais utilizados atualmente são os seguintes:

– PPP – POINT-TO-POINT PROTOCOL

A grande maioria dos hosts na Internet era conectada através de Redes Locais de vários tipos, sendo a Ethernet a mais comum. Outros hosts eram conectados através de Redes X.25 e relativamente poucos através de linhas seriais ponto-a-ponto. Uma razão para isso era a falta de um protocolo padrão de encapsulamento Internet. O PPP foi concebido para resolver esse problema.

Assim, o PPP provê um padrão de encapsulamento do protocolo IP sobre linhas seriais. Além disso, ele permite atribuição e gerenciamento de endereços IP, encapsulamento assíncrono (start/stop) e síncrono orientado a bit (bit-oriented), multiplexação de protocolos de rede, configuração de linhas, teste da qualidade da linha, detecção de erros e, opcionalmente, negociação de endereços da camada de rede e compressão de dados.

– FRAME RELAY

 Frame Relay foi desenvolvida para solucionar problemas de comunicação, que outros protocolos não resolveram, com eficiência das larguras de banda amplas para tráfego por picos (“explosivos”), com processamento de protocolo mais baixo e velocidade mais altas. Opera com o conceito de garantia de banda (CIR) e com links de no máximo de 2 Mbit/s.

Foi desenvolvido para realizar a interligação de filiais no conceito de matriz/filial (árvore) é baseada no uso de Circuitos Virtuais (VC’s). Um VC é um circuito de dados virtual bidirecional configurado entre 2 portas quaisquer da rede, que funciona como um circuito dedicado. 

– ATM

O Modo de transferência assíncrona ( ATM ) é um padrão de telecomunicações definido por ANSI e ITU (anteriormente CCITT) para transmissão digital de vários tipos de tráfego, incluindo sinais de telefonia (voz), dados e vídeo em uma rede sem o uso de redes de sobreposição separadas. ATM foi desenvolvido para atender às necessidades da Rede Digital de Serviços Integrados de Banda Larga , conforme definido no final da década de 1980, e projetado para integrar redes de telecomunicações. Ele pode lidar com o tráfego de dados de alto rendimento tradicional e em tempo real ,conteúdo de baixa latência , como voz e vídeo. ATM fornece funcionalidade que usa recursos de comutação de circuitos e redes de comutação de pacotes . Ele usa multiplexação por divisão de tempo assíncrona, e codifica os dados em pequenos pacotes de rede de tamanho fixo.

– MPLS

O protocolo MPLS (Multi Protocol Label Swithing) foi definido pelo IETF (Internet Engineering Task Force) e consiste em uma tecnologia de chaveamento de pacotes que possibilita o encaminhamento e a comutação eficientes de fluxos de tráfego através da rede, sendo assim, uma solução para diminuir o processamento nos equipamentos de rede. 

A Arquitetura TCP/IP é largamente utilizada na interconexão e na interoperação  de sistemas computacionais heterogêneos. Na época de seu surgimento, a Arquitetura TCP/IP era a única alternativa para fazer frente aos protocolos proprietários de fabricantes de equipamentos, tornando-se assim, um padrão de fato no mercado. TCP/IP (Transmission Control Protocol/Internet Protocol) é na verdade o nome comum para uma família de dezenas de protocolos de comunicação de dados.

A grande característica da Arquitetura TCP/IP é a simplicidade de implementação dos seus protocolos, que, mesmo assim, atendem aos requisitos de interconexão exigidos pela maioria dos sistemas.

Assim como o Modelo de Referência OSI da ISO, a Arquitetura TCP/IP também é organizada em camadas, não existindo, contudo, uma estruturação formal como a definida para o Modelo de Referência OSI. Primando pela simplicidade e pela funcionalidade, a Arquitetura TCP/IP é composta por dois protocolos principais: o IP (Internet Protocol), responsável pelo encaminhamento de pacotes de dados entre diversas sub redes desde a origem até o seu destino e o TCP (Transmission Control Protocol), que tem por função o transporte fim-a-fim confiável de mensagens de dados entre dois sistemas.

Para aplicações que não necessitam um serviço de transporte confiável como o do TCP, foi definido também um protocolo de transporte sem conexão denominado UDP (User Datagram Protocol).

Observe que quando você está fazendo um download de um arquivo de 10o GB de um servidor para um computador. Uma das primeiras coisas que são pré-definidas é o estabelecimento da melhor rota, um caminho que será estabelecido entre a origem e o destino. Este é o papel do protocolo IP, mais especificamente da função de roteamento. Uma vez encontrado o caminho, o próximo passo é dividir o arquivo de 100 GB em pacotes de tamanhos menores, os quais possam ser enviados pelos equipamentos de rede. Além da divisão em pacotes menores, o TCP/IP tem que garantir que os pacotes sejam entregues sem erros e sem alterações. Pode também acontecer de os pacotes chegarem fora de ordem.

O TCP/IP tem que ser capaz de identificar a ordem correta e entregar os pacotes para o programa de destino, na ordem correta. Por exemplo, pode acontecer de o pacote número 130 chegar antes do pacote número 129. Neste caso o TCP/IP tem que aguardar a chegada do pacote número 129 e entregá-los na ordem correta. Pode também acontecer de serem perdidos pacotes durante o transporte. Neste caso, o TCP/IP tem que informar à origem de que determinado pacote não foi recebido no tempo esperado e solicitar que este seja retransmitido. Todas estas funções – garantir a integridade, a sequencia correta e solicitar retransmissão – são exercidas pelo protocolo TCP. Além do TCP existe também o UDP – User Datagram Protocol (veja figura acima), o qual não faz todas estas verificações e é utilizado por determinados serviços que precisam ser rápidos sem a confirmação de entrega. Costumo utilizar como analogia para os meus alunos o seguinte: imagine que você precise sair e está a sua disposição duas opções: um taxi e um motoboy. O taxi será mais lento e seguro (TCP) e o motoboy será mais rápido, mas inseguro (UDP).

CAMADA DE APLICAÇÃO

Telnet & Rlogin: aplicação que permite a um usuário remoto conectar-se a um Host, desde que tenha uma conta; funciona entre Hosts que usam diferentes sistemas operacionais; usa opções negociáveis entre cliente e servidor para determinar que características cada ponta possui; Rlogin funciona só para o sistema operacional UNIX de Berkeley; ambos têm as mesmas funções

FTP: File Transfer Protocol, aplicação para transferência de arquivos entre uma estação cliente e um servidor de arquivos FTP operando entre Hosts com diferentes sistemas operacionais e diferentes estruturas de arquivos

SMTP: Simple Mail Transfer Protocol, protocolo que suporta a aplicação E-Mail (Correio Eletrônico) para a troca de mensagens entre dois usuários

DNS: Domain Name Service, é um banco de dados distribuído usado pelas aplicações TCP/IP para efetuar o mapeamento de nomes de máquinas (hostnames) e endereços IP e também para fornecer informações sobre roteamento de mensagens de correio eletrônico

TFTP: Trivial FTP, é usado em conjunto com o Bootstrap Protocol (protocolo de boot) quando da inicialização de estações sem disco ou terminais X (terminais X-Windows do UNIX); usa o UDP para uma operação mais simples e rápida

SNMP: Simple Network Management Protocol, usado entre o agente SNMP (que reside na máquina que está sendo gerenciada) e o servidor de gerenciamento; normalmente usado com UDP

NFS & RPC: Network File System & Remote Procedure Call, o NFS provê acesso transparente a arquivos para as aplicações dos usuários; o RPC é o processo usado pelo kernel para acessar os arquivos do servidor NFS.

CAMADA DE TRANSPORTE

UPD: User Datagram Protocol ele opera no modo não orientado a conexão e possui serviços bem mais simplificados que o TCP, é mais rápido, mas menos confiável.

TCP: O Transmission Control Protocol  é um protocolo da camada de transporte e executa importantes funções para garantir que os dados sejam entregues de uma maneira confiável, ou seja, sem que os dados sejam corrompidos.

CAMADA DE REDE

IP:  Internet Protocol, é um protocolo de endereçamento, um protocolo de rede, é responsável pelas principais funções do protocolo TCP/IP, que é a parte relativa a  endereçamento e roteamento, ou de uma maneira mais simples, fornecer uma maneira para identificar unicamente cada máquina da rede (endereço IP) e uma maneira de encontrar um caminho entre a origem e o destino (Roteamento).

ICMP: Internet Control Message Protocol, protocolo que envia as mensagens de erro do IP (RFC 792); ver pág. 2-32 para exemplos de mensagens

IGMP: Internet Group Management Protocol, protocolo usado pelos Hosts e roteadores que suportam endereçamento Multicasting (RFC 1112).

CAMADA DE ENLACE

ARP: Address Resolution Protocol, protocolo usado pelas estações de uma Rede Local Ethernet para obter o endereço MAC (endereço físico da placa Ethernet) de uma estação, sabendo apenas o endereço IP

RARP: Reverse ARP, usado pelas estações “diskless” (sem disco) de uma Rede Local para obter seu endereço IP via rede, após o processo de boot.

Suponha duas máquinas numa Rede Local Ethernet rodando a aplicação FTP, de um lado o cliente FTP e do outro o servidor FTP. O servidor provê ao cliente o serviço de download dos arquivos residentes nos diretórios do servidor FTP.

Cada camada tem seu protocolo para se comunicar com a camada par da outra máquina. Notar que a camada de aplicação é normalmente um processo do usuário, enquanto que as camadas inferiores são implementadas no Kernel do sistema operacional (como o LINUX, p. ex.). Assim, a camada de aplicação trata dos dados, enquanto que as inferiores tratam da comunicação desses dados ao longo da rede.

O FTP é o protocolo da aplicação, TCP é o protocolo de transporte, IP é o protocolo de rede e Ethernet é o protocolo de enlace de dados.

A aplicação, no caso FTP – Transferência de Arquivos, entrega para o TCP, via porta TCP, os dados a serem enviados pela rede. Nesses dados está embutido o protocolo da aplicação (FTP – File Transfer Protocol), mas o TCP não sabe disso; para ele é tudo campo de informação e assim será tratado. Os dados do TCP são a PDU da aplicação.

O TCP coloca a informação de cabeçalho nos dados (Header TCP), formando assim a PDU de transporte,  e entrega para o IP. Este por sua vez trata todo o segmento TCP como um campo de informação e acrescenta seu cabeçalho (Header IP), formando a PDU de rede.

Supondo que o Host esteja numa Rede Local, o protocolo de Enlace de Dados formará um quadro (PDU de Enlace de Dados), colocando um Header e um Trailer em todos os dados recebidos do IP. No Host de destino, ocorrerá o processo inverso.

A PDU da aplicação (identificada como DADOS na figura), será a SDU de transporte (campo de INFORMAÇÃO na figura). A PDU de transporte será a SDU da rede e assim por diante.

CONCEITO DE PORTA E SOCKET

Para uma aplicação (processo) de uma estação (host) ao utilizar os serviços do TCP, ela se associa a uma porta de serviço TCP (port). Uma porta, quando ligada a um endereço IP, constitui um socket. Dentro de uma estação cada porta é identificada por um número próprio e único; de maneira análoga, cada estação tem um endereço IP único dentro de uma rede TCP/IP. Daí decorre que um socket tem uma identificação única dentro de uma rede TCP/IP.

Um par de sockets é usado para identificar uma conexão entre dois processos. Uma vez estabelecida uma conexão, cada socket passa a corresponder a um  ponto final (endpoint) dessa conexão.

Os ports TCP identificam de maneira unívoca uma aplicação dentro do Host. As aplicações de usuários utilizam normalmente ports acima de 1024. Servidores utilizam ports abaixo de 1024 e vários estão associados a ports pré-definidos, conhecidos como “well known ports”. 

O TCP usa o conceito de porta para identificar a aplicação destino. Os números das portas TCP variam de 0 a 65535.
Portas de 0 a 1023 são reservadas para o acesso a serviços padrão, como FTP e Telnet (
well-known ports).

As portas permitem que vários processos dentro de uma estação utilizem simultaneamente as
facilidades de transmissão do TCP.
A associação de portas aos processos é tratada
independentemente em cada estação.

CLASSES DE ENDEREÇOS IP

O endereço IP possui dois campos: o identificador de estação e o identificador de rede.  A capacidade de representação de endereços de redes e estações é limitada pelo número de bits alocados em cada campo.  Por outro lado, a necessidade de representação de redes e estações varia  para cada rede TCP/IP; em alguns casos, uma rede TCP/IP pode interconectar mais redes que estações; em outros casos, pode ocorrer exatamente o contrário.

Por este motivo foram criadas 5 classes de endereços IP (A, B, C, D e E). O número de bits de um endereço IP é fixo (32 bits), mas a forma varia de acordo com a classe da rede TCP/IP. A identificação da classe utilizada é feita através dos bits iniciais do campo endereço.

A classe A atende as necessidade de redes de grande abrangência, constituídas de poucas redes e com elevado número de estações, estando disponíveis 8 bits (o bit mais significativo vale 0) para identificação das redes e 24 bits para a identificação das estações. A classe B representa redes intermediárias, com 16 bits (os bits mais significativos valem 1 e 0) para a identificação das redes e 16 para as estações. A classe C atende tipicamente à faixa das rede locais. Como estas são bastante numerosas são reservados 24 bits (os três bits mais significativos valem 1, 1 e 0) para a identificação das redes e apenas 8 bits para a identificação das estação. A classe D indica um endereço multicast (de difusão) e a  classe E está reservada para uso futuro.

Cada equipamento em uma rede IP precisa obrigatoriamente de um endereço IP;

Um endereço é composto de campos para endereçar Redes e Hosts;

As classes de endereços IP são definidas em função do número de Redes e de Hosts.

CLASSE A

Por convenção, endereços IP cujo início esteja na faixa de 1 a 126 são Classe “A”, ou seja, só existem 126 redes Classe A no mundo, e cada uma delas pode utilizar até 24 bits (3 octetos) para endereçar seus hosts, o que significa que uma rede classe “A” pode ter vários milhões de hosts, sendo a classe que permite o maior endereçamento de hosts. A ARPAnet e algumas redes comerciais muito grandes são Classe “A”.

No caso do envio de uma mensagem para uma estação situada em outra rede, a estação de origem obtém o endereço físico do Gateway para a rede de destino. Vale ressaltar que a rede destino não necessariamente está conectada à rede local. Neste caso, a mensagem é transportada por várias redes intermediárias, de Gateway a Gateway, preservando o endereço IP de destino, que é utilizado na obtenção dos endereços intermediários dos gateways presentes na rota. Assim, o encaminhamento IP é uma seqüência de ciclos repetidos: análise do endereço IP, obtenção do endereço físico da estação (se a rede de destino foi atingida) ou do Gateway de saída (se a estação pertence a uma rede remota) e envio do datagrama para o endereço físico obtido.

Endereço IP, com seus 32 bits, torna-se demasiadamente grande para a notação decimal. Por isso é utilizada a notação decimal pontuada. Os 32 bits são divididos em quatro grupos de 8 bits cada. Por exemplo, dado o endereço IP: 00000011 00000111 00001111 00000001, sua representação seria: 3.7.15.1. Outra convenção é a reserva do valor 127 para o primeiro octeto para indicar um endereço de loop de retorno. Assim, a mensagem gerada com tal valor não sai da estação; ela é devolvida ao emissor. Isso é usado em testes de programas.

1º bit fixo em 0 mais 7 bits formam o endereço de Rede e outros 24 bits. para endereçar Hosts.

Permitia que fossem criadas 126 Redes com 16.777.214 Hosts em cada,

Range de endereços de Rede: de 1 a 126.

Era a classe que permitia endereçar a maior quantidade de Hosts.

CLASSE B

Os endereços IP Classe “B” utilizam os primeiros 2 octetos do endereço IP para identificar a rede. As redes Classe “B” utilizam os endereços de 128.1 até 191.254, e podem usar os últimos dois octetos (16 bits) para identificar até 65.534 hosts em cada rede. Empresas grandes, com um grande número de hosts, utilizam endereços classe “B”.

Para garantir a unicidade da identificação de uma sub-rede TCP/IP, os endereços IP são fornecidos por uma autoridade central denominada InterNIC – Internet Network Information Center. Somente os endereços de rede são controlados. O usuário tem a liberdade de atribuir os endereços de estação da forma que lhe for mais conveniente. Na designação dos endereços de rede, o InterNIC avalia e atribui a classe de endereço de acordo com o porte da rede TCP/IP do solicitante. Apesar da existência do InterNIC, um usuário TCP/IP não é obrigado a submeter-se a esta regra. Entretanto, este procedimento é necessário para o usuário conectar-se à Internet.

No Brasil o órgão responsável pela atribuição das classes de endereço IP é o NIC.br.

Os primeiros 2 bits fixos em 1-0 mais 14 bits formam o endereço de rede, outros 16 bits são usados para endereçar Hosts.

Pode endereçar 16.382 redes com 65.534 Hosts em cada Rede.

Range de endereços de Rede: de 128 a 191.

CLASSE C

Os endereços IP de classe C são os que tem o menor número de host/rede. Para fazer a sua identificação os primeiros 3 bits são fixos em 1-1-0, sobrando 21 bits para formar o bloco de endereço de rede, e os outros 8 bits são usados para endereçar Hosts.

Permite endereçar 2.097.152 Redes com 254 Hosts em cada Rede.

 Range de endereços de Rede: 192 a 223.

É a classe que permite endereçar a maior quantidade de Redes.

ENDEREÇOS RESERVADOS

Endereço de Rede

–Identifica a própria rede e não uma interface de rede específica, representado por todos os bits de host id com o valor ZERO.

–EXEMPLO: Uma rede local possui os endereços 192.168.0.1 até o endereço 192.168.0.254, o seu endereço de rede será 192.168.0.0.

Endereço de Broadcast

–Identifica todas as máquinas em uma rede específica. 

–É utilizado para identificar e localizar um HOST durante o processo de broadcast na Rede Local.

EXEMPLO: 192.168.0.255

Endereço de Broadcast Limitado: Identifica um broadcast na própria rede, sem especificar a que rede pertence. Representado por todos os bits do endereço iguais a UM = 255.255.255.255.

Endereço de Loopback: Identifica a própria máquina. Serve para enviar uma mensagem para a própria máquina rotear para ela mesma, ficando a mensagem no nível IP, sem ser enviada à rede. Este endereço é 127.0.0.1. Permite a comunicação inter-processos (entre aplicações) situados na mesma máquina.

Rota Default: Endereço reservado para indicar nas tabelas de roteamento a rota default da rede. Exemplo 0.0.0.0

O endereço 0.0.0.0:  É um endereço reservado utilizado para criar a rota default na rede (definido na tabela de roteamento de cada máquina e no roteador da rede). Ele também é utilizado para as máquinas que não conhecem o seu endereço IP. Ex: – 0.0.10.20 – a máquina sabe o IP relativo aos Hosts, mas não sabe a que rede pertence

O endereço 255.255.255.255:  é um IP reservado para as máquinas fazerem broadcast ( mensagem que é enviada para todos os sistemas da rede de forma a mostrar a difusão).

Endereço de Loopback (Localhost)

A faixa de IP 127.0.0.0 – 127.255.255.255 (ou 127.0.0.0/8 na notação CIDR) é reservada para a comunicação com o computador local (localhost). Qualquer pacote enviado para estes endereços ficarão no computador que os gerou e serão tratados como se fossem pacotes recebidos pela rede (Loopback).

O endereço de loopback local (127.0.0.0/8) permite à aplicação-cliente endereçar ao servidor na mesma máquina sem saber o endereço do host, chamado de “localhost”.

Na pilha do protocolo TCPIP, a informação flui para a camada de rede, onde a camada do protocolo IP reencaminha de volta através da pilha. Este procedimento esconde a distinção entre ligação remota e local.

ENDEREÇOS PÚBLICOS E PRIVADOS

PÚBLICOS (VÁLIDOS) – ZONA NÃO MILITARIZADA (DMZ)

Também é conhecido por endereço Global, é um endereço válido para toda a rede Internet, podendo ser acessado por qualquer computador que esteja conectado a esta rede.

É o endereço que possibilita que as estações da Rede Local possam acessar a Internet, através de servidor de comunicações,  modem ADSL ou roteador.

PRIVADOS (INVÁLIDOS) – RFC – 1918 – ZONA MILITARIZADA (MZ)

Também é conhecido como endereço Local, são endereços que não são “divulgados” para a rede Internet, sendo de uso restrito dentro de uma Rede Local.

As faixas de endereços privados também são definidas na RFC-1918. Foram criados no final da década de 90, como medida paliativa, para a falta de endereços IP válidos, disponíveis no mundo, mas mostrou-se bastante eficiente na criação de Firewalls para proteção das Redes Locais, onde é utilizado o artifício de tradução do endereçamento IP – NAT (Network Address Translation).

Redes privadas podem ser criadas também por meio do Zeroconf. A finalidade do Zeroconf é fornecer um endereço IP (e, consequentemente, a conectividade entre as redes) sem usar um servidor DHCP e sem ter de configurar a rede manualmente. A sub-rede 169.254/16 foi reservada para esta finalidade. Dentro desta faixa, as sub-redes 169.254.0/24 e 169.254.255/24 foram reservadas para uso futuro.

Com relação a falta de endereços IP a proposta definitiva é a utilização de um novo protocolo que aumente o espaço de endereçamento, IP versão 6 (IPv6) definido na RFC-2460 pelo IETF. Esta opção ainda não foi adotada em larga escala, devendo ser adotada no futuro após um período de transição.

Dos mais de 4 bilhões de endereços disponíveis, três faixas são reservadas para redes privadas. Estas faixas não podem ser roteadas para fora da rede privada – não podem se comunicar diretamente com redes públicas. Dentro das classes A,B e C foram reservadas redes (normatizados pela RFC 1918) que são conhecidas como endereços de rede privados. A seguir são apresentados as três faixas reservadas para redes privadas:

TRADUÇÃO DE ENDEREÇOS IP

NAT (Network Address Translator)

No início, o NAT era um recurso imaginado apenas para contornar o problema de falta de números IP. Neste meio tempo, provou-se que ele pode ter utilidade em uma série de outros campos de aplicação, como por exemplo a segurança (criação de Firewall). O NAT tem como premissa de trabalho o fato de ele traduzir vários endereços IP locais (inválidos) para vários endereços IPs globais (válidos), sendo a sua relação então N para N. O NAT pode operar de duas maneiras ESTÁTICA e DINÂMICA.

NAT Estático:

Define-se NAT estático (static NAT) aquele no qual as traduções são sempre as mesmas. Um dado IP global é sempre o resultado da tradução de um determinado IP local – todo o tempo. Nenhum outro IP local é traduzido naquele IP global. Neste caso se houver 30 endereços IP válidos serão atribuídos 30 acessos simultâneos sempre para as mesmas estações. Através do NAT estático é possível que uma estação da Internet possa acessar uma estação ou servidor da rede local, desde que haja permissão para isso.

NAT dinâmico:

Dynamic NAT, a tradução de um IP local em um IP global depende de uma série de fatores definidos em tempo de execução (permissão, número de endereços IP, MAC, etc.). No NAT dinâmico os endereços globais (válidos) são atribuídos aleatoriamente para as estações da rede local, se houver 30 endereços globais eles serão alocados para 30 estações dinamicamente e a 31a. estação ficará sem acesso. A cada nova tradução é possível que um IP local obtenha um novo endereço global.

O NAT dinâmico pode ser utilizado por motivos de segurança. Tem-se, neste caso, um número suficiente de IPs globais, mas não se deseja que por inspeção de pacotes se consiga, da rede externa, descobrir o IP que dá acesso a uma determinada máquina da rede interna. O NAT router vai estar fazendo traduções a todo instante e, com boa probabilidade, o IP global será dado a outra máquina quando da próxima conexão entre a rede interna e externa. Este é o único caso em que ter mais NAT IPs do que IPs a serem traduzidos pode ter sentido.

 

 

NAPT (Network Address Port Translator) Masquerading IP:

É um caso especial de NAT dinâmico. Neste temos o mapeamento de diversos IPs locais em apenas um IP global. A sua relação de acesso é de N para 1.

O nome masquerading se popularizou com sua implementação em máquinas Linux. Esta é a técnica mais utilizada nos dias de hoje. Neste caso, toda a rede interna é mapeada em um único IP externo. Uma diferença entre o NAT dinâmico em sua forma natural é que, neste caso, não há a limitação de uma conexão a cada instante, ou seja, não há a correspondência entre uma máquina trocando dados com a Internet e um NAT IP ocupado.

No masquerading, um número muito grande de conexões é possível através da multiplexação que se utiliza das informações de portas TCP (TCP ports). O número está limitado pelo numero de TCP ports disponível.

A grande diferença entre o Proxy (PAT) e o NAPT está no fato que no PAT os serviços (portas) são limitados e a instalação de novos serviços é sempre um problema no NAPT isso é bem mais flexível pois o usuário pode definir portas que deverão ser utilizadas. Um problema especial, neste caso de NAPT, é que em alguns servidores, algumas conexões podem vir, apenas, de portas privilegiadas. Esta idéia surgiu do fato de que, em máquinas Unix, as portas de número inferior a 1024 só podem ser utilizadas quando se tem um nível de privilégio de super-usuário (root) – o que limita o acesso do usuário comum. Hoje em dia, com a popularização de máquinas DOS e Windows na Internet, essa afirmação não é mais verdadeira, pois qualquer usuário pode usá-las nestes sistemas operacionais.

Algumas extensões possíveis ao masquerading: é possível se contornar a limitação de acesso a máquinas na rede interna através da inclusão de novo código – que não é parte do masquerading. Pode-se, por exemplo, ligar uma porta a um determinado IP local. Uma máquina, por exemplo, poderia ser responsável pelo serviço de telnet, outra pelo atendimento a WEB (HTTP), etc. Há outro problema a ser contornado, ainda, pois os aplicativos que oferecem os serviços mais comuns esperam a conexão em uma determinada porta e o masquerading – na rede interna – utiliza portas de número alto.

PAT (Proxy Address Translator):

O termo Proxy significa “procuração” em uma conexão. Um servidor de proxies funciona como intermediário entre o browser de acesso ao World Wide Web e os servidores WWW dispersos pela Internet. O PAT tem como premissa de trabalho o fato de ele traduzir vários endereços IP locais (inválidos) para apenas um endereço IP global (válido), sendo a sua relação então N para 1. O Proxy faz também uma multiplexação de portas TCP, onde cada estação da rede local é associada a uma porta definida pelo programa Proxy é criada uma tabela em memória, onde a porta é associada a um endereço IP inválido, o pacote ao sair para Internet o programa sabe a qual estação ele pertence pois no cabeçalho do pacote há a informação (Endereço IP de Origem, Endereço IP de Destino e a Porta). O PAT é um serviço padrão e pode operar em diversos sistemas operacionais, mas precisa que o browser seja configurado adequadamente, cabe ressaltar que na configuração do TCP/IP não é necessário definir um default gateway. O conjunto de serviços que podem ser utilizados com Proxy está limitado a HTTP, Gopher, E-mail (POP e SMTP), News (NNTP) e FTP. Pode-se utilizar proxies com socket 4 onde outros serviços poderão ser instalados como o MS-Messager, ao se utilizar de socket 5 mais serviços poderão ser agregados.

TRADUÇÃO DE ENDEREÇOS IP
Arquivo HOSTS

Na década de 70, a ARPAnet era uma pequena e amigável comunidade de algumas dezenas de Hosts. Um único arquivo, chamado HOSTS.TXT, continha toda a informação necessária sobre os Hosts da rede: mapeamento dos nomes x endereços IP de todos os Hosts (arquivo /etc/hosts do UNIX).

Esse arquivo era mantido pelo SRI – NIC (Stanford Research Institute – Network Information Center) e distribuído para os administradores da ARPAnet via FTP e as modificações (novos Hosts, mudanças de nomes, etc.) eram enviadas via E-Mail. Esse esquema funcionou bem até um certo ponto, quando começaram a ocorrer os seguintes problemas:

  • Tráfego na rede e Carga de CPU

O tráfego na rede decorrente do processo de atualização (esquema E-Mail e FTP) e a carga de CPU da máquina envolvida nesse processo se tornaram ingerenciáveis

  • Colisões de Nomes de Hosts

Não era possível existir dois Hosts com o mesmo nome no arquivo, não importando se eles pertenciam a diferentes Universidades ou não; o NIC tinha poderes para a designação de endereços IP únicos, garantindo que não haveriam colisões de endereços, mas não tinha qualquer autoridade sobre os nomes dos Hosts

  • Consistência

A consistência do arquivo HOSTS.TXT ao longo de toda uma rede em ampla expansão tornou-se uma missão (quase) impossível

A conclusão óbvia era que seria necessário encontrar uma maneira de distribuir esse arquivo pela rede ao invés do esquema centralizado. Ironicamente, o sucesso da Internet determinou o fracasso do esquema de HOSTS.TXT.

Os trabalhos nesse sentido foram conduzidos por Paul Mockapetris que, em 1984, liberou os RFCs 882 e 883 que descrevem todo o mecanismo do DNS (posteriormente os RFCs 1034 e 1035 tornaram obsoletos os primeiros).

DNS

O DNS – Domain Name Server é um Banco de Dados Distribuído.

Desta forma é possível administrar localmente os segmentos do Banco de Dados global ao mesmo tempo que os segmentos locais estão disponíveis através de um esquema Cliente Servidor. Performance e Robustez são conseguidos através da utilização de replicação e cache (buffers).

A parte Servidor do esquema Cliente Servidor é executada pelos name servers (servidores de nomes), que contém informações sobre os segmentos e colocam essas informações à disposição dos Clientes, chamados resolvers (“resolvedores”). Esses clientes nada mais são do que rotinas de software que enviam consultas aos name servers via rede.

A estrutura do Banco de Dados é semelhante à dos arquivos UNIX.

Todo o Banco de Dados DNS (bem como o Sistema de Arquivos UNIX) é desenhado como uma árvore invertida, com o nó raiz (root node) no topo. Cada nó na árvore tem um rótulo (label) que o identifica de forma relativa ao nó imediatamente acima. Por exemplo, no UNIX o nó etc abaixo de usr será identificado como: /usr/etc. O nó etc abaixo de local será identificado como: /usr/local/etc. Assim, podem existir dois nós com o mesmo nome (etc), porém em ramos diferentes, nunca no mesmo.

No UNIX o nó raiz é identificado como “/”, no DNS é um nó “nulo” (null) representado simplesmente como um par de aspas(“”) ou na notação textual como um ponto (.).

Cada nó é, por sua vez, a raiz de uma nova “subárvore” que pertence à árvore completa. Cada uma dessas “subárvores” representa uma partição do Banco de Dados DNS (equivalente a um diretório no UNIX) que é chamada de domínio.

Cada domínio no DNS (bem como um diretório no UNIX) pode ser subdividido em subdomínios (subdiretórios no UNIX) e assim por diante. Cada domínio terá uma identificação única representada pela seqüência de nomes (labels) desde o nó raiz até o próprio nó, cada nome separado do outro por um ponto. Exemplo: amazon.com.

Cada domínio pode ser administrado por uma organização diferente, permitindo assim a distribuição de responsabilidades ao longo da rede, evitando a centralização do esquema HOSTS.TXT. Assim, as organizações podem administrar seus respectivos domínios por delegação da autoridade competente no seu país. No caso do Brasil, a autoridade credenciada pelo InterNIC é a FAPESP. Todos os domínios no Brasil precisam ser registrados na FAPESP (evitando assim a duplicação de nomes de domínios) e precisam ter um Servidor DNS responsável por referenciar aquele domínio.

Os servidores de nome raiz (root name servers) conhecem os servidores de nomes com autoridade sobre todos os domínios de nível mais alto: com, gov, edu, etc. Quando recebem um pedido a respeito de qualquer nome de domínio eles respondem, no mínimo, com o nome e o endereço dos servidores de nomes que têm autoridade sobre o domínio de nível mais alto ao qual pertence o domínio desejado.

Por sua vez, os servidores de nomes dos domínios mais altos fornecem o nome e o endereço dos servidores de nomes do domínio de segundo nível ao qual pertence o domínio desejado. E assim por diante, até encontrar o servidor de nome de domínio que conhece o domínio desejado. Cada servidor de nome fornece a informação necessária para chegar “mais perto” da resposta até que um deles saiba a resposta.

Os servidores de nome raiz são extremamente importantes, uma vez que, à falta de outras informações, a resolução de nomes começa por eles. Eles são tão importantes para a Internet que, caso fiquem inacessíveis por um longo período, toda a resolução de nomes deixará de funcionar. Para prevenir falhas desse tipo existem cerca de 13 (treze) servidores de nome raiz na Internet posicionados em pontos estratégicos.

No exemplo acima, o cliente (resolver) faz o pedido de endereço do domínio gol.com.br ao servidor de nome local que, por sua vez, faz o pedido ao servidor de nome raiz, que responde apontando para o servidor de nome br. O servidor de nome local faz o pedido a este que responde apontando para o servidor de nome com.br. O processo continua até encontrar o servidor de nome que conhece o endereço desejado.

Para informações complementares, consultar:

  1. DNS and BIND, Paul Albitz & Cricket Liu, Ed. O’Reilly (“Bíblia” do DNS)
  2. RFC 1033, DOMAIN ADMINISTRATORS OPERATIONS GUIDE, M. Lottor, November 1987
  3. RFC 1034, DOMAIN NAMES – CONCEPTS AND FACILITIES, P. Mockapetris, November 1987
  4. RFC 1035, DOMAIN NAMES – IMPLEMENTATION AND SPECIFICATION, P. Mockapetris, November 1987

 

ROTEAMENTO

Roteamento é a transferência de informação da fonte até o destino através de uma rede. Ao longo do caminho, tipicamente teremos pelo menos um nó intermediário. De acordo com esta definição, a função do roteador parece ser a mesma que a de uma ponte (bridge). A principal diferença entre ambos é que a ponte opera na camada 2 (Enlace de Dados) do Modelo OSI, enquanto que os roteadores operam na camada 3 (Rede). Assim, eles operam de maneiras diferentes, embora ambos executem operações de comutação.

O Roteamento envolve duas atividades básicas:

  • Determinação das rotas ótimas
  • Transporte da informação (pacotes) através da rede (processo de comutação – switching)

Os algoritmos de roteamento usam algum padrão de medida (chamado métrica) para determinar a rota ótima para um dado destino. Para ajudar no processo de determinação de rotas, os algoritmos de roteamento inicializam e mantêm tabelas de roteamento, que contêm informações de rotas. Essas informações tipicamente são armazenadas no formato destino/próximo nó (destination/next hop). A tabela mostrada na figura acima exemplifica o que foi dito.

Os Roteadores se comunicam entre si, para ter conhecimento de seus vizinhos e manter atualizadas as tabelas de rotas. A Internet é uma rede em constante mudança e não pode parar, daí as mudanças tem que ser feitas dinamicamente. Para isso os roteadores trocam mensagens para a manutenção das tabelas.

 

 

ALGORITMOS DE ROTEAMENTO

Algoritmos de comutação são relativamente simples e basicamente os mesmos para a maioria dos protocolos de roteamento. Tipicamente, um host determina que precisa enviar um pacote para outro host. Para isso ele tem que saber, de alguma forma, o endereço do roteador que vai fazer isso (se não souber, não há como enviar o pacote).

Então o host envia o pacote para o roteador, colocando o endereço físico do roteador (normalmente estão na mesma Rede Local, portanto o endereço físico será o MAC Address) e o endereço do protocolo de rede do host de destino. O Roteador então examina o pacote e tenta encaminhá-lo para o host de destino, baseado no seu endereço de rede. Se o Roteador tiver na sua tabela de rotas a rota adequada, ele então encaminhará para o próximo nó, mudando o endereço físico para o endereço do próximo nó e mantendo o endereço de rede do host destino. Se não tiver a rota na tabela, o Roteador simplesmente descartará o pacote.

E o processo se repetirá até chegar no Roteador que está na mesma rede do host destino, que entregará o pacote enviando-o para o endereço físico do host destino. Assim, a medida que o pacote atravessa a rede seu endereço físico vai mudando, porém o endereço do protocolo de rede permanece igual (host destino). Esse processo está exemplificado na figura acima.

Os algoritmos de roteamento são diferentes dependendo de várias características importantes, tais como:

  • Objetivos (design goals)
  • Tipos (classificação)
  • Métricas

Dentre os objetivos, temos:

  • Otimização (Optimality)

É a capacidade do algoritmo de selecionar a “melhor” rota para o host destino. Essa capacidade depende fundamentalmente das métricas empregadas

  • Simplicidade

Os algoritmos de roteamento devem ser tão simples quanto possível, com o mínimo de utilização de recursos

  • Robustez e Estabilidade

É a capacidade de operar em situações adversas e inesperadas, tais como falhas de hardware, condições de sobrecarga na rede e também erros de implementação (erros de protocolo)

  • Rápida Convergência

É o processo pelo qual os roteadores rapidamente concordam com as rotas ótimas. Sempre que roteadores saírem da rede (devido a falhas) ou entrarem na rede (recuperados de falhas ou novos roteadores), os roteadores trocam entre si mensagens de atualização das tabelas de rotas. Essa atualização tem que ser feita por todos de comum acordo. Se a convergência for demorada, podem ocorrer erros de loops de roteamento devido a alguns roteadores estarem com as tabelas atualizadas e outros não, como demonstrado na figura. Por outro lado, a convergência lenta pode provocar excessos de tempo na rede que farão com que pacotes sejam descartados.

  • Flexibilidade

É a capacidade de se adaptarem rápida e acuradamente a qualquer variação nas características da rede como, por exemplo, falhas em segmentos da rede, variação da largura de banda, do tamanho da fila do roteador, atraso da rede e outras variáveis.

TIPOS DE ALGORITMOS

Algoritmos de roteamento podem ser classificados segundo os seguintes tipos:

  1. Estático ou Dinâmico

Algoritmos que usam tabelas de roteamento estáticas estabelecidas pelo administrador da rede antes do início do processo de roteamento são algoritmos estáticos; os que usam tabelas dinâmicas e se ajustam em tempo real às condições da rede são algoritmos dinâmicos. Estes últimos analisam as mensagens de atualização de rotas e mudam as tabelas dinamicamente.

  1. Rota única ou Rota múltipla

Os algoritmos mais sofisticados suportam múltiplas rotas para o mesmo destino; outros suportam apenas uma rota para cada destino (não têm rotas alternativas). Somente os primeiros suportam multiplexação de tráfego sobre múltiplas linhas.

  1. Plano ou Hierárquico

Alguns algoritmos usam hierarquias de roteamento outros usam um espaço plano (flat). Num sistema de roteamento plano todos os roteadores são pares (peers), ou sejam, estão no mesmo nível. Num sistema hierárquico de roteamento existe um backbone de roteadores num nível acima dos roteadores fora do backbone. Roteadores podem formar agrupamentos lógicos chamados de domínios, sistemas autônomos ou áreas; esses agrupamentos lógicos simplificam os algoritmos e reduzem o tráfego de atualização de tabelas de roteamento.

  1. Host ou Roteador Inteligente

Alguns algoritmos de roteamento assumem que o host conhece toda a rota até o host destino: é o chamado roteamento na origem (source routing); nesse caso os nós intermediários atuam apenas como armazenadores e encaminhadores (store and forward). Outros algoritmos assumem que os hosts não conhecem nada sobre rotas; toda a tarefa será executada pelos roteadores.

  1. Intra ou Inter domínio

Alguns algoritmos operam somente dentro dos domínios; outros operam dentro e entre os domínios.

  1. Estado do Link ou Vetor Distância

Algoritmos do Estado do Link (também conhecidos como shortest path first) enviam informações de roteamento para todos os nós na rede, porém enviam somente aquela parte da tabela que descreve o estado de seus próprios links. Algoritmos do Vetor Distância (também conhecidos como Bellman-Ford) enviam toda ou parte da tabela de roteamento, mas somente para seus vizinhos. Resumindo, algoritmos do Estado do Link enviam poucas modificações para toda a rede enquanto que os algoritmos do Vetor Distância enviam muitas modificações somente para os roteadores vizinhos. Normalmente os algoritmos do Estado do Link convergem mais rapidamente do que os outros, porém requerem mais recursos do roteador.

RESUMO

Vetor de Distância (Distance Vector)

Estado do Link (Link State)

Vetor de Caminhos (Path Vector)

MÉTRICAS DE ROTEAMENTO

As métricas usadas pelos roteadores permitem a construção das tabelas de roteamento que ajudarão o software de comutação a escolher as melhores rotas. As seguintes métricas são usadas:

  1. Comprimento da rota (Path length)

É a métrica mais comum; alguns protocolos de roteamento permitem que os administradores definam arbitrariamente custos para cada link da rede; nesse caso, o comprimento da rota é a soma dos custos associados a cada link atravessado pelo pacote. Outros protocolos utilizam o conceito de contador de nós (hop count), que é uma métrica que especifica o número de nós (roteadores) que o pacote irá atravessar, desde a origem até o destino

  1. Confiabilidade

É a confiabilidade de cada link, normalmente medida em termos de taxa de erros; os links podem cair com maior ou menor freqüência e levam um tempo maior ou menor para serem reparados. Em função desses parâmetros, o administrador da rede define um número arbitrário para cada link

  1. Retardo

Ë definido como o tempo que o pacote demora para ir da origem até o destino através da rede. O retardo depende de muitos fatores: largura de banda dos links intermediários, filas nos roteadores, congestionamento nos links e distância a ser percorrida. É uma métrica bem representativa das condições da rede e por isso é bastante usada

  1. Largura de Banda

É a capacidade de tráfego disponível em cada link. Evidentemente, quanto maior melhor, assumindo que as demais condições são iguais. Se o link mais veloz estiver congestionado, pode ser preferível enviar um pacote por um link mais lento que esteja livre

  1. Carga

É a medida da ocupação de um recurso da rede (como um roteador). Pode ser medida pela utilização de CPU, pelo número de pacotes processados por segundo (pps), etc.

  1. Custo de Comunicação

Pode ser mais importante o custo do link do que a performance da rede; algumas empresas podem preferir usar linhas mais lentas e mais baratas do que linhas velozes e muito caras

É comum uma certa confusão entre protocolo roteado e protocolo de roteamento.

– Protocolos roteados são aqueles cujas PDUs (Protocol Data Units – Unidade de Dados do Protocolo) são roteadas pela rede e transportam os dados das aplicações da rede. Exemplos: IP, IPX, DECnet, OSI, etc.

– Protocolos de roteamento são aquelas que roteiam as PDUs dos outros protocolos através da rede e usam algoritmos de roteamento. Exemplos: IGRP, EIGRP, OSPF, BGP, IS-IS e RIP.

TIPOS DE ROTEAMENTO

Os dispositivos de roteamento na Internet são tradicionalmente chamados Gateways. Para nossos propósitos, chamaremos de roteadores.

Os roteadores na Internet são organizados hierarquicamente. Alguns roteadores são usados para enviar informação através de um particular grupo de redes sob uma mesma autoridade administrativa e de controle (tal entidade é chamada de sistema autônomo – AS). Roteadores usados para troca de informação no interior dos ASs são chamados roteadores interiores (interior routers) e usam uma variedade de protocolos chamada IGPs (Interior Gateway Protocols). Roteadores usados para troca de informação entre os ASs são chamados roteadores exteriores (exterior routers) e usam protocolos chamados EGPs (Exterior Gateway Protocols).

Tipo de Protocolos

Tipo de Roteamento

  • Roteamento estático
  • Roteamento dinâmico

Tabelas de Roteamento

  • Destination Address/next hop

Os protocolos de roteamento na Internet são dinâmicos, ou sejam, atualizam dinamicamente as tabelas de roteamento, trocando mensagens de atualização de rotas entre si. As tabelas de roteamento IP contêm informações no formato destination address/next hop. Os pacotes devem atravessar a rede, um hop de cada vez. No início do roteamento, não é conhecida toda a trajetória que o pacote irá percorrer. Cada nó consulta sua tabela e descobre por qual link deverá encaminhar o pacote e assim por diante até chegar no destino. O protocolo IP não relata ocorrências de erros, isso fica por conta do protocolo ICMP (Internet Control Message Protocol).

O protocolo ICMP fornece mensagens tais como:

Echo e Reply para testar a possibilidade de alcançar um nó na rede.

Redirect para tornar o roteamento mais eficiente.

Time exceeded para informar à origem que o pacote excedeu o seu tempo de vida na rede.

Router advertisement e Router solicitation para determinar os endereços dos roteadores em redes diretamente conectadas.

Protocolo IRDP (ICMP Router Discovery Protocol) usa as mensagens do ICMP para descobrir os endereços dos roteadores em redes diretamente conectadas. Ele não precisa de configuração manual pelo administrador da rede nem precisa que os hosts reconheçam protocolos de roteamento.