Você está na página 1de 62

Apostila de

Internet e Arquitetura TCP/IP


volume I e II

Curso de Redes de Computadores


2a edio

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

ndice Analtico
1. CONCEITOS DE INTERNET E TCP/IP

EVOLUO DE TCP/IP E INTERNET


PROTOCOLOS TCP/IP
CAMADA DE REDE
CAMADA INTER-REDE
CAMADA DE TRANSPORTE
CAMADA DE APLICAO
POSICIONAMENTO DO NVEL OSI
INTERNET E PADRONIZAO DE PROTOCOLOS E FUNES
EXEMPLOS DE APLICAO DE REDES COM ARQUITETURA TCP/IP
PROTOCOLOS DA CAMADA INTER-REDE
PROTOCOLO IP
ENDEREOS IP
MAPEAMENTO DE ENDEREOS IP EM ENDEREOS DE REDE
ROTEAMENTO IP
ROTEAMENTO ESTTICO X ROTEAMENTO DINMICO
PACOTE IP
OPES IP
FRAGMENTAO
ENDEREAMENTO EM SUBREDES
FLEXIBILIDADE DE ENDEREAMENTO
ROTEAMENTO COM SUB-REDE
SUB-REDES NO UTILIZVEIS:
PROTOCOLO ICMP
ECHO REQUEST E ECHO REPLY
DESTINATION UNREACHEABLE
SOURCE QUENCH
REDIRECT
TTL EXPIRED
ICMP ROUTER SOLICITATION/ADVERTISEMENT

3
4
6
6
8
8
8
10
15
16
17
17
20
23
26
27
28
28
29
31
33
34
35
35
36
36
37
38
39

2. PROTOCOLOS DA CAMADA DE TRANSPORTE

41

CAMADA DE TRANSPORTE
PROTOCOLO UDP
FORMATO DA MENSAGEM UDP
PROTOCOLO TCP

41
42
43
44

1. PROTOCOLOS DA CAMADA DE REDE E PROTOCOLOS AUXILIARES DE TCP/IP

48

BOOTP E DHCP
PROTOCOLO BOOTP
PROTOCOLO DHCP
OPES DHCP
PROTOCOLO PPP
PROTOCOLO LCP - LINK CONTROL PROTOCOL
PROTOCOLO IPCP - NETWORK CONTROL PROTOCOL
PROTOCOLO SLIP

48
48
49
50
52
52
53
54

2. INTERFACES DO NVEL DE TRANSPORTE (SOCKET, WINSOCK)

55

3. PROTOCOLOS DE NVEL DE APLICAO

57

PROTOCOLO DNS
IMPLEMENTAO DO DNS
PROTOCOLOS DE ROTEAMENTO
PROTOCOLO RIP
PROTOCOLO RIP2

57
58
60
60
63

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

1. Conceitos de Internet e TCP/IP


A Internet uma rede pblica de comunicao de dados, com controle descentralizado e que utiliza o conjunto
de protocolos TCP/IP como base para a estrutura de comunicao e seus servios de rede. Isto se deve ao fato
de que a arquitetura TCP/IP fornece no somente os protocolos que habilitam a comunicao de dados entre
redes, mas tambm define uma srie de aplicaes que contribuem para a eficincia e sucesso da arquitetura.
Entre os servios mais conhecidos da Internet esto o correio-eletrnico (protocolos SMTP, POP3), a
transferncia de arquivos (FTP), o compartilhamento de arquivos (NFS), a emulao remota de terminal
(Telnet), o acesso informao hipermdia (HTTP), conhecido como WWW (World Wide Web).
A Internet dita ser um sistema aberto uma vez que todos os seus servios bsicos assim como as aplicaes
so definidas publicamente, podendo ser implementadas e utilizadas sem pagamento de royalties ou licenas
para outras instituies.
O conjunto de protocolos TCP/IP foi projetado especialmente para ser o protocolo utilizado na Internet. Sua
caracterstica principal o suporte direto a comunicao entre redes de diversos tipos. Neste caso, a
arquitetura TCP/IP independente da infra-estrutura de rede fsica ou lgica empregada. De fato, qualquer
tecnologia de rede pode ser empregada como meio de transporte dos protocolos TCP/IP, como ser visto
adiante.
Alguns termos utilizados freqentemente, so explicados de forma resumida adiante:
A Internet (nome prprio) a denominao da rede mundial que interliga redes no mundo. formada pela
conexo complexa entre centenas de milhares de redes entre si. A Internet tem suas polticas controladas pelo
IAB (Internet Architecture Board), um frum patrocinado pela Internet Society, uma comunidade aberta formada
por usurios, fabricantes, representantes governamentais e pesquisadores.
Um internet um termo usado para definir uma rede genrica formada pela interligao de redes utilizando o
protocolo TCP/IP.
Uma intranet a aplicao da tecnologia criada na Internet e do conjunto de protocolos de transporte e de
aplicao TCP/IP em uma rede privada, interna a uma empresa. Numa intranet, no somente a infra-estrutura de
comunicao baseada em TCP/IP, mas tambm grande quantidade de informaes e aplicaes so
disponibilizadas por meio dos sistemas Web (protocolo HTTP) e correio-eletrnico.
Uma extranet, ou extended intranet a extenso dos servios da intranet de uma empresa para interligar e
fornecer aplicaes para outras empresas, como clientes, fornecedores, parceiros, etc Desta forma a extranet
a utilizao de tecnologias como Web e correio-eletrnico para simplificar a comunicao e a troca de
informaes entre empresas.
World Wide Web a designao do conjunto de informaes pblicas disponibilizadas na Internet por meio do
protocolo HTTP. o somatrio das informaes que podem ser acessadas por um browser Web na Internet. As
informaes internas de uma empresa que so acessveis via um browser Web so enquadradas no termo
intranet.

Evoluo de TCP/IP e Internet


Em 1966, o Departamento de Defesa do governo americano iniciou, atravs de sua agncia DARPA (Defense
Advanced Research Projects Agency) projetos para a interligao de computadores em centros militares e de
pesquisa, com o objetivo de criar um sistema de comunicao e controle distribudo com fins militares. Esta
iniciativa teve como um dos motivadores o surgimento de mini-computadores com grande poder de
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.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

A figura 1 ilustra a diviso em camadas da arquitetura TCP/IP:

Aplicao
Mensagens da aplicao

Transporte
Inter-rede
Datagramas IP

Rede

HDLC, X.25, PPP, SLIP,


Ethernet, Token-Ring, FDDI,
ATM, LLC, NDIS, ...

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:
Protocolos com estrutura de rede prpria (X.25, Frame-Relay, ATM)
Protocolos de Enlace OSI (PPP, Ethernet, Token-Ring, FDDI, HDLC, SLIP, )
Protocolos de Nvel Fsico (V.24, X.21)
Protocolos de barramento de alta-velocidade (SCSI, HIPPI, )
Protocolos de mapeamento de endereos (ARP - Address Resolution Protocol) - Este protocolo pode ser
considerado tambm como parte da camada Inter-Rede.
Os protocolos deste nvel possuem um esquema de identificao das mquinas interligadas por este
protocolo. Por exemplo, cada mquina situada em uma rede Ethernet, Token-Ring ou FDDI possui um
identificador nico chamado endereo MAC ou endereo fsico que permite distinguir uma mquina de outra,
possibilitando o envio de mensagens especficas para cada uma delas. Tais rede so chamadas redes locais de
computadores.
Da mesma forma, estaes em redes X.25, Frame-Relay ou ATM tambm possuem endereos que as
distinguem uma das outras.
As redes ponto-a-ponto, formadas pela interligao entre duas mquinas no possuem, geralmente, um
endereamento de nvel de rede (modelo TCP/IP), uma vez que no h necessidade de identificar vrias
estaes.

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

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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

Posicionamento do Nvel OSI


A arquitetura TCP/IP possui uma srie de diferenas em relao arquitetura OSI. Elas se resumem
principalmente nos nveis de aplicao e Inter-rede da arquitetura TCP/IP.
Como principais diferenas pode-se citar:
OSI trata todos os nveis, enquanto TCP/IP s trata a partir do nvel de Rede OSI
OSI tem opes de modelos incompatveis. TCP/IP sempre compatvel entre as vrias implementaes
OSI oferece servios orientados a conexo no nvel de rede, o que necessita de inteligncia adicional em
cada equipamento componente da estrutura de rede. Em TCP/IP a funo de roteamento bem simples e
no necessita de manuteno de informaes complexas
TCP/IP tem funo mnima (roteamento IP) nos ns intermedirios (roteadores)

Aplicaes TCP/IP tratam os nveis superiores de forma monoltica, Desta forma OSI mais eficiente pois
permite reaproveitar funes comuns a diversos tipos de aplicaes. Em TCP/IP, cada aplicao tem que
implementar suas necessidades de forma completa.
A figura 3 ilustra a comparao entre TCP/IP e OSI. Note que a camada Inter-rede de TCP/IP apresenta uma
altura menor que o correspondente nvel de Rede OSI. Isto representa o fato de que uma das funes do nvel
de Rede OSI realizada pelo nvel de Rede TCP/IP. Esta funo a entrega local de mensagens dentro da
mesma rede. O IP s trata a entrega e a deciso de roteamento quando o origem e o destino da mensagem
esto situados em redes distintas.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Arquitetura OSI

Arquitetura TCP/IP

Aplicao
Apresentao

Aplicao

Sesso
Transporte
Inter-rede

Transporte
Rede
Enlace

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

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Internet e Padronizao de Protocolos e Funes


