Vous êtes sur la page 1sur 24

Apostila de TCP/IP

Autor: Adriano Vieira

A obra Apostila de TCP/IP, de Adriano Vieira, foi licenciada com uma Licença
Creative Commons - Atribuição - Uso Não-Comercial - Partilha nos Mesmos Termos
3.0 Brasil.
Permissões adicionais ao âmbito desta licença podem ser requisitadas em
emaildoadrianovieira@gmail.com.
Lista de siglas:
TCP Transmission Control Protocol Protocolo de Controle de Transmissão
IP Internet Protocol Protocolo de Interconexão
HTTP HyperText Trasfer Protocol Protocolo de Transferência de Hiper Texto
HTTPS Secure HTTP HTTP Seguro
FTP File Transmition Protocol Protocol de Transmissao e Arquivo
DNS Domain Name System Sistema de Nome de Domínio
UDP User Datagram Protocol Protocolo de Datagrama
SSL Secure Sockets Layer Camada de Sockets Segura
ARP Address Resolution Protocol Protocolo de Resolução de Endereço
RARP Reverse ARP ARP Reverso
IMAP Internet Message Access Protocol Protocolo de Acesso a Mensagens da Internet
POP3 Post Office Protocol <sem tradução útil>
VoIP Voice Over IP Voz sobre IP
ICMP Internet Control Message Protocol Protocolo de Mensagens de Controle da Internet
SSH Secure Shell Shell Seguro
MAC Media Access Control Controle de Acesso ao Meio
URL Unified Resource Locator Localizador Unificado de Recursos
Nota do professor

Olá aluno (a)!

Esta apostila foi produzida para subsidiar a primeira parte dos


conhecimentos que você precisa obter para ser aprovado em
minha disciplina, Protocolos de Rede e Segurança. Mas este não é
o único propósito... Esta apostila foi produzida para que você
entenda o funcionamento do TCP/IP e de alguns de seus
protocolos, para assim formar uma visão mais abrangente acerca
do funcionamento da Internet.

Os textos aqui abordados foram escritos da forma mais suave e simples possível,
exatamente para que vocês tentem aproveitar enquanto estiverem exercitando seu
aprendizado. Tenho a certeza de que, com os conhecimentos que teremos em aula e sua
assiduidade na leitura dessa e de outras apostilas que estão por vir, você será certamente
aprovado em minha disciplina e, eventualmente, em sua vida profissional.

Lembre-se, caro aluno: “A diferença entre o sucesso e o fracasso está no nível de


esforço empregado” – Adriano Vieira.

Um forte abraço,

Adriano Vieira
Apostila de TCP/IP - Introdução

Conteúdo
Nota do professor ............................................................................................................ 3
Introdução ....................................................................................................................... 5
Camada de Aplicação ..................................................................................................... 6
O protocolo HTTP ........................................................................................................ 7
O DNS .......................................................................................................................... 8
Abstração é a chave da pilha de protocolos TCP/IP ..................................................... 9
Camada de Transporte ................................................................................................ 11
Portas - Identificadores de aplicações (processos) ..................................................... 11
Os Protocolos TCP e UDP ......................................................................................... 12
TCP: Confiança e garantia de entrega ........................................................................ 13
UDP: Quando a simplicidade é a chave do negócio ................................................... 14
Diferenças entre TCP e UDP ...................................................................................... 14
Camada de Rede ........................................................................................................... 15
O protocolo IP ............................................................................................................ 15
Analogia com o funcionamento de serviços postais................................................... 16
O protocolo ARP ........................................................................................................ 18
O protocolo RARP ..................................................................................................... 19
Camada de Enlace ........................................................................................................ 20
Entrega direta e a importância do MAC ..................................................................... 20
Camada Física ............................................................................................................... 23
Bibliografias .................................................................................................................. 24

4
Apostila de TCP/IP - Introdução

Introdução

O TCP/IP é o protocolo para comunicação em rede mais usado atualmente. Seu nome
vem de dois protocolos: o TCP (Transmission Control Protocol – Protocolo de Controle
de Transmissão) e o IP (Internet Protocol – Protocolo de Interconexão).

Mas, afinal, o que é um protocolo de rede? Um protocolo é uma linguagem usada para
permitir que dois ou mais computadores se comuniquem. Assim como acontece no
mundo real, se duas pessoas não falam a mesma língua, elas não se comunicam. Um
protocolo define como dois dispositivos se comunicam e trocam informações.

O TCP/IP não é, na verdade, um único protocolo, mas sim um conjunto deles,


formando uma pilha de protocolos (como é comumente chamado), distribuídos entre
suas cinco camadas. Veja a tabela abaixo:

Pilha de Protocolos TCP/IP

Camada Protocolos
5 - Aplicação HTTP, DNS, IMAP, POP3,
MSN, FTP, Telnet, VoIP, entre
outros.
4 - Transporte TCP, UDP, entre outros.
3 - Rede IP, ARP, RARP, ICMP, entre
outros.
2 - Enlace Ethernet, 802.11 (WiFi), entre
outros.
1 - Física Hardware utilizado para
comunicação entre dispositivos.

Não se preocupe em entender cada um dos protocolos acima. Faremos isso com detalhes
mais adiante.

