Protocolo
TCP/IP
Wandreson Luiz Brandino
wandreson.com
[email protected]
Curso TCP/IP
1. Introdução ao TCP/IP

Protocolo aberto (Open System) para
Interconexão de diferentes tecnologias
de rede
– Linguagem Comum independente da
tecnologia de rede física utilizada
(Ethernet, Token Ring, FDDI, ATM, etc)
– Não precisa pagar Royaltes para construir
uma aplicação sobre este protocolo
Curso TCP/IP
1. Introdução ao TCP/IP (cont.)

Várias aplicações disponíveis
– Correio Eletrônico (SMTP)
– WWW (HTTP)
– Resolução de Nomes (DNS)
– Transferência de Arquivos (FTP)
– Terminal Remoto (Telnet)
– Gerenciamento (SNMP)
Curso TCP/IP
1.1 Histórico

Surgiu em meados da década de 70,
financiado pela DARPA dos Estados
Unidos
– Surgi num contexto de Guerra Fria com o
objetivo de interligar computadores de
forma simples e não centralizada
– O protocolo TCP/IP foi incluído no Unix de
Berkley usado amplamente nos Estados
Unidos para facilitar sua disseminação
Curso TCP/IP
1.1 Histórico (cont.)
– O protocolo TCP/IP e a rede Internet estão
altamente relacionados
– Não existe nenhuma pessoa ou instituição
que controla a Internet existem organismos
tal como:
• IETF (Internet Engineering Task Force)
• IAB (Internet Activites Board)
– Toda documentação da Internet esta no
formato de RFCs (Request For Comments)
Curso TCP/IP
1.2 Documentação

Qualquer pessoa pode sugerir uma
RFC
– A RFC fica no formato de rascunho
quando é sugerida. Caso seja aceita ela
recebe um número e é publicada.
– As RFCs são sugeridas ao NIC (Network
Information Center)
Curso TCP/IP
1.2 Documentação (cont.)

Locais de divulgação das RFCs
– www.ietf.org
– andrew2.andrews.cmu.edu/rfc/rfc1160.html
• Este último exemplo traz a descrição da RFC
1160
Curso TCP/IP
2. Endereço de Rede



O nível de Rede da Arquitetura TCP/IP
é exatamente o protocolo IP (Internet
Protocol)
A funcionalidades básica do IP é a de
Rotear Pacotes dentro de uma mesma
rede ou entre redes diferentes
Utiliza datagrama não-confiável
Curso TCP/IP
2. Endereço de Rede (cont.)


Não faz controle de verificação de
entrega do pacote. Ficando esta
responsabilidade para a camada de
nível de transporte (TCP e UDP)
Define o endereço universal da Internet
Curso TCP/IP
2. Endereço de Rede (cont.)

Modelo OSI versus Arquitetura TCP/IP
Curso TCP/IP
2.1 Endereço IP




Para duas máquinas se comunicarem,
cada uma precisa de um endereço IP
O formato do endereço IP é:
X.X.X.X
onde X varia de 0 à 255. Exemplo:
200.241.16.8, 30.10.90.155, etc
Curso TCP/IP
2.1 Endereço IP (cont.)

Representação Binária e Decimal

No Brasil, a responsabilidade de
distribuir endereços IP e de controlar os
domínios é da FAPESP
(www.fapesp.br)
Curso TCP/IP
2.1 Endereço IP (cont.)




Os endereços IP são gratuitos
FAPESP distribui endereços Classe C
para grandes empresas ou para os
provedores
Os provedores se responsabilizam em
distribuir os endereços para seus
clientes ou através de Proxy
Endereços IP estão acabando
Curso TCP/IP
2.2 Classes de Endereços

Os endereços IP foram divididos da
seguinte forma:
De
0
128
192
224
240
À
126
191
223
239
247
Classe de Endereço
A
B
C
D
E
Curso TCP/IP
2.2 Classes de Endereços (cont.)

Divisão em classes e as sua respectiva
representação binária
Curso TCP/IP
2.2 Classes de Endereços (cont.)

