You are on page 1of 62

Arquitetura de Protocolos TCP/IP

Prof. Mauro Tapajs

Protocolo IP
A tnica dos protocolos TCP/IP era compor um conjunto que viabilizasse uma rede que fosse robusta e automaticamente se recuperasse de falhas em ns ou links Protocolo usado na Internet para unir todos os tipos heterogneos de redes que a compem Esta opo permite a construo de redes de grande porte com pouco gerenciamento centralizado - interconexo Pacotes e datagramas possuem o mesmo sentido no mbito do IP. uma rede best-effort (melhor esforo): podem ocorrer atrasos, pacotes fora de ordem, danificao e perda de pacotes. Camadas de protocolos superiores devem tratar destes problemas

Protocolo IP
Os roteadores encaminham pacotes da origem ao destino dentro da rede toda (global) e no s dentro da tecnologia de rede Entrega de pacotes de tamanhos variados de um host para outro, mesmo se estiverem em redes diferentes Realiza fragmentao e remontagem, define formato dos pacotes e algoritmos de encaminhamento de pacotes Existe uma tendncia a se rodar tudo sobre IP IMPs numa rede IP so roteadores e operam em modo datagrama (sem conexo)

Operao a Nvel de Camada de Rede IP

MTU - Maximum Transmission Unit


Cada tecnologia de rede que implementa a subrede possui o seu prprio MTU
Ethernet: 1518 bytes FDDI: 4500 bytes Token Ring: 2 to 4 kB

Cada subrede tem um tamanho mximo de datagrama IP (cabealho + payload) = MTU

Rede 1 MTU=1500

Rede 2 MTU=1000

Protocolo IP
Prev um esquema de endereamento hierrquico Executa procedimentos de fragmentao e remontagem Define um algoritmo de encaminhamento de pacotes uma rede best-effort (melhor esforo): podem ocorrer atrasos, pacotes fora de ordem, danificao e perda de pacotes. Camadas de protocolos devem tratar destes problemas Cabe ao protocolo IP definir um nvel de encaminhamento rpido e flexvel de pacotes

Arquitetura TCP/IP

Exemplos de Aplicaes na Internet


Correio Eletrnico Terminal Remoto Transferncia de Arquivos Newsgroups Compartilhamento de Arquivos Distribuio de Recursos WWW - World Wide Web Vdeo-conferncia Jogos online

Exemplo Rede IP

Camadas Envolvidas

Rede IP: Exemplo

Rede IP: Exemplo


Protocolo IP interconectando redes de tecnologias Ethernet, FDDI e PPP

Endereos IP
nicos para toda a rede Se uma mquina muda de rede dentro da rede TCP/IP, normalmente ela deve alterar seu endereo IP Mquinas com vrias interfaces de rede deve ter um endereo IP para cada interface

Tipos de Endereos IP

Aspectos de Endereos IP
Endereos normalmente reservados
Endereos da rede em questo Endereos com os bits da parte HOST iguais a zero Endereos de broadcast na rede em questo Endereos com os bits da parte HOST iguais a um

Nem todos os endereos possveis foram atribudos a classes Endereos classe A 127.*.*.* so chamados de loopback e so reservados para: Teste de aspectos do TCP/IP Comunicao inter-processo na mesma mquina Pacotes com endereos de loopback como os acima no devem ser encontrados numa rede

Endereos IP reservados
Utilizados para fins especiais

Como Obter Endereos IP?


Se for prevista conexo com a Internet, deve-se usar endereos vlidos O rgo responsvel em atribuir endereos IP vlidos, domnios e parmetros de protocolos para as vrias organizaes o ICANN (Internet Corporation for Assigned Names and Numbers) Estes servios eram prestados anteriormente pela IANA (Internet Assigned Numbers Authority) No Brasil, organizao responsvel pela atribuio de endereos Internet vlidos a FAPESP em So Paulo (tambm responsvel em atribuir domnios, AS, etc) registro.br

Subredes
Endereamento baseado em classes no eficiente por que grande a demanda de endereos de rede classe B Pode-se utilizar sub-divises das classes B e C para organizar subredes dentro de uma regio de rede atendida pelo endereamento B ou C Cria um segundo nvel de hierarquia de forma que uma mscara de subrede indique que parte dos bits do endereo representam a subrede

