109.1 Lição 2
Certificação: |
LPIC-1 |
---|---|
Versão: |
5.0 |
Tópico: |
109 Fundamentos de rede |
Objetivo: |
109.1 Fundamentos dos protocolos de internet |
Lição: |
2 de 2 |
Introdução
No início deste subtópico, vimos que a pilha TCP/IP é composta por uma série de protocolos diferentes. Em seguida, estudamos o protocolo IP, que permite a comunicação entre máquinas através de endereços IP, máscaras, rotas, etc.
Para que um host possa acessar um serviço disponível em outro host, além do protocolo de endereçamento IP na camada de rede, será necessário utilizar um protocolo na camada de transporte, como os protocolos TCP e UDP.
Esses protocolos realizam essa comunicação por meio de portas de rede. Portanto, além de definir um IP de origem e destino, usamos portas de origem e destino para acessar um serviço.
A porta é identificada por um campo de 16 bits, o que resulta em um limite de 65.535 portas possíveis. Os serviços (destino) usam as portas 1 a 1023, que são chamadas de portas privilegiadas por terem acesso de root ao sistema. A origem da conexão usa o intervalo de portas de 1024 a 65.535, chamadas de portas não privilegiadas ou portas de socket.
As portas usadas por cada tipo de serviço são padronizadas e controladas pela IANA (Internet Assigned Numbers Authority). Assim, em qualquer sistema, a porta 22 é usada pelo serviço SSH, a porta 80 pelo serviço HTTP e assim por diante.
A tabela a seguir contém os principais serviços e suas respectivas portas.
Porta | Serviço |
---|---|
20 |
FTP (dados) |
21 |
FTP (controle) |
22 |
SSH (Secure Socket Shell) |
23 |
Telnet (Conexão remota sem criptografia) |
25 |
SMTP (Simple Mail Transfer Protocol), Enviar emails |
53 |
DNS (Domain Name System) |
80 |
HTTP (Hypertext Transfer Protocol) |
110 |
POP3 (Post Office Protocol), Receber emails |
123 |
NTP (Network Time Protocol) |
139 |
Netbios |
143 |
IMAP (Internet Message Access Protocol), Acessar emails |
161 |
SNMP (Simple Network Management Protocol) |
162 |
SNMPTRAP, Notificações SNMP |
389 |
LDAP (Lightweight Directory Access Protocol) |
443 |
HTTPS (HTTP Seguro) |
465 |
SMTPS (SMTP Seguro) |
514 |
RSH (Shell Remoto) |
636 |
LDAPS (LDAP Seguro) |
993 |
IMAPS (IMAP Seguro) |
995 |
POP3S (POP3 Seguro) |
Em um sistema Linux, as portas de serviço padrão são listadas no arquivo /etc/services
.
A identificação da porta de destino desejada em uma conexão é feita usando o caractere :
(dois pontos) após o endereço IPv4. Assim, ao buscar acesso ao serviço HTTPS que é servido pelo hospedeiro IP 200.216.10.15
, o cliente deve enviar a solicitação para o destino 200.216.10.15:443
.
Os serviços listados acima, e todos os outros, utilizam um protocolo de transporte de acordo com as características exigidas pelo serviço, sendo o TCP e o UDP os principais.
Transmission Control Protocol (TCP)
O TCP (Protocolo de controle de transmissão) é um protocolo de transporte orientado a conexões. Isso significa que uma conexão é estabelecida entre o cliente, por meio da porta de socket, e o serviço, por meio da porta padrão do serviço. O protocolo é responsável por garantir que todos os pacotes sejam entregues corretamente, verificando a integridade e a ordem dos pacotes, incluindo a retransmissão de pacotes perdidos por erros de rede.
Assim, o aplicativo não precisa implementar esse controle de fluxo de dados, pois ele já é garantido pelo protocolo TCP.
User Datagram Protocol (UDP)
O UDP (Protocolo de datagrama do usuário) estabelece uma conexão entre o cliente e o serviço, mas não controla a transmissão de dados dessa conexão. Ou seja, ele não verifica se os pacotes se perderam, se estão fora de ordem, etc. O aplicativo é responsável por implementar os controles necessários.
Como há menos controle, o UDP permite um melhor desempenho no fluxo de dados, o que é importante para alguns tipos de serviços.
Internet Control Message Protocol (ICMP)
O ICMP (Protocolo de mensagens de controle da internet) é um protocolo da camada de rede na pilha TCP/IP e sua principal função é analisar e controlar os elementos da rede, possibilitando, por exemplo:
-
Controle de volume de tráfego
-
Detecção de destinos inacessíveis
-
Redirecionamento de rota
-
Verificar o status de hosts remotos
É o protocolo utilizado pelo comando ping
, que será estudado em outro subtópico.
IPv6
Até agora, estudamos a versão 4 do protocolo IP, ou seja, o IPv4. Esta tem sido a versão padrão usada em todos os ambientes de rede e internet. Porém, ela apresenta limitações, principalmente no que diz respeito ao número de endereços disponíveis, e como parece claro que em um futuro próximo todos os dispositivos estarão de alguma forma conectados à Internet (ver IoT), é cada vez mais comum utilizar a versão 6 do protocolo IP, abreviada como IPv6.
O IPv6 traz uma série de mudanças, novas implementações e recursos, bem como uma nova representação do próprio endereço.
Cada endereço IPv6 possui 128 bits, divididos em 8 grupos de 16 bits, representados por valores hexadecimais.
Por exemplo:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Abreviações
O IPv6 define maneiras de encurtar os endereços em algumas situações. Vamos analisar o seguinte endereço:
2001:0db8:85a3:0000:0000:0000:0000:7344
A primeira possibilidade é reduzir as strings de 0000
para apenas um 0
, resultando em:
2001:0db8:85a3:0:0:0:0:7344
Além disso, no caso de grupos de strings com valor 0
, elas podem ser omitidas da seguinte forma:
2001:0db8:85a3::7344
Porém, esta última abreviatura só pode ser feita uma vez no endereço. Veja o exemplo:
2001:0db8:85a3:0000:0000:1319:0000:7344 2001:0db8:85a3:0:0:1319:0:7344 2001:0db8:85a3::1319:0:7344
Tipos de endereço IPv6
O IPv6 classifica os endereços em 3 tipos:
- Unicast
-
Identifica uma única interface de rede. Por padrão, os 64 bits à esquerda identificam a rede e os 64 bits à direita identificam a interface.
- Multicast
-
Identifica um conjunto de interfaces de rede. Um pacote enviado a um endereço multicast será enviado a todas as interfaces que pertencem àquele grupo. Embora semelhante, não deve ser confundido com o broadcast (transmissão), que não existe no protocolo IPv6.
- Anycast
-
Também identifica um conjunto de interfaces na rede, mas o pacote encaminhado para um endereço anycast será entregue a apenas um endereço nesse conjunto, não a todos.
Diferenças entre IPv4 e IPv6
Além do endereço, diversas outras diferenças podem ser apontadas entre as versões 4 e 6 do IP. Eis algumas delas:
-
As portas de serviço seguem os mesmos padrões e protocolos (TCP, UDP); a diferença está apenas na representação do IP e no conjunto de portas. No IPv6, o endereço IP deve ser protegido com
[]
(colchetes):- IPv4
-
200.216.10.15:443
- IPv6
-
[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443
-
O IPv6 não implementa o recurso de broadcast (transmissão) da mesma maneira que o IPv4. Porém, o mesmo resultado pode ser obtido enviando-se o pacote para o endereço
ff02::1
, que alcança todos os hosts da rede local — semelhante a usar224.0.0.1
no IPv4 para uma transmissão multicast. -
Por meio do recurso SLAAC (Stateless Address Autoconfiguration), os hosts IPv6 podem se autoconfigurar.
-
O campo TTL (Time to Live) do IPv4 foi substituído pelo “Hop Limit” (limite de saltos) no cabeçalho do IPv6.
-
Todas as interfaces IPv6 têm um endereço local, denominado endereço de link local, prefixado com
fe80::/10
. -
O IPv6 implementa o Neighbor Discovery Protocol (NDP), semelhante ao ARP usado pelo IPv4, mas com muito mais funcionalidades.
Exercícios Guiados
-
Qual porta é o padrão para o protocolo SMTP?
-
Quantas portas diferentes estão disponíveis em um sistema?
-
Qual protocolo de transporte garante que todos os pacotes sejam entregues corretamente, verificando a integridade e a ordem dos pacotes?
-
Que tipo de endereço IPv6 é usado para enviar um pacote a todas as interfaces que pertencem a um grupo de hosts?
Exercícios Exploratórios
-
Dê 4 exemplos de serviços que usam o protocolo TCP por padrão.
-
Qual é o nome do campo no pacote de cabeçalho do IPv6 que implementa o mesmo recurso do TTL no IPv4?
-
Que tipo de informação o Neighbour Discovery Protocol (NDP) pode descobrir?
Resumo
Esta lição cobriu os principais protocolos de transporte e serviços usados na pilha TCP/IP.
Outro tópico importante é a versão 6 do protocolo IP, incluindo os endereços IPv6 e as principais diferenças em relação ao IPv4.
Os seguintes assuntos foram abordados:
-
A correlação entre números de portas e serviços
-
TCP (Transmission Control Protocol)
-
UDP (User Datagram Protocol)
-
ICMP (Internet Control Message Protocol)
-
O endereço IPv6 e como abreviá-lo
-
Tipos de endereço IPv6
-
Principais diferenças entre IPv4 e IPv6
Respostas aos Exercícios Guiados
-
Qual porta é o padrão para o protocolo SMTP?
25
-
Quantas portas diferentes estão disponíveis em um sistema?
65535
-
Qual protocolo de transporte garante que todos os pacotes sejam entregues corretamente, verificando a integridade e a ordem dos pacotes?
TCP
-
Que tipo de endereço IPv6 é usado para enviar um pacote a todas as interfaces que pertencem a um grupo de hosts?
Multicast
Respostas aos Exercícios Exploratórios
-
Dê 4 exemplos de serviços que usam o protocolo TCP por padrão.
FTP, SMTP, HTTP, POP3, IMAP, SSH
-
Qual é o nome do campo no pacote de cabeçalho do IPv6 que implementa o mesmo recurso do TTL no IPv4?
Hop Limit (Limite de saltos)
-
Que tipo de informação o Neighbour Discovery Protocol (NDP) pode descobrir?
O NDP é capaz de obter diversas informações da rede, incluindo outros nós, endereços duplicados, rotas, servidores DNS, gateways, etc.