Cada uma das camadas do TCP/IP possui uma função específica, bem como os
protocolos distribuídos entre elas. Estas camadas foram pensadas pelos projetistas do
TCP/IP para facilitar e abstrair, para o desenvolvedor, os serviços da camada anterior.

Por exemplo, quando um programador deseja construir um programa de computador


para se comunicar em rede, ele não terá de saber detalhes sobre como os bits de seu
programa serão enviados (pois a camada Física e Enlace se preocuparão com isso), ou
como seus dados serão roteados entre diversas redes (a camada de Rede se preocupa
com isso), ou como garantir que seus pacotes serão entregues, ou não, e que chegarão
por inteiro ao destino (a camada de Transporte se preocupará com isso). O
programador deverá somente se preocupar em criar sua aplicação e definir quais
protocolos quer utilizar das camadas do TCP/IP. SIMPLES não?!

Estudaremos cada uma destas camadas e seus protocolos a seguir, bem como os
serviços disponibilizados por esses protocolos. Bons estudos!
5
Apostila de TCP/IP – Camada de Aplicação

Camada de Aplicação

Aplicações de Rede representam a razão de ser de uma rede de computadores. Nos


últimos 40 anos, foram criados diversos aplicativos que funcionam baseados em
comunicações em rede, como o email, programas de acesso a computadores remotos e
transferência de arquivos, grupos de discussão e bate-papo, além da maior e mais bem
sucedida infraestrutura de sistemas de páginas gráficas: a Web.

Ao iniciar nossos estudos sobre Protocolos de Rede e Segurança, nada melhor do que
começar pela camada de Aplicação do TCP/IP. Isto porque já somos familiarizados com
boa parte das aplicações que fazem uso dos protocolos desta camada, como MSN e
HTTP, por exemplo.

Vamos começar identificando a camada de Aplicação na pilha de protocolos TCP/IP:

Camada Protocolos
5 - Aplicação HTTP, DNS, IMAP, POP3,
MSN, FTP, Telnet, VoIP, entre
outros.
4 - Transporte TCP, UDP, entre outros.
3 - Rede IP, ARP, RARP, ICMP, entre
outros.
2 - Enlace Ethernet, 802.11 (WiFi), entre
outros.
1 - Física Hardware utilizado para
comunicação entre dispositivos.

Que tal agora listar alguns serviços que conhecemos e os protocolos da camada de
aplicação que eles utilizam? Vamos lá:

Serviços Protocolos utilizados


Email IMAP, POP3, entre outros.
A Web HTTP
Login em computadores remotos Telnet e SSH
Jogos em rede (utilizam, geralmente, protocolos do fabricante)
Telefonia via Internet VoIP
MSN (Messenger) MSN (utiliza protocolo de mesmo nome)
Transferência de Arquivos FTP

A seguir, devida a importância, serão abordados dois dos muitos protocolos desta
camada – HTTP e DNS.

6
Apostila de TCP/IP – Camada de Aplicação

O protocolo HTTP

O protocolo HTTP (HyperText Transfer Protocol – ou Protocolo de Transferência de


HiperTexto) é a base para o serviço Web. Ele é implementado em dois programas: um
cliente e outro servidor. Os dois programas conversam através de mensagens HTTP.

Resposta HTTP

Requisição HTTP

Cliente HTTP Servidor HTTP

Quando digitamos em nosso browser um endereço no URL e executamos a busca, nosso


computador se torna um cliente do serviço HTTP. Neste momento, o cliente envia uma
requisição HTTP para o respectivo servidor (ou seja, aquele que irá prover a página web
requerida – por exemplo, um dos servidores da Google). Ao receber a requisição, o
servidor avalia o pedido e, se válido, envia a resposta ao cliente, contendo a página web
desejada. O cliente continua enviando para o(s) servidor(es) todas as requisições HTTP
necessárias até que o documento base (composto de fotos, vídeos, arquivos de outros
servidores, entre outros objetos), esteja completo.

Todos os dados que trafegam sobre o protocolo HTTP o fazem por texto plano, ou seja,
as mensagens não são criptografadas e seus dados podem, eventualmente, serem lidos
por qualquer sistema que esteja “escutando” a rede.

Por isso, o HTTP possui uma implementação sobre SSL ou TLS (protocolos de
segurança para transferência de dados) chamada HTTPS (HTTP Seguro).

O HTTPS é geralmente utilizado por sites de bancos e lojas virtuais para prover
segurança na comunicação entre o computador do cliente e o servidor comercial.
Utilizando o HTTPS, é possível prevenir que intermediários tenham acesso as
informações que trafegam entre as duas pontas da comunicação, isto porque a
comunicação utilizando HTTPS é criptografada e somente os envolvidos na
comunicação (por exemplo, o banco e o cliente) podem descriptografá-la.

URL contendo o endereço de um banco utilizando HTTPS

7
Apostila de TCP/IP – Camada de Aplicação

O DNS

Muitas são as formas pelas quais nós, seres humanos, podemos ser identificados. Todos
nós, por exemplo, temos um número de CPF único, exclusivo. A Receita Federal, por
exemplo, prefere utilizar o número de nosso CPF para nos identificar, visto que podem
existir muitas pessoas com o mesmo nome e sobrenome que nós. Por outro lado,
pessoas comuns preferem usar nosso nome de batismo, pois, sem dúvida, este é mais
fácil de lembrar do que uma seqüência de números. Imagine, por exemplo, uma
conversa assim: “Olá, meu nome é 075.850.106-35 e está é minha esposa, 195.682.054-
20”. Inviável, não é?!