Subredes
Roteadores utilizam a mscara de subrede para indicar destinos possvel nas suas tabelas de roteamento Criam hierarquias de 3 nveis Podem ser criadas sem necessidade de se notificar o NIC (autoridade que designa endereos para a Internet) Subdivide uma rede de forma particular e controlada pelo dono da rede

Rede

Host

O limite se torna flexvel e definido pela mscara de subrede

Subredes: Exemplo

Nesta rede classe B, 6 bits do terceiro byte so reservados endereamento de subredes

Subredes (exemplo)

Broadcasting
Utiliza endereos com bits todos 1s em determinadas partes Endereos broadcast:
Limited - 255.255.255.255 Net-direct netid.255.255 (exemplo: classe B) Subnet-direct netid.subnetid.255 (exemplo de rede classe B com 8 bits alocados para subredes)

S faz sentido se usado por protocolo que permita broadcasting (UDP, ARP, DHCP, etc) Deve ser usado com cuidado sobrecarrega a rede

ARP (Address Resolution Protocol)


Como saber para que equipamento mandar se somente temos um endereo IP global? TCP/IP suporta qualquer tecnologia de rede com quaisquer endereos de camada 2 Endereos fsicos podem ser fixos (Ethernet) ou configurveis O ARP mapeia endereos de rede IP em endereos de camada de enlace (fsicos) - IP ->MAC Baseado em broadcasts em nvel de enlace Usado para se saber qual endereo MAC est usando um IP Entradas no cache so temporizadas Proxy ARP (configurvel) -> roteadores

ARP

ARP
Encapsulado diretamente no quadro Cache de resoluo de endereos mantido em cada host Broadcast:
Inclui endereos IP e Fsico do host origem Hosts receptores atualizam seu cache

ARP Quadro Header Data

RARP (Reverse Address Resolution Protocol)


Permite que um determinado endereo MAC saiba seu IP (MAC ->IP) Utilizado principalmente por hosts diskless feito via um broadcast de nvel de enlace na rede (endereo MAC composto somente por 1s) Necessidade de haver um servidor RARP em cada rede Formato de quadro igual ao ARP A evoluo do RARP como protocolo de boot de mquinas sem IP foram o BOOTP (Bootstrap Protocol) e o DHCP (Dynamic Host Configuration Protocol)

ICMP (Internet Control Message Protocol)


IP sozinho no prov servios para detectar falhas e efetuar testes Permite comunicao de controle e sinalizao de erros entre software IP de roteadores e hosts Alerta de eventos na rede e monitoramentos Destino das mensagens ICMP -> IP software (e no uma aplicao) Todas as implementaes IP devem tambm implementar ICMP Algumas funes:
Anncio de erros de rede Anncio problemas de congestionamento Auxlio no diagnstico de problemas Informe de timeouts

ICMP Tipos de Mensagens

ICMP
Encapsulado pelo IP mas ainda parte da camada de rede O cabealho ICMP composto de:
Tipo (8 bits) : tipo da mensagem Cdigo (8 bits) : parmetros especficos Checksum (16 bits) : check da mensagem ICMP toda Parmetros (32 bits) : parmetros especficos

ICMP Datagrama Quadro Header Header

Header Data Data

Data

Valores ICMP

Formatos de Mensagens ICMP

Alguns Usos Especficos do ICMP


Mensagens de Echo request/reply (comando ping) Usada para testar se um host est vivo Usado para se saber os hosts num segmento Podem calcular o tempo de envio e recebimento da resposta Pedidos de mscara de endereo Aviso de destino inalcanvel na rede Endereo invlido para o equipamento Aviso de Timeout TTL de pacotes Muitos saltos no pacote o expiraram no seu percurso ao destino (no usado em pacotes multicast!) Utilitrio traceroute

Ping ICMP
A
R1 R2 R3

Echo request

Time
Echo reply

traceroute
O comando traceroute grava as rotas tomadas pelos pacotes Quando um pacote chega num roteador e seu campo TTL chega a zero, enviada uma mensagem ICMP de time exceeded Incrementando o campo TTL ele consegue receber mensagens time exceeded de forma a registrar e mapear o caminho sendo dado pela rede para determinado endereo de destino Continua at chegar no destino ou uma mensagem de erro ocorrer