A Internet controlada pelo IAB (Internet Architecture Board) em termos de padronizaes e recomendaes.
Este gerencia as funes de definio de padres de protocolos, criao de novos protocolos, evoluo, etc..
O IAB um forum suportado pela Internet Society (ISOC), cujos membros organizam as reunies e o
funcionamento do IAB, alm de votarem os seus representantes.
O controle da Internet em relao a sua operao normal dividida em diversos rgos, alguns centrais e
outros por pases. Por exemplo, o rgo que gerencia toda a poltica de fornecimento de endereos IP e outros
cdigos utilizados nos protocolos o IANA - Internet Assigned Numbers Authority. Por sua vez, a distribuio
de endereos IP, assim como nomes de domnio (DNS), assim como a manuteno da documentao de
padronizao da Internet realizada pelo InterNIC (Internet Network Information Center) que atualmente
operado por um conjunto de empresas, principalmente AT&T e Network Solutions Inc. Outro rgo relevante
o GTLD-Mou, um comit criado em 1997 para decidir sobre a padronizao de novos nomes bsicos da
Internet (como .com, .org, .gov, .arts, .web e outros).
A figura 4 ilustra o diagrama da IAB. Este consiste de um rgo executivo, o IETF (Internet Engineering Task
Force), que responsvel pela definio e padronizao de protocolos utilizados na Internet. O IRTF (Internet
Research Task Force) responsvel por criar, projetar e propor novas aplicaes, em nome do IAB. Alm das
contribuies iniciadas pelo IRTF, qualquer instituio ou pessoa pode submeter propostas de novos
protocolos ou aplicaes ao IRTF.
Internet Society
THE BOARD

IETF

IRTF

IRSG

IESG
Area 1

Area 8

IANA

Research Groups

Working Groups

IRSG: Internet Research


Steering Group

IESG: Internet Engineering


Steering Group

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.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

10

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.

STD

RFC

Descrio

Padres

STD-1

2200

INTERNET OFFICIAL PROTOCOL STANDARDS

STD-2

1700

ASSIGNED NUMBERS

STD-3

1122

Requirements for Internet hosts - communications layers

1123

Requirements for Internet hosts - application and support

STD-4

1009

Requirements for Internet Gateways

1812

Requirements for IP Routers

1918

Address Allocation for Private Internets

2135

Internet Society By-Laws

2134

Articles of Incorporation of Internet Society

2008

Implication of Various Address Allocation Policies for Internet


Routing

2026

The Internet Standards Process - Rev.3

2050

The Internet Registry IP Allocation Guidelines

STD-5

791

IP - Internet Protocol

792

ICMP - Internet Control Message Protocol

919

Broadcasting Internet Datagrams

922

Broadcasting Internet datagrams in the presence of subnets

950

Internet standard subnetting procedure

1112

Host extensions for IP multicasting - IGMP

2101

IPv4 address Behaviour Today

1256

ICMP Router Discovery Protocol

Internet

IP

11

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

2236

Internet Group Management Protocol, v.2

1788

ICMP Domain Name Messages

1191

Path MTU Discovery Protocol

UDP

STD-6

768

User Datagram Protocol - UDP

TCP

STD-7

793

Transmission Control Protocol

1144

Compressing TCP headers for low speed serial links

1323

TCP Extensions for High Performance

STD-8

854

Telnet Protocol specification

855

Telnet Option Specification

FTP

STD-9

959

File Transfer Protocol - FTP

SMTP

STD-10

821

Simple Mail Transfer Protocol - SMTP

1869

SMTP Service Extensions

1870

SMTP Service Extension for Message Size Declaration

1652

SMTP Service Extensions for 8-bit MIME transport

1891

SMTP Service Extensions for Delivery Status Notification

2142

Mailbox Names for Common Services, Roles and Functions

STD-11

822

Standard Format for ARPANET Messages

1049

Content-type header field for Internet messages

NTP

STD-12

1119

Network Time Protocol v.2 - NTP

DNS

STD-13

1034

Domain names - concepts and facilities

1035

Domain names - implementation and specification

STD-14

974

Mail Routing and the Domain Name System

STD-15

1137

A Simple Network Management Protocol - SNMP

1034,
1035

Domain Names,
specification

2100

The Naming of Hosts

2136

Dynamic Updates in the Somain Name System

2181

Clarifications to DNS Specification

2182

Selection and Operation of Secondary DNS Servers

STD-16

1155

Structure and Identification of Management Information for


TCP/IP-based Internets

1212

Concise MIB Definitions

STD-17

1213

Management Information Base for Network Management of


TCP/IP-based internets - MIB II

STD-19

1001

Protocol standard for a NetBIOS service on a TCP/UDP transport:


Cocenpts and Methods

Telnet

Mail-Content

SNMP-MIB

Netbios/IP

concepts,

facilities,

implementation

and

12

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

1002

Protocol standard for a NetBIOS service on a TCP/UDP transport:


Detailed specifications

TFTP

STD-33

1350

Tiny FTP Protocol Rev.2

IP-SLIP

STD-47

1055

IP datagrams over serial lines: SLIP

PPP

STD-51

1661

Point-to-Point Protocol - PPP

1662

PPP in HDLC-like Framing

1332

IPCP - PPP IP Control Protocol

1570

PPP LCP Extensions

1662

PPP in HDLC Framing

2153

PPP Vendor Extensions

1939

Post Office Protocol v.3 - POP3

1722,
1723

RIP - Routing Information Protocol version 2

2328

Open Shortest Path Protocol - OSPF v.3

2154

OSPF with Digital Signatures

866

ARP - Address Resolution Protocol

903

RARP - Reverse Address Resolution Protocol

1027

Proxy ARP

1483

Multiprotocol Encapsulation Over ATM

1577

Classic IP over ATM

951

BOOTP - Bootstrap Protocol

1497

BOOTP Vendor Extensions

1533

DHCP Options and BOOTP Vendor Extensions

1771

Border Gateway Protocol 4

1517,
1518,
1519

CIDR - ClassLess Interdomain Router

1930

Guidelines for creation,


Autonomous System (AS)

2131

DHCP - Dynamic Host Configuration Protocol

2132

DHCP Options and BOOTP Vendor Extensions

1534

Interoperation Between DHCP and BOOTP

2241

DHCP Options for Novell Directory Services

2242

Netware/IP Domain Name and Information

2138

Remote Authentication Dial-in User Service (RADIUS)

2139

RADIUS Accounting

POP3

STD-53

RIP
OSPF

ARP

ATM

BOOTP

BGP

DHCP

RADIUS

STD-54

slection

and

registration

of

an

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

HTML

1866

HTML - HyperText Markup Language

2110

MIME E-mail Encapsulation of Aggregate Documents such as


HTML

2068

HTTP/1.1 - HyperText Transfer Protocol

2109

HTTP State Management Mechanism

2168

Resolution of Uniform Resource Identifiers using the Domain


Name System

2145

Use and Interpretation of HTTP Version Numbers

LDAP

2251

LDAP (Lightweight Directory Access Protocol) v.3

IRC

1459

IRC - Internet Relay Chat

MIME

1521

MIME - Multipurpose Internet Mail Extension

NFS

1813

NFS Version 3 - Network File System

NNTP

977

NNTP - Network News Tranport Protocol

IPV6

2147

TCP and UDP over IPv6 Jumbograms

2185

Routing Aspects of IPv6 Transition

2186

Internet Cache Protocol (ICP), v2

2187

Application of ICP, v2

Segurana

2196

Site Security Handbook

Histrico

2235

Hobbes Internet Timeline

Resumos

2151

A Primer on Internet and TCP/IP Tools and Utilities

HTTP

ICP

13

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.

14

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Exemplos de aplicao de redes com arquitetura TCP/IP


Seguem abaixo, alguns exemplos de aplicaes da arquiteturas distintas de rede baseadas em TCP/IP, como
por exemplo, redes internas de empresas baseadas em transporte TCP/IP, servios de redes de empresas
conectados Internet, provedores de acesso Internet.
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 NFS, NIS


Servidor LPD

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

15

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Exemplo 3: Um provedor de acesso Internet, fornecendo servios de conexo a usurios discados e


empresas por meio de ligao dedicada, alm de oferecer os servios bsicos de Internet como HTTP, SMTP,
POP3, FTP, etc

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

Protocolos da Camada Inter-Rede


A figura 8 ilustra o posicionamento de diversos protocolos da arquitetura TCP/IP:
SMTP/
DNS

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.

16

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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
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

17

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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:
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.

18

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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.180.10

200.18.171.37

200.18.180.200

200.18.171.0

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-a-pontos 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.
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.201.0.3
10.0.0.2

210.200.4.57

210.200.4.56

19

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Mapeamento de endereos IP em endereos de rede


Os protocolos de rede compartilhada como Ethernet, Token-Ring e FDDI possuem um endereo prprio para
identificar as diversas mquinas situadas na rede. Em Ethernet e Token-Ring o endereamento utilizado
chamado endereo fsico ou endereo MAC - Medium Access Control , formado por 6 bytes, conforme a figura
abaixo:
I/G

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

200.18.171.3

200.18.171.4

O funcionamento do protocolo ARP descrito abaixo:


Estao A verifica que a mquina destino est na mesma rede local, determinado atravs dos endereos origem
e destino e suas respectivas classes.
O protocolo IP da estao A verifica que ainda no possui um mapeamento do endereo MAC para o endereo
IP da mquina destino.
O protocolo IP solicita ao protocolo que o endereo MAC necessrio
Protocolo ARP envia um pacote ARP (ARP Request) com o endereo MAC destino de broadcast (difuso para
todas as mquinas)

IP MAC

para
200.18.171.3

IP
ARP

200.18.171.1

200.18.171.3

Placa Eth
OD.OA.12.07.48.05

ARP Req

200.18.171.4

20

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

A mensagem ARP enviada encapsulada em um pacote Ethernet conforma mostrado abaixo:


Prembulo
8 bytes

End. Fsico
Broadcast
6 bytes

0D.0A.12.
07.48.05
6 bytes

ARP

Dados (ARP Request)

FCS

2 bytes

64 - 1500 bytes

4 bytes

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.
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

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

Dados (ARP Reply)

FCS

2 bytes

64 - 1500 bytes

4 bytes

A mquina A recebe o pacote e coloca um mapeamento do endereo IP de B e seu endereo MAC respectivo.
Esta informao residir em uma tabela que persistir durante um certo tempo.
Finalmente a mquina A transmite o pacote IP inicial, aps saber o endereo MAC da estao destino.
Prembulo

0D.0A.12.
07.71.FF

0D.0A.12.
07.48.05

8 bytes

6 bytes

6 bytes

IP