Faixa de endereços decimais e binários
Classe
A
B
C
D
E
Faixa de Endereços
1-126.X.X.X
128-191.X.X.X
192-223.X.X.X
224-239.X.X.X
240-247.X.X.X
Representação Binária
Utilização
0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Multicast
/
Broadcast
11110xxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Reservado
X é um número que varia de 0 à 255
N é o número de bits da rede
H é o número de bits do host
x é o número de bits da rede e do host
Curso TCP/IP
2.2.1 Endereço de Loopback




Todo endereço na forma 127.x.x.x é um
endereço de Loopback
Interface que não conecta a nenhuma
rede
Comunicação Inter-processos dentro da
mesma máquina (Não utiliza a rede)
Endereço não é propagado pelos
roteadores
Curso TCP/IP
2.2.2 Endereços IP reservados



Existem alguns endereços como o de
Loopback que são reservados para
redes que NUNCA se ligam à Internet
ou se ligam através de um Proxy
Estes endereços estão definidos na
RFC 1597
Gateways não permitem tráfegos
destes endereços na Internet
Curso TCP/IP
2.2.2 Endereços IP reservados
(cont.)

Os endereços reservados são:
Rede
10.0.0.0
172.16.0.0
192.168.0.0
Máscara
255.0.0.0
255.240.0.0
255.255.0.0
Curso TCP/IP
2.3 Roteadores

Os Roteadores são usados
interligar duas ou mais redes

O roteador possui pelo menos duas
Interfaces de rede.
Cada Interface de rede possui um
endereço IP

Curso TCP/IP
para
2.3 Roteadores (cont.)

Exemplo de Interconexão de três redes:
– Token Ring 192.3.40.0 (classe C)
– Ethernet 146.134.0.0 (classe B)
– Ethernet 12.0.0.0 (classe A)
Curso TCP/IP
2.3 Roteadores (cont.)

Configuração da Rede:
Curso TCP/IP
2.3 Roteadores (cont.)

Na rede Ethernet (146.134.0.0) temos
as máquinas:
– 146.134.8.2
– 146.134.20.7
– 146.134.20.8 (Máquina A)
– 146.134.150.1 (Máquina B)
Curso TCP/IP
Figura
2.3 Roteadores (cont.)

Na rede Ethernet (12.0.0.0) temos as
máquinas:
– 12.11.111.0 (Máquina B)
– 12.0.0.4
– 12.20.40.32 (Máquina C)
Curso TCP/IP
Figura
2.3 Roteadores (cont.)

Na rede Token Ring (192.3.40.0) temos
as máquinas:
– 192.3.40.1
– 192.3.40.2
– 192.3.40.20 (Máquina C)
– 192.3.40.21
– 192.3.40.22 (Máquina A)
Curso TCP/IP
Figura
2.3 Roteadores (cont.)

As máquinas A, B e C fazem papel de
roteador.
– Máquina A entre a rede Token-Ring
(192.3.40.0)
e
a
rede
Ethernet
(146.134.0.0)
– Máquina B entre a rede Ethernet
(146.134.0.0) e a rede Ethernet (12.0.0.0)
– Máquina C entre a rede Ethernet (12.0.0.0)
e a rede Token-Ring (192.3.40.0)
Figura
Curso TCP/IP
2.4 Sub-Rede

Objetivo:
– Dividir um endereço que seria para uma
única rede física em diversas redes físicas
distintas.
Curso TCP/IP
2.4 Sub-Rede (Cont.)


Para todas a Internet existe o endereço
de rede 128.10.0.0, só quando o pacote
chega ao Gateway que ele irá tomar a
decisão para que sub-rede o pacote
deve ser encaminhado
A divisão em Sub-Redes em muitos
caso aumenta a Performance do
sistema de comunicação
Curso TCP/IP
2.4 Sub-Rede (Cont.)

Sem a divisão em sub-redes os
endereços 128.10.2.0 e 128.10.1.0
seriam endereços de máquina (Classe
B). Como foi feito a divisão, estes
endereços passaram a ser endereços
de rede
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede


