Você está na página 1de 24

INTRODUÇÃO AO TCP/IP

PROTOCOLOS TCP/IP
ARQUITECTURA TCP/IP

Conceitos Introdução

Protocolos TCP/IP No final da década de 1960, a Agência ARPA


Nomes e Endereços (Advanced Reaseorch Projects Agency) iniciou o
projecto de uma rede de computadores conhecida
Serviços de redes TCP/IP como ARPANET. O objectivo era implementar a rede
Comandos e Utilitário TCP/IP física de suporte as comunicações e uma arquitectura
de comunicação e respectivos protocolos. Uma das
primeiras arquitecturas de comunicação a surgir foi
uma arquitectura de quatro camadas desenvolvida
pelo departamento de defesa (DOD - Department of
Defense). O DOD serviu de base a arquitectura mais
usada actualmente, a arquitectura TCP/IP.
http://tools.ietf.org/html/rfc1122
ARQUITECTURA TCP/IP
A arquitectura de comunicação TCP/IP inclui um conjunto de protocolos de Suporte à transmissão de
dados. A sua simplicidade e o facto de ser uma arquitectura aberta torna TCP/IP na arquitectura utilizada
na maioria das sedes de comunicação de dados incluindo rede Internet.
O TCP/Ip usa conceitos e modelos similares aos modelos OSI, com uma estrutura de camadas bastantes
próxima (ver doc. 'Arquitectura de comunicação' slide 15)

Abordagem com cinco camadas tem a


vantagem de que a camada Internet passa a ser
identificada como uma camada nível 3, ao
mesmo nível da camada de rede no modelo Dados / Data
OSI. Desta forma, quando se diz que um
equipamento implementa serviços do nível 3,
não surgem dúvidas de interpretação, pois em
ambos os modelos o nível 3 tem as mesmas Segment / Segmento
funções.
Packet / Pacote

Frame / Trama
PROTOCOLOS TCP/IP
7 Aplicação
Telnet FTP SMTP HTTP DHCP DNS SNMP TFTP
6

4 Transporte

TCP UDP

3 ICMP ARP RARP Internet

IP

2 Acesso à Rede

Ethernet FastEthernet GigabitEthernet Token Ring


PROTOCOLOS DA CAMADA DE TRANSPORTE
A camada de transporte no modelo TCP/IP realiza a transferência de dados entre os
extremos da comunicação. No lado do emissor, os dados recebidos da camada de
aplicação são divididos em segmentos antes de serem transmitidos. No lado do
receptor, os segmentos são reagrupados e entregues a camada de aplicação. Os dois
protocolos utilizados na camada de transporte no modelo TCP/IP são o TCP
(Transmission Control Protocol) e o UDP (User Datagram Protocol)

COM SEM
Controlo de Transmissão Controlo de Transmissão

TCP UDP
TCP - FORMATO DO SEGMENTO

http://tools.ietf.org/html/rfc793#section-3.1
TCP- TRANSMISSION CONTROL PROTOCOL

Conceitos Introdução

Formato do segmento tcp O protocolo TCP é conhecido como sendo fiável


porque garante que os dados são todos entregues
Transferência de dados na ordem correcta.
Partilha de ligação É pois um protocolo orientado à ligação.
Controlo de ligação Adicionalmente, o protocolo realiza o controlo de
Recuperação de Erros fluxo com janela, a partilha de ligações e a
recuperação de erros.

http://tools.ietf.org/html/rfc675
http://tools.ietf.org/html/rfc793
TCP- TRANSFERÊNCIA DE DADOS E PARTILHA DE LIGAÇÃO

O protocolo TCP garante a transferência de dados entre aplicações. A aplicação do emissor gera os dados e
envia-os para o TCP juntamente com o endereço lógico e a identificação da aplicação a quem se destinam
os dados. As aplicações são identificadas com um número designado o porto. O conjunto formado pelo
número do porto, pelo endereço destino e pelo nome do protocolo de transporte que deve ser usado na
transmissão designa-se socket. Numa comunicação de dados, existe um socket origem e um socket destino.

Um socket consiste numa entidade criada a pedido, no


sistema, que funciona como se fosse um telefone,
tendo associado um endereço IP e um número (port),
que definem a máquina e o tipo de serviço que deve
ser envolvido na comunicação. (ver notas)
http://www.faqs.org/rfcs/rfc147.html
http://www.ietf.org/rfc/rfc147.txt

Os números dos portos desempenham aqui um papel fundamental para que aplicações
diferentes partilhem a mesma ligação TCP. A atribuição de portos as aplicações de servidor
obedece a um mapeamento predefinido. Todas as aplicações de servidor tem um porto bem
definido no intervalo entre 1 e 1023 (definidos no RFC 3232).
http://www.ietf.org/rfc/rfc3232.txt http://www.iana.org/assignments/port-numbers
TCP - CONTROLO DE LIGAÇÃO
Basicamente o TCP inicia
uma ligação entre duas
entidades usando protocolo
de três vias.