Dados (TCP sobre 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

Dados (IP, IPX, )

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.

21

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Ethernet = 1
Token Ring = 4
FDDI
...

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

HLEN = Hardware Length


PLEN = Protocol Length

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

22

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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:
Determinar que a estao destino est em outra rede e por isto deve-se enviar a mensagem para um roteador
Determinar, atravs da tabela de rotas da mquina origem, qual roteador o correto para se enviar a mensagem
Descobrir, atravs do protocolo ARP, qual o endereo MAC do roteador
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:
Estao A

IP Dest = 200.18.180.200
MAC Dest = OD.OA.12.07.48.05

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.

23

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

O Algoritmo de Transmisso de um pacote IP descrito abaixo. A transmisso pode ser aplicada tanto a um
host quanto a uma estao:

1. Datagrama pronto para ser transmitido


2. Caso:
2.1 Endereo Destino == Endereo Transmissor
2.1.1 Entrega datagrama pela interface loopback (127.0.0.1)
2.2.2 Fim
2.2 Endereo de rede do destino == endereo de rede local
2.2.1 Descobre o endereo fsico do destino (ARP)
2.2.1 Transmite datagrama pela interface correta
2.2.2 Fim
2.3 Endereo de rede do destino != endereo de rede local
2.3.1 Verifica tabela de rotas
2.3.2 Descobre rota que se encaixa com a rede destino
2.3.3 Descobre o endereo fsico do gateway (ARP)
2.3.4 Transmite o datagrama para o gateway
2.3.5 Fim
3. Fim
O Algoritmo de Recepo de um pacote IP descrito abaixo:

1. Datagrama recebido da camada intra-rede, defragmentado e testado


2. Caso:
2.1 Endereo Destino = Endereo do Host, ou E.D. = outras interfaces do Host, ou E.D. = Broadcast
2.1.1 Passa datagrama para nveis superiores -> FIM
2.2 Caso:
2.2.1 Mquina que recebeu no roteador
2.2.1.1 Descarta datagrama -> FIM2.2.2 Mquina roteador (possui mais de uma interface IP)
2.2.2 Caso:
2.2.2.1 Endereo IP destino = Rede IPcom interface direta
2.2.2.1.1 Descobre o endereo fsico do destino (ARP)
2.2.2.1.2 Transmite datagrama pela interface respectiva -> FIM
2.2.2.2 Caso Endereo de rede do destino endereo de rede local
2.2.2.2.1 Verifica tabela de rotas
2.2.2.2.2 Descobre o endereo fsico do gateway (ARP)
2.2.2.2.3 Transmite o datagrama para o gateway -> FIM
3. Fim
O exemplo abaixo ilustra uma estrutura de redes e a tabela de rotas dos roteadores. As tabelas de rotas de cada
roteador so diferentes uma das outras. Note nestas tabela a existncia de rotas diretas, que so informaes
redundantes para identificar a capacidade de acessar a prpria rede na qual os roteadores esto conectados.
Este tipo de rota apesar de parecer redundante til para mostrar de forma semelhante as rotas diretas para as
redes conectadas diretamente no roteador.
Outra informao relevante a existncia de uma rota default. Esta rota utilizada durante a deciso de
roteamento no caso de no existir uma rota especfica para a rede destino da mensagem IP. A rota default pode
ser considerada como um resumo de diversas rotas encaminhadas pelo mesmo prximo roteador. Sem a
utilizao da rota default, a tabela de rotas deveria possuir uma linha para cada rede que pudesse ser
endereada. Em uma rede como a Internet isto seria completamente impossvel.
201.0.0.0

202.0.0.0
eth0

R
.1

203.0.0.0

.2

.3

204.0.0.0

eth1
.4

R
.5

.6

Internet
A tabela de rotas para o roteador da esquerda descrita abaixo:
Rede Destino

Roteador (Gateway)

Hops

201.0.0.0

eth0 (rota direta)

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

202.0.0.0

eth1 (rota direta)

203.0.0.0

202.0.0.3

204.0.0.0

203.0.0.3

default

203.0.0.3

--

A tabela de rotas para o roteador central descrita abaixo:


Rede Destino

Roteador (Gateway)

Hops

202.0.0.0

eth0 (rota direta)

203.0.0.0

eth1 (rota direta)

201.0.0.0

202.0.0.2

204.0.0.0

203.0.0.5

default

203.0.0.5

--

24

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

25

A tabela de rotas para o roteador da direita descrita abaixo:


Rede Destino

Roteador (Gateway)

Hops

203.0.0.0

eth0 (rota direta)

204.0.0.0

eth1 (rota direta)

202.0.0.0

203.0.0.4

201.0.0.0

203.0.0.4

default

204.0.0.7**

--

** No mostrado na figura.
A rota default geralmente representada nos sistemas operacionais como a rede 0.0.0.0

Roteamento esttico x Roteamento dinmico


A alimentao das informaes na tabela de rotas pode ser de modo esttico ou dinmico ou ambos
simultneamente. Na alimentao esttica, as rotas so preenchidas manualmente, geralmente pela
configurao inicial da mquina. Na alimentao dinmica, protocolos como RIP, RIP2, OSPF ou BGP4 so
responsveis pela aquisio de informaes sobre a topologia da rede e a publicao de rotas na tabela de
rotas dos roteadores envolvidos.
Como exemplos de rotas definidas estaticamente, pode-se citar:
Uma rota default (ou roteador default) configurado manualmente nas estaes (caso tpico da maioria das
estaes-cliente em uma rede. P.ex., Janela de configurao bsica de TCP/IP em Windows 3.1, Windows 95 e
Windows NT
Mais de uma rota default, com os roteadores configurados manualmente nas estaes
Rotas adicionais estticas configuradas manualmente endereando redes especficas. P.ex. Comando route
add dos sistemas operacionais Windows 95 e Windows NT
Roteadores descobertos atravs do protocolo ICMP Router Advertisement
Rotas informadas atravs do protocolo ICMP Redirect

26

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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

HLEN SERVICE TYPE


IDENTIFICATION

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
...
Os campos mais importantes so descritos abaixo:
VERSION - Informa a verso do protocolo IP sendo carregado. Atualmente a verso de IP 4
HEADER LENGTH - Informa o tamanho do header IP em grupos de 4 bytes
TYPE OF SERVICE - Informa como o pacote deve ser tratado, de acordo com sua prioridade e o tipo de servio
desejado como Baixo Retardo, Alta Capacidade de Banda ou Alta Confiablilidade. Normalmente este campo
no utilizado na Internet
IDENTIFICATION - Identifica o pacote IP unicamente entre os outros transmitidos pela mquina. Este campo
usado para identificar o pacote IP no caso de haver fragmentao em mltiplos datagramas
FLAGS (3 bits) - um bit (MF - More Fragments) identifica se este datagrama o ltimo fragmento de um pacote
IP ou se existem mais. Outro bit (DNF - Do Not Fragment) informa aos roteadores no caminho se a aplicao
exige que os pacotes no sejam fragmentados.
FRAGMENT OFFSET - Informa o posicionamento do fragmento em relao ao pacote IP do qual faz parte.
TIME-TO-LIVE - Este valor decrementado a cada 1 segundo que o pacote passa na rede e a cada roteador
pelo quel ele passa. Serve para limitar a durao do pacote IP e evitar que um pacote seja roteador eternamente
na Internet como resultado de um loop de roteamento.
PROTOCOL - Informa que protocolo de mais alto-nvel est sendo carregado no campo de dados. O IP pode
carregar mensagens UDP, TCP, ICMP, e vrias outras.
HEADER CHECKSUM - Valor que ajuda a garantir a integridade do cabealho do pacote IP
SOURCE ADDRESS - Endereo IP da mquina origem do pacote IP
DESTINATION ADDRESS - Endereo IP da mquina destino do pacote IP
OPTIONS - Opes com informaes adicionais para o protocolo IP. Consiste de um byte com a identificao
da opo e uma quantidade de bytes varivel com as informaes especficas. Um pacote IP pode transportar
vrias opes simultaneamente.

Opes IP
O formato das opes IP descrita no quadro abaixo:

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

1 octeto

1 octeto

Option Code

Length

1 bit

2 bits

Copy

Option Class

1 octeto

1 octeto
...

Data 1

27

1 octeto
Data n

5 bits
Option Number

Classe 0: Controle da Rede e Datagramas


Classe 1: Reservada para uso futuro
Classe 2: Depurao e medio
Classe 3: Reservada para uso futuro
Copy = 0: Opo deve ser copiada apenas para o primeiro fragmento
Copy = 1: Opo deve ser copiada para todos fragmentos

As opes IP que podem ser utilizadas so:


Classe

Cdigo

Composio

Descrio

--

Fim da Lista de Opes

--

Nenhuma Operao

varivel

LOOSE SOURCE ROUTING (Especifica a rota aproximada que um


datagrama deve seguir)

varivel

RECORD ROUTE (Escreve os endereos dos roteadores por onde


o pacote passou)

varivel

STRICT SOURCE ROUTING (Especifica a rota exata que um


datagrama deve seguir)

varivel

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.
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:

28

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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

Primeiros 1480 octetos

Prximos 1480 octetos

ltimos 1040 octetos

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

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.

29

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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.

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.

30

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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.

As mscaras das antigas classes A, B e C so um sub-conjunto das possibilidades do esquema utilizado


atualmente, conforme mostrado abaixo:
Classe A: mscara equivalente = 255.0.0.0
Classe B: mscara equivalente = 255.255.0.0
Classe C: mscara equivalente = 255.255.255.0

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.
4 redes de 16 endereos (aumentando em dois bits a mascara original)
Neste caso temos o endereo 32.10.20.128 dividido da seguinte forma:
Rede 1 = 32.10.20.128 com mscara 255.255.255.240
Rede 2 = 32.10.20.144 com mscara 255.255.255.240
Rede 3 = 32.10.20.160 com mscara 255.255.255.240
Rede 4 = 32.10.20.176 com mscara 255.255.255.240

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

31

Neste caso, cada rede formada pode ter at 14 estaes


Ento os endereos de mquina em cada rede so:
Rede 1: 32.10.20.[129-142]
Rede 2: 32.10.20.[145-158]
Rede 3: 32.10.20.[161-174]
Rede 4: 32.10.20.[177-190]

Note que o espao de endereamento original sempre se manteve, variando de 128 a 191

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)
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. Pode-se
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. Podese 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]).

32

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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.

Rede = 200.18.171.128
Mask = 255.255.255.192
Rede = 200.18.171.0
Mask = 255.255.255.0

200.18.171.129

10.10.10.1
10.10.10.2

200.18.171.1

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

Roteamento com Sub-rede


