Escolar Documentos
Profissional Documentos
Cultura Documentos
A Internet nasceu em 1969, nos Estados Unidos. Inicialmente, interligava os diversos laboratórios de
pesquisa e chamava-se ARPAnet (ARPA: Advanced Research Projects Agency). Era uma rede do
Departamento de Defesa norte-americano cujo principal objectivo era atender necessidades militares.
Assim, a função desta rede era que em caso de ocorrência de guerras ou catástrofes que pudessem
afectar os meios de comunicação dos EUA, continuassem activas as ligações entre universidades e órgãos
principais do governo mesmo que parte de rede fosse destruída. Era então necessário a utilização de um
protocolo de comunicação que assegurasse tais funcionalidades, foi assim que começou a ser desenvolvida
a arquitectura TCP/IP.
O nome Internet propriamente dito surgiu bem mais tarde, quando a tecnologia da ARPAnet passou a ser
usada para interligar universidades e laboratórios, primeiro nos EUA e depois noutros países. Actualmente
a Internet consiste num conjunto de várias dezenas de milhar de redes cujo a única semelhança que
possuem reside no protocolo de comunicação que partilham, o TCP/IP que permite que umas máquinas
comuniquem com outras.
Durante cerca de duas décadas a Internet ficou restrita ao ambiente académico e científico, somente a
partir de 1987 esta rede passou a ser comercializada nos EUA. Porém, foi em 1992 que a sua utilização
passou a ser generalizada. Começaram a aparecer nos EUA várias empresas provedoras de acesso à
Internet e centenas de milhar de pessoas passaram a colocar e a consultar informações na Internet,
tornando-se talvez na maior fonte de informação de massas. A normalização do protocolo TCP/IP chegou
após a utilização em massa da Internet.
· 1968 Foi desenvolvido pela ARPA (Advanced Research Projects Agency) o primeiro backbone. O
objectivo desse projecto era interligar várias universidades e a área militar.
· 1975 A ARPA deu lugar ao DARPA (Defence Advanced Research Projects Agency) e começou a
desenvolver os protocolos TCP/IP.
· 1979 Foi formado comité ICCB (Internet Control and Configuration Board) para gerir o desenvolvimento
do TCP/IP.
· 1983 A DARPA cedeu os direitos do código dos protocolos TCP/IP à Universidade da Califórnia para que
fosse distribuído na versão UNIX. A DARPA exigiu que todos os PCs ligados ao ARPANET usassem os
protocolos TCP/IP. Esses protocolos difundiram-se rapidamente, visto não serem produtos comerciais.
· 1985 A Fundação Nacional de Ciência dos Estados Unidos (NSF) criou a NSFNET, que era uma rede de
alta capacidade destinada a atender, tanto nos EUA como noutros países, as entidades científicas e de
pesquisa.
· 1989 A ARPANET deu lugar à NSFNET e o ICCB foi substituído pela IAB (Internet Advisory Board). A IAB
possuía dois grupos principais: o IRTF (Internet Research Task Force) e o IETF (Internet Engeneering
Task Force).
· 1992 Começaram a aparecer diversos ISP (Internet Service Provider) dando-se início à massificação
da Internet o serviço responsável pela massificação foi o www que surgiu neste ano.
· A partir de 1992 Muitas redes foram desenvolvidas sobre o TCP/IP, novas aplicações criadas e um
conjunto de serviços desenvolvidos de forma a melhorar e a diferenciar o tráfego que circula na
Internet.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 1/10
24/06/2019 O TCP/IP
O Modelo TCP/IP
Antes da internet se tornar tão popular os protocolos de comunicação mais importantes eram o TCP/IP,
NETBEUI, IPX/SPX, Xerox Network System (XNS) e o Apple Talk. De salientar que para dois equipamentos
de rede poderem comunicar entre si é essencial que ambos entendam as mesmas regras ou seja, ambos
têm de usar o mesmo protocolo de comunicação.
Com o acesso crescimento e vulgarização da Internet e com a necessidade de as redes internas das
empresas se ligarem cada vez com mais frequência à Internet e de serem obrigadas a utilizar o protocolo já
usado na internet, o protocolo TCP/IP expandiu-se também a estas redes empresariais tornando-se
actualmente no protocolo padrão de comunicação.
O modelo TCP/IP quando comparado com o modelo OSI, tem duas camadas que se formam a partir da
fusão de algumas camadas do modelo OSI, elas são: as camadas de Aplicação (Aplicação, Apresentação e
Sessão) e Acesso à Rede (Ligação de dados e Física).
· APLICAÇÃO: Esta camada é formada por um vasto conjunto de protocolos os quais permitem o
correcto funcionamento dos diversos Serviços/Aplicações do modelo TCP/IP. Esta camada não
possui um padrão comum para todas as aplicações, ou seja, consoante o serviço em questão irá
depender também o protocolo que o vai atender. Por exemplo o serviço e-mail utiliza o protocolo
SMTP, sempre que este serviço é solicitado ao TCP/IP (envio ou recepção de e-mail), é este
protocolo que se encarrega do atender. De igual modo sempre que é solicitado ao TCP/IP o serviço
www o protocolo que se encarrega de o atender é o HTTP. Ou seja, por trás de cada aplicação
existe um protocolo específico seja ele o FTP,TELNET, HTTP, SMTP, POP3, DNS, etc.
· TRANSPORTE: Pela figura, pode-se verificar que a Camada TCP do Modelo TCP/IP corresponde à
Camada de Transporte do Modelo OSI. Desta forma, o TCP é responsável pelas funções de
transporte nas quais se incluem os mecanismos necessários que garantem a entrega sequencial de
dados, sem erros e sem falhas. O acesso das diversas Aplicações a esta camada é feito através de
portas as quais têm associados números inteiros distintos para cada tipo de Aplicação. Podem ser
utilizados dois protocolos distintos para o transporte, o TCP e o UDP. O TCP é orientado à conexão
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 2/10
24/06/2019 O TCP/IP
enquanto que o UDP não. O UDP funciona como segunda opção da camada de transporte uma vez
que não oferece garantias de entrega de pacotes, nem da sua correcta sequência de envio.
Normalmente o UDP só é utilizado em aplicações que geram elevados volumes de tráfego na
Internet.
· CAMADA IP ou INTERNET: As Funções da Camada de Rede do Modelo OSI, são aqui realizadas
pela Camada IP e pela consequente utilização do Protocolo IP. A Camada IP é uma camada
normalizada em que o único protocolo utilizado é o protocolo IP. Esta camada é responsável pelo
endereçamento, roteamento e controlo de envio e recepção dos dados. A comunicação é realizada
por datagramas. O protocolo IP é não orientado à conexão, não garantindo que os pacotes IP
cheguem ao seu destino nem se chegam pela ordem com que foram enviados. O IP é o protocolo
responsável por definir o caminho que um pacote de dados deverá percorrer desde o host de origem
até ao host destino, passando por uma ou várias redes onde poderá encontrar protocolos de
conexão como o IP, o ICMP, o ARP e o RARP.
· ACESSO À REDE: Esta camada tem como principal função a adaptação do Modelo TCP/IP aos
diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, PPP e SLIP). É a
camada de abstracção de hardware e devido à enorme variedade de tecnologias de rede possíveis,
é uma camada não normalizada pelo modelo TCP/IP. É possível a interligação e interoperação com
redes heterogéneas. Nesta camada são utilizados gateways ou routers.
· FÍSICO: Esta camada descreve as características físicas da comunicação tais como a natureza do
meio usado para a comunicação (cobre, fibra-óptica ou links de rádio) e todos os detalhes
relacionados com os sinais (modulações, comprimentos de onda, níveis de sinal, sincronizações,
distâncias máximas, etc)
Uma das maiores limitações da arquitectura TCP/IP é quanto a sua capacidade de endereçamento, que já
está se tornando limitada, devido ao crescimento exponencial da Internet.
O Protocolo TCP
O TCP é um protocolo da camada de transporte confiável em que existe a garantia que os dados são
integralmente transmitidos para os hosts de destino correctos na sequência pelo qual foram enviados. O
TCP segmenta a informação proveniente da Camada Aplicação em pequenos blocos de informação
(datagramas) inserindo-lhes um cabeçalho de forma a que seja possível no hoste de destino fazer a
reassemblagem dos dados. Este cabeçalho contém um conjunto de bits (checksum) que permite tanto a
validação dos dados como do próprio cabeçalho. A utilização do checksum permite muitas vezes no hoste
de destino recuperar informação em caso de erros simples na transmissão (nos casos da rede corromper o
pacote). Caso a informação seja impossível de recuperar ou o pacote TCP/IP se tenha perdido durante a
transmissão, é tarefa do TCP voltar a transmitir o pacote. Para que o hoste de origem tenha a garantia que
o pacote chegou isento de erros é necessário que o hoste de destino o informe através do envio de uma
mensagem de "acknowledgement".
O TCP corresponde a um conjunto de rotinas instaladas nos hosts de origem e destino as quais são
utilizadas pelas várias aplicações (e-mail, http, FTP, telnet, etc) quando necessitam de executar o
transporte de dados entre hosts.
Para que seja possível identificar a que serviço um determinado datagrama pertence, o TCP utiliza o
conceito de portas. A cada porta está associado um serviço. Após determinada a porta, toda a
comunicação com a aplicação é realizada e endereçada através dela.
· Controle de erros: A utilização de checksum permite verificar se os dados transmitidos estão livres
de erros. É possível, para além da detecção a sua correcção.
· Multiplexagem de IP: Uma vez que é utilizado o conceito de portas, é possível enviar dados de
diferentes tipos de serviços (portas diferentes) para o mesmo hoste de destino.
1. Estabelecimento da ligação
2. Troca de dados
3. Libertação da ligação
O Estabelecimento da ligação é realizado pelo envio de 3 mensagens de acordo com é descrito pelas
figuras:
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 4/10
24/06/2019 O TCP/IP
Um pacote TCP tem a seguinte estrutura:
· SEQUENCE NUMBER: número de sequência dos dados sendo transmitidos face ao conjunto total de
dados já transmitidos. Este número indica a posição do primeiro byte de dados sendo transmitido em
relação ao total de bytes já transmitidos nesta conexão. O primeiro número de sequência utilizado não é
zero ou um, mas começa de um valor aleatório. O sequence number num sentido da ligação (máquina A
para B) é diferente do sequence number do sentido inverso, já que os dados transmitidos por um e outro
lado são completamente distintos.
· ACKNOWLEDGE NUMBER: número que significa o reconhecimento dos dados recebidos até então no
sentido inverso. O ACK contém o número do próximo byte do fluxo de dados recebido, que a origem
deste pacote espera receber da outra máquina. Este valor leva em consideração o SEQUENCE NUMBER
inicial. O valor de ACK informa sempre o próximo byte ainda não recebido do conjunto contíguo de bytes
recebidos do transmissor.
· CODE BITS: São formados por seis bits, URG, ACK, PSH, RST, SYN e FIN, cuja sua utilização é a
seguinte:
1. URG "bit de Urgência" : significa que o segmento sendo carregado contém dados urgentes que devem
ser lidos com prioridade pela aplicação. A aplicação origem é responsável por activado este bit e
fornecer o valor do URGENT POINTER que indica o fim dos dados urgentes.
2. ACK "bit de Reconhecimento": indica que o valor do campo de reconhecimento está carregando um
reconhecimento válido.
3. PSH "bit de PUSH": Este mecanismo pode ser activado pela aplicação, informa ao TCP a origem e
destino que a aplicação solicita a transmissão rápida dos dados enviados, mesmo que ela contenha
um número baixo de bytes, não preenchendo o tamanho mínimo do buffer de transmissão.
4. RST "bit de RESET": Informa o destino que a ligação foi abortada neste sentido pela origem
5. SYN "bit de Sincronismo": É o bit que informa que este é um dos dois primeiros segmentos de
estabelecimento da conexão.
6. FIN "bit de Terminação": Indica que este pacote é um dos pacotes de finalização da ligação.
· WINDOW: Este campo informa o tamanho disponível em bytes na janela de recepção da origem deste
pacote. Por meio deste valor, o TCP pode realizar um controle adequando de fluxo para evitar a
sobrecarga do receptor. Quando este valor é igual a zero, o transmissor não envia dados, esperando
receber um pacote com WINDOW maior que zero. O transmissor sempre vai tentar transmitir a
quantidade de dados disponíveis na janela de recepção sem aguardar um ACK. Enquanto não for recebido
um reconhecimento dos dados transmitidos e o correspondente valor de WINDOW > 0, o transmissor não
enviará dados.
· OPTIONS: O campo de opções só possui uma única opção válida que é a negociação do MSS (Maximum
Segment Size) que o TCP pode transmitir. O MSS é calculado através do MTU ou através do protocolo
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 5/10
24/06/2019 O TCP/IP
ICMP Path MTU Discovery.
O Protocolo IP
Este protocolo define os mecanismos de expedição dos datagramas. É um protocolo não orientado à conexão em
que cada pacote IP é tratado como uma unidade independente de informação, não possuindo qualquer relação
com qualquer outro. Neste datagrama são colocadas informações relevantes para o envio do pacote até o
destino.
O Protocolo IP é responsável pela comunicação entre hosts em redes TCP/IP. Ele é responsável pela
comunicação entre cada elemento da rede para permitir o transporte de uma mensagem de um host de
origem até a um host de destino, podendo o datagrama passar por várias sub-redes (a origem e o destino
são hosts identificados por endereços IP) . O protocolo IP é não-confiável, sendo esta uma
responsabilidade dos protocolos das camadas superiores, nomeadamente do TCP. Assim, não é utilizado
nenhum mecanismo de controlo de fluxo ou de controlo de erros de dados, verificando-se apenas, através
de um checksum a integridade do cabeçalho de forma a garantir que os gateways encaminhem
correctamente os datagramas.
As funções mais importantes realizadas pelo protocolo IP são a atribuição de um esquema de endereçamento
independente do endereçamento da rede utilizada e independente da própria topologia da rede, além da
capacidade de rotear e tomar decisões de roteamento para o transporte das mensagens entre os elementos que
interligam as redes.
· Endereçamento hierárquico;
· Campo especial indicando qual o protocolo de transporte a ser utilizado no nível superior;
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 6/10
24/06/2019 O TCP/IP
· VERSION : Informa qual a versão do protocolo IP que está a ser utilizado. Pode ser o IPv4 ou Ipv6.
· TYPE OF SERVICE : Informa como o pacote deve ser tratado, de acordo com sua prioridade e o tipo de
serviço desejado. Para o tráfego de Internet, este campo não é carregado.
· IDENTIFICATION : Identifica o pacote IP unicamente entre os outros transmitidos pela máquina. Este
campo é usado para identificar o pacote IP no caso de haver fragmentação em múltiplos datagramas
· FLAGS (3 bits) : um dos bits (MF - More Fragments) identifica se este datagrama é o último fragmento
de um pacote IP ou se existem mais. Outro bit (DNF - Do Not Fragment) informa os routers do caminho
se a aplicação exige que os pacotes sejam ou não fragmentados.
· TIME-TO-LIVE : Este valor é decrementado a cada 1 segundo que o pacote passa na rede e a cada
router pelo qual ele passa. Serve para limitar a duração do pacote IP a circular na rede. Este valor serve
para evitar que um pacote caia num ciclo e se encontre a circular eternamente entre routers. Quando
atingir o valor nulo, o pacote IP é descartado.
· PROTOCOL : Informa qual o protocolo de mais alto-nível que está a ser carregado no campo de dados.
O IP pode carregar mensagens UDP, TCP, ICMP, etc.
· OPTIONS : Opções com informações adicionais para o protocolo IP. Consiste num byte com a
identificação da opção e numa quantidade de bytes variável com as informações específicas. Um pacote
IP pode transportar várias opções simultaneamente.
AS OPÇÕES IP
As opções IP são utilizadas como uma forma de verificação e monitoração duma rede IP. As opções que
especificam a rota até o destino não são utilizadas normalmente pois o IP é baseado na técnica de Next-Hop
Routing. Ainda assim, estes mecanismos são pouco utilizados como ferramenta de testes e verificação, sendo
raros os programas que os implementam.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 7/10
24/06/2019 O TCP/IP
OS ENDEREÇOS IP
Um endereço IP serve para identificar univocamente cada um dos elementos que compõe uma rede ligada à
Internet. Um endereço IP é um conjunto de 32 bits, normalmente escritos em décimal e distribuídos por 4
octetos.
A definição de um endereço IP segue uma série de especificações definidas pela NIC "Network Information
Center", que atribui e controla os endereços IP pelo mundo de forma a garantir segurança e unicidade dos
endereços.
Associado ao endereço IP de cada host está também associada a máscara de Rede. Ambos, são utilizados
para a comunicação entre hosts e permitem identificar o host e a rede.
Devido a existirem redes de vários tamanhos, é utilizado o conceito de Classe de Endereçamento.
Assim é possível distinguir as seguintes classes:
· Classe E: São endereços que começam por 1111 e está reservado para uso futuro.
Normalmente a Internet utiliza a classe C para endereçamento das suas redes e hosts, assim quando um
novo ISP "Internet Service Provider" se liga à internet, recebe no mínimo um conjunto de 256 endereços
para serem utilizados pelos seus hosts permitindo um acesso simultâneo à Internet de 256 utilizadores.
Normalmente um ISP tem muitos mais clientes que o número de endereços que tem disponíveis, a forma de
contornar esta situação é em vez de ter endereços IP fixos atribuídos a cada host ter um processo de
alocação dinâmica de Ips.
Como o crescimento da Internet foi exponencial, os endereços IP disponíveis diminuíram drasticamente e uma
forma de resolver o inevitável esgotar de endereços IP consistiu em criar o conceito de sub-redes.
O TCP recebe mensagens da camada Aplicação, divide-as em datagramas de tamanho fixo e inserindo-lhes
um cabeçalho e enviando-os de seguida para a camada IP. Estes dados não são tratados pela camada IP
sendo que a principal função do IP consiste em encontrar um caminho que faça com que o datagrama
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 8/10
24/06/2019 O TCP/IP
chegue ao extremo da ligação. Para que os sistemas intermédios da rede retransmitam o datagrama, é
adicionado um cabeçalho no pacote IP, que consiste principalmente num endereço IP de origem e de
destino do datagrama e um número que corresponde ao protocolo usado na camada de Transporte. Os
pacotes IP à medida que passam por sub-redes são fragmentados em unidades menores.
Quando os pacotes IP chegam ao destino, são eventualmente reassemblados (quando ao passarem por
sub-redes necessitaram de ser fragmentados) e enviados à camada TCP que é responsável pela verificação
da integridade dos dados. Caso o checksum do pacote não coincida com o valor esperado e não seja
possível recuperar o pacote, este é descartado e é enviada uma mensagem ao host de origem a pedir o
reenvio desse pacote.
De referir que o TCP e o IP têm checksums separados por razões de eficiência e segurança.
O IPv4 e o IPv6
Embora os protocolos TCP/IP sejam os pilares fundamentais da Internet, oferecendo um conjunto de serviços
bastante vasto, eles não foram desenvolvidos para serem protocolos seguros. Uma vez que as mensagens
transportadas pelo TCP/IP são trocadas em cleartext, as aplicações são por isso vulneráveis a ataques passivos
(utilização de sniffers) e a ataques activos (roubo de sessões). Teoricamente, um computador de uma rede
interna de uma empresa que se liga à Internet pode ser acedido por qualquer utilizador da Internet,
representando um elevado risco na segurança de informações e de aplicações/serviços da própria empresa.
Além do problema de segurança da versão actual do TCP/IP existe um outro problema que tem a ver com a
capacidade de endereçamento. A versão actual utiliza um campo de 4 bytes (32 bits) sendo de esperar que
dentro de alguns anos estejam esgotados todos os endereços ainda disponíveis. Um endereço IPv6 tem um
comprimento de 128 bits, tornando o espaço de endereço tão longo que cada pessoa do planeta poderia ter
uma interligação em redes tão grande quanto a actual Internet.
Para resolver as limitações do IPv4, a partir de 1990, a IETF "Internet Engineering Task Force", começou a
trabalhar numa nova versão do TCP/IP, o IPv6 (ou IPSec).
Os objectivos principais do IETF são:
· Maior Capacidade de Endereçamento - Os endereços são formados por 128 bits de comprimento
implicando um aumento extremamente elevado no número de hosts. É possível assim suportar mais
níveis de endereçamento hierárquico, um número muito maior de nós e autoconfiguração mais simples
de endereços.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 9/10
24/06/2019 O TCP/IP
· Formato de cabeçalho simplificado - Alguns campos do cabeçalho do Ipv4 foram retirados ou foram
marcados como opcional, de forma a permitir um mais rápido processamento de pacotes nos routers e
uma diminuição da Largura de banda do cabeçalho do IPv6.
· Implementação de apoio para extensões e opções - Mudanças do modo que são codificadas as
opções do cabeçalho IP permitem um encaminhamento mais eficiente, menos restrições no tamanho
das opções, e maior flexibilidade por introduzir opções novas no futuro.
· Possibilidade de associar tráfegos a Fluxos - Uma capacidade nova é adicionada para habilitar o
etiquetamento de pacotes pertencendo a fluxos particulares para o qual, o remetente fez pedido de
manipulação especial, como qualidade de diferente do default de serviço ou serviço "real-time". Passa
a ser possível o suporte a aplicações multimédia em tempo-real.
· Suporte para `Jumbo datagrams’ - Possibilidade de envio de pacotes de diferentes tamanhos, o IPv4
suporta apenas pacotes de 64Kb.
· Mobilidade- Permitir que um host mude de lugar sem precisar mudar o endereço.
· Configuração Plug-and-Play.
O IPv6 divide os endereços em tipos, do mesmo modo que o IPv4 os divide em classes, assim cada datagrama pode ser do tipo:
- Unicast – O endereço de destino especifica um único computador. O Datagrama deverá ser roteado para o destino ao longo
do caminho mais curto possível.
- Cluster – O destino é um conjunto de computadores que juntos dividem um único prefixo de endereço. O datagrama deverá
ser roteado para o grupo ao longo de um caminho o mais curto possível e, então, entregue a exactamente um membro do
grupo.
- Multicast – O destino é um subconjunto de computadores, possivelmente em diversos locais. Uma cópia do datagrama será
entregue a cada membro do grupo usando hardware multicast ou broadcast, conforme o caso.
O IPv6 não usa os termos broadcast ou difusão directa para se referir à entrega a todos os computadores de uma rede física ou
sub-rede lógica IP. Em vez disso, usa o termo multicast e trata difusão como uma forma especial de multicast.
O IPv6 trata especificações de comprimento de datagrama de um modo novo. Primeiro, visto que o tamanho do cabeçalho básico
é fixado em 40 octetos, o cabeçalho básico não inclui um campo de comprimento de cabeçalho. Segundo, o IPv6 substitui o
campo de comprimento de datagrama do IPv4 por um campo comprimento de carga (payload) de 16 bits que especifica o número
de octetos transportados em um datagrama, excluindo o próprio cabeçalho. Assim, um datagrama do IPv6 pode conter 64K de
octetos de dados.
Um novo mecanismo no IPv6 aceita a reserva de recursos e permite que um router associe cada datagrama a uma dada
alocação de recursos. A abstração considerada, um fluxo, consiste em um caminho de uma interligação em redes, ao longo do
qual os routers intermédios garantem uma qualidade específica de serviços.
O campo rótulo de fluxos do cabeçalho básico contém informações que routers usam para associar um datagrama a um fluxo e
prioridade específicos. O campo está dividido em 2 subcampos: classeT de 4 bits e identificador de fluxo de 24 bits.
O campo Classe T especifica a classe de tráfego para o datagrama. São usados valores de 0 a 7 para especificar a sensibilidade
ao tempo de tráfego controlado por fluxo. O campo restante contém um identificador de fluxo. A origem escolhe um identificador de
fluxo ao estabelecer um fluxo. Não há conflito potencial entre computadores porque um router usa a combinação de endereço de
origem de datagrama e o identificador de fluxo , ao associar um datagrama a um fluxo específico.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 10/10