Para terminar a ligação, o


TCP usa um protocolo de
quatro caminhos, baseado no
bit de controlo FIN
TCP - RECUPERAÇÃO DE ERROS
O TCP garante a fiabilidade da transferência de dados através de um mecanismo
de recuperação de erros. Na situação de perca de dados ou erro há um código de
verificação de erros para o TCP iniciar a recuperação do segmento perdido.

Em caso de erro o TCP não


confirma a recepção do
segmento.

Após algum tempo sem a


confirmação do segmento
enviado, o cliente HTTP ira
reenviar o segmento.
TCP - CONTROLO DE FLUXO COM JANELA
O TCP realiza o controlo de fluxo com base numa janela de bytes. A janela
indica o número máximo de bytes que podem ser enviados sem confirmação
do receptor. O tamanho da janela ajusta-se de acordo com a percentagem de
erros verificados na transmissão. Inicialmente, a janela tem um tamanho
pequeno que depois vai crescendo até que comecem a ocorrer erros. Quando o
emissor enviou tantos bytes quantos os suportados pela janela, diz se que a
janela esta cheia e o emissor não pode caviar mais segmentos.
UDP- USER DATAGRAM PROTOCOL

Conceitos Introdução

Formato do segmento UDP O protocolo UDP, tal como o TCP, disponibiliza


serviços de transferência do dados e de partilha
Aplicações de Rede de ligações por várias aplicações. No entanto, não
é um protocolo fiável, uma vez que não garante a
entrega de todos os segmentos, nem a ordem por
que são entregues. Além disso, não tem qualquer
mecanismo de controlo de fluxo e não tem
qualquer processo de inicialização e terminação
de ligação, daí a designação de protocolo sem
ligação. A redução número de serviços do
protocolo UDP reduz consideravelmente o
tamanho do seu tamanho, quando comparado
com o do TCP

http://tools.ietf.org/html/rfc768
UDP - FORMATO DO SEGMENTO

http://tools.ietf.org/html/rfc768
UDP -APLICAÇÕES DE REDE
O UDP e, geralmente, usado por aplicações tolerantes a perda de dados ou
quando os mecanismos de recuperação de erros são garantidos pela
aplicação.

As aplicações mais comuns que usa o UDP são:

DNS (Domain Name System)


NFS (Network File System)
SNMP (envia periodicamente pequenas mensagens de monitorização da rede.)
Aplicações de streaming como IPTV, Voice over IP,TFTP (Trivial File Transfer
Protocol).
Jogos online.
PROTOCOLOS DA CAMADA DE REDE

Os protocolos da camada de rede garantem a transferência de dados através de


várias redes que podem utilizar tecnologias diferentes. Para tal, os dados
recebidos da camada de transporte são fragmentados em pacotes que depois são
reagrupados no receptor.
Cada pacote é identificado com os endereços lógicos de origem e de destino e,
em função do endereço destino, são encaminhados através das diferentes redes
até chegar ao receptor.

IP ICMP
IP- INTERNET PROTOCOL

Conceitos Introdução

Formato do segmento IP O protocolo IP realiza a transferência de pacotes


com base no endereço lógico, também
designando endereço IP. Os segmentos recebidos
do TCP ou do UDP são fragmentados, se
necessário, para criar pacotes. A cada pacote é
adicionado o endereço IP origem e destino, de
acordo com a informação recebida do protocolo
de transporte. De seguida, com base no endereço
destino, o pacote é encaminhado através das
várias redes até chegar ao receptor. Aqui. os
pacotes são reagrupados e enviados para a
camada de transporte.

IP é um protocolo sem ligação, em que os pacotes


podem seguir caminhos diferentes para chegar ao
destino.
http://www.ietf.org/rfc/rfc791.txt
http://www.ietf.org/rfc/rfc2460.txt
IP- PACOTE (PACKET)
ICMP - PROTOCOLO DE MENSAGENS DE CONTROLO DE REDE
O ICMP é um protocolo de rede usado para enviar mensagens relacionadas
com problemas que ocorrem durante a transmissão de dados. As mensagens
geradas pelo ICMP são enviadas para o protocolo IP que as encapsula num
cabeçalho IP antes de as transmitir

Mensagens Mais comuns:


Pedido de resposta e resposta ao pedido - usado pelo comando PING
Destino inalcançavel
Rede inalcançável
Dispositivo inalcançável
Fragmentação negada
Porto / Protocolo inalcançável
Ultrapassou o TTL limite
Redireccionar - um router pode enviar uma mensagem sempre que receber um pacote para o
qual existe um outro router com uma rota melhor.
PROTOCOLO DE ACESSO À REDE
Address Resolution Protocol