Com a utilizao de sub-rede, a tabela de rotas possui um campo adicional que a mascara de rede, j que a
identificao de uma rede possui uma mscara.
No caso do exemplo anterior, um roteador qualquer na Internet que conecte este conjunto de redes Internet
possui apenas uma rota para a rede 200.18.171.0, com mscara 255.255.255.0, endereada para o roteador
10.0.0.1. Isto mostra que a informao roteamento das diversas sub-redes pode ser agregada em uma nica
linha na tabela de rotas.
Por exemplo apesar de possuir centenas de redes, os roteadores na Internet possuem uma nica linha para a
PUC, sendo a rede destino 139.82.0.0 e a mscara 255.255.0.0. somente dentro da PUC, os roteadores internos
devem saber distinguir as diversas sub-redes formadas.
No exemplo anterior, o roteador interna da empresa no pode ter uma rota genrica para a rede 200.18.171.0,
mas precisa saber enderear as diversas sub-redes. Isto se d pela utilizao de rotas associadas a mscara. A
tabela abaixo mostra a tabela de rotas deste roteador:
Rede Destino

Mscara

Roteador
(Gateway)

Hops

200.18.171.0

255.255.255.192

200.18.171.1 (eth0)

10.0.0.0

255.0.0.0

10.0.0.1 (serial1)

200.18.171.64

255.255.255.192

200.18.171.3

200.18.171.128

255.255.255.192

200.18.171.2

default

0.0.0.0

10.0.0.2

--

A tabela de rotas do roteador inferior dada pela tabela abaixo:


Rede Destino

Mscara

Roteador
(Gateway)

Hops

200.18.171.0

255.255.255.192

200.18.171.3 (eth0)

200.18.171.64

255.255.255.192

200.18.171.65 (eth1)

33

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

200.18.171.128

255.255.255.192

200.18.171.2

default

0.0.0.0

200.18.171.1

--

A mscara de rede faz parte de toda tabela de rotas.


O algoritmo de Recepo de pacote IP e roteamento com a introduo da mscara de sub-rede fica alterado
conforme abaixo:

1. Datagrama recebido da camada intra-rede, defragmentado e testado


2. Caso:
2.1 Endereo Destino = Endereo do Host, ou E.D. = outras interfaces do Host, ou E.D. = Broadcast
2.1.1 Passa datagrama para nveis superiores -> FIM
2.2 Caso:
2.2.1 Mquina que recebeu no roteador
2.2.1.1 Descarta datagrama -> FIM
2.2.2 Mquina roteador (possui mais de uma interface IP)
2.2.2.1 Caso:
2.2.2.1.1 Endereo de rede IP destino = Alguma das Redes IP com interface direta
2.2.2.1.1.1 Descobre o endereo fsico do destino (ARP)
2.2.2.1.1.2 Transmite datagrama pela interface respectiva -> FIM
2.2.2.1.2 Faz um AND lgico bit-a-bit do endereo IP com as mscaras de cada rede da tabela de rotas e
compara com o endereo de rede da rota respectiva
2.2.2.1.3 Se algum conferir, descobriu uma rota
2.2.2.1.3.1 Verifica na tabela de rotas o endereo IP do roteador destino desta rota.
2.2.2.1.3.2 Descobre o endereo fsico do gateway (ARP)
2.2.2.1.3.3 Transmite o datagrama para o gateway -> FIM
3. Fim

Sub-Redes no utilizveis:
Devido a motivos histricos do desenvolvimento de TCP/IP, a diviso em sub-redes tem algumas restries
quanto a utilizao de algumas sub-redes. Basicamente, no se pode utilizar o endereamento que contm
todos os bits UM da poro da sub-rede. As implementaes mais novas permitem que este endereamento
seja utilizado.
A figura abaixo ilustra esta restrio na utilizao da sub-rede com os dois bits 11, para o caso da mscara
255.255.255.192. No caso da utilizao da mscara 255.255.255.224, no se deve utilizar a sub-rede com bits 111.

Mscara: 255.255.255.0

netid

3 octetos

hostid

1 rede
rede = 200.18.171.0
estaes de 1 a 254

1 octeto

11111111 11111111 11111111 00000000

Mscara: 255.255.255.192

netid

3 octetos + 2 bits

hostid
6 bits

11111111 11111111 11111111 11000000

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

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

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 ESPECFICA

Os tipos de mensagem ICMP so listados na tabela abaixo:

Mensagem ICMP

Tipo

Categoria

Echo Reply

Controle

Destination Unreachable

Source Quench

Controle

Redirect

Controle

Echo Request

Controle

Router Advertisement (RFC 1256)

Controle

10

Router Solicitation (RFC 1256)

Controle

11

Time Exceeded for a Datagram

Erro

12

Parameter Problem on a Datagram

Erro

13

Timestamp Request

Controle

14

Timestamp Reply

Controle

15

Information Request (obsoleto)

Controle

16

Information Reply (obsoleto)

Controle

17

Address Mark Request

Controle

18

Address Mark Reply

Controle

Erro

As mensagens ICMP so listadas abaixo:

Echo Request e Echo Reply


Utilizada pelo comando ping, a mensagem Echo Request enviada para um host causa o retorno de uma
mensagem Echo Reply. utilizada principalmente para fins de testes de conectividade entre as duas mquinas.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP


0

15

Octeto 1

Octeto 2

TYPE (8 ou 0)

CODE (0)

23
Octeto 3

35

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
9 : Communication with destination network administratively prohibited
10 : Communication with destination host administratively prohibited
O sub-tipo Fragmentation Needed and DNF set utilizado como forma de um host descobrir o menor MTU nas
redes que sero percorridas entre a origem e o destino. Por meio desta mensagem, possvel enviar pacotes
que no precisaro ser fragmentados, aumentando a eficincia da rede. Esta tcnica, que forma um protocolo
denominado de ICMP MTU Discovery Protocol, definido na RFC 1191.
A operao simples. Todo pacote IP enviado marcado com o bit DNF (Do Not Fragment), que impede sua
fragmentao nos roteadores. Desta forma, se uma pacote IP, ao passar por um roteador para chegar a outra
rede com MTU menor, deva ser fragmentado, o protocolo IP no ir permitir e enviar uma mensagem ICMP
Destination Unreacheable para o destino. Para suportar esta tcnica, a mensagem ICMP foi alterada para
informar o MTU da rede que causou o ICMP. Desta forma, a mquina origem saber qual o valor de MTU que
causou a necessidade de fragmentao, podendo reduzir o MTU de acordo, nos prximos pacotes. Esta
mensagem est ilustrada abaixo:
0

15

Octeto 1

Octeto 2

TYPE (3)

CODE (4)

23
Octeto 3

No usado (deve ser 0)

31
Octeto 4

CHECKSUM
MTU of next HOP

IP HEADER + FIRST 64 BITS OF DATAGRAM

...

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.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

15

Octeto 1

Octeto 2

TYPE (4)

CODE (0)

23
Octeto 3

36

31
Octeto 4

CHECKSUM

UNUSED (MUST BE ZERO)


IP HEADER + FIRST 64 BITS OF DATAGRAM

...

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:
0

15

Octeto 1

Octeto 2

TYPE (5)

CODE (0-3)

23
Octeto 3

31
Octeto 4

CHECKSUM

GATEWAY INTERNET ADDRESS


IP HEADER + FIRST 64 BITS OF DATAGRAM

...
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

37

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP


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

IP HEADER + FIRST 64 BITS OF DATAGRAM

Na figura acima, a estao 139.82.17.22 instalou, aps a mensagem ICMP, a seguinte rota na tabela de rotas:
Rede Destino

Mscara

Roteador (Gateway)

Hops

139.82.19.55

255.255.255.255

139.82.17.1

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

UNUSED (MUST BE ZERO)


IP HEADER + FIRST 64 BITS OF DATAGRAM

...
Esta mensagem utilizada pelo programa traceroute (ou tracert no Windows) para testar o caminho percorrido
por um pacote. O programa funciona da seguinte forma:
enviada uma mensagem ICMP Echo Request para um endereo IP destino. Esta mensagem enviada com
TTL = 1.
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.
O programa envia outra mensagem ICMP Echo Request para o endereo IP destino. Esta mensagem enviada
desta vez com TTL=2.
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.
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.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

38

ICMP Router Solicitation/Advertisement


Esta variao de ICMP, definido na RFC 1256 foi projetada para permitir que um roteador possa divulgar sua
existncia para as mquinas existentes na rede. O objetivo desta funo evitar a necessidade de se
configurar manualmente todas as estaes da rede com a rota default e permitir que uma estao conhea
outros roteadores alm do default que possam rotear no caso de falha do principal.
A mensagem composta de duas formas: a solicitao de divulgao de uma roteador e o anncio de um
roteador. O roteador pode ser configurado para enviar automaticamente as mensagens de anncio ou faz-lo
apenas comandado por uma mensagem de solicitao.
A mensagem ICMP Router Solicitation mostrada abaixo:
0

15

Octeto 1

Octeto 2

TYPE (10)

CODE (0)

23
Octeto 3

31
Octeto 4

CHECKSUM

RESERVADO

A mensagem ICMP Router Solicitation mostrada abaixo:


0

15

Octeto 1

Octeto 2

TYPE (9)

CODE (0)

23
Octeto 3

NUM ADDR 2 (Tam Reg)

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.
Aquisio de informaes de roteamento
Em uma estao e em um roteador, as informaes constantes na tabela de rotas podem ser obtidas de
diversas formas.
As rotas podem ser obtidas por uma estao ou em um roteador de diversas formas, com limitaes
dependendo da implementao do TCP/IP em cada sistema operacional:
Estao sem nenhuma rota. Neste caso, a estao vai precisar de pelo menor um roteador default. A estao
pode obter um roteador default atravs de:
protocolo ICMP Router Advertisement
Protocolo BOOTP ou DHCP durante a etapa de boot ou aps ela.
Escuta dos protocolos de roteamento como RIP e outras para descobrir roteadores
outras, sempre no respeitando a diviso em camadas
Estao com somente um roteador default. Com um roteador, a estao j pode operar corretamente. No caso
de existir rotas melhores atravs de outros roteadores, o roteador default informar rotas especficas atravs de
ICMP Redirect, sempre especfica para uma estao destino.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

39

