Escolar Documentos
Profissional Documentos
Cultura Documentos
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 1/11
22/09/2022 20:38 O TCP/IP
·
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.
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
TCP/IP (Transmission Control Protocol/Internet Protocol) representa um conjunto
de protocolos
que permitem que diversos equipamentos que constituem uma rede
possam comunicar entre si. É
um protocolo estruturado por
camadas na qual cada camada utiliza e presta serviços às camadas
adjacentes. Cada camada apenas trata das informações que correspondem à sua
funçã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).
Existem
5 camadas distintas que formam o TCP/IP:
·
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
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 2/11
22/09/2022 20:38 O TCP/IP
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".
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 3/11
22/09/2022 20:38 O TCP/IP
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.
Características do protocolo TCP:
·
Transferência de dados: transmissão ponto-a-ponto de blocos de dados no
modo full-
duplex.
·
Transferência de dados com diferentes prioridades: transmite em primeiro lugar os
datagramas que
contenham sinalização de prioridade superior.
·
Estabelecimento e libertação de conexões
·
Sequenciação: Ordenação dos pacotes recebidos.
·
Segmentação e reassemblagem: O TCP divide os dados a serem transmitidos em
pequenos blocos de dados, identificando-os de forma a que
no host de destino seja
possível reagrupá-los.
·
Controle de fluxo: o TCP é capaz de adaptar a transmissão dos
datagramas às condições
de transmissões ( velocidade ,
tráfego ... ) entre os diversos sistemas envolvidos.
·
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.
Funcionamento de uma
Ligação TCP:
Uma comunicação utilizando o TCP é realizada em três fases:
1. Estabelecimento
da ligação
2. Troca de dados
3. Libertação da
ligação
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 4/11
22/09/2022 20:38 O TCP/IP
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 5/11
22/09/2022 20:38 O TCP/IP
·
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 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.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 6/11
22/09/2022 20:38 O TCP/IP
Significado
dos campos :
· VERSION : Informa qual a versão do protocolo IP que está a ser
utilizado. Pode ser o IPv4 ou
Ipv6.
· HEADER LENGTH : Informa qual o
comprimento do cabeçalho IP, grupos de 4 bytes.
· 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.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 7/11
22/09/2022 20:38 O TCP/IP
· FRAGMENT OFFSET : Informa o
posicionamento do fragmento em relação ao pacote IP do
qual faz parte.
· 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.
· HEADER CHECKSUM : Valor que ajuda
a garantir a integridade do cabeçalho do pacote IP
· SOURCE ADDRESS : Endereço IP do
host de origem do pacote IP
· DESTINATION ADDRESS : Endereço IP do
host de destino do pacote IP
· 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.
O
formato das opções IP é descrita no quadro abaixo:
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.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 8/11
22/09/2022 20:38 O TCP/IP
Devido
a existirem redes de vários tamanhos, é utilizado o conceito de Classe de
Endereçamento.
Assim
é possível distinguir as seguintes classes:
·
Classe A:
suporta 128 redes com a possibilidade de endereçar 16 milhões de hosts;
·
Classe B: suporta
16384 redes com a possibilidade de endereçar 64 mil hosts;
·
Classe C:
suporta 2 milhoes de redes com a possibilidade de endereçar 256 hosts;
·
Classe D:
permite que um datagrama seja distribuído por um conjunto de hosts;
·
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.
Inter-Operação
entre as camadas TCP e IP
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 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.
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 9/11
22/09/2022 20:38 O TCP/IP
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.
·
Arquitetura
de endereçamento melhor estruturada.
·
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.
·
Suporte
para multicasting e anycasting
https://paginas.fe.up.pt/~mrs01003/TCP_IP.htm 10/11
22/09/2022 20:38 O TCP/IP
·
Mecanismos
de segurança, incluindo Criptografia e autenticação
·
Autenticação
e Privacidade e Criptografia- Mecanismos para apoiar a
autenticação, integridade e
confidência de dados, bem como o envio de mensagens
encriptadas.
·
Redução
das tabelas de roteamento
·
Permitir
a coexistência entre o novo e o antigo protocolo durante anos.
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 11/11