Utilizamos o conceito de máscara para
definirmos se um endereço IP é um
endereço de rede ou de máquina.
O formato da máscara é o mesmo do
número IP. Exemplo:
– 255.255.255.0 (Decimal)
– 11111111 11111111 11111111 00000000 (Binário)
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)



O 1 binário indica que é endereço de
rede.
No exemplo anterior os três primeiros
octetos estavam sendo utilizados para
rede. Logo seria uma rede classe C,
sem sub-redes
Quantidade de máquina 254 (256 - 2).
– Exclui o primeiro e o último endereço
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)

Qual máscara usar nas classes A, B e
C?
Classe
A
B
C

Máscara Binária
11111111 00000000 00000000 00000000
11111111 11111111 00000000 00000000
11111111 11111111 11111111 00000000
Máscara Decimal
255.0.0.0
255.255.0.0
255.255.255.0
Exemplo:
– Quantas sub-redes eu posso ter com o
endereço IP classe C 200.241.16.X ?
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)

Caso mais simples
– Máscara: 255.255.255.0
Binário
Decimal


11111111
255
11111111
255
11111111
255
00000000
0
Endereços IP de:
200.241.16.0 à 200.241.16.255
Importante: Pelo padrão devemos
excluir a primeira e a última máquina.
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)
Endereços válidos:
200.241.16.1 à 200.241.16.254
Obs: Alguns fabricantes permitem usar os
endereços extremos. Mas esta fora do
padrão.

Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)

Divisão em duas sub-redes.
– Máscara: 255.255.255.128
Binário
Decimal

11111111
255
11111111
255
11111111
255
10000000
128
Existem duas possíveis redes. A rede 0
e a rede 1
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)


Na rede 0 os endereços vão de:
200.241.16.0 à 200.241.16.127
Na rede 1 os endereços vão de:
200.241.16.128 à 200.241.16.255
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)



Lembrando do padrão temos que
excluir os extremos. Portanto ficaríamos
com os endereços válidos:
Na rede 0 os endereços vão de:
200.241.16.1 à 200.241.16.126
Na rede 1 os endereços vão de:
200.241.16.129 à 200.241.16.254
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)


Só que ainda pelo padrão não podem
existir sub-redes com todos os bits
iguais a 0 ou iguais a 1. Logo os
extremos das sub-redes também
precisam ser excluidos.
A máscara 255.255.255.128 NÃO pode
possuir nenhuma máquina
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)


Maiores informações sobre a norma
que proibe o uso destas mascaras
podem ser encontradas na RFC 1716,
Almquist & Kastenholz, página.45
Alguns sistemas operacionais como
Windows 95, NT, SCO Unix, Novell
simplesmente ignoram esta regra.
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)

Divisão em quatro sub-redes.
– Máscara: 255.255.255.192
Binário
Decimal

11111111
255
11111111
255
11111111
255
11000000
192
Existem quatro possíveis redes
– 00
– 01
– 10
– 11
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)




Na rede 00 os endereços vão de:
200.241.16.0 à 200.241.16.63
Na rede 01 os endereços vão de:
200.241.16.64 à 200.241.16.127
Na rede 10 os endereços vão de:
200.241.16.128 à 200.241.16.192
Na rede 11 os endereços vão de:
200.241.16.93 à 200.241.16.255
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)





Excluindo os extremos temos:
Na rede 00 os endereços vão de:
200.241.16.1 à 200.241.16.62
Na rede 01 os endereços vão de:
200.241.16.65 à 200.241.16.126
Na rede 10 os endereços vão de:
200.241.16.129 à 200.241.16.191
Na rede 11 os endereços vão de:
200.241.16.194 à 200.241.16.254
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)



Excluindo agora os endereços de rede
todos 0 e todos 1 temos:
Na rede 01 os endereços vão de:
200.241.16.65 à 200.241.16.126
Na rede 10 os endereços vão de:
200.241.16.129 à 200.241.16.191
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)