Estao com mais de um roteador default, poder utilizar os diversos roteadores default, no caso de falha do
primeiro.
Estao com rotas especficas para outras redes configuradas de forma manual.
Estao executando algum protocolo de roteamento, geralmente na forma SOMENTE ESCUTA. Desta forma, a
estao pode aprender informaes de rotas trocadas entre os roteadores sem divulgar rotas.
possvel inclusive ocorrer o recebimento de informaes conflitantes ou no idnticas de rotas para
determinadas redes. O roteador resolve estes conflitos com a adoo de prioridades para rotas aprendidas por
meios diferentes. Geralmente, a ordem de prioridade da forma de aprendizagem das rotas da seguinte forma:
Rotas configuradas estaticamente tem maior prioridade, exceto se houver outra rota mais especfica (com
mscara mais longa). P. exemplo, um roteador possui uma rota para a rede 200.0.0.0 mas aprende uma rotas
especfica para 200.0.0.123. Esta ltima ter maior prioridade
Rotas especficas aprendidas por meio de ICMP Redirect e rotas default aprendidas por meio de ICMP Router
Advertisement
Rotas aprendidas por meio dos protocolos OSPF e BGP
Rotas aprendidas por meio do protocolo RIP

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

40

2. Protocolos da Camada de Transporte


A figura 1 ilustra a diviso em camadas da arquitetura TCP/IP:

Aplicao
Mensagens da aplicao

Transporte
Inter-rede
Datagramas IP

Rede

HDLC, X.25, PPP, SLIP,


Ethernet, Token-Ring, FDDI,
ATM, LLC, NDIS, ...

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.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

41

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.
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

42

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Formato da mensagem UDP


0

7
Octeto 1

15
Octeto 2

23
Octeto 3

31
Octeto 4

UDP SOURCE PORT

UDP DESTINATION PORT

UDP MESSAGE LENGTH

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.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

43

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:

Controle de Fluxo e Erro fim-a-fim


Servio confivel de transferncia de dados
Comunicao full-duplex fim-a-fim
A aplicao basta enviar um fluxo de bytes
Desassociao entre qtd. de dados enviados pela aplicao e pela camada TCP
Ordenao de mensagens
Multiplexao de IP, atravs de vrias portas
Opo de envio de dados urgentes

A conexo TCP ilustrada na figura abaixo:


Porta 22

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

Fecha conexo

DADOS
ACK
DADOS
ACK
FIN
ACK
FIN
ACK

Recebe dados

Transmite dados

Fecha conexo

A fase inicial de estabelecimento de conexo formada de trs mensagens, formando o three-way-hanshaking,


conforme a figura abaixo:

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP


SEQ
21

ACK
-

SEQ
152

SEQ
-

44

ACK
22

ACK
153

O pacote TCP formado pela mensagem mostrada abaixo:


0

15

Octeto 1

Octeto 2

23

31

Octeto 3

TCP SOURCE PORT

Octeto 4

TCP DESTINATION PORT

SEQUENCE NUMBER
ACKNOWLEDGEMENT NUMBER
HLEN

RESERVED

CODE BITS

WINDOW

CHECKSUM

URGENT POINTER

OPTIONS (IF ANY)

PADDING

DATA
...

Estes campos so definidos da seguinte forma:


TCP SOURCE PORT: Porta origem da mensagem
TCP DESTINATION PORT: Porta destino da mensagem
SEQUENCE NUMBER: nmero de sequncia dos dados sendo transmitidos face ao conjunto total de dados j
transmitidos. Este nmero indica a posio do primeiro byte de dados sendo transmitido em relao ao total de
bytes j transmitidos nesta conexo. O primeiro nmero de sequncia utilizado no zero ou um, mas comea
de um valor aleatrio. Logo se um pacote est trasmitindo do 1234o. byte at o 2000o. byte de uma conexo e o
SEQUENCE NUMBER inicial utilizado nesta conexo foi 10000, o campo SEQUENCE NUMBER conter o valor
11234. O sequence number em um sentido da conexo (mquina A para B) diferente do seuqnece number do
sentido inverso, j que os dados transmitidos por um e outro lado so completamente distintos.
ACKNOWLEDGE NUMBER: nmero que significa o reconhecimento dos dados recebidos at ento no sentido
inverso. O ACK de um sentido transmitido em piggy-backing no outro sentido. O ACK contm o nmero do
prximo byte do fluxo de dados recebido, que a origem deste pacote espera receber da outra mquina. Este
valor leva em considerao o nmero de SEQUENCE NUMBER inicial praticado pela outra mquina. O valor de
ACK informa sempre o prximo byte ainda no recebido do conjunto contguo de bytes recebidos do
transmissor.
CODE BITS: So formados por seis bits, URG, ACK, PSH, RST, SYN e FIN, cuja utilizao mostrada abaixo:
URG: bit de Urgncia: significa que o segmento sendo carregado contm dados urgentes que devem ser lidos
com prioridade pela aplicao. A aplicao origem responsvel por acionar este bit e fornecer o valor do
URGENT POINTER que indica o fim dos dados urgentes. Um exemplo da utilizao desta facilidade o aborto
de uma conexo (por exemplo por Control-C), que faz com que a aplicao destino examine logo o pacote at o
fim da rea de urgncia, descubra que houve um Control-C e termine a conexo.
ACK: bit de Reconhecimento: indica que o valor do campo de reconhecimento est carregando um
reconhecimento vlido.
PSH: bit de PUSH: Este mecanismo que pode ser acionado pela aplicao informa ao TCP origem e destino
que a aplicao solicita a transmisso rpida dos dados enviados, mesmo que ela contenha um nmero baixo
de bytes, no preeenchendo o tamanho mnimo do buffer de transmisso.
RST: bit de RESET: Informa o destino que a conexo foi abortada neste sentido pela origem

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

45

SYN: bit de Sincronismo: o bit que informa que este um dos dois primeiros segmentos de estabelecimento
da conexo.
FIN: bit de Terminao: indica que este pacote um dos dos pacotes de finalizao da conexo

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.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Apostila de
Internet e Arquitetura TCP/IP
volume I I

Curso de Redes de Computadores


2a edio
Jos Alberto Vasi Werner

46

47

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

1. Protocolos da camada de Rede e Protocolos auxiliares


de TCP/IP
Este protocolos so agrupados neste captulo, por fornecerem servios auxiliares para TCP/IP, tanto a nvel de
enlace OSI quanto a nvel a de aplicao.

BOOTP e DHCP
Este protocolos fornecem aos protocolos TCP/IP, as informaes iniciais de configurao da mquina tais
como endereo IP, mscara de sub-rede, roteadores default, rotas, servidores de Boot, servidores de nome e
diversas outras informaes. Eles so utilizados principalmente para realizar a administrao centralizada de
mquinas TCP/IP e possibilitar o BOOT de mquinas sem rgido e sem informaes iniciais de configurao. O
BOOTP (Bootstrap Protocol) o protocolo mais antigo e o DHCP (Dynamic Host Control Protocol) est aos
poucos o substituindo. O BOOTP bastante utilizado para o boot inicial de dispositivos de rede, como
roteadores, switches, hubs gerenciveis, alm de estaes Unix diskless (sem disco e cada vez mais raras
hoje). O DHCP um pouco mais complexo e mais verstil e vem sendo utilizado principalmente para simplificar
a administrao de endereos e outros parmetros de configurao de grandes instalaes de mquinas
TCP/IP.

Protocolo BOOTP
A mensagem BOOTP encapsulada em UDP e possui o seguinte formato:
0

15

Octeto 1

Octeto 2

23

31

Octeto 3

Octeto 4

HLENGTH
HOPS
HW TYPE
TRANSACTION ID
SECONDS (tempo desde o boot)
UNUSED

OP (1=Req,2=Rep)

CLIENT IP ADDRESS (se cliente souber)


YOUR IP ADDRESS
SERVER IP ADDRESS
GATEWAY IP ADDRESS
CLIENT HARDWARE ADDRESS (16 OCTETS)
SERVER HOST NAME (64 OCTETS)
BOOT FILE NAME (128 OCTETS)
VENDOR-SPECIFIC AREA (64 OCTETS)

As mensagens BOOTP Request e BOOTP Reply tem o mesmo formato mas no Request alguns campos no
so preeenchidos. Uma estao que deseja obter informaes de configurao pode enviar uma mensagem
BOOTP Request por broadcast. Um servidor de BOOTP pr configurado na rede com os parmetros de cada
cliente, receber a mensagem e enviar os dados previamente armazenados para o cliente. Este procedimento
mostrado nas duas figuras abaixo:
1

1
6
003267A3
2

0
0000

00000000
00000000
00000000
00000000
EF234A671234A012
000000000000000000
UNIX

1 Cliente
6
0
003267A3
BOOTP
2
0000
00000000
139.82.17.10
139.82.20.15
139.82.17.55
EF234A671234A012
servidor.inf.puc-rio.br
/bootfiles/vmunix

Servidor BOOTP

Na rea Vendor-Specific da mensagem BOOTP podem ser colocadas uma srie de variveis possveis
adicionais para configurao da estao cliente de BOOTP. Estas opes so definidas em RFCs adicionais e
servem tanto para BOOTP quanto para DHCP.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

48

Protocolo DHCP
O DHCP tem como principal vantagem em relao ao BOOTP a sua capacidade de configurao automtica de
estaes, sem necessidade de criao de uma tabela de configurao para cada mquina (com seus
parmetros e endereos MAC respectivos, como o caso de BOOTP). Desta forma, um administrador de rede
pode configurar as diversas estaes IP existentes na rede de modo genrico, sem especificar uma tabela para
cada uma.
O DHCP tem a capacidade de distribuir endereos de forma dinmica para as estaes, usando trs mtodos
de fornecimento distintos:
Emprstimo (leasing) de endereo aleatrio por tempo limitado: Neste tipo de fornecimento de endereo IP,
o servidor fornece ao cliente um endereo IP obtido de um conjunto pr-definido de endereos (p.ex.
192.168.0.10 a 192.168.0.90) por um tempo pr determinado.
Emprstimo de endereo aleatrio por tempo infinito: Neste tipo, o servidor associa um endereo obtido do
conjunto de endereos a um cliente na primeira vez que este cliente contactar o servidor. Nas demais vezes,
ser fornecido o mesmo endereo a este cliente (associado atravs do endereo MAC), mesmo que as duas
mquinas sejam desligadas e ligadas. Este mtodo simplifica a atribuio de endereos para uma
quantidade grande de mquinas.
Emprstimo de endereo fixo: Neste tipo de fornecimento, o DHCP opera como o BOOTP, onde h a
associao explcita entre o endereo IP e o endereo MAC da mquina origem, estipulado em uma tabela
de configurao
A mensagem DHCP compatvel com BOOTP e possui o formato abaixo:
0