Assim como os seres humanos, computadores que hospedam sites e/ou serviços na
internet possuem um endereço IP único (por exemplo: 64.233.163.104), que serve para
identificá-los unicamente na grande rede. Obviamente, ficaria difícil se todos nós
tivéssemos que lembrar o número IP de cada um para podermos ter acesso a seus
serviços. Para isso existem os nomes de domínio, como www.google.com,
www.yahoo.com, etc. Estes nomes são bem mais fáceis de lembrar do que seus números
IP, que são 64.233.163.104 e 200.152.168.178, respectivamente.

Acessando o site do Google somente utilizando seu endereço IP

O DNS (Domain Name System – ou Sistema de Nomes de Domínio) é, ao mesmo


tempo, um banco de dados distribuído e um protocolo da camada de Aplicação.

Ele é comumente utilizado por outras entidades da camada de Aplicação, como o HTTP
e FTP, para traduzir nomes de hospedeiros para endereços IP. Isto é necessário porque,
na Internet, o endereçamento dos computadores em redes diferentes ocorre
somente via endereços IP. Para isso, um servidor DNS deve conter uma tabela
relacionando nomes de domínio e endereços IP, como a tabela a seguir:

www.google.com 64.233.163.104
www.terra.com 200.70.188.151
www.escolagomescardim.com.br 187.108.192.25
www.beaglenetwork.blogspot.com 74.14.204.132
Exemplo simples de uma tabela em um servidor DNS

8
Apostila de TCP/IP – Camada de Aplicação

Nenhum servidor DNS isolado possui, em suas tabelas, entradas para todos os
hospedeiros da Internet. Ao invés disso, o mapeamento é distribuído entre diversos
servidores DNS espalhados pelo mundo. Sendo assim, as consultas por nomes de
domínio podem percorrer diversos servidores DNS diferentes, até que todas as
informações sobre o nome sejam resolvidas e o cliente receba o IP desejado.

Basicamente falando, quando um usuário digita em seu browser o endereço


http://www.google.com, o HTTP, antes de requisitar a página do Google, precisa
utilizar o cliente DNS do computador para obter o endereço IP de www.google.com.
Uma requisição DNS é enviada ao servidor DNS contendo o nome “www.google.com”.
Este servidor retornará, então, o endereço IP correspondente ao nome requisitado. A
figura abaixo exemplifica o processo:

Resposta DNS (64.233.163.104)

Requisição DNS (www.google.com)

Cliente DNS Servidor DNS

É óbvio que existe muito mais por trás do funcionamento do DNS, porém não cabe aos
nossos estudos, no momento. O importante é saber que o DNS possibilita uma certa
organização e facilidade de compreensão, para nós humanos, em um mundo onde o IP é
a língua principal (Internet).

Obs: A partir de agora, você irá ouvir muito a expressão “fim-a-fim”. Mas o que
significa esta expressão? Como a comunicação pode ser fim-a-fim se os dados têm de
descer por todas as camadas do TCP/IP da origem e, chegando ao destino, subir
novamente todas as outras camadas para chegar, de fato, a aplicação que o utiliza?
Vamos entender então o conceito de “fim-a-fim”.

Abstração é a chave da pilha de protocolos TCP/IP

A figura abaixo simplifica como ocorre a comunicação “Real” e “Lógica” pelo TCP/IP:

Pilha TCP/IP Pilha TCP/IP

Aplicação Aplicação
Transporte Transporte
Rede Rede
Enlace Enlace
Física Física

9
Apostila de TCP/IP – Camada de Aplicação

A figura acima exemplifica o seguinte: a comunicação entre duas aplicações utilizando


a pilha de protocolos TCP/IP acontece, realmente, subindo e descendo as pilhas.
Quando um computador deseja enviar um dado para outro, este dado é encapsulado,
primeiramente, em seu protocolo de aplicação (HTTP, DNS, entre outros). O dado,
agora encapsulado em um protocolo da camada de aplicação, desce a pilha para a
camada de transporte, onde novamente recebe uma identificação do serviço que utilizará
dessa camada (TCP ou UDP, por exemplo). Desce novamente até a camada de Rede
onde, em sua identificação, consta o número IP correspondente a máquina de origem e a
máquina de destino da comunicação. O pacote agora é enviado à camada de Enlace
onde é encapsulado em um protocolo desta camada, (como Ethernet, 802.11, entre
outros), dependendo do tipo de rede em que os sistemas vizinhos estão. Decidida a
forma de envio dos dados, a camada física, ou seja, o Hardware de Rede do
computador, finalmente envia os dados para a máquina de destino.

Porém, devemos lembrar que o TCP/IP foi criado para, além do conceito óbvio de
prover comunicação entre duas máquinas na rede, possibilitar que a aplicação
abstraia ao máximo a existência de outras camadas na pilha, ou seja, as informações
são enviadas, logicamente, como se não houvesse outras camadas abaixo, como se
fosse possível enxergar diretamente as entidades parceiras nas camadas vizinhas em
outras máquinas (Transporte e Rede).