Generalizando (IP Classe C):
– O número de sub-redes é sempre múltiplo
de 2.
– Pega-se 256 e divide-se pelo número de
sub-redes
– Retira-se os extremos do endereço IP de
cada sub-rede
– Retira-se as sub-redes com todos os bits 0
e todos os bits 1
Curso TCP/IP
2.4.1 Máscara de uma Sub-rede
(cont.)

Exercício
– Quais são os endereços IP válidos para 8
sub-redes?
– Faça uma tabela que relacione a
quantidade de sub-redes, a quantidade de
máquinas por sub-rede e o total de
máquinas.
Obs.: Para um endereço classe C
Curso TCP/IP
2.5 Formato do datagrama IP


O IP é a unidade básica de dados do
nível de rede
Entrega de pacotes não-confiável
– Responsabilidade de entrega,
sequencialização, correção de erros, etc é
dos níveis superiores

Existem duas áreas básicas: Área de
Cabeçalho e Área de Dados
Curso TCP/IP
2.5 Formato do datagrama IP
Curso TCP/IP
2.5 Formato do datagrama IP

Descrição dos campos
– VERS
• Versão
– HLEN
• Comprimento do cabeçalho
– TOTAL LENGTH
• Tamanho total do pacote. Se o pacote for
fragmentado é o tamanho do fragmento e não
o do pacote original
Curso TCP/IP
2.5 Formato do datagrama IP
– SERVICE TYPE
• Especifica como o datagrama será manipulado
pelo sistema de comunicação
– D - Baixo Delay
– T - Alto Throughput
– R - Alta Confiabilidade
– IDENTIFICATION
• Campo utilizado quando da fragmentação de
pacotes
Curso TCP/IP
2.5 Formato do datagrama IP
– FLAG
• Controle de fragmentação. Específica se o
pacote pode ou não ser fragmentado e se for
um fragmento, se ele é o primeiro os
intermediários ou o último pacote
– TTL (Time to Live)
• Decrementado a cada gateway (roteador)
– PROTOCOL
• FTP, HTTP, SMTP, etc
Curso TCP/IP
2.5 Formato do datagrama IP
– HEADER CHECKSUM
• Somente para o cabeçalho. Não é para os
dados
• Objetivo de garantir que o pacote vai ser
entregue no endereço correto
– OPTIONS
• Diversas opções para um pacote
– PADDING
– DATA
Curso TCP/IP
2.5.1 Algumas OPTIONS
interessantes

Record Route Option
– Gravar no pacote IP os endereços que o
pacote percorreu até chegar ao destino
Curso TCP/IP
2.5.1 Algumas OPTIONS
interessantes

Source Route Option
– Permite que a origem indique por quais
gateways o pacote deverá passar
Curso TCP/IP
2.5.1 Algumas OPTIONS
interessantes

TimeStamp Option
– Semelhante ao Record Route, só que
acrescenta também o tempo em que o
pacote chegou ao gateway
Curso TCP/IP
3. Mapeamento de Endereço
Físico em endereço de rede

Protocolo ARP (Address Resolution
Protocol)
– Mapear Endereços IP de uma mesma rede
em endereços físicos
– Envia uma mensagem de broadcasting
para todas as estações perguntando quem
tem aquele endereço IP
Curso TCP/IP
3.1 ARP
– Uma única máquina responde
– A máquina que fez a pergunta guarda o
endereço físico no cache para possível
uso posterior
– Em máquinas UNIX o comando
• arp -a traz a relação de todas os endereços IPs
da rede com seus respectivos endereços
físicos
Curso TCP/IP
3.1.1 Formato do Pacote ARP
Curso TCP/IP
3.1.1 Formato do Pacote ARP

Descrição dos campos
Nome do Campo
Descrição
Hardware Type
Especifica a interface de hardware pela qual o usuário aguarda uma
resposta. No caso da rede Ethernet o valor é 1.
Especifica o tipo de endereço que o usuário está procurando (0800H se
Protocol Type
for IP).
HLEN
Tamanho do endereço de Hardware
PLEN
Tamanho do endereço do protocolo de alto nível. As opções HLEN e
PLEN em conjunto permitem que o ARP possa ser usado para uma rede
qualquer.
Operation
1 - ARP request (Requisição do endereço físico)
2 - ARP response (Resposta do endereço físico)
3 - RARP request (Requisição do endereço IP)
4 - RARP response (Resposta do endereço IP)
Curso TCP/IP
3.2 Protocolo RARP


