Sistemas Operacionais de Rede
Protocolo IP
Prof. Edson Ceroni
TCP/IP
Protocolos e Aplicações
Infra-estrutura de redes TCP/IP:
Protocolos da camada de rede - Internet
(interligação Inter-redes)
Arquitetura TCP/IP - Principais Protocolos
NFS
Aplicação HTTP SNMP
FTP
XDR
MIME ASN.1
rlogin BGP BOOTP
SMTP TELNET DNS RTP RIP RPC
& rsh & DHCP
TCP UDP
Transporte
IP + ICMP + IGMP
Rede ARP, RARP, SLIP, PPP
Enlace /Física HARDWARE LINK LEVEL AND ACCESS PROTOCOLS
Serviços das Camadas de Transporte e de Rede
Transporte de Dados “Confiável” através do TCP
Suporte a aplicações
Controle de fluxo e de erros fim a fim
Entrega de Dados “Sem Conexão” através do IP
Endereçamento lógico universal
Roteamento
Serviço de tradução de nomes
Independência da Plataforma de Hardware
Encapsulamento de Dados por camada
Dados Aplicativo
Segmento TCP TCP
Datagrama IP
Link de dados
Frame
Estação de trabalho
Quadro
Arquitetura TCP/IP - Internetworking
Site
IBM
Linux TCP/IP (SNA)
TCP/IP
Rede
MPLS
TCP/IP Site
Site TCP/IP Windows
UNISYS
Arquitetura TCP/IP
B
A
REDE
REDE
C
REDE
REDE
Internet TCP/IP: é um conjunto de hosts e redes conectadas por roteadores
Camada de Rede (INTERNET)
Desempenha as mesmas funções que a camada de Rede do Modelo OSI não
orientada a conexão
Os protocolos dessa camada são:
IP: Internet Protocol
ICMP: Internet Control Message Protocol
ARP: Address Resolution Protocol
RARP: Reverse Address Resolution Protocol
IGMP: Internet Group Management Protocol
Internet Protocol (IP)
Responsável pela transmissão de blocos de dados (datagramas) através de
um conjunto de redes
Esses dados são recebidos das camadas superiores (transporte), que usam
protocolos como TCP ou UDP
O cabeçalho de cada datagrama IP define as seguintes funções:
Endereçamento Internet
Roteamento
Time to Live (TTL)
Type of Service (TOS)
Demultiplexação
Fragmentação
Opções
Cabeçalho IPv4
IHL Tipo de serviço Tamanho Total
Versão
Identificação Flags Offset do fragmento
Tempo de vida Protocolo Soma da verificação do cabeçalho
Endereço IP de origem
Endereço IP de destino
Opções do IP (podem ser nulas) Preenchimento
Dados do datagrama IP (até 65535 bytes)
DA SA Type 0800 Cabeçalho do IP e dos dados CRC
Campo de dados Ethernet
Campos do cabeçalho IP
Informações sobre cabeçalhos IP: RFC 791
Tamanho mínimo: 20 bytes
Principais campos:
Versão: IP4. Padrão binário 0100
Internet Header Lenght (IHL): tamanho do cabeçalho em palavras de 32
bits. / Padrão binário 0101. (20 bytes=160 bits/32bits = 5 |mínimo|). É
necessário para que o cabeçalho varie de comprimento, de acordo com o
campo de opções. Porém, com um máximo (15) isto limita o tamanho das
opções. O IPv6 possui um campo de cabeçalho de comprimento estático
Tipo de Serviço: parâmetro de QoS não utilizado. Os aplicativos do host
IP origem podem indicar tipos especiais de roteamento, sendo as
principais escolhas: “Minimize Delay”, “Normal Service”, “Maximize
Thoughput”, “Maximize Reliability”.
Exemplos: para uma aplicação em tempo real - baixo retardo e alto rendimento. Para
TELNET - baixo retardo com rendimento e confiabilidade normais.
É formado pelos seguintes campos: precedência, retardo (bit D), rendimento (bit T) e
confiabilidade (bit R). Com base nestas informações os roteadores poderiam selecionar
o percurso ideal para o datagrama
Cabeçalho IPv4
IHL Tipo de serviço Tamanho Total
Versão
Identificação Flags Offset do fragmento
Tempo de vida Protocolo Soma da verificação do cabeçalho
Endereço IP de origem
Endereço IP de destino
Opções do IP (podem ser nulas) Preenchimento
Dados do datagrama IP (até 65535 bytes)
DA SA Type 0800 Cabeçalho do IP e dos dados CRC
Campo de dados Ethernet
Campos do cabeçalho IP
Principais campos:
Tamanho total: indica em bytes o tamanho, incluindo cabeçalho IP e dados.
Como este campo possui 2 bytes a área de dados do datagrama IP pode
chegar a 65.535 bytes. O IPv6 apresenta o conceito de datagramas jumbo
Identificação: número seqüencial incrementado e atribuído aos datagramas
pelo host IP origem. Indica quais fragmentos de datagrama pertencem a
determinado datagrama, para que estes não se confundam
Flags: indicam possibilidade de fragmentação. DF (Don’t Fragment) indica
que a fragmentação não é suportada pelo destino. MF (More Fragments)
indica se existem mais fragmentos. Quando MF = 0 isto indica que não
existem mais fragmentos ou que ele nunca foi fragmentado.
Os aplicativos devem utilizar a descoberta da MTU (Maximum Transmission Unit)
do percurso para identificar o menor tamanho de datagrama necessário. As
RFC’s 1981 (IPv6) e 1191 (IPv4) determinam um protocolo de descoberta da
MTU de mídia do percurso
O padrão recomendado [RFC 1812] é 576 bytes, quando o datagrama for
enviado remotamente (fora da sub-rede local)
Cabeçalho IPv4
IHL Tipo de serviço Tamanho Total
Versão
Identificação Flags Offset do fragmento
Tempo de vida Protocolo Soma da verificação do cabeçalho
Endereço IP de origem
Endereço IP de destino
Opções do IP (podem ser nulas) Preenchimento
Dados do datagrama IP (até 65535 bytes)
DA SA Type 0800 Cabeçalho do IP e dos dados CRC
Campo de dados Ethernet
Campos do cabeçalho IP
Exemplo_1: host numa rede Ethernet solicita iniciação (RARP/BOOTP) num servidor numa
rede FDDI, cuja msg de retorno tem 4472 bytes. Se o switch não implementar a RFC 1191 o
pacote será descartado. É responsabilidade do host IP destino remontar os datagramas
Exemplo_2: se um roteador receber um datagrama que deverá fragmentar para ser
encaminhado, porém com o bit DF ativado, o datagrama será descartado e será enviada ao
host IP origem uma msg ICMP
Deslocamento do fragmento (Offset): valor numérico atribuído a cada fragmento
sucessivo. O host IP destino utiliza este parâmetro para remontar os fragmentos na
ordem correta, utilizando os campos de tamanho total e de deslocamento do fragmento.
O protocolo IP reconstroi um datagrama fragmentado e o transmite para o software da
camada superior
Tempo de vida (TTL): indica a “quantidade de tempo” em hops (número de nós na
rede) que o datagrama pode passar. Cada roteador examina e decrementa esse campo
em pelo menos 1, ou pelo número de segundos pelos quais o datagrama foi atrasado
dentro do roteador. O datagrama é descartado quando esse campo é zerado, sendo
enviada uma msg ICMP ao host IP origem.
Duas funções principais: limitar o tempo de vida de um segmento TCP e finalizar os loops de
roteamento
Para uso normal muitos aplicativos o definem como 32 ou 64 (duas ou quatro vezes o
tamanho de uma rede RIP - Routing Inforemation Protocol)
Fragmentação de Datagramas
MTU: Maximum Transmission Unit
Exemplos:
• Ethernet: 1.500 bytes
• Token Ring (4 Mbps): 4 Kbytes
O IP não possibilita a retransmissão seletiva dos
fragmentos
Quando um fragmento é perdido, todo o datagrama precisa ser
retransmitido
Cabeçalho IPv4
IHL Tipo de serviço Tamanho Total
Versão
Identificação Flags Offset do fragmento
Tempo de vida Protocolo Soma da verificação do cabeçalho
Endereço IP de origem
Endereço IP de destino
Opções do IP (podem ser nulas) Preenchimento
Dados do datagrama IP (até 65535 bytes)
DA SA Type 0800 Cabeçalho do IP e dos dados CRC
Campo de dados Ethernet
Campos do cabeçalho IP
Protocolo: indica qual protocolo, de nível mais alto, deve
receber os dados do datagrama.
Este campo possibilita a multiplexação.
Valor Sigla Descrição
1 ICMP Internet Control Message Protocol
2 IGMP Internet Group Management Protocol
3 GGP Gateway-to-Gateway Protocol
6 TCP Transmission Control Protocol
8 EGP Exterior Gateway Protocol
17 UDP User Datagram Protocol
Multiplexação e desmultiplexação
HTTP FTP DNS TFTP
80 21 53 69
porta porta
TCP UDP
TCP (6) UDP (17)
Camada IP
camada de link de dados
LAN (Ethernet) WAN (MPLS)
Formato do Header ETHERNET 802.3
Preâmbulo End Dest. End Orig. Tipo Dados CRC
8 Bytes 6 Bytes 6 Bytes 2 Bytes 64 á 1500 Bytes 4 Bytes
Tipo: indentifica o protocolo que está sendo transportado
2048 [0800H] para datagramas IP [RFC 894]
2054 [0806H] para datagramas ARP [RFC 826]
32821 [8035H] para datagramas RARP [RFC 903]
Versão atual da RFC 1042/1988: Standart for the Transmission of IP
Datagramas over IEEE 802
Cabeçalho IPv4
IHL Tipo de serviço Tamanho Total
Versão
Identificação Flags Offset do fragmento
Tempo de vida Protocolo Soma da verificação do cabeçalho
Endereço IP de origem
Endereço IP de destino
Opções do IP (podem ser nulas) Preenchimento
Dados do datagrama IP (até 65535 bytes)
DA SA Type 0800 Cabeçalho do IP e dos dados CRC
Campo de dados Ethernet
Campos do cabeçalho IP
Soma de verificação de cabeçalho (CRC): contém um valor calculado de 16 bits
para verificar a validade apenas do cabeçalho. O CRC é gerado a partir do campo
de dados do IP. É calculado na origem e no destino, devendo ser coincidente,
senão o datagrama é descartado. O campo é recalculado em cada roteador à
medida que o TTL é decrementado
Endereço do host IP origem: IPv4 - 32 bits ou mais de 4 bilhões de endereços.
IPv6 - 128 bits de endereços ou milhares de bilhões de hosts
Endereço do host IP destino: IPv4 - 32 bits ou mais de 4 bilhões de endereços.
IPv6 - 128 bits de endereços ou milhares de bilhões de hosts
Opções do IP (IPv4): estes campos podem ou não constar no cabeçalho (o que
permite o uso do cabeçalho com comprimento variável). O IPv6 não os implementa
como uma função do cabeçalho IP. Pode conter informações sobre o roteamento
de origem, traçando uma rota, marcando o tempo do pacote à medida que ele
atravessa os roteadores e pode especificar também o nível de segurança do
datagrama. O roteamento “Strict Source Routing” força um roteador a encaminhar
um datagrama para seu destino com base nas rotas indicadas pelo campo de rota
de origem
Dados: normalmente destinados à remessa para TCP ou UDP
AGENDA
Arquitetura TCP/IP
Protocolos da Camada de Rede
– IP
– ICMP
Endereçamento IP
Classes de Endereços
Sub-redes
Esquemas de endereçamento no IPv4
com classe (baseado na RFC791): o estilo original de
endereçamento baseado nos primeiros bits do endereço
Geralmente utilizado em sites de clientes
sem classe: o novo estilo onde o intervalo de endereço
completo (máscara de 32 bits) pode ser usado sem
considerar a reserva de bits para classe
Não é utilizado na atribuição direta de hosts
Geralmente usado pelas tabelas de roteamento global da
Internet e pelos ISP´s
Permite um roteamento muito eficiente e tabelas de
roteamento menores
Permite a alocação de endereços IP muito eficientes (para os
os ISPs) e a atribuição para o cliente do ISP
Conceitos envolvidos: CIDR, VLSM e super-rede [RFC 1338]
Notação Decimal Pontuada
O endereço IP, de 32 bits, escrito na forma decimal
32 bits
Exemplo. 10000000 00001010 00000010 00011110
128 . 10 . 2 . 30
Classes de Endereçamento [RFC 791] (I)
0 8 16 24 31
CLASSE A 0 Net ID Host ID
CLASSE B 1 0 Net ID Host ID
CLASSE C 1 1 0 Net ID Host ID
CLASSE D 1 1 1 0 Endereçamento para Multicast (Multicast ID)
CLASSE E 1 1 1 1 0 Classe Reservada para novas Implementações
Classes de Endereçamento [RFC 791] (II)
Classe Bits Número Bits Número
Rede Redes Hosts Hosts
A 07 126 24 16.777.214
B 14 16.384 16 65.534
C 21 2.097.152 08 254
Endereços Válidos
Classe A: [Link]/8 até [Link]/8
Classe B: [Link]/16 até [Link]/16
Classe C: [Link]/24 até [Link]/24
Classe D: [Link] até [Link]
Classe E: [Link] até [Link]
OBS: [Link] é endereço reservado para Loopback
Endereços Privados (RFC 1918)
Classe A: [Link]/8 até [Link]/8 –
1 rede Classe A
Classe B: [Link]/12 até [Link]/12 –
16 redes contíguas de Classe B
Classe C: [Link]/16 até [Link]/16 –
256 redes contíguas de Classe C
Exemplos
[Link]
00001010 . 00000010 . 00000001 . 00000001
[Link]
10000001 . 00001100 . 00000001 . 00000010
[Link]
11001000 . 11111111 . 11111101 . 1111 0001
Net ID Host ID
Exemplo com Máscara - Classe A
[Link] | [Link] ou [Link] /8
00001010 . 00000010 . 00000001 . 0000 0001
11111111 . 00000000 . 00000000 . 0000 0000
00001010 . 00000000 . 00000000 . 0000 0000
Network [Link]
Directed broadcast [Link]
Primeiro endereço de host válido [Link]
Último endereço de host válido [Link]
Exemplo com Máscara - Classe B
[Link] | [Link] ou [Link] /16
10000001 . 00001100 . 00000001 . 00000010
11111111 . 11111111 . 00000000 . 00000000
10000001 . 00001100 . 00000000 . 00000000
Network [Link]
Directed broadcast [Link]
Primeiro endereço de host válido [Link]
Último endereço de host válido [Link]
Exemplo com Máscara - Classe C
[Link] | [Link]
ou [Link] /24
11001000 . 11111111 . 11111101 . 11110001
11111111 . 11111111 . 11111111 . 00000000
11001000 . 11111111 . 11111101 . 00000000
Network [Link]
Directed Broadcast [Link]
Primeiro endereço de host válido [Link]
Último endereço de host válido [Link]
Conceito de Sub-rede
Subnetting é utilizada quando existe a necessidade
de mais segmentos do que hosts [RFC950]
Tipos de sub-redes:
Estáticas - máscara fixa
• Fácil de se implementar e manter
• Desperdício de endereços
Variáveis - Variable Length Subnetting
• Roteadores devem ter suporte a máscaras variáveis
Conceito de Sub-rede
A popularidade do protocolo TCP/IP e o crescimento explosivo da Internet
criaram problemas tais como:
Os administradores precisavam solicitar um endereço de rede novo para cada
rede nova rede sendo instalada
Houve um grande crescimento no tamanho das tabelas de roteamento dos
roteadores
Esses problemas foram resolvidos adicionando-se outro nível de hierarquia
na estrutura de endereçamento: rede, sub-rede e host
Dessa forma os administradores podem definir sub-redes diferentes dentro
de um único endereço de rede IP
A estrutura de sub-redes não é visível fora delas (sub-redes):
Interpretada apenas na rede local
Somente os roteadores locais precisam discriminar as redes
Transparente a redes remotas
Regras de Endereçamento
Diferentes segmentos diferentes endereços de rede
“Roubam-se” bits da parte do Host para a utilização com Subnets
Mascara-se a parte [rede] da parte [host] e segue o mesmo padrão
numérico do IP
Subnet Mask deve acomodar o número necessário de Redes e Hosts,
sempre com previsão de crescimento
Regras:
Número de rede e de host com valor “0” são considerados inválidos
Qualquer porção do endereço formada por “1s” é considerada um
broadcast
Sub-rede típica: 32 ou 64 computadores
Subnetting - Máscaras
Uma Máscara de Sub-Rede permite que a parte de host seja dividida em
duas seções, identificando tanto a sub-rede como o host
Endereço IP
Número da Rede Número do Host
normal
Endereço de
Número da Rede Número da Número do
sub-rede
sub-rede host
Sub-redes e Computadores - Classe C
# de Máscara - Máscara - Qtd. IP's IPs Perda
bits Decimal Hexadecimal Sub- válidos / usados de IPs
redes sub- - total - total
rede
O [Link] [Link] 0 254 254 2
1 [Link] [Link].80 2 126 252 4
2 [Link] [Link].C0 4 62 248 8
3 [Link] [Link].E0 8 30 240 16
4 [Link] [Link].F0 16 14 224 32
5 [Link] [Link].F8 32 6 192 64
6 [Link] [Link] 64 2 128 128
7 [Link] [Link] Inválido Inválido Inválido Inválido
Equação genérica:
número de sub-rede na rede:
2^n, onde n é igual ao número de bits para a sub-rede
Sub-redes e Computadores - Classe C
Máscara Rede Broadcast
[Link] 0 63
64 127
128 191
192 255
Exemplo com Máscara de Sub-rede - Classe C
[Link] | [Link]
11001000 . 11111111 . 11111101 . 11110001
11111111 . 11111111 . 11111111 . 11000000
11001000 . 11111111 . 11111101 . 11000000
Network [Link]
Directed Broadcast [Link]
Primeiro endereço de host válido [Link]
Último endereço de host válido [Link]