Os conceitos podem parecer confusos, por hora. Mas garanto que ficarão claros como
água na medida em que nossos estudos forem avançando. Não se esqueçam de tirar
todas as dúvidas comigo.

10
Apostila de TCP/IP – Camada de Transporte

Camada de Transporte

Esta camada está situada entre a camada de Aplicação e a camada de Rede no modelo
TCP/IP. Como veremos mais adiante, a camada de rede provê a comunicação lógica
fim-a-fim entre máquinas na Internet, através do IP. A camada de Transporte, por sua
vez, possibilita a comunicação lógica fim-a-fim dos processos em execução nas
maquinas, por um conceito que chamamos de “portas”.

Primeiramente, vamos identificar a camada de Transporte na pilha TCP/IP:

Camada Protocolos
5 - Aplicação HTTP, DNS, IMAP, POP3,
MSN, FTP, Telnet, VoIP, entre
outros.
4 - Transporte TCP, UDP, entre outros.
3 - Rede IP, ARP, RARP, ICMP, entre
outros.
2 - Enlace Ethernet, 802.11 (WiFi), entre
outros.
1 - Física Hardware utilizado para
comunicação entre dispositivos.

Antes de estudarmos os dois principais protocolos da camada de Transporte (TCP e


UDP), vamos entender que tipo de serviço oferece esta camada.

Portas - Identificadores de aplicações (processos)

Vamos supor que um programador está construindo uma aplicação em rede (que ele
chamou de EmpresaTalk), para comunicação entre ele e um amigo na empresa. Assim,
ele precisará receber e enviar dados para outra aplicação EmpresaTalk, que estará
instalada no computador de seu amigo. Para isso sua aplicação deverá, obviamente,
saber o endereço IP do computador de seu amigo para que, assim, consiga iniciar uma
comunicação com a outra aplicação. Porém, sabemos que um computador executa
muito mais de uma aplicação de rede. Nesse momento, por exemplo, é bem capaz de
que seu computador esteja executando muitas delas, como: um browser, um serviço de
mensagens instantâneas (como o MSN), um antivírus fazendo atualização de seu banco
de dados, um serviço de email, vídeos sendo baixados da internet, um cliente DNS, etc.

 DNS
 Web Browser
 MSN
 EmpresaTalk

11
Apostila de TCP/IP – Camada de Transporte

Somente o endereço IP seria capaz de possibilitar a identificação de todas estas


aplicações de rede executando em uma máquina? A resposta é NÃO... um IP identifica
uma máquina específica, e não as aplicações de rede sendo executadas nela.

Para isso a camada de Transporte trabalha com o que chamamos de “portas”.

Em um Sistema Operacional, existem portas que identificam cada uma das


aplicações residentes no sistema que precisam de acesso a rede. Por exemplo, a porta
relativa às aplicações que utilizam HTTP é a porta 80; O MSN utiliza, inicialmente, a
porta 1863; Já o DNS utiliza a porta 53.

 DNS (53)
 Web Browser (80)
 MSN (1863)
 EmpresaTalk (<número da porta>)

Sendo assim, nosso amigo programador deverá informar além do endereço IP da


máquina de seu amigo, onde reside a outra aplicação EmpresaTalk, também a porta
responsável por receber/enviar os dados para esta aplicação fictícia.

Os Protocolos TCP e UDP

Os protocolos TCP e UDP formam o coração da camada de Transporte, sendo


parte dos serviços que esta camada oferece para a camada de Aplicação. Por exemplo,
nosso programador, que esta produzindo o programa EmpresaTalk, deverá escolher um
destes dois protocolos para encapsular seus dados até a outra aplicação, no computador
de seu amigo. Cada um destes protocolos (TCP e UDP) possui serviços diferentes para
oferecer à camada de aplicação, dependendo das necessidades da aplicação em questão.

Estes protocolos são bem diferentes um do outro. O TCP é chamado de “protocolo de


transporte confiável”, por garantir que os dados de uma comunicação cheguem, por
inteiro, na máquina de destino. Já o UDP, pelo contrário, não dá muitas garantias para a
aplicação que utiliza seus serviços. Sabendo disso, vamos entender melhor cada um
destes protocolos.

12
Apostila de TCP/IP – Camada de Transporte

TCP: Confiança e garantia de entrega

O TCP (Transmission Control Protocol – ou Protocolo de Controle de Transmissão) é o


protocolo “certinho” da Internet. Uma aplicação que confia seus dados ao TCP tem a
certeza de que, em situações normais, suas informações chegarão ao destino e serão
lidas na ordem em que foram enviadas.

O TCP é responsável por receber dados da camada de aplicação e encapsulá-los,


passando-os para a camada inferior (camada de Rede).

Vamos entender agora como o TCP consegue dar tantas garantias as aplicações que o
utilizam para o transporte de seus dados:

1. O protocolo TCP é orientado à conexão, ou seja, ele estabelece uma conexão


fim-a-fim entre as aplicações de origem e destino dos dados. Sendo assim, antes
que as aplicações iniciem sua transferência de dados, a entidade TCP de origem
deve “bater um papo” com a entidade TCP de destino e negociar como será feita
a troca de informações, quais os recursos que serão alocados nas máquinas para
a transmissão dos dados (como quantidade de armazenamento necessária) e
“fechar um acordo” para a abertura de uma conexão (definindo as portas que
serão utilizadas)... só então inicia-se a transferência de dados. Após a
transferência, o fechamento da conexão também é acordado entre as partes, de
forma a liberar os recursos utilizados durante a transmissão dos dados.