O RARP (Reverse Address Resolution
Protocol) associa um endereço físico
em um número IP
Usado em estações diskless para obter
um endereço IP no momento do boot
remoto
Curso TCP/IP
3.3 Fragmentação de pacotes IPs
em pacotes do nível físico


Utilizado quando um pacote passa por
redes com diferentes tamanhos de área
de dados (MTU)
Dividir o tamanho do pacote IP num
tamanho do pacote daquela rede física
Curso TCP/IP
3.3 Fragmentação de pacotes IPs
em pacotes do nível físico


Pacotes dentro da mesma rede só
serão fragmentados se o tamanho do
pacote IP for maior do que o tamanho
do pacote físico da rede
Exemplo: Transmitir um pacote de 1400
bytes da rede 1 (MTU=1500) para a
rede 3 (MTU=1500) passando pela rede
2 (MTU=620)
Curso TCP/IP
3.3 Fragmentação de pacotes IPs
em pacotes do nível físico



Pacote 1: 600 bytes de dados + 20
bytes de cabeçalho
Pacote 2: 600 bytes de dados + 20
bytes de cabeçalho
Pacote 3: 200 bytes de dados + 20
bytes de cabeçalho
Curso TCP/IP
3.3 Fragmentação de pacotes IPs
em pacotes do nível físico

Fragmentação do pacote para posterior
remontagem
Curso TCP/IP
4. ICMP (Internet
Message Protocol)

Control
Objetivo: Informar à origem de
problemas na entrega do pacote IP:
– Falha nas linhas de comunicação
– Máquina destino desconectada da rede
– TTL (Time-to-Live) do pacote IP expirar
– Gateway intermediários congestionados
entre outros
Curso TCP/IP
4. ICMP


ICMP faz parte do protocolo IP, as
informações retornadas serão
analisadas por outros protocolos de
camada superiores
Algumas mensagens reportadas pelo
ICMP são:
Curso TCP/IP
4. ICMP
Possíveis mensagens do ICMP








Network Unreachable (rede não alcançável)
Host Unreachable (host não alcançável)
Port Unreachable (port não alcançável)
Destination Host Unknown (Host destino desconhecido)
Destination Network Unknown (rede destino desconhecida)
Echo Request e Echo Reply (Solicitação de Eco e Resposta de
Eco)
Time Exceded for Datagram – TTL (Tempo do pacote excedido)
Entre outros
Curso TCP/IP
4.1 Entrega de mensagens ICMP

Encapsulamento do ICMP
Curso TCP/IP
4.2 Tipos de Mensagens ICMP

Possíveis valores para o campo TYPE
Curso TCP/IP
4.2.1 Echo Request e Echo Reply



Usado para identificar se uma máquina
esta respondendo ou não.
É implementado pelo programa PING
Formato da mensagem:
Curso TCP/IP
4.2.1 Echo Request e Echo Reply

Descrição dos campos:
Campo
TYPE=8
TYPE=0
IDENTIFIER e SEQUENCE NUMBER
OPTIONAL DATA
Descrição
Echo Request (Requisição de resposta)
Echo Reply (Resposta à solicitação anterior)
São usados para identificar qual mensagem
foi enviada e qual esta sendo recebida
Campo opcional, que dependendo da
implementação pode retornar dados ao
remetente, como por exemplo o tempo gasto
para se alcançar a máquina.
Curso TCP/IP
4.2.2 Unreacheble Destination

Identifica que não esta conseguindo
acessar o IP da máquina destino. O
cabeçalho padrão é:
Curso TCP/IP
4.2.2 Unreacheble Destination

Os possíveis valores para o campo
CODE são:
Curso TCP/IP
4.2.3 Controle de
Congestionamento