15

23

31

Octeto 1

Octeto 2

Octeto 3

Octeto 4

OP

HTYPE

HLEN

HOPS

TRANSACTION ID
SECONDS

FLAGS
CLIENT IP ADDRESS
YOUR IP ADDRESS
SERVER IP ADDRESS
ROUTER IP ADDRESS

CLIENT HARDWARE ADDRESS (16 bytes)


SERVER HOST NAME (64 bytes)
BOOT FILE NAME (128 bytes
OPTIONS (Variavel)

Ao contrrio da mensagem BOOTP que possui apenas dois tipos de comandos (REQUEST e REPLY), a
mensagem DHCP possui 8 tipos de comandos. Este comandos no so colocados no campo OP, como em
BOOTP, mas para manter a compatibilidade, so colocados como uma opo especial no campo OPTIONS, a
de cdigo 53, associado a um dos comandos abaixo:
DHCP DISCOVER - Enviado pelo cliente para solicitar uma resposta de algum servidor DHCP
DHCP OFFER - Oferta de endereo IP de um servidor para um cliente. Um cliente pode receber vrias ofertas
de diferentes servidores DHCP
DHCP REQUEST - Requisio de um endereo especfico daqueles oferecidos pelos servidores. enviado por
broadcast apesar de ser endereado a um nico servidor para que os demais tomem conhecimento da escolha.
DHCP DECLINE - Informa que a oferta contm parmetros incorretos (Erro)
DHCP ACK - Confirmao do servidor sobre a atribuio do endereo para a requisio do cliente.
DHCP NAK - Servidor nega o fornecimento do endereo previamente oferecido, geralmente causado por um
erro ou pelo fato do cliente ter demorado muito a requisitar o endereo solicitado.
DHCP RELEASE - Cliente libera o endereo IP utilizado. raramente utilizado na prtica, pois geralmente o
cliente desligado sem liberar o endereo. Ele retorna ao conjunto de endereos disponveis no servidor devido
ao estouro do tempo de leasing.
DHCP INFORM - Cliente que j possui endereo IP pode requisitar outras informaes de configurao
respectivas quele endereo.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

49

A operao de DHCP define diversos estados de funcionamento, quando o cliente est executando alguma
ao e enviando uma das mensagens acima:
1. INITIALIZE
Configura interface com valor zero pois no tem endereo disponvel - 0.0.0.0
Envia DHCPDISCOVER(UDP 67) como broadcast e muda para estado SELECT. Nesta mensagem, pode
colocar opes de configuraes desejadas
2. SELECT
Pode receber uma ou vrias mensagens DHCPOFFER, cada uma com seus parmetros distintos
Escolhe uma, envia DHCPREQUEST como broadcast e vai para estado REQUEST
3. REQUEST
Aguarda at receber DHCPACK do servidor escolhido. Se no receber, escolhe outra oferta e a solicita
Vai para o estado BOUND.
4. BOUND
o estado normal de funcionamento.
Passa a utilizar o endereo, durante o tempo especificado pelo servidor
Quando o tempo atingir 50%, envia novo DHCPRequest para o servidor e passa para estado RENEW
Para cancelar o uso da endereo envia DHCPRelease
5. RENEW
Servidor pode enviar DHCPNAK, DHCPACK ou nenhuma resposta solicitao de Request
Se receber ACK, volta para o estado BOUND
Se no receber resposta nenhuma, o cliente envia DHCPREQUEST em broadcast para que outros
servidores possam enviar ofertas.

Se receber DHCPNAK, libera IP e vai para estado INITIALIZE

Opes DHCP
As opes DHCP tem o formato abaixo:
CODE

LENGTH

VARIVEL ...

O cdigo indica o tipo da opo. Os comandos DHCP tem sempre o cdigo 53 e tamanho 1, sendo o prximo
byte o cdigo especfico do comando:
1 = DHCPDISCOVER
2 = DHCPOFFER
3 = DHCPREQUEST
4 = DHCPDECLINE
5 = DHCPPACK
6 = DHCPNACK
7 = DHCPRELEASE
8 = DHCPINFORM

As opes de DHCP e BOOTP informam dados teis para as diversas camadas TCP/IP, desde o nvel de Reda
ao Nvel de Aplicao. Enumera-se algumas abaixo:
Opes Bsicas:
Code Param
0
255
1
MASK
3
IP1, IP2, ...
6
IP1, IP2,
9
IP1, IP2,
12
nome
13
nmero
15
nome
16
IP
17
nome

Descrio
Pad - alinhamento
Fim das opes
Mscara a ser utilizada pela estao
Lista de roteadores default para a estao
Lista de servidores de DNS
Lista de servidores de impresso LPR
Nome da mquina
Tamanho do arquivo de boot
Nome do domnio
Endereo do servidor de swap
Path do diretrio / da mquina

Opes de DHCP
Code Param
50
IP
51
tempo (s)
53
mensagem
54
IP
55
COD1,

Descrio
Endereo IP requerido preferencialmente
Tempo de emprstimo de endereo
Mensagem DHCP
Identificao do servidor DHCP remetente
Cliente requisita opes ao servidor

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

56
57
58
59

texto
nmero
tempo
tempo

Mensagem de erro
Tamanho mximo da mensagem DHCP
T1 - Tempo de espera para estado RENEWING
T2 - Tempo de espera para estado REBINDING

Opes de IP
Code Param
Descrio
19
1/0
Habilita IP Forwarding na estao
20
1/0
Habilita Source Routing na estao
22
nmero
Tamanho mximo do datagrama que cliente deve receber
23
nmero
Tamanho do TTL default da mquina
26
nmero MTU da interface
27
1/0
Todas as interfaces tem o mesmo MTU ?
28
IP
Endereo de broadacst da rede
29
1/0
Realizar ICMP Mask Discovery ?
31
1/0
Realizar ICMP Router Discovery ?
33
IP1/DEST1, IP2/DEST2, ..
Rotas estticas

50

51

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Protocolo PPP
O protocolo PPP (Point-to-Point Protocol) o principal protocolo para o transporte de IP sobre ligaes ponto
a ponto, criando um nvel de enlace em um meio que no o possua. O PPP empregado como protocolo de
enlace nos seguintes tipos de meio: ligaes seriais discadas, ligaes seriais dedicadas (enlaces telefnicos,
satlite, rdio), ligaes ISDN e outras.
Pode-se diferenciar o funcionamento de PPP em dois grupos principais: quando empregado em ligaes
discadas ele prov os mecanismos de autenticao, com a correspondente interao com os dispositivos para
verificar a autenticidade do originador da chamada, alm de que as mensagens trocadas diferenciam o
originador da chamada do receptor da chamada. Quando empregado em ligaes dedicadas, geralmente no
so trocadas mensagens de autenticao e o funcionamento do protocolo praticamente simtrico em relao
s mensagens trocadas.
PPP genrico podendo carregar diversos protocolos de nvel de rede OSI, alm de possuir uma srie de
opes que podem ser negociadas pelos dois lados da conexo. PPP prov trs tipos de funcionalidade:
Encapsulamento
Protocolos de Controle do Enlace PPP (protocolo LCP, PAP, CHAP, LQM)
Protocolos de Controle do Protocolo de Nvel 3 sendo carregado (protocolos IPCP, IPXCP, )
O Encapsulamento de PPP na verdade no faz parte do protocolo, permitindo que ele se encaixe em outros
protocolos de nvel de enlace. O PPP pode utilizar diversos tipos de encapsulamento compatveis com HDLC,
ISDN e outros. Na sua forma default, o encapsulamento de PPP similar ao incio de um pacote HDLC,
conforma a figura abaixo:
FLAG Addr

7E

FF

Ctrl

Protocolo

Dados

FCS

03

FLAG

7E

Os campos FLAG, ADDR e CTRL so similares a HDLC. Os campos Protocolo, Dados e FCS so comuns a todo
pacote PPP. Protocolo contm o protocolo sendo carregado no campo de dados, sendo por exemplo os valores: LCP =
C021, IPCP = 8021, IPXCP = 802B, PAP = C023, CHAP = C223, LQR = C025, IP = 0021, IPX = 002B, Bridging NCP =
8031, Netbios = 803F, ...
O encapsulamento dos diversos protocolos sobre PPP mostrado na figura abaixo:
Pacote LQM

Pacote IPCP
Pacote PAP

Pacote IP

Pacote LCP

FLAG Addr

Ctrl

Protocolo

Dados

FCS

FLAG

Pacote PPP

Protocolo LCP - Link Control Protocol


Este protocolo controla o enlace PPP. O formato de sua mensagem dado abaixo:

COMANDO

ID

Length

Dados Variveis

O Comando pode ser um dos seguintes tipos:


Configure-Request: Solicita o aceite para as opes especificadas no campo de dados

52

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Configure-Ack: Concorda com as opes, para serem utilizadas pelo outro lado
Configure-Nack: Rejeita as opes, enumerando-as no campo de dados
Configure-Reject: Rejeita as opes que no possuem um campo de valor
Terminate-Request: Informa o fim da conexo PPP
Terminate-Ack: Concorda com o fim da conexo
Code-Reject: Informa erro no cdigo do comando LCP
Protocol-Reject: Informa erro no protocolo da mensagem PPP
Echo-Request
Echo-Reply
Discard-Request

A troca de dados em uma conexo PPP realizada conforme a figura abaixo. Os comandos de configurao do
link PPP (LCP) so trocados com o objetivo de estabelecer os parmetros de operao da ligao. Aps o
acordo dos comandos de configurao, so passados os comandos de configurao do protocolo de dados
(IPCP) e, apes estes, so finalmente passados os pacotes do protocolo IP.
T

Configure-Request para parmetros default A


Configure-Nack para alguns parmetros propostos porA
Configure-Reject para parmetros sem campo de dados
Configure-Request para parmetros A modificados
Configure-Ack para parmetros A
Configure-Request para parmetros default B
A

Pacotes NCP de teste


Pacotes IPCP, PAP, CHAP, IP, etc...
Terminate-Request
Terminate-Ack

As opes de configurao LCP mais utilizadas so:

Maximum Receive Unit


Authentication Protocol
Quality Protocol
Magic Number
Protocol Field Compression
Address Control Field Compression

Em ligaes discadas comum os servidores de acesso remoto possurem a opo de deteco automtica de
PPP. Neste caso, como, geralmente os primeiros pacotes PPP trocados so os Configure-Request, basta que o
receptor verifique se os dados correspondem aos cdigos deste comando e, ento, iniciem automaticamente o
PPP.

Protocolo IPCP - Network Control Protocol


Os comandos possveis no protocolo IPCP so:

Configure-Request: Solicita o aceite para as opes especificadas no campo de dados


Configure-Ack: Concorda com as opes, para serem utilizadas pelo outro lado
Configure-Nack: Rejeita as opes, enumerando-as no campo de dados
Configure-Reject: Rejeita as opes que no possuem um campo de valor
Terminate-Request: Informa o fim da troca de dados IP
Terminate-Ack: Concorda com o fim da troca de dados
Code-Reject: Informa erro no cdigo do comando IPCP

53

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Este comandos so trocados de forma semelhante ao LCP, sendo que ao trmino da fase de acordo do IPCP,
passam os dados do protocolo IP.
As principais opes de configurao de IPCP so:
IP Compression Protocol: Informa se ser utilizado algum protocolo de compresso (e qual) para o
cabealho IP
IP Address: origem informa ao destino o endereo IP a ser utilizado pela origem. No caso de conter 0.0.0.0
(que ocorre tipicamente na estao que realiza uma ligao serial discada), o outro lado (neste caso o
servidor de acesso remoto) fornece o endereo IP a ser utilizado pela origem, atravs do comando
Configure Nack.
As possveis formas de negociao de endereo IP so dadas pela figura abaixo:
T

1. Cliente e servidor tem endereos especficos (ligao dedicada)


Configure-Request IP = 200.0.2.3
Configure-Ack
Configure-Request IP = 200.0.2.100
C
l
I
e
n
t
e

Configure-Ack

2. Cliente solicita endereo IP qualquer (ligao discada)


Configure-Request IP = 0.0.0.0
Configure-Nack IP = 200.0.2.99
Configure-Request IP = 200.0.2.100 (servidor informa seu prprio end.)
Configure-Ack

S
e
r
v
i
d
o
r
de
A
c
e
s
s
o

Protocolo SLIP
SLIP fornece apenas o encapsulamento para um enlace serial. Sua mensagem dado na forma abaixo:

Flag
0xDB - ESC

Data

Flag
0xC0 - END

O funcionamento de SLIP ocorre da seguinte forma:


Transmite ESC
Transmite datagrama, caracter por caracter, substituindo um ESC nos dados por ESC ESC
Transmite END

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

54

2. Interfaces do Nvel de Transporte (socket, WinSock)


A interface de socket do Unix um conjunto de funes para permitir a utilizao do sistema de comunicao
por processos (programas) neste sistema operacional. A interface Winsock composta de funes
semelhantes a socket, para o ambiente Windows.
A interface socket possui funes distintas para a comunicao com e sem conexo.
A utilizao das funes de socket para a comunicao sem conexo dada abaixo:
Cliente
Aplicao

Sistema
Operacional

socket()
bind()
sendto()
recvfrom()
close()

socket() Servidor
bind()
Aplicao
recvfrom()
sendto()
Sistema
close()
Operacional

Operacional

Inter-rede
TCP/IP

A utilizao destas funes dada abaixo:


socket: Inicializa a estrutura de dados do socket (equivalente ao SAP - Ponto de acesso de servio),
determinando qual o protocolo (PF_INET = TCP/IP) e o tipo do servio (DGRAM = UDP e STREAM = TCP)
bind: associa o socket a uma porta USP ou TCP - pode-se dizer que para o programador, a porta do
protocolo TCP ou UDP efetivamente o socket.
sendto: solicita ao sistema de comunicao o envio de dados, especificando o endereo IP destino e a porta
destino, alm dos prprios dados.
recvfrom: informa ao sistema de comunicao que o programa est aguardando dados. O programa ser
congelado enquanto no houverem dados para receber, sendo reativado quando chegarem dados.
close: desassocia a porta do socket e desativa o socket.
Deve-se observar que nem todas as funes geram mensagens de rede. De fato, apenas a funo sendto gera
uma mensagem.
A sintaxe destas funes mostrada abaixo:

sock1 = socket (pf, type, protocol)


pf = PF_INET | PF_APPLETALK | PF_NETW | PF_UNIX
type = SOCK_STREAM | SOCK_DGRAM | SOCK_RAW | SOCK_RDGRAM
close (sock1)
bind (sock1, localaddr, addrlen)
localaddr = struct {ADDR_FMLY, PROTO_PORT, IP_ADDR}
sendto (sock1, message, length, flags, destaddr, addrlen)
recvfrom (sock1, buffer. length, flags, fromaddr, addrlen)
nptr = gethostbyname (name)
nptr = struct {name, aliases, address_type, address}
nptr = gethostbyaddr (addr, len, type)

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

sptr = getservbyname (servname, proto)


sptr = struct {name, protocol, port)
No caso de comunicao utilizando conexo, a utilizao das funes dada na figura abaixo:
Cliente
Aplicao

Sistema
Operacional

socket()
bind()
connect()
write( )
read( )
close( )

socket() Servidor
bind()
Aplicao
accept()
read( )
Sistema
write( )
Operacional
close( )

Inter-rede
TCP/IP

A sintaxe das funes adicionais dada abaixo:

connect (sock1, destaddr, addrlen)


destaddr = struct {ADDR_FMLY, PROTO_PORT, IP_ADDR}
write (sock1, data, length)
read (sock1, buffer, length)
listen (sock1, qlength)
newsocket = accept (sock1, addr, addrlen)
ready = select (ndesc, indesc, outdesc, excdesc, timeout)
ndesc = numero de descritores a serem examinados
indesc = descritores examinados
excdesc = descritores examinados para exceo
timeout = tempo mximo de espera

55

56

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

3. Protocolos de Nvel de Aplicao


Os protocolos de aplicao TCP/IP so aqueles que realizam as funes de alto-nvel e que utilizam os servios
da camada de transporte UDP ou TCP para a comunicao.
Os protocolos de aplicao podem realizar funes diretamente acessveis pelo usurio como FTP, HTTP,
SMTP, POP3, IMAP4, Finger, Telnet, Chat, NFS, TFTP, NNTP e outros. Alm disto, podem tambm realizar
funes mais prximas do sistema de comunicao, tais como os protocolos DNS, BOOTP, DHCP, SNMP,
BGP4, e outros.
As aplicaes so ilustradas na figuira abaixo:

APLICAES
NFS
FTP

CMOT
RLOGIN
ASN.1 SMTP RSH

SNMP CMOT

TELNET HTTP DNS

ASN.1

TCP

XDR
TFTP BOOTP

RPC

UDP
IP + ICMP + IGMP

ARP

RARP

HARDWARE + ENLACE DE DADOS + PROTOCOLOS DE ACESSO

Protocolo DNS
O protocolo DNS (Domain Name System) especifica duas partes principais: regras de sintaxe para a definio
de domnios e o protocolo utilizado para a consulta de nomes.
O DNS basicamente um mapeamento entre endereos IP e nomes. A abordagem inicial para este mapeamento
era a utilizao de nomes planos, ou seja, sem hierarquia. Esta abordagem possui limitaes intrnsecas
quanto a escalabilidade e a manuteno. O sistema de nomes utilizado na Internet tem o objetivo de ser
escalvel, suportando a deinio de nomes nicos para todas as redes e mquinas na Internet e permitir que a
administrao seja descentralizada.
A estrutura de nomes na Internet tem o formato de uma rvore invertida onde a raiz no possui nome. Os
ramos imediatamante inferiores raiz so chamados de TLDs (Top-Level Domain Names) e so por exemplo
.com, .edu., .org, .gov, .net, .mil, .br, .fr, .us, uk, etc Os TLDs que no designam pases so utilizados nos
EUA. Os diversos pases utilizam a sua prpria designao para as classificaes internas. No Brasil, por
exemplo, temos os nomes .com.br., .gov.br, .net.br, .org.br e outros.
Cada ramo completo at a raiz como, por exemplo, puc-rio.br, acme.com.br, nasa.gov, e outros so chamados
de domnios. Um domnio a rea administrativa englobando ele prprio e os subdomnios abaixo dele. Por
exemplo o domnio .br engloba todos os subdomnios do Brasil. O domnio acme.com.br tem a
responsabilidade por todos os domnios abaixo dele.
A delegao de responsabilidade de um domnio a capacidade do DNS de simplificar a administrao. Ao
invs do domnio .br ser responsvel diretamente por todos os seus sub-domnios e os que vierem abaixo
deles, h na verdade uma delegao na atribuio de nomes para os diversos sub-domnios. No exemplo
acima, a empresa Acme possui a responsabilidade de administrao do domnio acme.com.br.

57

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

A hierarquia de domnios pode ser observada na figura abaixo:


root
edu

MIT

com

net

org

gov

mil

int

uk

UCLA

...

br

puc-rio

inf

telemdia

icad

com

acme

exu.inf.puc-rio.br
adm
exu oxum oxala

odeon

rh
serv.rh.adm.acme.com.br

fin

serv

Os domnios principais genricos, chamados de GTLDs (Generic Top Level Domain Names) que so .net, .com
e .org so administrados pelo Internic (Internet Network Information Center) que tambm responsvel pela
administrao do espao de endereamento IP. Recentemente foram criados novos nomes de domnio
genricos que sero utilizado a partir de 98. So eles: .firm, .store, .web, .arts, .rec, .infor, .nom.
Os domnios so completamente independentes da estrutura de rede utilizada. No existe necessariamente
algum relacionamento entre eles. O DNS possui uma estrutura inversa para poder representar o endereamento
de rede, ou permitir que seja feito o mapemento do endereo IP correspondente a um nome. Esta estrutura
possui como raiz principal a notao .arpa e possui como nico ramo o .in-addr. Abaixo deste so colocados
em ordem os bytes do endereo IP.

Implementao do DNS
O DNS implementado por meio de uma aplicao cliente-servidor. O cliente o resolver (conjunto de rotinas
em uma implementao de TCP/IP que permite a aconsulta a um servidor) e um servidor geralmente o
programa bind ou uma implementao especfica de um servidor de DNS (Windows NT).
Um servidor de DNS pode ser responsvel pela resoluo de uma ou mais nomes de domnios (ex.
acme.com.br, presid.acme.com.br). Seu escopo de atuao define a Zona de atuao de um servidor DNS. Por
exemplo, para resolver o domnio acme.com.br e seus sub-domnios existem trs zonas: a primeira resolve o
prprio domnio principal e os subdomnios mktg.acme e vendas.acme; a segunda resolve os domnios
engen.acme e prod.engen.acme; e a terceira resolve o domnio lab.engen.acme. Cada zona possui um servidor
de nomes principal ou primrio, que mantm em tabelas o mapeamento dos nomes em endereos IP daquele
domnio. Uma zona pode ter servidores secundrios que possam substituir os primrios em caso de falha. Os
secundrios, entretanto no possuem fisicamente as tabelas de mapeamento mas carregam regularmente as
informaes do primrio.

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

58

Veja figura abaixo:

br
com
Zona

acme

engen

Zona
lab
C

prod
E

mktg
C

vendas
C

G
Zona

Por outro lado, a representao do domnio reverso .in-addr.arpa para uma das mquinas de
prod.engen.acme.com.br visto abaixo:

arpa

br

serv1.prod.engen.acme.com.br =
200.18.100.2

in-addr
1

...

...

...

acme

...

200

...

18

engen

254

...

254

253

254

100

...

254

prod
serv1

serv1.prod.engen.acme.com.br

A resoluo de um nome realizada de forma recursiva, consultando diversos servidores de nome at chegar
quele responsvel pelo domnio consultado. Por exemplo a resoluo do endereo www.lab.acme.com.br,
ser realizado pelo servidor da zona responsvel por lab.acme.com.br. A figura abaixo ilustra o processo de
consulta:

NS2

br

NS3

com

com
org
acme
...

puc

5
6

NS1

acme

NS4

telemidia
7
1

www

resolver odeon

8
www =
200.18.1.1

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

59

Protocolos de Roteamento
Protocolo RIP
Conforme citado em captulos anteriores, o IP possui vrios mecanismos para obter informaes para sua
tabela de rotas (especficas de cada mquina). A tabela de rotas de IP pode ser preeenchida por meio de:
Rotas default por meio de configurao esttica (manual)
Rotas especficas por meio de configurao esttica (manual)
Rotas default por meio do protocolo ICMP Router Advertisement
Rotas especficas para estao por meio de ICMP Redirect
Rotas aprendidas dinmicamente por meio de protocolos de roteamento (ex. RIP, OSPF, BGP-4)

A ltima forma de aprendizado se aplica normalmente aos prprios roteadores, quando situados em redes
complexas, j que suas tabelas de rota devem conter os detalhes de roteamento da rede (Uma estao por
outro lado, pode ter rotas para um nico roteador default e aprender rotas melhores por meio de ICMP
Redirect).
O protocolo RIP do tipo Vetor de Distncia, j que baseia a escolha de rotas por meio da distncia em nmero
de roteadores. O funcionamento do protocolo RIP bem simples, consistindo na divulgao de rotas de cada
roteador para seus vizinhos (situados na mesma rede).
Cada roteador divulga sua tabela de rotas atravs de um broadcast na rede. Os demais roteadores situados na
mesma rede recebem a divulgao e verificam se possuem todas as rotas divulgadas, com pelo menos o
mesmo custo (custo a quantidade de roteadores at o destino).
Se no possurem rota para determinada rede divulgada, incluem mais uma entrada na sua tabela de rotas e
colocam o roteador que a divulgou como o gateway para aquela rede. Em seguida, sua prpria divulgao de
rotas j conter a rota nova aprendida. Este processo se repete para todos os roteadores em um conjunto de
redes, de modo que, aps vrias interaes, todos j possuem rotas para todas as redes. Uma rota aprendida
mantida enquanto o roteador que a originou continuar divulgando. Caso o roteador pare de divulgar a rota ou
nenhuma mensagem de divulgao seja recebida dele, o roteador que havia aprendido a rota a mantm por 160
segundos, findos os quais a rota retirada da tabela de rotas. Neste caso, se outro roteador divulgar uma rota
para aquela rede especfica, esta ser utilizada.
No caso em que um roteador, recebe rotas para uma mesma rede divulgadas por roteadores diferentes, a com
menor custo usada, sendo as demais descartadas.
O protocolo RIP no possui suporte para sub-rede (mscara de rede), o que s vem a ser suportado no
protocolo RIPv2.
O custo de uma rota a quantidade de roteadores que uma mensagem ter que atravessar desde o roteador
que possui a rota at a rede destino. O custo mximo em RIP tem o valor de 16, que significa infinito. Por isto, o
dimetro mximo de uma rede com protocolo RIP de 14 roteadores.

60

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

A mensagem RIP tem o seguinte formato:


0

15

Octeto 1

Octeto 1

COMMAND

VERSION

23

Octeto 1

31

Octeto 1

MUST BE ZERO

FAMILY OF NET 1
MUST BE ZERO
IP ADDRESS OF NET 1
MUST BE ZERO
MUST BE ZERO
DISTANCE TO NET 1
FAMILY OF NET 2
MUST BE ZERO
IP ADDRESS OF NET 2
MUST BE ZERO
MUST BE ZERO
DISTANCE TO NET 2
...

Nesta mensagem, as rotas divulgadas por cada roteador so includas na parte IP ADDRESS OF NET X .
As figuras abaixo mostram a divulgao de rotas por meio do protocolo RIP. Os roteadores divulgam e
recebem informaes de rotas via RIP, enquanto as estaes apenas aprendem as rotas (RIP passivo).
1. Roteador G1 divulga sua tabela de rotas, que inicialmente contm apenas as rotas diretas, para as redes
ligadas diretamente.

G1
Rede 1

G2
Rede 2

G1 Rede 2 0

Rede 3

G1 Rede 1 0

Tabela de Rotas
Rede GW M
Rede 1 - 0

Rede GW M
Rede 1 - 0
Rede 2 - 0

Rede GW M
Rede 2 - 0

Rede GW M

Rede GW M
Rede 3 - 0

2. O roteador G2, possui rotas para as redes ligadas diretamente, mas recebe um pacote de divulgao de rotas
de R1, com uma rede nova (Rede 1). O roteador G2 instala a rota nova na sua tabela de rotas.

G1
Rede 1

G2
Rede 2

Rede 3
G1 Rede 1 0

Tabela de Rotas
Rede GW M
Rede 1 - 0
Rede 2 G1 1

Rede GW M
Rede 1 - 0
Rede 2 - 0

Rede GW M
Rede 2 - 0
Rede 1 G1 1

Rede GW M
Rede 2 - 0
Rede 3 - 0
Rede 1 G1 1

Rede GW M
Rede 3 - 0

61

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

3. O Roteador G2 divulga suas rotas para as redes ligadas diretamente, incluindo a rota nova aprendida de G1.
G1, recebendo esta divulgao, instala uma rota nova para a Rede 3.

G1
Rede 1

G2
Rede 2

Rede 3
G2 Rede 3 0

G2 Rede 1 1
G2 Rede 2 0

Tabela de Rotas
Rede GW M
Rede 1 - 0
Rede 2 G1 1

Rede GW M
Rede 1 - 0
Rede 2 - 0

Rede GW M
Rede 2 - 0
Rede 1 G1 1

Rede
Rede 2
Rede 3
Rede 1

GW M

- 0
- 0
G1 1

Rede GW M
Rede 3 - 0

O protocolo RIP possui problemas intrnsecos de loop e convergncia. O problema de convergncia ocorre no
seguinte caso:

Rede A

R1

R2

R3

Rede B

O roteador R2 havia aprendido uma rota para a Rede A, atravs de R1. Tanto R1 quanto R2 divulgam de 30 em
30 segundos a sua tabela de rotas por meio de RIP. No funcionamento normal, se R1 perder a rota para a Rede
A, o roteador R1 divulgar uma mensagem RIP contendo uma rota para a Rede A com custo infinito (=16). O
roteador R2, ao receber esta rota, verificar que ela veio de R1, de onde havia aprendido a rota para a rede A.
Ele ento proceder como determina o protocolo RIP e colocar a rota tambm com custo = 16.
Entretanto se, quando R1 perder a rota para a Rede A, R2 enviar sua tabela de rotas por RIP antes que R1 o
tenha feito, R1 verificar que R2 possui uma rota melhor que ele para a rede A, com custo = 2 (j que R2
enviaria por meio de R1). R1 ento instala uma rota para a rede A com custo = 3, sendo R2 o gateway da rota.
Na prxima divulgao de R1, R2 constatar uma rota para a rede A com custo = 3. Ele ento atualizar sua
prpria rota (j que a havia aprendido de R1), com custo = 4. A prxima divulgao de R2, causar a respectiva
alterao do custo da rota em R1 para 5. Isto ocorre at que o custo desta rota atinja o valor 16.
O problema de convergncia pode ser reduzido adotando-se as seguintes tcnicas:
split -horizon update: no divulga rotas de volta para a interface de onde recebeu a informao de rota
hold-down: no aceita por 60s informaes sobre uma rede aps ela ser dada como no -alcanvel
poison-reverse: divulga rotas de volta para a interface de onde recebeu a rota, mas com mtrica 16 (no
-alcanvel e mantm este estado durante um tempo mnimo, mesmo recebendo rota para a rede
riggered-updates: fora um roteador a divulgar imediatamente as rotas quando recebe rede no-alcanvel

62

CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

Protocolo RIP2
O protocolo RIP2 bastante semelhante ao RIP, com as seguintes adies:
As rotas contm a mscara da rede destino, permitindo divulgar rotas para subredes
O protocolo pode ser autenticado, adicionando segurana
RIP2 pode carregar informaes de outros roteadores adjacentes, que funcionam com outros protocolos
(como OSPF e BGP-4)
A mensagem RIP mostrada abaixo:
0

Octeto 1

15

Octeto 1

23

Octeto 1

31

Octeto 1

COMMAND (1) VERSION (2)


MUST BE ZERO
FAMILY OF NET 1
ROUTE TAG
IP ADDRESS OF NET 1
SUBNET MASK
NEXT HOP GATEWAY
DISTANCE TO NET 1
...