2. O TCP possui um serviço confiável de entrega fim-a-fim dos dados. Uma


vez iniciada a troca de dados entre as aplicações, estas podem, de certa forma,
ficar tranqüilas quanto a entrega de suas informações. Isto porque, uma vez
confiados ao TCP, mesmo que seguimentos sejam perdidos, duplicados,
retardados e até mesmo cheguem fora da ordem ao seu destino, os mecanismos
de controle de erro e seqüência do TCP garantem que o fluxo de dados que sair
da aplicação de origem será entregue a aplicação de destino, na seqüência
correta e sem erros. Esse cara é demais, não é?!

3. O TCP possui um mecanismo de controle de fluxo. Isso ajuda a evitar que


uma aplicação, em certo intervalo de tempo, envie uma rajada de informações
maior do que a aplicação do outro lado suporta receber. Isso evita o descarte de
segmentos por falta de recursos na estação de destino. A idéia é compatibilizar a
taxa com a qual a entidade de origem está enviando dados com a taxa que a
entidade de destino os está lendo.

Tantas garantias, métodos, mecanismos, fazem do TCP muito confiável e útil para as
aplicações que precisam garantir que seus dados cheguem por completo ao outro lado
da comunicação. Mas será o TCP a solução para todas as aplicações? A resposta é
NÃO. Algumas aplicações simplesmente não precisam de tantas garantias e demandam
menos “burocracia” para serem enviadas. Para isso existe o UDP.

13
Apostila de TCP/IP – Camada de Transporte

UDP: Quando a simplicidade é a chave do negócio

O UDP (User Datagram Protocol – Procolo de Datagramas – por Tradução Adaptativa)


é um protocolo bastante simples, que provê um serviço de transporte não confiável e
sem conexão.

O UDP, assim como o TCP, é responsável por receber dados da camada de aplicação e
encapsulá-los, passando-os para a camada inferior (camada de Rede).

Ao contrário do TCP, o UDP não garante a seqüência dos dados entregues, não
garante que os dados da camada de aplicação que são confiados à ele sejam entregues
com sucesso ao respectivo processo de aplicação de destino, não garante a correção de
erros – caso estes aconteçam na transmissão dos dados -, não é orientado a conexão,
ou seja, não negocia a abertura de uma conexão (alocação de recursos e taxa de
transmissão) com o sistema de destino antes de enviar os dados, simplesmente os envia.

Agora você pode estar se perguntando: como um protocolo que, basicamente, não
garante nada, pode ser interessante para alguma aplicação?

A resposta está exatamente no fato deste protocolo ser tão simples. Algumas aplicações
precisam de simplicidade e velocidade para garantir a qualidade do serviço que provêem
ao usuário. Tome como exemplo uma Rádio Online. A perda de 0,01 micro segundo de
áudio não é suficiente para fazer com que seus ouvidos percebam diferença no som.
Sendo assim, uma rádio precisa mesmo é que seus dados sejam entregues de forma
rápida, sendo os erros em alguns pacotes aceitáveis para a transmissão final.

Sendo assim, ambos os protocolos tem lá suas vantagens, sendo necessário ao


programador avaliar qual sua real necessidade de serviço e fazer a escolha correta entre
TCP e UDP para transmissão primária dos dados entre suas aplicações.

Diferenças entre TCP e UDP

Para fechar este capítulo, veja na tabela abaixo as diferenças entre os protocolos TCP e
UDP:

TCP UDP
Orientado a conexão Não orientado a conexão
Mecanismo de controle de erro e seqüência Não possui mecanismos para recuperação em
caso de erros
Garante a seqüência correta dos dados no Não garante a seqüência correta dos dados no
destino destino
Possui controle de fluxo Não possui controle de fluxo
Principais diferenças entre os protocolos TCP e UDP

14
Apostila de TCP/IP – Camada de Rede

Camada de Rede

Como vimos anteriormente, a camada de Transporte, utilizando de um de seus


protocolos (TCP ou UDP), fornece um meio para identificar na rede cada processo que
faça uso desta rede, por meio das “portas”. A camada de Transporte, no entando, precisa
enviar seus dados para uma camada inferior, de forma a possibilitar que o segmento seja
enviado para a máquina de destino.

Vejamos onde se localiza a camada de Rede, na pilha de protocolos TCP/IP:

Camada Protocolos
5 - Aplicação HTTP, DNS, IMAP, POP3,
MSN, FTP, Telnet, VoIP, entre
outros.
4 - Transporte TCP, UDP, entre outros.
3 - Rede IP, ARP, RARP, ICMP, entre
outros.
2 - Enlace Ethernet, 802.11 (WiFi), entre
outros.
1 - Física Hardware utilizado para
comunicação entre dispositivos.

Após receber os dados da camada de Transporte, a camada de Rede preocupa-se em


endereçar as máquinas na rede. Para isso é utilizado o protocolo IP: um protocolo da
camada de rede responsável por receber os dados da camada superior (camada de
transporte) e enviá-los ao seu destino por meio de um identificador único, com o mesmo
nome do protocolo, para a Internet, o número IP.

O protocolo IP