Fluxo
e
Usado para informar a origem para par
de enviar pacotes que os roteadores
não estão suportando o tráfego. A
mensagem padrão é:
Curso TCP/IP
4.2.4 Route Change Request


Caso a rota não esteja minimizada esta
mensagem será enviada
Não será tomada nenhuma providencia,
os protocolos de roteamento que farão
isto. Formato da mensagem é:
Curso TCP/IP
4.2.4 Route Change Request

Exemplo:
– Suponha que H queira enviar dado para a
Rede 1, mas esteja enviando uma
mensagem G2
Curso TCP/IP
4.2.4 Route Change Request

Exemplo (continuação)
– G2 envia uma mensagem de Route
Change Request para H1
– Um protocolo de nível superior pega essa
mensagem e toma a providencia de enviar
por G1
– G1 recebe a mensagem e entrega à rede 1
Curso TCP/IP
4.2.5 Detecta rota circular ou
excessivamente longa


Esta mensagem é enviada quando o
campo TTL (time-to-live) do IP é zerado
Lembre-se que o campo TTL é
decrementado por cada roteador que o
pacote IP passar
Curso TCP/IP
4.2.5 Detecta rota circular ou
excessivamente longa

Formato do pacote

Se CODE = 0, TTL zerou
Se CODE = 1, remontagem de fragmentos excedeu
tempo máximo

Curso TCP/IP
4.2.6 Reporta outros problemas


Reporta outros problemas, tipo erro no
cabeçalho IP
Formato da mensagem:
Curso TCP/IP
4.2.7 Sincronização de relógio e
estimativa de tempo de trânsito


Usa a mensagem ICMP REQUEST
TIMESTAMP para recuperar a hora do
dia da máquina destino (contado em
milisegundos a partir da meia-noite do
dia corrente)
A mensagem ICMP REQUEST
TIMESTAMP traz a resposta
Curso TCP/IP
4.2.7 Sincronização de relógio e
estimativa de tempo de trânsito



Campo TYPE=13, significa request
Campo TYPE=14, significa reply
Formato da mensagem:
Curso TCP/IP
5. Camada de Transporte



Transferir um dado “fim-a-fim” entre
duas máquinas
Independente da estrutura física de
comunicação
Existem dois protocolos básicos
– TCP (Transfer Control Protocol)
– UDP (User Datagram Protocol)
Curso TCP/IP
5. Camada de Transporte

Protocolos de Transporte da Arquitetura
TCP/IP
Curso TCP/IP
5. Camada de Transporte

Diferença básica entre o TCP e o UDP
– TCP garante que o dado vai chegar ao seu
destino corretamente
– UDP não tem garantia de entrega de
dados
– O TCP possui diversos controles para
garantir que o dado irá chegar
corretamente ao destino. Por isso é mais
lento que o UDP
Curso TCP/IP
5.1 Aplicações Cliente-Servidor

Possui duas entidades básicas
– Servidor
• Responsável por prover informações a um ou
vários clientes
• Processar as mensagens enviadas pelo cliente
– Cliente
• Acessar informações contidas em um ou mais
servidores
• Envia pequenas mensagens ao servidor
Curso TCP/IP
5.1 Aplicações Cliente-Servidor

Toda aplicação possui a sua versão
server e a sua versão client
– Ex:
• Telnet Server e Telnet Client
• HTTP Server ou Web Server e HTTP Client
(Browsers como Netscape ou Internet Explorer)
• FTP Server e FTP Client
• etc
Curso TCP/IP
5.1.1 O conceito de Porta


Somente os campos IP origem e IP
destino não são suficientes para
identificar uma conexão
É preciso identificar a porta de origem e
a porta de destino, bem como qual
protocolo esta sendo utilizado (TCP ou
UDP)
Curso TCP/IP
5.1.1 O conceito de Porta

Formato do Pacote TCP
Curso TCP/IP
5.1.2 Utilizando a Arquitetura
Client-Server