Fornece o endereço MAC em função de um endereço IP fornecido.


Todos os computadores mantêm uma tabela (arp cache) com equivalências
entre endereços IP e endereços MAC, à medida que estas vão sendo obtidas.
Evitar a utilização repetitiva de broadcasts;
Aplicar em todos os frames Ethernet destinados ao host o endereço MAC
obtido através do endereço IP.

Point to Point Protocol

Utilizado com o serviço RAS (Remote Access Services ) para estabelecer


ligações ponto a ponto através de um modem, adaptador ISDN ou routers.
Capacidade nativa de proceder à autenticação do utilizador que faz o acesso,
utilizando encriptação.
Usado no acesso aos servidores dos ISP.
PROTOCOLOS DA CAMADA DE APLICAÇÃO
telnet
Utiliza TCP através do port 23 para estabelecer uma emulação de terminal com um
host denominado telnet server, que corre o serviço telnet.
Ao estabelecer a ligação é necessário que o utilizador se identifique, indicando os
dados da sua account no servidor telnet.
ftp
Permite a troca de ficheiros com outros hosts através da utilização do protocolo File
Transfer Protocol (camada de Application).
Utiliza TCP através dos ports 20 e 21, mantendo uma sessão fiável entre as máquinas.
O servidor tem de estar a correr o serviço FTP

tftp
Desempenha o mesmo papel do ftp, mas usa o protocolo UDP ao nível da camada de
transporte.
Usa o protocolo Trivial File Transfer Protocol.
Não exige qualquer tipo de identificação por parte dos utilizadores, sendo necessário
apenas ter permissões de acesso.
Utiliza o port 69.
PROTOCOLOS DA CAMADA DE APLICAÇÃO
Simple Mail Transfer Protocol

Utilizado em mail servers, permitindo o envio de correio electrónico dos utilizadores para o servidor
e entre servidores SMTP.
Juntamente com o POP3 é usado para a troca de e-mail através da Internet existe um protocolo
mais sofisticado para administrar as mensagens de correio electrónico guardadas no servidor que é
IMAP

Simple Network Management Protocol

Protocolo de troca de informações de gestão entre dispositivos.


Permite especificar uma série de computadores e eventos que serão sujeitos ao controlo por parte do
sistema.
Os computadores e devices de rede enviam informação quanto ao seu comportamento para um
computador designado por SNMP manager, permitindo gerir à distância as diversas componentes
envolvidas na rede informática.

http- hypertext transfer Protocol

Protocolo mais usado para aceder conteúdos das páginas web.


Permite também a par do FTP carregar ficheiros de páginas web.
UTILITÁRIOS
ping

Permite testar a comunicação com qualquer host, para verificar o bom funcionamento dos
hosts e da rede.
Permite testar a instalação do TCP/IP no host.

ipconfig

Fornece informação genérica sobre a configuração do TCP/IP na máquina onde é executado.


Outras funções: registo do computador no DNS; limpeza da cache DNS local; associação do
computador a uma classe para efeito do DHCP.

wntipcfg

Versão gráfica do ipconfig.

arp

Permite consultar e manipular a tabela de equivalências, entre os endereços IP e os endereços


MAC, mantida pelo computador (arp cache).
Controla a cache para cada uma das placas de rede existentes no computador.
UTILITÁRIOS
hostname

Fornece o nome do host da máquina.

nbtstat

Fornece informação detalhada sobre nomes NetBIOS envolvidos na comunicação via rede,
incluindo os computadores remotos.

netstat

Fornece estatísticas detalhadas sobre o funcionamento dos protocolos IP, TCP, UDP e ICMP
produzidas automaticamente pelo ICMP.

nslookup
Usada por hackers para obter informação útil para forçar a entrada em redes mal protegidas.
Permite aceder e extrair informação de servidores DNS, que contêm informação sobre os
computadores de uma rede.

route
Serve para manipular a routing table para determinar os locais onde deve direccionar os
pacotes IP.
UTILITÁRIOS

tracert
Permite verificar qual o caminho tomado pelos pacotes até atingirem um destino especificado.
Utiliza o protocolo ICMP.

pathping
Semelhante ao tracert, mas mais sofisticado.
Possibilita o uso de prioridades dos pacotes gerados.

finger
Permite obter informação sobre um utilizador de um determinado host.
O host remoto tem de estar a correr o serviço finger.

Network monitor
Executável gráfico que permite capturar e visualizar os pacotes enviados e recebidos pelo adaptador
de rede.
Necessita que o agente esteja activado.