O protocolo IP é um dos mais importantes protocolos da família TCP/IP, visto que


todos os demais protocolos das camadas de Rede e Transporte dependem dele para
entregar suas informações. Essa importância toda se deve, principalmente, ao octeto de
32 bits que este protocolo disponibiliza para a comunicação entre redes: o número IP.

Basicamente, um número IP identifica uma única máquina na Internet. Sendo assim, a


única forma de uma informação, utilizando TCP/IP, chegar ao seu destino na grande
rede é sendo encapsulada em um datagrama IP, contendo o número IP da máquina de
destino.

64.120.40.11 01000000.01111000.00101000.00001011
Formato de um endereço IP em decimal e sua versão em binário (quatro octetos de oito bits cada)

15
Apostila de TCP/IP – Camada de Rede

Através do protocolo IP, os pacotes podem ser direcionados pelos roteadores


através da internet até chegarem ao seu destino.

Da mesma forma como a camada de Transporte permite uma visão lógica das
aplicações nas máquinas de destino, a camada de Rede também abstrai a existência das
camadas inferiores por meio do IP. Isso ocorre porque, em uma rede IP, os endereços de
origem e destino (IP origem e IP destino), que seguem junto ao pacote IP são os
mesmos durante toda a comunicação, ou seja, mesmo passando por diversos roteadores
e switchs na Internet, temos uma visão em linha reta da origem e do destino que
queremos. Confuso? Veja a analogia abaixo.

Analogia com o funcionamento de serviços postais

Imagine que Maria, residente em Viana, Espírito Santo - Brasil, quer enviar uma carta
para João, que reside na cidade de Harrisburg, Pennsylvania – EUA. Maria sabe
exatamente o endereço de João, e não faz (e nem precisa fazer) idéia alguma de como o
serviço de correio irá entregar a carta até a residência de João. Maria confia no serviço
de correio e só deseja que a carta chegue até João.

Maria irá postar a carta na agência dos Correios, em Viana. A agência, por sua vez, não
sabe como entregar a carta diretamente na casa de João, mas sabe que, passando a carta
para sua agência central, na capital Vitória, a mesma poderá entregue ao destino, uma
vez que a agência de Vitória tem uma visão maior do mundo postal. A agência de
Vitória, ao receber a carta, também não sabe como entregá-la diretamente na casa de
João, mas sabe que tem de colocá-la em um avião e enviar para os EUA, rumo a agência
central do estado da Pennsylvania. Uma vez que a carta esteja lá, a agência da
Pennsylvania analisa o endereço e, assim como as outras agências, percebe que não sabe
como entregar diretamente a carta na casa de João, mas sabe que deve entregar para a
agência na cidade de Harrisburg. Quando a carta chega a Harrisburg, a agência de lá irá
analisar o endereço e perceber que sabe entregar essa carta, visto que a casa de João está
no mesmo distrito que a agência. Finalmente a carta é entregue a seu destinatário.

16
Apostila de TCP/IP – Camada de Rede

Casa de Maria Casa de João

Visão fim-a-fim de Maria (camada de Transporte e Rede)

Visão real do envio da carta (camada de Enlace e Física)

Perceba que Maria não faz idéia de tudo o que aconteceu no caminho de sua carta. Para
ela é como se tivesse colocado a carta na agência de Viana e, como num passe de
mágica, a carta aparecesse na casa de João. A carta (pacote IP) pode passar por diversas
outras localidades, dependendo, por exemplo, da quantidade de tráfego ou demanda de
certas agências (roteadores e switchs).

Assim funciona a abstração na pilha de protocolos TCP/IP. Imagine Maria como sendo
o computador utilizando o protocolo IP (o serviço dos Correios) para enviar sua
mensagem. O computador de origem (Maria) sabe o endereço IP de seu destinatário
(João) e simplesmente envia o pacote (carta) para ele, sem se preocupar sobre como as
camadas inferiores, camada de Enlace e Física (agências), irão fazer para entregar a
carta.

Essa visão fim-a-fim acontece porque o endereço de origem e destino não muda em
toda a comunicação (perceba que, na carta, o endereço de origem – de Maria - e o
endereço de destino - de João - são sempre os mesmos). Assim também acontece na
transmissão de dados sobre IP. O endereço IP de origem e o endereço IP de destino são
sempre os mesmos, possibilitando o endereçamento correto das informações que vão e
que vem da Internet. No entanto, o endereço das agências (endereços MAC em
roteadores e switchs – veremos endereços MAC no próximo capítulo) sempre se
alteram, a medida em que vão sendo repassados para frente, já que uma agência
passa a se tornar responsável por entregar o que a outra agência lhe passou. Sendo
assim, caso a correspondência se perca, uma agência terá de prestar contas a agência
que lhe passou a correspondência, esta prestará contas para a agência anterior e assim
por diante, até chegar a Maria a notícia da perda da carta, caso ocorra.

17
Apostila de TCP/IP – Camada de Rede

O protocolo ARP

Um computador pode ser identificado na rede por dois endereços: seu endereço lógico –
IP - e seu endereço físico – MAC -, gravado no adaptador de rede da máquina (veremos
mais detalhes sobre endereçamento físico mais adiante).