Primeiramente é preciso instalar um
determinado serviço em um servidor.
Exemplo:
– O servidor de HTTP (Web Server) do
Universo Online - www.uol.com.br
(200.241.5.65) é configurado para a porta
80 (default para este serviço)
Curso TCP/IP
5.1.2 Utilizando a Arquitetura
Client-Server

Após o serviço instalado um
determinado Cliente pode acessar o
serviço. Ex:
– O usuário da máquina 200.241.16.8 deseja
acessar a página do universo online
– Neste momento o sistema operacional lhe
da uma porta escolhida randomicamente
para fazer a conexão TCP
Curso TCP/IP
5.1.2 Utilizando a Arquitetura
Client-Server

Teremos portanto:
– IP Origem: 200.241.16.8 (Máquina Local)
– Porta Origem: 3478 (SO fornece)
– IP Destino: 200.246.4.65 (Máquina Remota
– Porta Destino: 80 (Porta Default do serviço
de WWW, pode ser alterada)
Curso TCP/IP
5.1.2 Utilizando a Arquitetura
Client-Server

Suponha que abramos uma outra janela
do Browser, teremos então:
– IP Origem: 200.241.16.8 (Máquina Local)
– Porta Origem: 4312 (SO fornece outra)
– IP Destino: 200.246.4.65 (Máquina Remota
– Porta Destino: 80 (Porta Default do serviço
de WWW, pode ser alterada)
Curso TCP/IP
5.1.2 Utilizando a Arquitetura
Client-Server

Suponha que outra pessoa esteja
acessando a mesma página:
– IP Origem: 200.30.20.83 (Máquina Local)
– Porta Origem: 4312 (SO fornece pode ser
igual a de outra máquina)
– IP Destino: 200.246.4.65 (Máq. Remota)
– Porta Destino: 80 (Porta Default WWW)
Curso TCP/IP
5.2 O Protocolo TCP



Protocolo Orientado à Conexão
Confiável do ponto de vista de entrega
dos dados ao destino sem erros
Processos de transmissão,
retransmissão, controle de fluxo e erros,
etc são totalmente transparentes ao
usuário desta camada
Curso TCP/IP
5.2 O Protocolo TCP

São responsabilidades da camada de
transporte:
– Estabelecimento e Liberação da Conexão
– Transferência de Dados
– Transferência de Dados Urgentes
– Multiplexação
• Diversas conexões de transporte em uma
única conexão de rede
Curso TCP/IP
5.2 O Protocolo TCP
– Segmentação
• Área de dados do IP é menor que a área de
dados do TCP
– Controle de Fluxo
• Janela Deslizante
– Controle de Erros
• CheckSum
Curso TCP/IP
5.2.1 Formato do pacote TCP
Curso TCP/IP
5.2.1 Formato do pacote TCP

Descrição de alguns campos
– CODE BITS
• Determina o propósito e conteúdo do segmento
Opção
URG
ACK
PSH
RST
SYN
FIN
Significado
Campo de ponteiro Urgente é válido
Campo de Reconhecimento é válido
Este segmento solicita um Push
Resetar a conexão
Sincroniza números de Sequências
O transmissor chega ao fim do fluxo de bytes
Curso TCP/IP
5.2.1 Formato do pacote TCP

Descrição de alguns campos
– WINDOW
• Indica quantos bytes ele tem capacidade de
receber
– URGENT POINTER
• Indica que alguns dados serão entregues de
forma urgente. Repassa ao IP
– PADDING
• Parâmetros do campo OPTION
Curso TCP/IP
5.2.2 Portas bem conhecidas do
TCP
Curso TCP/IP
5.3 O Protocolo UDP




Utiliza o mesmo princípio de portas do
TCP
Muito mais leve que o TCP
Não garante entrega dos dados,
sequencialização, fluxo de mensagens,
etc
Você simplesmente envia um dado e
reza para que ele chegue do outro lado
Curso TCP/IP
5.3.1 Formato do pacote UDP
Curso TCP/IP
5.3.2 Portas bem conhecidas do
UDP
Curso TCP/IP