Escolar Documentos
Profissional Documentos
Cultura Documentos
Internet e Arquitetura
TCP/IP
volume I
processamento, que poderiam ter seu emprego enriquecido com o acesso a uma grande rede de
comunicao. Esta rede recebeu o nome de ARPANET. O principal objetivo terico da ARPANET era formar
uma arquitetura de rede slida e robusta que pudesse sobreviver a uma perda substancial de equipamento e
ainda operar com os computadores e enlaces de comunicao restantes. Para alcanar este objetivo, o
sistema de comunicao deveria suportar diversos tipos de equipamentos distintos, ser dividido em diversos
nveis de protocolos distintos para permitir a evoluo independente de cada um deles e ser baseado em
transferncia de pacotes de informao.
Durantet a dcada de 70 at 1983, a ARPANET era baseada em IMPs (Interface Message Processors),
rodando diversos protocolos, sendo o principal o NCP (Network Control Protocol). O TCP/IP ainda estava
sendo projetado e a Internet era formada por mquinas de grande porte e minicomputadores ligados aos IMPs.
O roteamento fora dos IMPS no existia, impedindo a conexo de mquinas em rede local que surgiam. Ou
seja, para se ligar ARPANET era necessria a ligao direta a um IMP.
Nesta poca, os computadores com potencial para se ligar na rede eram de grande porte e em nmero
reduzido. As diferenas de porte desta rede imaginada na poca e o que se observa hoje gigantesco. Um
dos projetistas dos sistemas de comunicao da ARPANET, referindo-se ao tamanho de um byte para os
identificadores das mquinas, afirmou que 256 mquinas essencialmente infinito.
No comeo de 1980, a ARPANET foi dividida em ARPANET e MILNET, separando a poro acadmica e
militar. Nesta poca, a ARPA decidiu adotar o Unix como sistema operacional prioritrio para o suporte de seus
projetos de pesquisa (dos quais a ARPANET era um deles), escolhendo a Universidade da Califrnia - Berkeley
com centro de desenvolvimento. A ARPA incentivou a criao nativa do suporte de TCP/IP no Unix.
O protocolo TCP/IP comeou a ser projetado em 1977 com o objetivo de ser o nico protocolo de
comunicao da ARPANET. Em 1/1/1983, todas as mquinas da ARPANET passaram a utilizar o TCP/IP como
protocolo de comunicao. Isto permitiu o crescimento ordenado da rede, eliminando as restries dos
protocolos anteriores. Em 1986, a NSF (Network Science Foundation) passou a operar o backbone (espinha
dorsal) de comunicaes com o nome de NSFNet e iniciou a formao de redes regionais interligando os
institutos acadmicos e de pesquisa. Desde 1983 comearam a surgir diversas redes paralelas nos Estados
Unidos financiadas por rgos de fomento a pesquisa como a CSNET (Computer Science Net), HEPNet (High
Energy Physics Net) , SPAN (Nasa Space Physics Network) e outras. Estas redes foram integradas ao NSFNet
e adicionadas a redes de outros pases, caracterizando o incio de uso do termo Internet em 1988.
Em 1993, foram criados os protocolos HTTP e o browser Mosaic, dando incio ao World Wide Web (WWW). O
World Wide Web foi o grande responsvel pela crescimento exponencial da Internet, pois permitiu o acesso a
informaes com contedo rico em grficos e imagens e de forma estruturada. O WWW foi tambm o grande
motivador do uso comercial da Internet, permitindo s empresas disponibilizar informaes e vender produtos
via Internet.
A NSFNet foi privatizada em 1995, e o backbone passou a ser distribudo e complexo, formado por mltiplas
redes de prestadoras de servios de telecomunicaes como AT&T, MCI, Sprint e outros. Hoje a Internet no
mais formada por um nico backbone central, mas por um conjunto de grandes provedores de acesso. Em
1995 foi permitido tambm o trfego de informaes comerciais na Internet.
No Brasil, o acesso Internet foi iniciado com a conexo de instituies acadmicas como a Fapesp, USP,
Unicamp, PUC-Rio, UFRJ e outras em 1989. Foram formados dois backbones regionais, a RedeRio e a ANSP
(An Academic Network at So Paulo) interligando as principais instituies destes estados. Posteriormente foi
criada a RNP (Rede Nacional de Pesquisa) com o objetivo de formar um backbone nacional de acesso
Internet e de estimular a formao de redes regionais como a Rede Minas, Rede Tch e outras. Em 1995, foi
liberado o trfego comercial, com a Embratel montando e operando o backbone comercial no Brasil. O
fornecimento de servios IP no foi considerado monoplio da Telebrs, permitindo o surgimento de
provedores de acesso Internet.
Hoje o backbone da Internet no Brasil formado por diversos backbones nacionais interligados entre si, como
a RNP, a Embratel e de outras empresas como IBM, Unisys, GlobalOne e outros provedores. O Comit Gestor
da Internet Brasil o responsvel pela determinao de regras e polticas para a poro brasileira da Internet e
a Fapesp responsvel pelo registro de nomes de domnio .br.
Protocolos TCP/IP
TCP/IP um acrnimo para o termo Transmission Control Protocol/Internet Protocol Suite, ou seja um
conjunto de protocolos, onde dois dos mais importantes (o IP e o TCP) deram seus nomes arquitetura. O
protocolo IP, base da estrutura de comunicao da Internet um protocolo baseado no paradigma de
chaveamento de pacotes (packet-switching).
Os protocolos TCP/IP podem ser utilizados sobre qualquer estriutura de rede, seja ela simples como uma
ligao ponto-a-ponto ou uma rede de pacotes complexa. Como exemplo, pode-se empregar estruturas de
rede como Ethernet, Token-Ring, FDDI, PPP, ATM, X.25, Frame-Relay, barramentos SCSI, enlaces de satlite,
ligaes telefnicas discadas e vrias outras como meio de comunicao do protocolo TCP/IP.
A arquitetura TCP/IP, assim como OSI realiza a diviso de funes do sistema de comunicao em estruturas
de camadas. Em TCP/IP as camadas so:
Aplicao
Tranporte
Inter-Rede
Rede
A figura 1 ilustra a diviso em camadas da arquitetura TCP/IP:
Aplicao
Mensagens da aplicao
Transporte
Inter-rede
Datagramas IP
Rede
Camada de rede
A camada de rede responsvel pelo envio de datagramas construdos pela camada Inter-Rede. Esta camada
realiza tambm o mapeamento entre um endereo de identificao de nvel Inter-rede para um endereo fsico
ou lgico do nvel de Rede. A camada Inter-Rede independente do nvel de Rede.
Alguns protocolos existentes nesta camada so:
Camada Inter-Rede
Esta camada realiza a comunicao entre mquinas vizinhas atravs do protocolo IP. Para identificar cada
mquina e a prpria rede onde estas esto situadas, definido um identificador, chamado endereo IP, que
independente de outras formas de endereamento que possam existir nos nveis inferiores. No caso de existir
endereamento nos nveis inferiores realizado um mapeamento para possibilitar a converso de um
endereo IP em um endereo deste nvel.
Os protocolos existentes nesta camada so:
Protocolo de transporte de dados: IP - Internet Protocol
Protocolo de controle e erro: ICMP - Internet Control Message Protocol
Protocolo de controle de grupo de endereos: IGMP - Internet Group Management Protocol
Protocolos de controle de informaes de roteamento
O protocolo IP realiza a funo mais importante desta camada que a prpria comunicao inter-redes. Para
isto ele realiza a funo de roteamento que consiste no transporte de mensagens entre redes e na deciso de
qual rota uma mensagem deve seguir atravs da estrutura de rede para chegar ao destino.
O protocolo IP utiliza a prpria estrutura de rede dos nveis inferiores para entregar uma mensagem destinada
a uma mquina que est situada na mesma rede que a mquina origem. Por outro lado, para enviar
mensagem para mquinas situadas em redes distintas, ele utiliza a funo de roteamento IP. Isto ocorre
atravs do envio da mensagem para uma mquina que executa a funo de roteador. Esta, por sua vez,
repassa a mensagem para o destino ou a repassa para outros roteadores at chegar no destino.
Host A
Host A
Mensagem
idntica
Aplicao
Aplicao
Pacote
idntico
Transporte
Transporte
Roteador
Inter-Rede
Datagrama
idntico
Inter-rede
Rede
Rede
Quadro
idntico
Rede Fsica 1
Datagrama
idntico
Rede
Inter-Rede
Rede
Quadro
idntico
Rede Fsica 2
Camada de Transporte
Esta camada rene os protocolos que realizam as funes de transporte de dados fim-a-fim, ou seja,
considerando apenas a origem e o destino da comunicao, sem se preocupar com os elementos
intermedirios. A camada de transporte possui dois protocolos que so o UDP (User Datagram Protocol) e
TCP (Transmission Control Protocol).
O protocolo UDP realiza apenas a multiplexao para que vrias aplicaes possam acessar o sistema de
comunicao de forma coerente.
O protocolo TCP realiza, alm da multiplexao, uma srie de funes para tornar a comunicao entre
origem e destino mais confivel. So responsabilidades do protocolo TCP: o controle de fluxo, o controle de
erro, a sequenciao e a multiplexao de mensagens.
A camada de transporte oferece para o nvel de aplicao um conjunto de funes e procedimentos para
acesso ao sistema de comunicao de modo a permitir a criao e a utilizao de aplicaes de forma
independente da implementao. Desta forma, as interfaces socket ou TLI (ambiente Unix) e Winsock
(ambiente Windows) fornecem um conjunto de funes-padro para permitir que as aplicaes possam ser
desenvolvidas independentemente do sistema operacional no qual rodaro.
Camada de Aplicao
A camada de aplicao rene os protocolos que fornecem servios de comunicao ao sistema ou ao usurio.
Pode-se separar os protocolos de aplicao em protocolos de servios bsicos ou protocolos de servios para
o usurio:
Protocolos de servios bsicos, que fornecem servios para atender as prprias necessidades do sistema de
comunicao TCP/IP: DNS, BOOTP, DHCP
Protocolos de servios para o usurio: FTP, HTTP, Telnet, SMTP, POP3, IMAP, TFTP, NFS, NIS, LPR, LPD,
ICQ, RealAudio, Gopher, Archie, Finger, SNMP e outros
Arquitetura OSI
Arquitetura TCP/IP
Aplicao
Apresentao
Aplicao
Sesso
Transporte
Rede
Enlace
Transporte
Inter-rede
Rede
Fsico
A figura abaixo ilustra um posicionamento geral de diversos protocolos nas arquiteturas OSI, TCP/IP e Novell
Netware:
Aplicao
DS, MHS
FTAM
ISO
Apresentao
Presentation
Shell
DNS
NCP
S
M
T
P
F
T
P
ping
H
T
T
P
Sesso
ISO Session
Transporte
ISO
Transport
C4
SPX
TCP, UDP
Rede
X.25
SNDCP
IPX
IP, ICMP
Winsock
Enlace
Fsico
LLC
IEEE 802.2
IEEE 802.3
IEEE 802.5
DD MLID
Binding A
R
DD NDIS P
Ethernet
Ethernet
LSL
N
F
S
socket
POP
T
e
l
n
e
t
TLI
Unix
PPP
X.25
Ethernet
Serial
Internet Society
THE BOARD
IETF
IRTF
IESG
IRSG
Area 1
Area 8
IANA
Research Groups
Working Groups
O processo de padronizao baseado em um documento chamado RFC (Request for Comments) que
contm a definio ou proposio de algum elemento (prtica, protocolo, sistema, evoluo, aplicao,
histrico, etc) para a Internet. Quando uma nova proposta submetida ela recebe o nome de Draft Proposal.
Esta proposta ser analisada pelo Working Group especializado na rea que se refere e se aprovada por
votao, recebe um nmero e se torna uma RFC. Cada RFC passa por fases, onde recebe classificaes
como Proposed Standard, Draft Standard, at chegar a um Internet Standard. Um protocolo no precisa se
tornar um Internet Standard para ser empregado na Internet. De fato so poucos os que tem esta classificao.
As RFCs podem ter os seguintes status:
S = Internet Standard
PS = Proposed Standard
DS = Draft Standard
BCP = Best Current Practices
E = Experimental
I = Informational
H = Historic
Hoje existem aproximadamente 2400 RFCs publicadas. Cerca de 500 renem as informaes mais
importantes para implementao e operao da Internet
Abaixo enumera-se algumas RFCs importantes e a classificao por STANDARD. O STANDARD o
agrupamento das RFC que se referem a um determinado padro:
Classif.
Padres
Internet
STD
STD-1
STD-2
STD-3
=
STD-4
RFC
2200
1700
1122
1123
1009
1812
1918
2135
2134
2008
2026
Descrio
INTERNET OFFICIAL PROTOCOL STANDARDS
ASSIGNED NUMBERS
Requirements for Internet hosts - communications layers
Requirements for Internet hosts - application and support
Requirements for Internet Gateways
Requirements for IP Routers
Address Allocation for Private Internets
Internet Society By-Laws
Articles of Incorporation of Internet Society
Implication of Various Address Allocation Policies for Internet Routing
The Internet Standards Process - Rev.3
2050
791
792
919
922
950
1112
2101
1256
2236
1788
1191
768
793
1144
STD-16
1323
854
855
959
821
1869
1870
1652
1891
2142
822
1049
1119
1034
1035
974
1137
1034,
1035
2100
2136
2181
2182
1155
=
STD-17
1212
1213
STD-19
1001
1002
IP
STD-5
=
=
=
=
=
UDP
TCP
STD-6
STD-7
Telnet
FTP
SMTP
Mail-Content
NTP
DNS
SNMP-MIB
Netbios/IP
10
STD-8
=
STD-9
STD-10
=
=
STD-11
=
STD-12
STD-13
=
STD-14
STD-15
TFTP
IP-SLIP
PPP
STD-33
STD-47
STD-51
POP3
RIP
STD-53
OSPF
STD-54
ARP
ATM
BOOTP
BGP
1350
1055
1661
1662
1332
1570
1662
2153
1939
1722,
1723
2328
2154
866
903
1027
1483
1577
951
1497
1533
1771
1517,
1518,
1519
1930
11
LDAP
2145
2251
IRC
MIME
NFS
NNTP
1459
1521
1813
977
DHCP
RADIUS
HTML
HTTP
2131
2132
1534
2241
2242
2138
2139
1866
2110
2068
2109
2168
IPV6
ICP
Segurana
Histrico
Resumos
2147
2185
2186
2187
2196
2235
2151
12
No Brasil, assim como nos outros pases, existem rgos especficos para o controle local. No Brasil o Comit
Gestor da Internet responsvel pela definio de polticas de utilizao, e a FAPESP responsvel pela
distribuio de endereos e atribuio de nomes de domnio.
13
Exemplo 1: Redes internas empresa utilizando protocolos TCP/IP para formar a estrutura de comunicao e
a base das aplicaes de rede (correio-eletrnico), compartilhamento de arquivos, distribuio de informao
via hipertexto, etc e chamadas de intranet:
M
Roteador B
M
M
Hub ou switch
Roteador
principal
Servidor HTTP
Servidor DNS
Servidor SMTP
POP3/ IMAP4
Servidor FTP
Servidor News
Gerncia SNMP
Exemplo 2: Uma estrutura de rede TCP/IP conectada Internet de forma segura, atravs da utilizao de um
firewall, que realiza o filtro de pacotes IP e o transporte de protocolo de aplicaes por meio de um gateway
(proxy):
Servidor Externo
HTTP, FTP, DNS
Roteador
Firewall
Filtros, NAT
Proxy HTTP, FTP, Telnet
Gateways seguros
Acesso Remoto
Clientes
Servidor
Proxy
Servidor HTTP
DNS, FTP
Servidor SMTP/POP3
Correio corporativo
14
Roteador B
Roteador A
M
M
M
Internet
Acesso IP
Dedicado
Hub ou switch
Servidor HTTP
Servidor DNS
Gerncia
Servidor SMTP
POP3/ IMAP4
Radius/Tacacs
Acesso IP
Discado
M M M M
Servidor FTP
Servidor News
... M
Sistema
Telefnico
FTP TELNET
HTTP
...
Transporte
UDP
TCP
Aplicao
IP
ICMP
ARP
RARP
IGMP
Interface de Hardware
802.3 802.4 802.5 802.6
X.25
Inter-rede
Rede
Meio Fsico
O Nvel Inter-rede compreende principalmente os protocolos IP e ICMP e IGMP (Internet Group Management
Protocol). Os protocolos ARP e RARP so pertencentes na verdade aos dois nveis, Inter-rede e Rede pois
realizam funes com informaes de ambos.
15
Protocolo IP
O Protocolo IP responsvel pela comunicao entre mquinas em uma estrutura de rede TCP/IP. Ele prov a
capacidade de comunicao entre cada elemento componente da rede para permitir o transporte de uma
mensagem de uma origem at o destino. O protocolo IP prov um servio sem conexo e no-confivel entre
mquinas em uma estrutura de rede. Qualquer tipo de servio com estas caractersticas deve ser fornecido
pelos protocolos de nveis superiores. As funes mais importantes realizadas pelo protocolo IP so a
atribuio de um esquema de endereamento independente do endereamento da rede utilizada abaixo e
independente da prpria topologia da rede utilizada, alm da capacidade de rotear e tomar decises de
roteamento para o transporte das mensagens entre os elementos que interligam as redes.
Na arquitetura TCP/IP, os elementos responsveis por interligar duas ou mais redes distintas so chamados de
roteadores. As redes interligadas podem ser tanto redes locais, redes geograficamente distribudas, redes de
longa distncia com chaveamento de pacotes ou ligaes ponto-a-ponto seriais. Um roteador tem como
caracterstica principal a existncia de mais de uma interface de rede, cada uma com seu prprio endereo
especfico. Um roteador pode ser um equipamento especfico ou um computador de uso geral com mais de
uma interface de rede.
Por outro lado, um componente da arquitetura TCP/IP que apenas a origem ou destino de um datagrama IP
(no realiza a funo de roteamento) chamado de host.
As funes de host e roteador podem ser visualizadas na figura 9:
Aplicao
Host A
Host B
Transporte
Aplicao
Transporte
Roteador
Inter-Rede
Rede
Inter-rede
Rede
Rede
Inter-Rede
Rede
Endereos IP
Um endereo IP um identificador nico para certa interface de rede de uma mquina. Este endereo
formado por 32 bits (4 bytes) e possui uma poro de identificao da rede na qual a interface est conectada
e outra para a identificao da mquina dentro daquela rede. O endereo IP representado pelos 4 bytes
separados por . e representados por nmeros decimais. Desta forma o endereo IP: 11010000 11110101
0011100 10100011 representado por 208.245.28.63.
Como o endereo IP identifica tanto uma rede quanto a estao a que se refere, fica claro que o endereo
possui uma parte para rede e outra para a estao. Desta forma, uma poro do endereo IP designa a rede
na qual a estao est conectada, e outra poro identifica a estao dentro daquela rede.
Uma vez que o endereo IP tem tamanho fico, uma das opes dos projetistas seria dividir o endereo IP em
duas metades, dois bytes para identificar a rede e dois bytes para a estao. Entretanto isto traria
16
inflexibilidade pois s poderiam ser endereados 65536 redes, cada uma com 65536 estaes. Uma rede que
possusse apenas 100 estaes estaria utilizando um endereamento de rede com capacidade de 65536
estaes, o que tambm seria um desperdcio.
A forma original de dividir o endereamento IP em rede e estao, foi feita por meio de classes. Um
endereamento de classe A consiste em endereos que tem uma poro de identificao de rede de 1 byte e
uma poro de identificao de mquina de 3 bytes. Desta forma, possvel enderear at 256 redes com 2
elevado a 32 estaes. Um endereamento de classe B utiliza 2 bytes para rede e 2 bytes para estao,
enquanto um endereo de classe C utiliza 3 bytes para rede e 1 byte para estao. Para permitir a distino de
uma classe de endereo para outra, utilizou-se os primeiros bits do primeiro byte para estabelecer a distino
(veja figura abaixo).
Nesta forma de diviso possvel acomodar um pequeno nmero de redes muito grandes (classe A) e um
grande nmero de redes pequenas (classe C). Esta forma de diviso histrica e no mais empregada na
Internet devido ao uso de uma variao que a sub-rede, como ser visto em seo adiante. Entretanto sua
compreenso importante para fins didticos.
As classes originalmente utilizadas na Internet so A, B, C, D, E., conforme mostrado abaixo. A classe D uma
classe especial para identificar endereos de grupo (multicast) e a classe E reservada.
7
Octeto 1
Classe A
Classe B
1 0
Classe C
1 1 0
Classe D
1 1 1 0
Classe E
1 1 1 1 0
15
Octeto 2
netid
23
Octeto 3
31
Octeto 4
hostid
netid
hostid
netid
hostid
Endereo Multicast
Reservado para uso futturo
A Classe A possui endereos suficientes para enderear 128 redes diferentes com at 16.777.216 hosts
(estaes) cada uma.
A Classe B possui endereos suficientes para enderear 16.284 redes diferentes com at 65.536 hosts cada
uma.
A Classe C possui endereos suficientes para enderear 2.097.152 redes diferentes com at 256 hosts cada
uma.
As mquinas com mais de uma interface de rede (caso dos roteadores ou mquinas interligadas mais de
uma rede, mas que no efetuam a funo de roteamento) possuem um endereo IP para cada uma, e podem
ser identificados por qualquer um dos dois de modo independente. Um endereo IP identifica no uma
mquina, mas uma conexo rede.
Alguns endereos so reservados para funes especiais:
17
Endereo de Rede: Identifica a prpria rede e no uma interface de rede especfica, representado por todos
os bits de hostid com o valor ZERO.
Endereo de Broadcast: Identifica todas as mquinas na rede especfica, representado por todos os bits de
hostid com o valor UM.
Desta forma, para cada rede A, B ou C, o primeiro endereo e o ltimo so reservados e no podem ser
usados por interfaces de rede.
Endereo de Broadcast Limitado: Identifica um broadcast na prpria rede, sem especificar a que rede
pertence. Representado por todos os bits do endereo iguais a UM = 255.255.255.255.
Endereo de Loopback: Identifica a prpria mquina. Serve para enviar uma mensagem para a prpria
mquina rotear para ela mesma, ficando a mensagem no nvel IP, sem ser enviada rede. Este endereo
127.0.0.1. Permite a comunicao inter-processos (entre aplicaes) situados na mesma mquina.
As figuras abaixo mostram exemplos de endereamento de mquinas situadas na mesma rede e em redes
diferentes. Pode ser observado que como o endereo comea por 200 (ou seja, os dois primeiros bits so 1 e o
terceiro 0), eles so de classe C. Por isto, os trs primeiros bytes do endereo identificam a rede. Como na
primeira figura, ambas as estaes tem o endereo comeando por 200.18.171, elas esto na mesma rede.
Na segunda figura, as estaes esto em redes distintas e uma possvel topologia mostrada, onde um
roteador interliga diretamente as duas redes.
Estao A
Estao B
200.18.171.37
200.18.171.148
Rede = 200.18.171.0
Estao A
Estao B
Roteador
200.18.171.148
200.18.171.37
200.18.171.0
200.18.180.10
200.18.180.200
200.18.180.0
A figura abaixo ilustra um diagrama de rede com o endereamento utilizado. Note que no h necessidade de
correlao entre os endereos utilizados nas redes adjacentes. O mecanismo para que uma mensagem
chegue na rede correta o roteamento. Cada elemento conectando mais de uma rede realiza a funo de
roteamento IP, baseado em decises de rotas. Note que mesmo os enlaces formados por ligaes ponto-apontos so tambm redes distintas.
Neste diagrama existem 6 redes, identificadas por 200.1.2.0, 139.82.0.0, 210.200.4.0, 210.201.0.0, 10.0.0.0 e
200.1.3.0.
18
200.1.2.0
200.1.2.1
139.82.5.14
139.82.5.0
200.1.2.20
139.82.5.3
139.82.5.15
139.82.5.129
210.200.4.3
200.1.3.2
200.1.3.0
210.200.4.0
210.201.0.1
210.201.0.0
200.1.3.1
10.0.0.1
200.1.2.35
210.200.4.57
210.200.4.56
210.201.0.3
10.0.0.2
U/L
ID Organizao (22-Bits)
ID Atribudo (24-Bits)
Este tipo de endereamento s til para identificar diversas mquinas, no possuindo nenhuma informao
capaz de distinguir redes distintas. Para que uma mquina com protocolo IP envie um pacote para outra
mquina situada na mesma rede, ela deve se basear no protocolo de rede local, j que necessrio saber o
endereo fsico. Como o protocolo IP s identifica uma mquina pelo endereo IP, deve haver um
mapeamento entre o endereo IP e o endereo de rede MAC. Este mapeamento realizado pelo protocolo
ARP.
O mapeamento via protocolo ARP s necessrio em uma rede do tipo compartilhada como Ethernet, TokenRing, FDDI, etc.. Em uma rede ponto-a-ponto como, por exemplo, um enlace serial, o protocolo ARP no
necessrio, j que h somente um destino possvel.
A figura abaixo mostra uma rede com 3 estaes, onde uma mquina A com endereo IP 200.18.171.1 deseja
enviar uma mensagem para a mquina B cujo endereo 200.18.171.3. A mensagem a ser enviada uma
mensagem IP. No caso do exemplo abaixo, antes de efetivamente enviar a mensagem IP, a estao utilizar o
protocolo ARP para determinar o endereo MAC da interface cujo endereo IP o destino da mensagem.
para
200.18.171.3
200.18.171.1
19
200.18.171.3
200.18.171.4
IP MAC
para
200.18.171.3
IP
200.18.171.1
ARP
200.18.171.3
Placa Eth
OD.OA.12.07.48.05
ARP Req
200.18.171.4
End. Fsico
Broadcast
6 bytes
0D.0A.12.
07.48.05
6 bytes
ARP
FCS
2 bytes
64 - 1500 bytes
4 bytes
6. Todas as mquinas recebem o pacote ARP, mas somente aquela que possui o endereo IP especificado
responde. A mquina B j instala na tabela ARP o mapeamento do endereo 200.18.171.1 para o endereo
MAC de A.
20
200.18.171.1 = 0D.0A.12.07.48.05
200.18.171.3 = 0D.0A.12.07.71.FF
IP MAC
IP MAC
IP
200.18.171.1
Cache
200.18.171.3
MAC
ARP
Placa Eth
OD.OA.12.07.71.FF
ARP Reply
ARP Req
200.18.171.4
7. A resposta enviada no pacote Ethernet, encapsulado conforme mostrado abaixo, atravs de uma
mensagem ARP Reply endereado diretamente para a mquina origem.
Prembulo
0D.0A.12.
07.48.05
0D.0A.12.
07.71.FF
8 bytes
6 bytes
6 bytes
ARP
FCS
2 bytes
64 - 1500 bytes
4 bytes
0D.0A.12.
07.71.FF
0D.0A.12.
07.48.05
8 bytes
6 bytes
6 bytes
IP
FCS
2 bytes
64 - 1500 bytes
4 bytes
Os protocolos de nvel de Rede como Ethernet possuem um identificador para determinar o tipo do protocolo
que est sendo carregado no seu campo de dados. Um pacote Ethernet pode, por exemplo, carregar os
protocolos ARP, IP, RARP, IPX, Netbios e outros. A figura abaixo mostra o formato do quadro Ethernet. Note
que o campo protocolo, de 2 bytes de tamanho identifica o protocolo sendo carregado no campo de dados. No
caso de transporte de um pacote ARP, o valor 0806h (hexadecimal), enquanto que no caso de IP este campo
tem o valor 0800h.
Prembulo
8 bytes
End. Fsico
Destino
6 bytes
End. Fsico
Origem
6 bytes
Tipo
FCS
2 bytes
64 - 1500 bytes
4 bytes
O protocolo ARP possui dois pacotes, um REQUEST e um REPLY, com o formato abaixo. No REQUEST, so
preenchidos todos os dados exceto o endereo MAC do TARGET. No REPLY este campo completado.
Ethernet = 1
Token Ring = 4
FDDI
...
21
IP = 2048
IPX =
AppleTalk = 32823
...
HARDWARE TYPE
PROTOCOL TYPE
HLEN
PLEN
OPERATION
SENDER HA
SENDER HA
SENDER IP
SENDER IP
TARGET HA
TARGET HA
TARGET IP
OP = 1:
OP = 2:
OP = 3:
OP = 4:
ARP
ARP
RARP
RARP
Request
Response
Request
Response
HARDWARE TYPE identifica o hardware (Ethernet, Token-Ring , FDDI, etc) utilizado, que pode variar o
tamanho do endereo MAC.
PROTOCOL TYPE identifica o protocolo sendo mapeado (IP, IPX, etc,) que pode variar o tipo do endereo
usado.
OPERATION identifica o tipo da operao, sendo
1 = ARP Request, 2 = ARP Reply, 3 = RARP Request, 4 = RARP Reply
Roteamento IP
O destino de um mensagem IP sendo enviado por uma mquina pode ser a prpria estao, uma estao
situada na mesma rede ou uma estao situada numa rede diferente. No primeiro caso, o pacote enviado ao
nvel IP que o retorna para os nveis superiores. No segundo caso, realizado o mapeamento por meio de
ARP e a mensagem enviada por meio do protocolo de rede.
Quando uma estao ou roteador deve enviar um pacote para outra rede, o protocolo IP deve envi-lo para
um roteador situado na mesma rede. O roteador por sua vez ir enviar o pacote para outro roteador, na
mesma rede que este e assim sucessivamente at que o pacote chegue ao destino final. Este tipo de
roteamento chamado de Next-Hop Routing, j que um pacote sempre enviado para o prximo roteador no
caminho.
Neste tipo de roteamento, no h necessidade de que um roteador conhea a rota completa at o destino.
Cada roteador deve conhecer apenas o prximo roteador para o qual deve enviar a mensagem. Esta deciso
chamada de deciso de roteamento. Uma mquina situado em uma rede que tenha mais de um roteador
deve tambm tomar uma deciso de roteamento para decidir para qual roteador deve enviar o pacote IP.
Quando uma estao deve enviar uma mensagem IP para outra rede, ela deve seguir os seguintes passos:
22
1. Determinar que a estao destino est em outra rede e por isto deve-se enviar a mensagem para um
roteador
2. Determinar, atravs da tabela de rotas da mquina origem, qual roteador o correto para se enviar a
mensagem
3. Descobrir, atravs do protocolo ARP, qual o endereo MAC do roteador
4. Enviar a mensagem IP com o endereo de nvel de rede apontado para o roteador e o endereo IP (na
mensagem IP) endereado para a mquina destino.
Uma questo importante no pacote roteado consiste no fato de que o pacote a ser roteado endereado
fisicamente ao roteador (endereo MAC), mas endereado logicamente (endereamento IP) mquina
destino. Quando o roteador recebe um pacote que no endereado a ele, tenta rote-lo.
A deciso de roteamento baseada em uma tabela, chamada de tabela de rotas, que parte integrante de
qualquer protocolo IP. Esta tabela relaciona cada rede destino ao roteador para onde o pacote deve ser
enviado para chegar a ela.
As figuras abaixo mostram o funcionamento do roteamento:
IP Dest = 200.18.180.200
MAC Dest = OD.OA.12.07.48.05
Estao A
Estao B
Roteador
OD.OA.12.07.48.05
200.18.171.37
200.18.171.148
OD.OA.12.07.71.FF
200.18.180.10
200.18.171.0
200.18.180.200
200.18.180.0
IP Dest = 200.18.180.200
Estao B
MAC Dest = OD.OA.12.07.71.FF
Estao A
Roteador
OD.OA.12.07.48.05
200.18.171.37
200.18.171.148
200.18.171.0
OD.OA.12.07.71.FF
200.18.180.10
200.18.180.200
200.18.180.0
Nas figuras acima o roteamento realizado somente por um roteador. Caso houvesse mais de um roteador a
ser atravessado, o primeiro roteador procederia de forma idntica Estao A, ou seja determinaria a rota
correta e enviaria a mensagem para o prximo roteador.
O Algoritmo de Transmisso de um pacote IP descrito abaixo. A transmisso pode ser aplicada tanto a um
host quanto a uma estao:
23
202.0.0.0
eth0
R
.1
203.0.0.0
.2
.3
204.0.0.0
eth1
.4
R
.5
.6
Internet
Rede Destino
201.0.0.0
202.0.0.0
203.0.0.0
204.0.0.0
default
Roteador (Gateway)
eth0 (rota direta)
eth1 (rota direta)
202.0.0.3
203.0.0.3
203.0.0.3
24
Hops
0
0
1
2
--
Roteador (Gateway)
eth0 (rota direta)
eth1 (rota direta)
202.0.0.2
203.0.0.5
203.0.0.5
Hops
0
0
1
1
--
Roteador (Gateway)
eth0 (rota direta)
eth1 (rota direta)
203.0.0.4
203.0.0.4
204.0.0.7**
Hops
0
0
1
1
--
** No mostrado na figura.
A rota default geralmente representada nos sistemas operacionais como a rede 0.0.0.0
25
Pacote IP
O protocolo IP define a unidade bsica de transmisso, que o pacote IP. Neste pacote so colocadas as
informaes relevantes para o envio deste pacote at o destino.
O pacote IP possui o formato descrito abaixo:
7
Octeto 1
VERS
15
23
Octeto 2
Octeto 3
TIME TO LIVE
31
Octeto 4
TOTAL LENGTH
FLAGS
PROTOCOL
FRAGMENT OFFSET
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY)
PADDING
DATA
...
26
Opes IP
O formato das opes IP descrita no quadro abaixo:
1 octeto
1 octeto
Option Code
Length
1 bit
2 bits
Copy
Option Class
1 octeto
1 octeto
...
Data 1
1 octeto
Data n
5 bits
Option Number
Cdigo
0
1
3
Composio
--varivel
varivel
varivel
varivel
Descrio
Fim da Lista de Opes
Nenhuma Operao
LOOSE SOURCE ROUTING (Especifica a rota aproximada que um
datagrama deve seguir)
RECORD ROUTE (Escreve os endereos dos roteadores por onde o
pacote passou)
STRICT SOURCE ROUTING (Especifica a rota exata que um
datagrama deve seguir)
INTERNET TIMESTAMP (A cada roteador grava a hora da passagem
para outra rede)
As opes IP so utilizadas basicamente como forma de verificao e monitorao de uma rede IP. As opes
que especificam a rota at o destino no so utilizadas normalmente pois o IP baseado na tcnica de NextHop routing. Ainda assim, estes mecanismos so pouco utilizados como ferramenta de testes e verificao,
sendo raros os programas que os implementam.
Fragmentao
Um pacote IP pode ter um tamanho de at 64 Kbytes. Entretanto o nvel de rede geralmente tem um tamanho
mximo menor que 64K. Por exemplo, uma rede Ethernet pode transmitir uma mensagem de at 1500 bytes.
27
Este valor chamado de MTU - Maximum Transmission Unit - para este tipo de rede. A camada IP deve ento
ser capaz de dividir um pacote IP maior que 1500 bytes em diversos fragmentos de at 1500 bytes cada um.
A fragmentao do pacote IP pode ocorrer na mquina origem ou em algum roteador que possua uma rede
com MTU menor que o tamanho do pacote IP sendo roteado. Note que durante o percurso at o destino, um
fragmento pode ser novamente fragmentado se o MTU da rede seguinte for ainda menor que o tamanho do
fragmento. A remontagem do pacote s realizada pela mquina destino, baseado nas informaes de
FRAGMENT OFFSET e bit MF. A perda de um fragmento inutiliza o datagrama inteiro.
O campo FRAGMENT OFFSET identifica a posio em Bytes do fragmento face ao pacote IP completo
conforme pode ser visto nas figuras abaixo:
4 5
63784
20
OCTETOS
4020
00000000
000
UDP
01F5
139.82.17.20
206.12.56.23
DVB9834H4K432BVIVV
FVNEOFVHNOEF9345F
342589J3948302FJJFV
4000
OCTETOS
Fragmento 1
4 5
8
1500
00000000
63784
UDP
Fragmento 2
0
100
0756
4 5
8
1500
00000000
63784
UDP
Fragmento 3
100
1480
0FD0
4 5
63784
8
1060
00000000
UDP
000
2960
4AFF
139.82.17.20
139.82.17.20
139.82.17.20
206.12.56.23
206.12.56.23
206.12.56.23
A figura abaixo mostra a fragmentao de um pacote quando este passa para uma rede com MTU menor que
o tamanho do pacote IP.
Rede 1
MTU=1500
Rede 3
MTU=1500
G1
Rede 2
MTU=500
G2
28
Endereamento em Subredes
A diviso de endereamento tradicional da Internet em classes, causou srios problemas de eficincia na
distribuio de endereos. Cada rede na Internet, tenha ela 5, 200, 2000 ou 30 mquinas deveria ser
compatvel com uma das classes de endereos. Desta forma, uma rede com 10 estaes receberia um
endereo do tipo classe C, com capacidade de enderear 256 estaes. Isto significa um desperdcio de 246
endereos. Da mesma forma, uma rede com 2000 estaes receberia uma rede do tipo classe B, e desta
forma causaria um desperdcio de 62000 endereos.
O nmero de redes interligando-se Internet a partir de 1988 aumentou, causando o agravamento do
problema de disponibilidade de endereos na Internet, especialmente o desperdcio de endereos em classes
C e B. Desta forma, buscou-se alternativas para aumentar o nmero de endereos de rede disponveis sem
afetar o funcionamento dos sistemas existentes. A melhor alternativa encontrada foi flexibilizar o conceito de
classes - onde a diviso entre rede e host ocorre somente a cada 8 bits.
A soluo encontrada foi utilizar a identificao de rede e host no endereamento IP de forma varivel,
podendo utilizar qualquer quantidade de bits e no mais mltiplos de 8 bits conforme ocorria anteriormente.
Um identificador adicional, a MSCARA, identifica em um endereo IP, que poro de bits utilizada para
identificar a rede e que poro de bits para host.
A mscara formada por 4 bytes com uma sequncia contnua de 1s, seguida de uma sequncia de 0s. A
poro de bits em 1 identifica quais bits so utilizados para identificar a rede no endereo e a poro de bits
em 0, identifica que bits do endereo identificam a estao.
Obs. A mscara pode ser compreendida tambm como um nmero inteiro que diz a quantidade de bits um
utilizados. Por exemplo uma mscara com valor 255.255.255.192, poderia ser representada como /26. Este
tipo de notao empregada em protocolos de roteamento mais recentes
Este mecanismo est representado na figura abaixo:
0
7
Octeto 1
End.
15
Octeto 2
23
Octeto 3
31
Octeto 4
XX XX XX XX
11 00 10 00 00 01 00 10 10 10 00 00 10
200.
18.
160
128 -191
Mask 11 11 11 11 11 11 11 11 11 11 11 11 11
00 00 00 00
255.
255.
255.
192
Neste endereo 200.18.160.X, a parte de rede possui 26 bits para identificar a rede e os 6 bits restantes para
identificar os hosts. Desta forma, o endereo 200.18.160.0 da antiga classe C, fornecido a um conjunto de
redes pode ser dividido em quatro redes com as identificaes abaixo. Note que os 4 endereos de rede so
independentes entre si. Elas podem ser empregadas em redes completamente separadas, e at mesmo serem
utilizadas em instituies distintas.
29
200.18.160.[00XXXXXX]
200.18.160.[01XXXXXX]
200.18.160.[10XXXXXX] e
200.18.160.[11XXXXXX]
Em termos de identificao da rede, utiliza-se os mesmos critrios anteriores, ou seja, todos os bits de
identificao da estao so 0. Quando os bits da estao so todos 1, isto identifica um broadcast naquela
rede especfica. Desta forma temos as seguintes identificaes para endereo de rede:
200.18.160.0
200.18.160.64
200.18.160.128 e
200.18.160.192
Os endereos de broadcast nas redes so:
200.18.160.63
200.18.160.127
200.18.160.191 e
200.18.160.255
Os possveis endereos de estao em cada rede so:
200.18.160.[1-62]
200.18.160.[65-126]
200.18.160.[129-190] e
200.18.160.[193-254]
O mesmo raciocnio de subrede pode ser usado para agrupar vrias redes da antiga classe C em uma rede
com capacidade de endereamento de um maior nmero de hosts. A isto d-se o nome de superrede. Hoje, j
no h mais esta denominao pois no existe mais o conceito de classes. Um endereo da antiga classe A,
como por exemplo 32.X.X.X pode ser dividido de qualquer forma por meio da mscara.
0
7
Octeto 1
15
Octeto 2
23
Octeto 3
31
Octeto 4
End.
11 00 10 00 00 01 00 10 10 1 X XX XX XX XX XX XX
200.
18.
160-191.
X
~ 5000 maq.
Mask 11 11 11 11 11 11 11 11 11 1 0 00 00 00 00 00 00
255.
255.
224.
30
Flexibilidade de Endereamento
Uma concluso que pode-se obter da anlise acima que uma identificao de uma rede, composta de um
endereo de rede e uma mscara (p.ex. 200.18.171.64 e mscara 255.255.255.192) , na verdade, um espao
de endereamento, que pode ser usado da forma mais indicada. Por exemplo um espao de endereamento
dado por
Rede = 32.10.20.128 com mscara 255.255.255.192
pode enderear 64 endereos (62 endereos vlidos) em uma rede s. Mas podemos subdividi-lo em
subredes, de tal forma que poderemos ter:
1 rede de 64 endereos (usando o endereo e a mscara como esto)
2 redes de 32 endereos (aumentando em mais um bit a mscara)
Neste caso temos o endereo 32.10.20.128 dividido da seguinte forma:
Rede 1 = 32.10.20.128 com mscara 255.255.255.224 e
Rede 2 = 32.10.20.160 com mscara 255.255.255.224
Neste caso, cada rede formada pode ter at 30 endereos, pois deve-se sempre reservar os bits TODOS
ZERO para o endereo de rede e os bits TODOS UM para o endereo de broadcast.
Desta forma, os endereos de mquina em cada rede so:
Rede 1: 32.10.20.[129-158] e
Rede 2: 32.10.20.[161-190]
Note que deve-se sempre respeitar o espao de endereamento original. Um dos erros mais comuns utilizar
parte do endereamento vizinho, o que est errado pois pertence a outro espao de endereamento.
8 redes de 8 endereos
16 redes de 4 endereos (onde 4 endereos so na verdade duas estaes, devido aos endereos
reservados de rede e broadcast)
31
E s ! pois 32 redes de 2 estaes no existe pois seria uma rede sem nenhuma estao pois os dois
endereos disponveis j seriam utilizados para rede e broadcast.
Entretanto, as formas acima ainda no so as nicas formas de diviso do espao de endereamento. Podese dividir em mais uma dezena de forma, utilizando-se divises do espao de endereamento de forma no
homognea. Um exemplo claro pode ser dado por exemplo observando redes reais, onde a quantidade de
estaes pode variar bastante entre cada uma. Po exemplo, supondo que o espao de endereamento acima
com capacidade de enderear 64 estaes deva ser utilizado em uma empresa com 50 estaes. Estas 50
estaes esto divididas em 3 redes, sendo uma com 30 estaes e duas com 10 estaes. Pode-se observar
que nenhuma das formas de diviso acima so aceitveis pois ou no comportam o nmero de redes
necessrias (diviso em duas) ou no comportam o nmero de estaes (diviso em 4).
A soluo realizar uma diviso do espao de endereamento de forma no homognea. Isto realizado de
forma simples, utilizando metade do espao original para a rede de 30 estaes e dividindo o espao restante
em duas redes de 16 endereos.
De forma resumida, a diviso da seguinte forma:
O espao original; dividido em dois, onde temos duas redes de 32 endereos:
Rede 1 = 32.10.20.128 com mscara 255.255.255.224
Rede 2 = 32.10.20.160 com mscara 255.255.255.224
Utiliza-se a rede 1 que possui os endereos de estao 32.10.20[129-158] para
a rede com 30 estaes. A rede 2 na verdade um outro espao de
endereamento (!) dado por 32.10.20.160 com mscara 255.255.255.224.
Pode-se ento dividir este espao de endereamento em duas rede, bastando
aumentar um bit na mscara de rede:
Rede 2 = 32.10.20.160 com mscara 255.255.255.240
Rede 3 = 32.10.20.176 com mscara 255.255.255.240
Ento, o resultado final so trs redes, onde a rede 2 possui os endereos de
rede 32.10.20.[161-174] para estaes e a rede 3 possui os endereos
32.10.20.[177-190] para as estaes.
A figura abaixo mostra um exemplo de redes de uma empresa que ao se ligar Internet, recebeu o espao de
endereamento 200.18.171.0 com mscara 255.255.255.0 para ser utilizado em suas 3 redes internas. As rede
possuem cada uma 50 estaes, de modo que a diviso mais adequada dividir o espao em 4 redes de 64
endereos.
Neste caso o espao de endereamento 200.18.171.0 com mscara 255.255.255.0 foi dividido em trs
subredes, cada uma com capacidade de enderear at 62 estaes (64 endereos retirando o [000000] e o
[111111]).
Note neste exemplo, que para a Internet, as trs redes so vistas como uma s pois as rotas na Internet
sempre se referem rede 200.18.171.0 com mscara 255.255.255.0. Por isto os termos rede e espao de
endereamento so utilizados de forma indistinta.
32
Rede = 200.18.171.128
Mask = 255.255.255.192
Rede = 200.18.171.0
Mask = 255.255.255.0
10.10.10.1
10.10.10.2
200.18.171.1
200.18.171.129
200.18.171.130...
200.18.171.2
200.18.171.4
Rede = 200.18.171.64
Mask = 255.255.255.192
200.18.171.3
Rede = 200.18.171.0
Mask = 255.255.255.192
200.18.171.65
200.18.171.66
Mscara
255.255.255.192
255.0.0.0
255.255.255.192
255.255.255.192
0.0.0.0
Roteador (Gateway)
200.18.171.1 (eth0)
10.0.0.1 (serial1)
200.18.171.3
200.18.171.2
10.0.0.2
Hops
0
0
1
1
--
Mscara
255.255.255.192
255.255.255.192
255.255.255.192
0.0.0.0
Roteador (Gateway)
200.18.171.3 (eth0)
200.18.171.65 (eth1)
200.18.171.2
200.18.171.1
Hops
0
0
1
--
33
Mscara: 255.255.255.0
netid
3 octetos
hostid
1 rede
rede = 200.18.171.0
estaes de 1 a 254
1 octeto
Mscara: 255.255.255.192
netid
3 octetos + 2 bits
hostid
6 bits
4 redes
rede = 200.18.171.0
estaes de 1 a 62
rede = 200.18.171.64
estaes de 65 a 126
rede = 200.18.171.128
estaes de 129 a 190
rede = 200.18.171.192
estaes de 193 a 254
34
Protocolo ICMP
O protocolo ICMP um protocolo auxiliar ao IP, que carrega informaes de controle e diagnstico, informando
falhas como TTL do pacote IP expirou, erros de fragmentao, roteadores intermedirios congestionados e
outros.
Uma mensagem ICMP encapsulada no protocolo IP, conforme ilustrado na figura abaixo. Apesar de
encapsulado dentro do pacote IP, o protocolo ICMP no considerado um protocolo de nvel mais alto.
Cabealho ICMP
Cabealho IP
Dados ICMP
Mensagem ICMP
Datagrama IP
A mensagem ICMP sempre destinada ao host origem da mensagem, no existindo nenhum mecanismo para
informar erros aos roteadores no caminho ou ao host destino.
As mensagens ICMP possuem um identificar principal de tipo (TYPE) e um identificador de sub-tipo (CODE),
conforme pode ser visto no formato de mensagem ilustrado abaixo:
0
15
Octeto 1
Octeto 2
TYPE
CODE
23
Octeto 3
31
Octeto 4
CHECKSUM
Mensagem ICMP
Tipo
35
Categoria
Echo Reply
Controle
Destination Unreachable
Source Quench
Controle
Redirect
Controle
Echo Request
Controle
Controle
10
Controle
11
Erro
12
Erro
13
Timestamp Request
Controle
14
Timestamp Reply
Controle
15
Controle
16
Controle
17
Controle
18
Controle
Erro
15
Octeto 1
Octeto 2
TYPE (8 ou 0)
CODE (0)
23
Octeto 3
31
Octeto 4
CHECKSUM
IDENTIFIER
SEQUENCE NUMBER
OPTIONAL DATA
...
Destination Unreacheable
Esta mensagem possui diversos sub-tipos para identificar o motivo da no alcanabilidade: os sub-tipos
utilizados atualmente so:
0 : Network Unreachable - Rede destino inalcanvel
1 : Host Unreachable (ou falha no roteamento para subnet) - Mquina destino inalcanvel
2 : Protocol Unreachable - Protocolo destino desativado ou aplicao inexistente
3 : Port Unreachable - Porta destino sem aplicao associada
4 : Fragmentation Needed and DNF set - Fragmentao necessria mas bit DNF setado.
Alterado tambm pela RFC 1191 para suporta o protocolo Path MTU Discovery
5 : Source Route Failed - Roteamento por rota especificada em opo IP falhou
6 : Destination Network Unknown
7 : Destination Host Unknown
8 : Source Host Isolated
36
15
Octeto 1
Octeto 2
TYPE (3)
CODE (4)
23
Octeto 3
31
Octeto 4
CHECKSUM
MTU of next HOP
...
Source Quench
Esta mensagem utilizada por um roteador para informar origem, que foi obrigado a descartar o pacote
devido a incapacidade de rote-lo devido ao trfego.
0
15
Octeto 1
Octeto 2
TYPE (4)
CODE (0)
23
Octeto 3
31
Octeto 4
CHECKSUM
...
Redirect
Esta mensagem, uma das mais importantes do protocolo IP, utilizada por um roteador para informar ao host
origem de uma mensagem que existe uma rota direta mais adequada atravs de outro roteador. O host, aps
receber a mensagem ICMP, instalar uma rota especfica para aquele host destino:
15
Octeto 1
Octeto 2
TYPE (5)
CODE (0-3)
23
Octeto 3
37
31
Octeto 4
CHECKSUM
...
0 : Redirect datagrams for the Net (obsoleto)
1 : Redirect datagrams for the Host
2 : Redirect datagrams for the Type of Service and Net
3 : Redirect datagrams for the Type of Service and Host
A operao do ICMP Redirect ocorre conforme os diagramas abaixo. Note que a rota instalada uma rota
especfica para host, com mscara 255.255.255.255, no servindo para outras mquinas na mesma rede. Se
uma mquina se comunica com 10 mquinas em outra rede e se basear em ICMP Redirect para aprender as
rotas, ele instalar pelo menos 10 entradas na tabela de rede, uma para cada mquina
139.82.16.33
139.82.17.22
139.82.16.1
139.82.17.1
139.82.18.44
139.92.18.1
139.92.17.2
139.82.16.2
139.82.19.1
Datagrama IP
Origem: 139.82.17.22
Destino: 139.82.19.55
139.82.19.55
139.82.16.33
139.82.17.22
139.82.16.1
139.82.17.1
139.82.18.44
139.92.18.1
139.92.17.2
139.82.16.2
139.82.19.1
Mensagem ICMP
5
CHECKSUM
139.82.17.1
139.82.19.55
Na figura acima, a estao 139.82.17.22 instalou, aps a mensagem ICMP, a seguinte rota na tabela de rotas:
Rede Destino
139.82.19.55
Mscara
255.255.255.255
Roteador (Gateway)
139.82.17.1
Hops
0
38
TTL Expired
Esta mensagem ICMP originada em um roteador informa ao host de origem que foi obrigado a descartar o
pacote, uma vez que o TTL chegou a zero.
0
15
Octeto 1
Octeto 2
TYPE (11)
CODE (0-1)
23
Octeto 3
31
Octeto 4
CHECKSUM
...
Esta mensagem utilizada pelo programa traceroute (ou tracert no Windows) para testar o caminho percorrido
por um pacote. O programa funciona da seguinte forma:
1. enviada uma mensagem ICMP Echo Request para um endereo IP destino. Esta mensagem enviada
com TTL = 1.
2. Quando chega ao primeiro roteador, este decrementa o valor de TTL da mensagem IP e retorna uma
mensagem ICMP TTL Expired. O programa armazena o endereo IP do roteador que enviou a mensagem
TTL Expired.
3. O programa envia outra mensagem ICMP Echo Request para o endereo IP destino. Esta mensagem
enviada desta vez com TTL=2.
4. A mensagem atravessa o primeiro roteador e tem o TTL decrementado para 1. Quando chega ao segundo
roteador, o TTL torna-se 0 e este roteador envia uma mensagem ICMP TTL Expired para a mquina
origem. Esta armazena o endereo do segundo roteador.
5. Esta operao prossegue at que a mquina destino responda. Todos os roteadores no caminho so
registrados.
Note, entretanto, que devido diferenas de rotas seguidas pelos diversos pacotes, o caminho obtido no
necessariamente nico. A execuo do programa traceroute mais de uma vez pode revelar rotas diferentes
seguidas pelos pacotes.
15
Octeto 1
Octeto 2
TYPE (10)
CODE (0)
23
Octeto 3
39
31
Octeto 4
CHECKSUM
RESERVADO
15
Octeto 1
Octeto 2
TYPE (9)
CODE (0)
23
Octeto 3
31
Octeto 4
CHECKSUM
LIFETIME (seg)
ROUTER ADDRESS 1
PREFERENCE LEVEL 1
...
Esta mensagem pode conter a divulgao de diversos roteadores iniciada a partir de um que seja configurado
para divulg-los. O nmero de preferncia a ordem de preferncia que estes roteadores podem ser utilizados
pelas estaes.
40
41
Aplicao
Mensagens da aplicao
Transporte
Inter-rede
Datagramas IP
Rede
Camada de Transporte
Esta camada rene os protocolos que realizam as funes de transporte de dados fim-a-fim, ou seja,
considerando apenas a origem e o destino da comunicao, sem se preocupar com os elementos
intermedirios. A camada de transporte possui dois protocolos que so o UDP (User Datagram Protocol) e
TCP (Transmission Control Protocol).
O protocolo UDP realiza apenas a multiplexao para que vrias aplicaes possam acessar o sistema de
comunicao de forma coerente.
O protocolo TCP realiza alm da multiplexao, uma srie de funes para tornar a comunicao entre origem
e destino mais confivel. So responsabilidades do protocolo TCP o controle de fluco, o controle de erro, a
sequenciao e a multiplexao de mensagens.
A camada de transporte oferece para o nvel de aplicao um conjunto de funes e procedimentos para
acesso ao sistema de comunicao de modo a permitir a criao e a utilizao de aplicaes de forma
independente da implementao. Desta forma, as interfaces socket (ambiente Unix) e Winsock (ambiente
Windows) fornecem um conjunto de funes-padro para permitir que as aplicaes possam ser
desenvolvidas independentes do sistema operacional no qual rodaro.
Protocolo UDP
O protocolo UDP fornece uma forma simples de acesso ao sistema de comunicao, provendo um servio
sem conexo, sem confiabilidade e sem correo de erros. A principal funo do nvel de transporte
implementada em UDP a capacidade de multiplexao de acesso ao sistema de comunicao. Esta funo
permite que vrios processos ou programas executando em um computador possam acessar o sistema de
comunicao e o trfego de dados respectivo a cada um deles seja corretamente identificado, separado e
utilize buffers individuais.
42
Um processo o programa que implementa uma aplicao do sistema operacional, e que pode ser uma
aplicao do nvel de aplicao TCP/IP.
A forma de identificao de um ponto de acesso de servio (SAP) do modelo OSI a porta de protocolo em
TCP/IP. A porta a unidade que permite identificar o trfego de dados destinado a diversas aplicaes. A
identificao nica de um processo acessando os servios TCP/IP , ento, o endereo IP da mquina e a
porta (ou portas) usadas pela aplicao. Cada processo pode utilizar mais de uma porta simultneamente, mas
uma porta s pode ser utilizada por uma aplicao em um dado momento. Uma aplicao que deseje utilizar
os servios de comunicao dever requisitar uma ou mais portas para realizar a comunicao. A mesma
porta usada por uma aplicao pode ser usada por outra, desde que a primeira tenha terminado de utiliz-la.
A forma de utilizao de portas mostra uma distino entre a parte cliente e a parte servidora de uma
aplicao TCP/IP. O programa cliente pode utilizar um nmero de porta qualquer, j que nenhum programa na
rede ter necessidade de enviar uma mensagem para ele. J uma aplicao servidora deve utilizar uma
nmero de porta bem-conhecido (Well-known ports) de modo que um cliente qualquer, querendo utilizar os
servios do servidor, tenha que saber apenas o endereo IP da mquina onde este est executando.
Se no houvesse a utilizao de um nmero de porta bem conhecido, a arquitetura TCP/IP deveria possuir um
mecanismo de diretrio para que um cliente pudesse descobrir o nmero da porta associado ao servidor. Para
evitar este passo intermedirio, utiliza-se nmeros de porta bem conhecidos e o cliente j possui pr
programado em seu cdigo o nmero de porta a ser utilizado.
Os nmeros de porta de 1 a 1023 so nmeros bem-conhecidos para servios (aplicaes) atribudos pela
IANA (Internet Assigned Numbers Authority). Os nmeros de 1024 a 65535 podem ser atribudos para outros
servios e so geralmente utilizados pelas programas-cliente de um protocolo (que podem utilizar um nmero
de porta qualquer). Este conjunto de nmeros tem ainda a atribuio de alguns servios de forma no oficial, j
que os primeiros 1024 nmeros no conseguem comportar todos os protocolos TCP/IP existentes.
A figura abaixo ilustra a multiplexao/demultiplexao realizada pelo protocolo UDP, camada de transporte:
Aplicao 1
Porta 126
Aplicao 2
Porta 34
UDP
IP
Porta 22
43
7
Octeto 1
15
Octeto 2
23
31
Octeto 3
Octeto 4
UDP CHECKSUM
DATA
...
Opcional (campo=0)
A mensagem UDP representada pela figura acima. O dado carregado o pacote de nvel de aplicao. UDP
acrescenta apenas mais 8 bytes que so a porta de protocolo origem a porta de protocolo destino, o tamanho
da mensagem UDP e um checksum para averiguar a correo dos dados do cabealho UDP.
Protocolo TCP
O protocolo TCP trabalha no mesmo nvel que o protocolo UDP, mas oferece servios mais complexos, que
incluem controle de erros e fluxo, servio com conexo e envio de fluxo de dados. TCP utiliza o mesmo
conceito de porta de UDP. Para TCP, uma conexo formada pelo par (End. IP. Origem, Porta Origem) e
(End. IP Destino, Porta Destino).
O protocolo TCP oferece as seguintes caractersticas:
Porta 2340
TCP
TCP
IP
IP
Host 139.82.17.10
Inter-rede
TCP/IP
Host 139.82.55.3
Uma conexo TCP formada por trs fases: o estabelecimento de conexo, a troca de dados e o finalizao
da conexo, conforme ilustrado na figura abaixo:
SYN/ACK
ACK
Transmite dados
Recebe dados
DADOS
ACK
Recebe dados
Transmite dados
DADOS
ACK
Fecha conexo
FIN
ACK
FIN
ACK
Fecha conexo
A fase inicial de estabelecimento de conexo formada de trs mensagens, formando o three-wayhanshaking, conforme a figura abaixo:
SEQ
21
ACK
-
SEQ
152
SEQ
-
ACK
153
ACK
22
44
45
15
Octeto 1
Octeto 2
23
31
Octeto 3
Octeto 4
SEQUENCE NUMBER
ACKNOWLEDGEMENT NUMBER
HLEN
RESERVED
CODE BITS
WINDOW
CHECKSUM
URGENT POINTER
PADDING
DATA
...
46
WINDOW: Este campo informa o tamanho disponvel em bytes na janela de recepo 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 no envia dados, esperando receber um pacote com
WINDOW maior que zero. O transmissor sempre vai tentar transmitir a quantidade de dados disponveis na
janela de recepo sem aguardar um ACK. Enquanto no for recebido um reconhecimento dos dados
transmitidos e o correspondente valor de WINDOW > 0, o transmissor no enviar dados.
OPTIONS: O campo de opes s possui uma nica opo vlida que a negociao do MSS (Maximum
Segment Size) que o TCP pode transmitir. O MSS calculado atravs do MTU ou atravs do protocolo ICMP
Path MTU Discovery.