traceroute
Te = Time exceeded Pu = Port unreachable

R1
TTL=1, Dest = B, port = invalid

R2

R3

Te (R1)
TTL=2, Dest = B

Time

Te (R2)
TTL=3, Dest = B

Te (R3)
TTL=4, Dest = B

Pu (B)

O que o IP no faz?
Criao de circuitos lgicos (seu servio sem conexo datagrama) Comunicao confivel fim-a-fim e controle de fluxo fim-afim (protocolos de nvel superior TCP ou protocolos de aplicao) Deteco de erros nos payload dos pacotes (TCP, UDP ou outros) Sinalizao de erros e alteraes (ICMP) Montagem de tabelas de roteamento (RIP, OSPF, BGP) Resoluo e mapeamento de endereos e nomes (ARP, RARP, DNS) Configurao automtica de endereos (BOOTP, DHCP) Suporte grupos e roteamento multicast (IGMP, MBONE)

Alguns Protocolos de Suporte ao IP


ARP (Address Resolution Protocol) RARP (Reverse Address Resolution Protocol) ICMP (Internet Control Message Protocol) IGMP (Internet Group Management Protocol) RSVP (Resource Reservation Protocol) RIP (Routing Information Protocol) OSPF (Open Shortest Path First) BGP (Border Gateway Protocol) EGP (Exterior Gateway Protocol)

Alguns protocolos da Sute TCP/IP

Protocolos de Transporte TCP/IP


Comunicao fim-a-fim numa rede interconectada No conjunto de protocolos TCP/IP temos a oferta de servio orientado a conexo e confivel (protocolo TCP) e servio no-orientado a conexo baseado em datagrama (protocolo UDP)

Protocolos de Transporte TCP/IP

Protocolos de Transporte TCP/IP

Protocolo TCP
Baseado na transferncia de sequncias de bytes entre buffers de transmisso e recepo Bem projetado: no mudou muito desde sua apario nos anos 60 Suporta aplicaes bsicas como TELNET, FTP e correio eletrnico Especifica o formato dos dados e confirmaes usadas na transferncia daqueles, garantindo a correta entrega dos dados de clientes a servidores e vice-versa Implementa suporte para deteco de erros e disparo de retransmisses quando necessrio Permite que mltiplas aplicaes num sistema possam se comunicar concorrentemente tratando a operao multiplexada

Encapsulamento do Protocolo TCP

Conexes TCP
Baseado no conceito de sockets (endpoints) Um socket em TCP identificado por uma porta e o endereo IP da mquina Um mesmo socket pode suportar vrias conexes ao mesmo tempo No suporta multicasting e broadcasting (sempre ponto-a-ponto e full-duplex) Cada conexo identificada pelos nmeros dos sockets nas duas pontas Sockets tambm o nome de uma biblioteca de subrotinas que prov acesso s facilidades TCP/IP

Protocolo TCP
Uso de segmentos (cabealho TCP mais um ou mais bytes de dados a serem transmitidos) Numera individualmente os bytes sendo transmitidos para controle de fluxo Utiliza um esquema de janela deslizante para confirmar a informao recebida Caso um segmento seja maior que 65495 bytes (limite do pacote IP=64k) ou maior que o MTU da rede, ele deve ser fragmentado pelo roteador (podendo gerar problemas de confirmao e remontagem na recepo)

Software TCP

Algumas Portas Conhecidas (Well-Known)

Multiplexao TCP
Vrias aplicaes rodam nos hosts ao mesmo tempo. A definio de que aplicao se comunicar com qual aplicao de outra mquina descrita pelo endereo de aplicao (porta) definida a nvel de transporte

Protocolo UDP (User Datagram Protocol)


Descrito na RFC 768 com posteriores evolues Oferece s aplicaes a capacidade de enviar pacotes IP encapsulados por um protocolo de transporte sem conexo Basicamente oferece a capacidade de endereamento de aplicao em portas ao protocolo IP