O fato é que, para entregar uma mensagem para computadores “vizinhos”, ou seja, que
estejam dentro de uma mesma rede física, é utilizado o endereço físico do computador
de origem e destino, ou seja, é utilizado o endereço MAC. Por isso, sempre que uma
máquina possui o endereço IP da outra, mas não sabe o endereço MAC, é preciso fazer
a descoberta do MAC através do IP, antes de iniciar a comunicação entre as partes.
Para isso existe o protocolo ARP (Address Resolution Protocol – Protocolo de
Resolução de Endereços).

Para entendermos a necessidade deste protocolo, veja a rede mostrada na figura abaixo:

No exemplo acima, cada equipamento de rede possui um endereço IP e um endereço


MAC para cada adaptador na rede. Como deve ser de conhecimento geral, os endereços
IP são mostrados como números em notação decimal, enquanto os MACs são números
em hexadecimal.

Voltando ao exemplo, suponha que o computador com número IP 222.222.222.220


queira enviar um recado (via datagrama IP) para o nó 222.222.222.222. Perceba que
neste exemplo, ambas as máquinas estão na mesma rede, ou seja, o endereçamento
deverá ser feito através do endereço MAC do destino. Para descobrir o endereço MAC
da máquina de IP:222.222.222.222, o remetente primeiro pesquisará em sua tabela ARP
procurando por alguma entrada que identifique o destinatário. Veja o exemplo da tabela
ARP de 222.222.222.220:

18
Apostila de TCP/IP – Camada de Rede

IP MAC
222.222.222.221 2F-3A-5D-25-2A-F1
222.222.222.223 5C-77-A5-43-90-BF
... ...
Tabela ARP de 222.222.222.220 (exemplo)

Humm... que pena. O computador remetente verificou em sua tabela ARP e percebeu
que não possui o endereço MAC do destinatário, ou seja, 222.222.222.220 não possui o
MAC de 222.222.222.222. Para conseguir esse endereço, o computador remetente irá
mandar um pacote que chamamos de ARP Query, contendo seu próprio endereço IP e
endereço MAC, bem como o endereço MAC de broadcast (FF-FF-FF-FF-FF-FF). Este
pacote deverá ser como o pacote abaixo:

MAC origem: 2A-32-1F-3B-C2-58 IP origem: 222.222.222.220


MAC destino: FF-FF-FF-FF-FF-FF IP destino: 222.222.222.222
Exemplo de um pacote ARP Query simples, para busca do IP destino.

O quadro acima é recebido por todos os adaptadores na sub-rede, devido ao broadcast


por MAC (FF-FF-FF-FF-FF-FF). Cada computador verifica, então, se o endereço IP de
destino, presente no pacote ARP, combina com seu próprio endereço IP. O único nó que
for portador do endereço 222.222.222.222, responderá, finalmente, com o seu proprio
endereço MAC no campo “MAC origem”. Abaixo a resposta da máquina
222.222.222.222 para 222.222.222.220:

MAC origem: 49-BD-9B-62-AC-24 IP origem: 222.222.222.222


MAC destino: 2A-32-1F-3B-C2-58 IP destino: 222.222.222.220
Resposta da máquina 222.222.222.222.

O protocolo RARP

O RARP (Rerverse ARP – ARP reverso) é utilizado, como o nome diz, de forma
contrária ao uso do ARP.

Ao invés de utilizar o IP para encontrar um MAC, ele utiliza o MAC para encontrar o
IP. Isso é útil em casos onde, por exemplo, um computador sem HD, por exemplo, é
ligado e não possui seu endereço IP, somente o MAC (que já vem gravado no
adaptador). Assim o computador pode usar este endereço para requisitar a um servidor
RARP externo um número IP.

Um servidor DHCP faz o mesmo trabalho, possuindo ainda inúmeras possibilidades de


configuração e facilidade na atualização das tabelas de endereços, onde o RARP é
ineficiente.

19
Apostila de TCP/IP – Camada de Enlace

Camada de Enlace

Esta é a camada mais baixa construída sobre software no TCP/IP. A denominação


“enlace” vem dos canais de comunicação que conectam computadores adjacentes, ao
longo do caminho da comunicação, ou seja, computadores “vizinhos”, fisicamente
falando. Um protocolo da camada de Enlace é usado para transportar um datagrama por
um enlace individual.

Antes de entrarmos em detalhes sobre essa camada, vamos localizá-la na pilha de


protocolos TCP/IP:

Camada Protocolos
5 - Aplicação HTTP, DNS, IMAP, POP3,
MSN, FTP, Telnet, VoIP, entre
outros.
4 - Transporte TCP, UDP, entre outros.
3 - Rede IP, ARP, RARP, ICMP, entre
outros.
2 - Enlace Ethernet, 802.11 (WiFi), entre
outros.
1 - Física Hardware utilizado para
comunicação entre dispositivos.

Na camada de Rede, o número IP identifica unicamente uma máquina na Internet. Na


camada de Enlace, por sua vez, existe outro identificador responsável por identificar
cada adaptador (placa de rede) em uma máquina: o endereço MAC (Media Access
Control – Controle de Acesso ao Meio).

Entrega direta e a importância do MAC

Na camada de Enlace, o endereçamento ocorre dentro de uma rede física, ou seja, onde
todos os computadores estão conectados em um mesmo barramento lógico. Assim,
dizemos que toda a entrega de informação é feita de forma direta. Os computadores
que compartilham uma rede física (pense em uma Lan House, por exemplo) utilizam o
MAC para realizar essa entrega direta dentro da mesma rede.