Protocolo UDP
Utilizado quando: necessrio o envio de mensagens de multicast ou broadcast O overhead gerado por procedimentos de conexo injustificado ou no tolerado pela aplicao em uso Aplicaes de amostragem de dados (Ex.: sensores) Servios request-response (a aplicao toma a responsabilidade de verificar mensagens que no chegam) Aplicaes de tempo-real onde temporizao o mais importante

Arquitetura TCP/IP

Algumas Aplicaes e Servios TCP/IP


Domain Name System - DNS: resolve nomes em endereos IP File Transfer Protocol - FTP: envio de arquivos entre sistemas Terminal Emulation Protocol Telnet: cria terminais remotos Simple Mail Transfer Protocol - SMTP: envio de mensagens de correio eletrnico Simple Network Management Protocol - SNMP: protocolo para gerenciamento de redes Hypertext Transfer Protocol - HTTP: troca de informaes em formato hipertexto Network File System - NFS: sistemas de arquivos remotos

Arquitetura TCP/IP

BOOTP (Bootstrap Protocol)


um protocolo que permite que um host obtenha seu endereo IP dinamicamente Permite que o administrador da rede tenha o controle sobre os endereos Mais eficiente que o RARP por que uma nica mensagem do protocolo define vrias opes como o endereo do host, a mscara de subrede e o endereo do gateway padro, ... O servidor deve ter a informao a ser passada previamente configurada (no dinmico) Trabalha na camada de aplicao usando servios da camada UDP, logo um protocolo de APLICAO

DHCP (Dynamic Host Configuration Protocol)


Permite que um dispositivo conectado rede saiba automaticamente sua configurao de rede, incluindo seu endereo IP um superconjunto do BOOTP agregando mais funcionalidades e parmetros Logo, pode utilizar relays BOOTP de roteadores Utiliza o mesmo formato de mensagem do BOOTP Procedimento diferente de inicializao do host (discovery) Oferece pools de endereos IP e a oferta de leased IPs Oferece ainda a possibilidade de se reservar determinados IPs para servidores e roteadores

Domain Name Service (DNS)


Servio usado para mapear nomes usados por aplicaes em endereos IP de 32 bits Endereos IP no so prticos de se usar um sistema distribudo onde montada uma rvore hierrquica de nomes

WWW - World Wide Web


Conceito proposto por Tim Berners-Lee in 1989 Idia: compartilhamento de informaes atravs de um sistema hiper-texto distribudo O sistema composto de navegadores (browsers) clientes de servidores WWW que contm a informao a ser coletada Prottico desenvolvido em 1991 O primeiro browser grfico (Mosaic) desenvolvido por Mark Andreessen Utilizam um protocolos de nvel de aplicao chamado HTTP (Hyper Text Transfer Protocol) para receber arquivos com contedo de informao

HTTP Hyper Text Transfer Protocol


Protocolo de aplicao leve e rpido para transporte de informao em formato hipertexto Implementa um conjunto de mtodos para serem usados em requests Pode ser usado como protocolo gerrico para comunicao entre user agents e gateways para outros protocolos Mensagens so passadas em formato texto atravs de um esquema request/response entre cliente e servidor URL Uniform Resource Locator identifica uma pgina/programa

HTTP Hyper Text Transfer Protocol

Correio Eletrnico
SMTP Simple Mail Transport Protocol Usado para o envio de correio eletrnica pela Internet Define com um programa que envia mensagens de correio e um que recebe devem interagir POP Post Office Protocol usado para receber as mensagens de correio eletrnico

Intranets
Redes proprietrias de organizaes que utilizam tecnologia TCP/IP para disponibilizar aplicaes e contedo para usurios internos Muito usadas em ambientes corporativos (grande sucesso) O contedo somente acessvel para usurios internos Podem ser implementadas numa grande variedade de plataformas

Extranets
Estende o conceito de intranet oferecendo informao e servios para um nmero controlado de usurios externos corporao (fabricantes, clientes, etc) Permite a troca eficaz e segura de informao entre companhias Ambas se aproveitam de todas as facilidades do mundo TCP/IP Mtodos usados para acesso:
Acesso discado Acesso pela Internet com segurana VPN (Virtual private network) Acesso pela Internet a um servidor que replica o contedo extranet disponibilizado Acesso pela Internet a um servidor que realiza queries em servidores internos

You might also like