Como se pode perceber, esse endereço é importante porque identifica a máquina dentro
da rede física, a qual ela pertence. Quando uma máquina é ligada, ela já conhece seu
endereço MAC, isto porque este endereço é gravado na placa de rede do computador,
pelo próprio fabricante da placa. Hipoteticamente, as placas de rede possuem endereços
únicos, ou seja, não existe uma placa de rede no mundo com seu endereço MAC igual
ao de outra.

20
Apostila de TCP/IP – Camada de Enlace

O endereço MAC é utilizado para agregar valor as transmissões IP por meio de entregas
por enlace, ou seja, entre cada sistema que componha a rede. Na analogia do sistema de
correios, as agências – que são os switchs e roteadores na rede IP - não sabem o que
existe dentro da correspondência de Maria (e também não é do interesse delas saber).
Suas únicas preocupações são atualizar a correspondência de Maria mudando o
endereço da última agência pela qual a carta passou – ou seja, atualizando o endereço
MAC de sistema a sistema na rede. Assim, cada agência sabe de onde veio a
correspondência, pois terá dois endereços para se basear em caso de perda da
correspondência: o endereço de Maria (IP de origem) e o endereço da agência que lhe
repassou a carta (endereço MAC de origem), bem como terá o endereço de João (IP de
destino) e deverá decidir para qual agência deverá enviar a carta (MAC de destino).

MAC origem IP origem


Dados
MAC destino IP destino
Exemplo básico de como é estruturado uma unidade de transmissão de datagrama.

Veja a figura acima. Trata-se de um exemplo básico de datagrama de camada de Enlace,


juntamente com os cabeçalhos IP origem e IP destino, da camada de Rede. Para
entender bem o que acontece quando enviamos um dado pela internet, vamos imaginar a
rede hipotética abaixo:

Note que a rede possui duas faixas diferentes de IP e que está dividida por um roteador,
formando duas redes físicas distintas. Note também que cada computador possui um
endereço IP e um MAC, associado ao seu adaptador. Por sua vez, o roteador possui dois
MACs e dois IP, cada par correspondendo a um adaptador do equipamento.

Vamos imaginar agora como aconteceria uma comunicação entre estas duas redes
físicas distintas. Para um datagrama ir de 111.111.111.111 até 222.222.222.222, ele
teria de ser enviado, primeiramente, para a interface do roteador 111.111.111.110.
Sendo assim, o endereço MAC de destino será, inicialmente, o endereço MAC do
adaptador correspondente a interface do roteador em 111.111.111.110. Mas como o
remetente descobre o endereço MAC da interface do roteador? Utilizando o ARP,
como vimos anteriormente. Veja abaixo este primeiro passo em detalhes:

21
Apostila de TCP/IP – Camada de Enlace

MAC origem: 74-29-9C-E8-FF-55 IP origem: 111.111.111.111


Dados
MAC destino: E6-E9-00-17-BB-4B IP destino: 222.222.222.222

VIVA! O datagrama foi transportado com sucesso para o roteador que interliga as duas
redes. O roteador analisa agora sua tabela de IPs, percebendo que pode entregar
diretamente o pacote à máquina de destino (cujo IP é 222.222.222.222), pois esta se
encontra conectada a um dos adaptadores pertencentes a ele. Sendo assim, o roteador
procura descobrir o endereço MAC da máquina de destino do pacote (utilizando do
ARP, lembre-se) e, quando o descobre, remonta o datagrama, agora contendo novos
endereços MAC de origem e destino. Desta forma:

MAC origem: 1A-23-F9-CD-06-9B IP origem: 111.111.111.111


Dados
MAC destino: 49-BD-D2-C7-56-2A IP destino: 222.222.222.222

E enfim a mensagem chega ao seu destino, a máquina cujo IP é 222.222.222.222. É


importante notar que o endereço IP de origem e o endereço IP de destino continuaram
intactos durante toda a comunicação, enquanto os MACs mudam a cada novo repasse
por enlace.

Dúvidas? Isso é normal... não deixe de retirar todas as suas dúvidas em aula. Lembre-
se: “quem pergunta é um tolo por 5 minutos. Quem não pergunta, pode permanecer tolo
para sempre”.

22
Apostila de TCP/IP – Camada Física

Camada Física

A Camada Física, na pilha de protocolos TCP/IP, é abordada por muitos autores.


Outros, no entanto, simplesmente não a adicionam na pilha de protocolos, deixando o
TCP/IP com quatro camadas somente. A razão disso é que esta camada consiste,
unicamente, nos equipamentos que propiciam a comunicação, ou seja, no hardware que
serve de motor ou guia à comunicação de dados.

Nesta apostila, não abordaremos a Camada Física. A área está mais voltada para a
disciplina de Arquitetura de Computadores.

23
Apostila de TCP/IP – Camada Física

Bibliografias

KUROSE, James; ROSS, Keith . Redes de Computadores e a Internet 3ª Edição. São


Paulo. Pearson Education, 2006.

RNP. Arquitetura e Protocolos de Rede TCP/IP. Rio de Janeiro. Escola Superior de


Redes.

24

Vous aimerez peut-être aussi