O Conjunto de Protocolos TCP/IP

Propaganda
Introdução às Redes e
Protocolos TCP/IP
Sessão nº5
Jorge Gomes
[email protected]
Wide Area Networking
WAN algumas tecnologias
– Linhas telefónicas
• Analógicas comutadas com modems
• Analógicas dedicadas com modems
– ISDN (Integrated Services Digital Network)
• Linhas telefónicas digitais
• Suporte para múltiplos serviços, voz, dados, fax etc
– DSL (Digital Subscriber Line)
• Comunicação de dados digital em linhas telefónicas
– ATM (Asynchronous Transfer Mode)
• Rede unificada WAN e LAN com suporte para diferentes classes de serviço
• Baseada em comutação de células em vez de pacotes
– Ethernet
• Cada vez mais utilizado em redes WAN pela sua simplicidade
Modems linhas comutadas
• Linhas telefónicas normais ditas comutadas:
– Tem de haver uma chamada para estabelecer a ligação entre dois pontos
• Linhas analógicas:
– Mesmo quando a linha que chega a casa é analógica a voz é digitalizada na
central e transmitida de forma digital entre centrais
• Um canal de voz ocupa 64Kbps (nos EUA em alguns sítios 56Kbps):
– Modems (Modulator-Demodulator) são usados para codificar a informação
digital em sinal analógico e descodifica-la à chegada
– Um modem para linha comutada nunca poderá atingir mais do que 64K
– Os modems mais rápidos atingem os 56Kbps (downlink) 33.6Kbps (uplink)
– Modems comuns  assíncronos (start e stop bit entre cada byte)
Telefone
analógico
Linha
telefónica
Linha serie RS232
Modem
Externo
Um canal de voz ocupa um
leque de frequências entre
300Hz e 3300Hz
Modems linhas dedicadas
• Linha dedicada analógica
• Ligação ponto-a-ponto:
–
–
–
–
–
“hardwired” nas centrais
Não tem numero de telefone, ou sinal de marcação
Não há chamadas
Custo fixo independente do uso
Normalmente usam 2 pares de fios
• Usam-se modems síncronos
– Mais rápidos que os assíncronos
– Dados transmitidos em frames com checksums
– Usam um sinal de clock (externo, parte dos dados)
• A informação é transmitida em blocos
– Framing HDLC ou SDLC
• Possibilitam transmissão de 64Kbps a 2Mbps
• Modems com interfaces serie:
– V.35 até 64Kbps
– V.36 até 2Mbps
ISDN / RDIS
• Linhas telefónicas digitais:
– Suporte para múltiplos serviços (voz, dados, video, fax, …)
– Canais de comunicação de 64Kbps
• Interfaces de acesso:
– Basic Rate Interface (BRI): 2x 64Kbps + 16Kbps
– Primary Rate Interface (PRI): 30x 64Kbps + 2x 64Kbps
– Broadband ISDN (B-ISDN): ISDN sobre ATM
• Canais:
– Os canais de dados designam-se por canais B
• Usualmente é 64Kbps mas em alguns países pode ser 56Kbps
– O canal de sinalização designa-se por canal D
• Em comunicação de dados usado:
– Para acesso Internet como alternativa aos modems
– Para linhas de backup
– Para ligar filiais de empresas
ISDN / RDIS
• Muito usado nas centrais telefónicas
• A central telefónica do LIP usa 4 circuitos BRI
– Permite 8 conversações simultâneas
– Melhor qualidade de som
– Permite marcação directa de extensões
• Um canal B de um BRI pode ser partilhado entre vários
equipamentos
• Cada equipamento pode usar um ou mais canais B
Linha
telefónica
S/T
Terminador
ISDN BRI
NT-1
Telefone digital ISDN
Não é um telefone analógico
Computador com
adaptador/modem
ISDN
ISDN / RDIS
• A comunicação de dados num cenário mais avançado
usa routers em vez de adaptadores ISDN
• Um router pode usar múltiplos BRI ou PRI
• Um router pode agregar múltiplos canais B
Linhas
Telefónicas
ISDN
Terminador
ISDN BRI
NT-1
Terminador
ISDN BRI
NT-1
S/T
Ethernet
Router com
interface
ISDN +
Ethernet
Ethernet
Switch
ISDN / RDIS
Linhas
Telefónicas
ISDN
S/T
NT-1
NT-1
NT-1
Operador
De
telecom
Terminador
ISDN BRI
NT-1
Terminador
ISDN BRI
NT-1
Router com
interface
ISDN +
Ethernet
ISDN / RDIS
Linhas
Telefónicas
ISDN
S/T
Router com
interface
ISDN +
Ethernet
Terminador
ISDN BRI
NT-1
Terminador
ISDN BRI
NT-1
Operador
De
telecom
Terminador
ISDN BRI
NT-1
Terminador
ISDN BRI
NT-1
Router com
interface
ISDN +
Ethernet
Digital Subscriber Line (DSL)
• Família de tecnologias para comunicação sobre linhas
telefónicas
– Permite o uso simultâneo da linha para chamadas telefónicas e
dados:
– As frequências mais baixas são reservadas para a voz
• Abaixo de 4 kHz (a transmissão de voz usa 300Hz até 3400Hz)
– As frequências mais elevadas são usadas para dados
– Um filtro é necessário para ligar o telefone de forma a garantir
que o telefone apenas transmite e recebe frequências até aos 4
kHz
• Algumas tecnologias xDSL:
–
–
–
–
HDSL
SDSL
ADSL
VDSL
Digital Subscriber Line (DSL)
• Pode funcionar em linhas analógicas ou ISDN
– Foi inicialmente concebido para linhas ISDN
• Funciona através da criação de canais de comunicação
–
–
–
–
–
Começando entre os 10 ou 100kHz
Terminando por exemplo em 1 ou 4MHz
Tipicamente entre 25kHz e 1.1MHz para a norma ADSL
Os canais são automaticamente testados
Quantos mais canais em boas condições maior será a largura
de banda possível
– A distância e qualidade da linha afectam a largura de banda
máxima possível
– Os canais são divididos em canais de transmissão ou recepção
de acordo com o contrato estabelecido com o cliente
ADSL
• Asymmetric Digital Subscriber Line
• Tecnologia da família DSL para uso “domestico”
• É assimétrico porque a largura de banda de download é
maior do que a de upload
– Baseia-se no principio de que a maior parte das utilizações da
Internet por clientes domésticos consistem sobretudo em
downloads
– Um simples HTTP get pode ter como resposta Mbytes de
informação
• ADSL2+ (ITU G.992.5) vai até 2.2MHz e possibilita:
– até 24Mbps de download
– até 3.5Mbps de upload
ADSL
• Suporta dois modos de transporte:
– Fast: para transferências de informação que admitam perda de
alguns bits (video)
– Interleaved: para transferência de ficheiros etc onde o tempo
de retransmissão não seja um problema
• A transmissão de protocolos de rede em ADSL é
encapsulada em:
–
–
–
–
ATM
Ethernet
PPPoA
PPPoE
• O encapsulamento é efectuado no “modem” ADSL
ADSL
• Rede domestica:
– Splitter e ou filtro, telefone POTS
– “modem” ADSL, Router, Switch
• Frequentemente as funcionalidades estão reunidas
Telefones
analógicos
Linha
telefónica
analógica
Filtro
Ethernet
Splitter
ADSL
“modem”
+ router
Ethernet
+ switch
VDSL
• Very high bitrate Digital Subscriber Line
• VDSL2 (ITU-T G.993.2) vai até 30MHz e possibilita:
– até 100Mbps em ambas as direcções
– comunicação simétrica
– desempenho máximo apenas para distancias muito curtas 300m
• Não existe em Portugal
Circuitos
• As redes WAN (Wide Area Network) são
frequentemente baseadas em circuitos disponibilizados
por fornecedores de telecomunicações.
• Muitos dos circuitos que são usados para transportar
dados foram concebidos para transportar voz
– A sua capacidade é medida em múltiplos de 64Kbits
– Um circuito digital de voz usa codificação PCM de 64kbits
– São full duplex
Nome
T1
T2
T3
E1
E2
E3
Mbps
0.064
1.544
6.312
44.736
2.048
8.448
34.368
Circ. Voz
1
24
96
672
30
120
480
Nome (SONET)
STS-1
OC-1
STS-3
OC-3
STS-12 OC-12
STS-24 OC-24
STS-48 OC-48
STM-64 OC-92
STM-256 OC-768
Mbps
51.840
155.520
622.080
1,244.160
2,488.320
9,953.280
39,813.120
C.Voz
810
2430
9720
19440
38880
155520
622080
Fibras Ópticas
• Multimode (MMF)
– Core da fibra de maior diâmetro > 10 µm
– A luz é guiada pela reflexão interna
– Múltiplos caminhos
• Singlemode (SMF)
– Core de diâmetro muito reduzido < 10 µm
– Um único caminho
Ethernet em WAN
• Algumas normas Ethernet para comunicação com fibra
óptica em WAN:
–
–
–
–
–
–
–
–
100Base-FX
1000Base-LX
1000Base-LX
1000Base-LX10
10Gbase-LR
10Gbase-ER
10Gbase-LX4
10Gbase-ZR
Fibre Multimode 62.5/125µm
Fibre Multimode 62.5/50µm
Fibre singlemode 10µm
Fibre singlemode
Fibre singlemode
Fibre singlemode
Fibre singlemode
Fibre singlemode
100Mb/s
1000Mb/s
1000Mb/s
1000Mb/s
10000Mb/s
10000Mb/s
10000Mb/s
10000Mb/s
2Km
550m
5Km
10Km
10Km
40Km
10Km
80Km
Fibra Escura
• O termo “dark fibre” refere-se a:
– Infra-estruturas de comunicação de dados por fibra instaladas
mas não usadas
– Fornecidas por:
• operadores de telecomunicações
• também disponível em ferrovias, auto-estradas, redes eléctricas,
redes de gás etc
• como o custo principal da instalação das fibras é a engenharia civil
faz sentido instalar a fibra em conjunto com outras obras
– “dark” refere-se à ausência de sinal (fibras não usadas)
– Trata-se de fibras disponíveis para serem iluminadas
– O cliente que aluga ou compra as fibras terá ele próprio de
instrumentar a fibra (colocar equipamento óptico nos extremos)
Fibra Escura
• Vantagens:
– Elevado desempenho através da multiplexagem
– Aumento da largura de banda sem instalar novas fibras
– Uma vez adquirida a fibra pode ser instrumentada com a
tecnologia que se considere mais adequada (flexibilidade)
– Possibilidade de usar tecnologias futuras com mais
desempenho pagando apenas a nova instrumentação
– Comprar hoje para utilização a 10Gbps no futuro usar 100Gbps
• Base para infra-estruturas de rede com tecnologia WDM
– FCCN usa Fibra Escura e WDM no seu backbone
Wave Division Multiplexing
• WDM é uma tecnologia de multiplexagem para
comunicação através de fibras ópticas:
– Permite múltiplos sinais ópticos na mesma fibra
• múltiplos canais de comunicação na mesma fibra
• comunicação bidireccional numa única fibra
– Cada sinal num comprimento de onda diferente (cor)
• designa-se cada comprimento de onda por lambda
– Hoje é possível transmitir 80 ~ 160 canais (lambdas) de 10Gbps
numa única fibra (1.6Tbps)
– Fibras:
• Fibras single-mode com 9 µm (mais usual)
• Amplificação do sinal a cada 80 ~ 100Km
– Tipos de WDM:
•
•
•
•
Conventional: 16 canais
Coarse: 16 canais e maior afastamento entre canais
Dense: 80 canais
Ultra dense: 160 canais
Wave Division Multiplexing
• ITU-T G.709:
– Recomendação interfaces para redes ópticas de transporte
– Forma de transportar múltiplos protocolos sobre WDM
• ATM, Ethernet, SDH/SONET, etc
– Formato dos frames
– Data rates
• 2.6Gbps
• 10.7Gbps
• 43Gbps
– Gestão e monitorização das ligações WDM
Wave Division Multiplexing
10Gbase-LR
1x fibra em cada
direcção
6x 10.7 Gbps Lambdas
Comunicação bidireccional
3x lambdas em cada direcção
Numa única fibra
WDM O/E/O
terminal
10Gbase-LR
1x fibra em
cada direcção
WDM O/E/O
terminal
ATM
• Asynchronous Transfer Mode (ATM)
• Tecnologia de transmissão de dados:
–
–
–
–
–
–
–
Conjunto de normas e protocolos
Garantia de qualidade de serviço
Flexibilidade na alocação de largura de banda
Transporte de dados, video, audio etc na mesma ligação física
Muito apoiado pelos operadores de telecomunicações
Conceito abrangente de tecnologia de rede universal WAN/LAN
Criação de aplicações directamente sobre ATM
• Baseado:
– No transporte de pequenas células de tamanho fixo em vez de
frames de tamanho variável (48 bytes data + 5 bytes header)
– Modelo orientado à conexão em que é necessário estabelecer
um circuito virtual (VC) antes de poder transmitir informação
• Muito adequado a redes WAN e dados de tempo real
ATM contexto
• Surgiu como tecnologia unificadora que pretendia substituir as
tecnologias LAN e WAN então usadas:
– As redes Ethernet eram ainda de 10Mbps e estavam ainda a ser
desenvolvidas/especificadas normas para 100Mbps
– O ATM prometia LANs de 155Mbps
– Em WAN ainda usava-se ligações serie e redes ópticas SDH
• O aparecimento do FastEthernet 100Mbps mudou tudo:
– Os equipamentos FastEthernet eram muito mais baratos
– O ATM era extremamente complexo e possuía uma filosofia muito
diferente do Ethernet, TokenRing e FDDI
– A largura de banda FastEthernet era na prática suficiente e
semelhante à largura de banda efectiva do ATM 135Mbps
– O aumento da largura de banda nas redes FastEthernet diminuiu a
necessidade de mecanismos de alocação/reserva
– O desenvolvimento do VOIP diminuiu a necessidade do ATM
ATM
• Vantagens do ATM:
– As células de tamanho fixo permitem diminuir os atrasos da
transmissão de informação de tempo real
– Especialmente na presença grandes bursts de dados
– Permite oferecer diversos tipos de serviços com requisitos diferentes
sobre uma única ligação ou infra-estrutura
• Ao nível WAN o ATM ainda é muito usado:
– xDSL
– Circuitos até 622 Mbps
– Quando há necessidade de oferecer serviços diferenciados numa
mesma ligação
– No backbone dos operadores de telecomunicações
• As tecnologias tipo Ethernet, VLAN, WDM, IP, MPLS etc são cada
vez mais usadas em redes WAN:
– Permitem maior largura de banda (Ethernet e WDM)
– separação de tráfego (VLAN)
– Qualidade de serviço em IP (MPLS)
Serviços ATM
Guarantee ?
Network
Architecture
Service
Model
Bandwidth
Loss
Order
Timing
best effort
none
no
no
no
CBR
constant
rate
ATM
VBR
guarantee
rate
yes
ATM
ABR
guarantee
minimum
ATM
UBR
none
Internet
ATM
Congestion
Feedback
no (infered
via loss)
yes
no
congestion
yes
yes
no
congestion
no
yes
no
yes
no
yes
no
no
yes
Yes
ATM AAL
• ATM Adaptation Layers (AAL)
• Permitem suportar o transporte de outros protocolos
não baseados em ATM sobre ATM:
– Ethernet, Frame Relay, UMTS, SONET, TCP/IP etc
• As AAL lidam com:
–
–
–
–
Segmentação e reconstrução
Erros de transmissão
Células perdidas ou fora se sequência
Controlo de fluxo e validade temporal
• Exemplo de algumas AAL:
–
–
–
–
AAL 1 – CBR – emulação de circuitos ex. T1/E1, ISDN etc
AAL 2 – VBR-RT – informação tempo real ex. voz
AAL 3/4 –VBR-NRT – ex. Frame Relay, X.25
AAL5 – VBR-NRT – ex. IP, Ethernet, LAN Emulation
ATM celulas
UNI – User-Network Interface
•
•
•
•
•
•
GFC
VPI
VCI
PT
CLP
HEC
NNI – Network-Network Interface
= Generic Flow Control (4 bits) (default: 4-zero bits)
= Virtual Path Identifier (8 bits UNI) or (12 bits NNI)
= Virtual channel identifier (16 bits)
= Payload Type (3 bits)
= Cell Loss Priority (1-bit)
= Header Error Control (8-bit CRC, polynomial = X8 + X2 + X + 1)
ATM Interfaces
• User-Network Interface (UNI): liga equipamentos terminais a um
switch ATM
• Network-Network Interface (NNI): interliga dois switches ATM
ATM VP/VC
• Conexões Virtuais ATM:
– Virtual Path (VP): identificado pelo VPI é um caminho virtual
– Virtual Channel (VC): identificado pelo VCI é um canal dentro de um caminho
• O VPI e o VCI:
– Não são endereços apenas identificam um circuito
– Possuem apenas significado local (a outra ponta pode ter VPI e VCI diferentes)
• Serviços ATM:
– Permanent Virtual Circuit (PVC): conexão permanente entre pontos
– Switched Virtual Circuit (SVC): conexão criada e eliminada dinamicamente
ATM VP/VC
• Diversas categorias de serviços podem ser transmitidos
através de um único VP
• No segundo caso dois VPs do tipo Constant Bit Rate
transportam multiplos VCs de tipos diferentes
ATM VP/VC
Point-toPoint
X
Point-toMultipoint
X
Transit
—
Terminate
—
Permanent virtual path link (PVPL)
X
X
—
—
Permanent virtual channel connection
(PVCC)1
Permanent virtual path connection (PVPC)1
X
X
X
X
X
X
X
—
Soft permanent virtual channel connection
(soft PVCC)
X
—
X
—
Soft permanent virtual path connection (soft
PVPC)
X
—
X
—
Switched virtual channel connection (SVCC)
X
X
X
X
Switched virtual path connection (SVPC)
X
X
X
—
Connection
Permanent virtual channel link (PVCL)
ATM endereços
• Os endereços ATM são usados para estabelecer SVCs
• Existem dois tipos de endereços:
– Públicos: usam endereços E.164 tipo número de telefone
– Privados: usam um endereço de 20bytes designado conhecido por
ATM End System Address (AESA)
ATM VP/VC
• Permanent Virtual Path Circuit (PVPC)
•
Todos os detalhes dos VPIs ao longo do caminho
• Soft Permanent Virtual Channel Circuit (SPCC)
•
Os detalhes do caminho não são necessários, apenas os extremos
são relevantes
ATM VP/VC
• O ATM permite comunicação ponto-multiponto
• Uma mesma célula é enviada através dos 3 VCs
ATM ILMI
• Interim Local Managment Interface (ILMI)
• Protocolo de gestão baseado no SNMP (sem TCP/IP)
– Permite obter e reportar informação sobre as interfaces ATM
– Cada dispositivo ATM troca informação sobre a configuração
das suas interfaces com os dispositivos adjacentes via ILMI
• Um dos usos principais é a autoconfiguração
– Permite reportar o endereço ATM de uma interface e obter o
prefixo a usar
– Os protocolos de routing do ATM (PNNI e IISP) usam esta
informação para identificar os componentes da rede e levar os
circuitos entre os vários switches de uma rede
ATM e IP
• Estratégias para IP sobre ATM:
– O protocolo IP pode ser transportado directamente
sobre ATM
• Como lidar com o mapeamento endereço IP  MAC ?
– O protocolo IP pode usar uma camada de abstracção
• Emulação ATM de uma LAN clássica LAN Emulation (LANE)
ATM e IP
• IP sobre ATM:
– Necessita de mapeamento entre endereços IP e endereços ATM
– Em ethernet o protocolo ARP é usado para resolução de
endereços IP em endereços MAC
– O protocolo ARP em Ethernet baseia-se em broadcasts
– Em ATM não existem broadcasts
– A implementação de ARP para ATM usa um servidor de ARP
– Cada servidor de ARP mantém a lista das correspondências
para a sua subnet e pode ser consultado pelas estações
– Os pacotes IP são segmentados em células
– A perda de uma célula é a perda de um pacote
– O AAL5 tenta mitigar este problema marcando o inicio e fim de
cada pacote
ATM e IP
• LANE:
– Emulação de uma Ethernet
– Cada interface ATM aparece como uma ou mais interfaces
Ethernet
– Conceitos:
• LANE Client (LEC): é uma qualquer estação da rede
• LANE server (LES): servidor em que todos os LEC se registam e
que mantém a correspondência entre endereços MAC e
implementa o LANE ARP (LE_ARP)
• Broadcast and Unknown Server (BUS): um servidor que encaminha
broadcasts, multicasts e pacotes com destino desconhecido
• LANE configuration server (LECS): redirecciona cada LEC para a
sua LAN de acordo com uma configuração (de facto redireciona
cada LEC para o LES correcto)
WiMAX
•
•
•
•
•
Worldwide Interoperability for Microwave Access
IEEE802.16
Tecnologia wireless de longo alcance (Kms)
Acesso móvel com antena omnidireccional
Acesso fixo com antena direccional
•
Largura de banda partilhada
• 802.16d (acesso fixo)
– Alcance até 50Km
– Exemplo 10Mbps a 9Km
– Desempenho 15 a 35Mbps
• 802.16e (acesso móvel)
– Desempenho 15 a 35Mbps
• 802.16m
– 1Gbps fixo
– 100Mbps móvel
Introdução ao TCP / IP
Estandardização do TCP/IP
• Existem quatro grupos responsáveis pela supervisão
dos processos de estandardização do TCP/IP:
– ISOC (Internet Society) Suporta, facilita e promove a
evolução e crescimento da Internet como infra estrutura de
comunicações.
– IAB (Internet Architecture Board) Coordenação e
supervisão técnica dos standards. Efectua a revisão e
garante a qualidade dos standards.
– IETF (Internet Engineering Task Force) Desenvolve
especificações técnicas que mais tarde se podem tornar
standards.
– IRTF (Internet Research Task Force) Coordena projectos de
investigação a longo prazo.
RFCs
• Os standards são publicados sob a forma de RFCs
– Request for Comments
• Cada RFC é identificado por um numero.
– RFC 0007 Host-IMP Interface G.Deloche May 1969
• Um RFC não é obrigatoriamente um standard:
– muitos são publicados para fins informativos
– outros não chegam sequer a ser aceites como standards.
• Os RFCs encontram-se disponíveis para download
– http://www.ietf.org/rfc.html
• Existe um índex com cada RFC e o seu estado:
– Standard, Informational, Experimental, Proposed
Standard, Draft Standard, Best Current Practice, Historic,
Unknown
RFCs
• Alguns RFCs importantes:
–
–
–
–
–
–
RFC 1700 Parâmetros (números) usados em protocolos.
RFC 2500 Estado de estandardização dos protocolos.
RFC 1122 Requisitos para hosts nível de comunicação
RFC 1123 Requisitos para hosts nível aplicativo
RFC 1127 Perspectivas sobre os requisitos
RFC 1812 Requisitos para routers IP V4
• Antes de ler um RFCs deve-se verificar se existe
uma versão mais recente:
– Obsoleted by RFCxxxx
Níveis
• Os protocolos de comunicação modernos são normalmente
baseados em camadas.
• O modelo OSI (Open Systems Interconnection) define o processo
de comunicação como um conjunto de sete níveis.
• As camadas implementam diferentes funcionalidades.
• O TCP/IP possui quatro níveis.
7
6
5
4
3
2
1
Modelo OSI
Aplicação
Apresentação
Sessão
Transporte
Rede
Ligação
Físico
4
3
2
1
TCP / IP
Aplicação
Transporte
Rede
Ligação
SSH, HTTP, e-mail, etc.
TCP, UDP
IP, ICMP, IGMP
Frames, endereçamento
físico, controlo do envio
de dados no meio físico
Níveis e Funcionalidade
1. O nível de ligação inclui o driver e a interface de rede
correspondente. É responsável por lidar com todos
os detalhes da ligação física entre o sistema e a rede.
2. O nível de rede lida com a movimentação de pacotes
de dados na rede. O encaminhamento (routing) é
efectuado neste nível.
–
O IP, ICMP e IGMP são protocolos de nível de rede.
3. O nível de transporte lida com os fluxos de dados
usados pelas aplicações para comunicar entre dois
sistemas.
–
O TCP e o UDP são protocolos de nível de transporte
Níveis e Funcionalidade
4. O nível de aplicação é constituído pelos programas
usados pelos utilizadores.
Por exemplo:
– cliente SSH
usado para efectuar logins remotos.
– cliente FTP
usado para transferir ficheiros.
– servidor HTTP usado para dar acesso a documentos.
Níveis e Funcionalidade
Cliente SSH
TCP
IP
Driver e
Interface
Protocolo
Telnet
Protocolo
TCP
Protocolo
IP
Protocolo
Ethernet
Ethernet
Servidor SSH
Aplicação
TCP
Transporte
IP
Driver e
Interface
Rede
Processos
modo
Utilizador
modo
Kernel
Ligação
Hardware
Níveis e Funcionalidade
• No exemplo anterior são exibidos quatro protocolos, um
em cada nível.
• O TCP/IP é um conjunto de muitos mais protocolos.
• Embora o nome do conjunto de protocolos seja TCP/IP o
TCP e o IP são apenas dois dos protocolos.
• Outro nome possível para o TCP/IP é “Protocolo
Internet”.
• O termo Internet surge de “Internetwork” ou seja a
combinação de múltiplas redes numa só através da sua
interligação física e de um protocolo comum.
Níveis e Funcionalidade
internet não Internet
• Para criar uma internet basta:
– instalar e configurar o TCP/IP nos vários sistemas.
– criar pelo menos duas redes
– interligar as duas redes através de um dispositivo de
encaminhamento (router ou switch L3).
• É na função de encaminhamento que o nível de rede IP
assume o seu destaque.
Níveis e Funcionalidade
• Um sistema que possui mais de um interface de rede
chama-se “multihomed”.
• Qualquer sistema pode ser “multihomed”.
• A um sistema “multihomed” que encaminha tráfego
entre as suas varias interfaces chama-se “router”.
A
Um host não faz
encaminhamento de
pacotes
A  host = OK
B  host = OK
A  B = KO
Um router faz
encaminhamento de
pacotes
A  host = OK
B  host = OK
A  B = OK
host
router
B
A
B
Níveis e Funcionalidade
Protocolo
Telnet
Cliente SSH
Servidor SSH
Protocolo
TCP
TCP
TCP
Router
Protocolo
IP
IP
Driver
Ethernet
Protocolo
Ethernet
Interface
Ethernet
Protocolo
IP
IP
Driver
Ethernet
Interface
Driver
FDDI
Protocolo
FDDI
IP
Driver
FDDI
Interface
Interface
FDDI
Níveis e Funcionalidade
• O nível de rede (IP) implementa um serviço não fiável:
– Best Effort
• O IP nada garante:
– Não garante a entrega de pacotes
– Não garante a sequencia de chegada
• Os níveis acima do IP nada sabem sobre:
– topologia física da rede
– a existência de routers
Níveis e Funcionalidade
• TCP
• O TCP implementa um fluxo (byte stream) de dados
fiável entre dois sistemas.
– Conceito de ligação (estabelecimento, transmissão e fim)
• Divide os dados em pacotes e envia-os.
• Implementa o mecanismo de acks, timeouts e
retransmissão.
– Garantir a chegada dos pacotes
• Recebe os pacotes e reconstrói o fluxo de dados.
– Garantir a entrega dos dados às aplicações na mesma
sequencia com que foram enviados
• Como é um protocolo fiável a aplicação não precisa
de se preocupar com detalhes como retransmissão
ou ordenação dos pacotes na recepção.
Níveis e Funcionalidade
• UDP
• O UDP implementa um serviço simples e não
garantido
– Como o IP mas orientado para aplicações
– Não possui conceito de ligação (pacote a pacote)
• Envia pacotes de dados (datagramas) entre duas
aplicações em dois sistemas.
– Não oferece garantias de que os pacotes cheguem na
mesma sequencia em que foram enviados.
– Não oferece sequer garantia de que os pacotes cheguem
ao destino.
• As aplicações que usem UDP têm elas mesmo de
implementar um protocolo fiável
– Se tal for desejável.
Níveis e Funcionalidade
Processo
Processo
Processo
TCP
ICMP
ARP
IP
Interface
de rede
Rede Física
Processo
Aplicação
UDP
Transporte
IGMP
RARP
Rede
Ligação
Endereços IP
• Dentro de uma rede cada interface tem de possuir um
endereço IP diferente.
• Um endereço IP (v4) é um numero de 32 bits (4 bytes).
• Um endereço IP é normalmente representado como:
– quatro números decimais separados por pontos.
– cada numero representa um dos quatro bytes
• Exemplos:
193.136.90.81
10.0.0.254
Endereços IP
• Uma vez que os endereços das interfaces têm de ser únicos a sua
atribuição tem de ser controlada.
• O ICANN “Internet Corporation for Assigned Names and Numbers”
supervisiona a delegação do espaço de endereçamento.
• A ICANN delega o espaço de endereçamento a “Regional Internet
Registries” (RIR):
–
–
–
–
–
ARIN: América do Norte
RIPE: Europa, Médio Oriente
APNIC: Ásia/Pacifico
AfriNIC: África
LACNIC: América Latina
• Cada “RIR” pode delegar a atribuição de partes do espaço de
endereçamento a “Local Internet Registries”.
• Os “Local Internet Registries” (LIR) dependem dos “RIR” e são
operados tipicamente por service providers para alocação de
endereços aos seus clientes
Endereços IP
• O espaço de endereçamento IP era
originalmente dividido em 5 classes:
0
Rede 7bits
Classe A
Sistema 24bits
0.0.0.0 – 127.255.255.255
1
0
Rede 14bits
Sistema 16bits
Classe B
128.0.0.0 – 191.255.255.255
1
1
0
Rede 21bits
Sistema 8bits
Classe C
192.0.0.0 – 223.255.255.255
1
1
1
0
Grupo de multicast 28bits
Classe D
224.0.0.0 – 239.255.255.255
1
1
1
1
0
Reservado 27bits
240.0.0.0 – 254.255.255.255
Classe E
Endereços IP
• O modelo de classes possui sérios problemas de escalabilidade.
• O modelo actual designa-se por Classless and Subnet Address
Extensions (CIDR).
• No CIDR a divisão entre endereço de rede e de maquina não é
limitada às 5 classes.
• Qualquer divisão do número de bits entre endereço de rede e de
maquina é valida.
• Na nova notação a separação entre endereço de rede e de
maquina é efectuada especificando o numero de bits alocados
ao endereço de rede.
• O número de bits de rede é especificado sob a forma de um
numero decimal separado do endereço IP por um “/”
Alocação de Endereços
• Evolução da alocação de endereços IP v4 pelo ICANN / IANA até
finais de 2009
Endereços IP
• Exemplos de endereços “classless”:
.
193
1 1 0 0 0 0 0 1
137
.
1 0 0 0 1 0 0 1
98
.
0 1 1 0 0 0 1 0
.
1 1 0 0 0 0 0 1
137
.
1 0 0 0 1 0 0 1
Endereço de rede
/ 28
1 1 1 1 0 0 0 0
Endereço de
sistema
(host)
Endereço de rede
193
240
98
0 1 1 0 0 0 1 0
.
0
0 0 0 0 0 0 0 0
Endereço de
sistema
(host)
/ 23
Mascara de Rede
• A mascara de rede identifica os bits de rede
• Assumindo 23 bits de endereço de rede mascara da
rede IP 193.137.98 ser representada:
– 193.137.98.0 /23
– Ou como mascara de bits 255.255.254.0
.
193
1 1 0 0 0 0 0 1
137
.
1 0 0 0 1 0 0 1
98
0 1 1 0 0 0 1 0
1 1 1 1 1 1 1 1
.
255
1 1 1 1 1 1 1 1
.
0
0 0 0 0 0 0 0 0
Endereço de
sistema
Endereço de rede
255
.
254
1 1 1 1 1 1 1 0
mascara de rede
.
0
0 0 0 0 0 0 0 0
/ 23
Endereço de Broadcast
• Um datagrama de broadcast chega a todos os hosts de
uma rede IP
• Cada rede IP possui um endereço de broadcast
• O Endereço de broadcast tem todos os bits do host a 1
– Rede 193.137.98.0/24  broadcast 193.137.98.255
– Rede 193.137.98.0/23  broadcast 193.137.99.255
.
193
1 1 0 0 0 0 0 1
137
1 0 0 0 1 0 0 1
.
193
1 1 0 0 0 0 0 1
.
137
98
0 1 1 0 0 0 1 0
.
1 0 0 0 1 0 0 1
Endereço de rede
99
0 1 1 0 0 0 1 1
.
255
/ 24
1 1 1 1 1 1 1 1
.
255
1 1 1 1 1 1 1 1
Endereço de
broadcast
/ 23
Configurar uma Interface
• Em Linux:
– ifconfig
• Exemplo:
– ifconfig eth0 10.67.54.3 netmask 255.255.255.0 up
– ifconfig eth0 down
• Em Windows o comando ipconfig/all em janela
de comando permite ver a informação sobre as
interfaces
Configurar uma Interface
• Em RedHat Linux:
– /etc/sysconfig/network-scripts/ifcfg-eth0
• Configuração típica:
DEVICE=eth0
BOOTPROTO=none
BROADCAST=10.255.255.255
HWADDR=00:17:39:7E:A0:67
IPADDR=10.153.1.1
NETMASK=255.0.0.0
NETWORK=10.0.0.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=10.0.0.254
• Iniciar e parar uma interface configurada em ifcfg-eth0:
/sbin/ifup eth0
/sbin/ifdown eth0
Parar e Iniciar a Rede
• Em RedHat Linux:
/etc/init.d/network start
ou
service network start
/etc/init.d/network stop
/etc/init.d/network restart
/etc/init.d/network status
Configurar uma Interface
• Num router com IOS (CISCO) ou similar
• Tem de se entrar em modo de configuração comando config
Interface GigabitEthernet2/1
no switchport
description Ligação ao router B
ip address 199.132.41.49 255.255.255.240
ip address 174.158.100.254 255.255.255.0 secondary
no shutdown
Interface GigabitEthernet2/1
shutdown
no ip address 174.158.100.254 255.255.255.0 secondary
no ip address 199.132.41.49 255.255.255.240
no description
Endereços IP privados
• Existem três blocos de endereços IP ditos privados:
– reservados para redes fechadas que não estão ligadas
directamente à Internet (RFC 1918).
– estes endereços não são validos na Internet.
– os endereços privados podem ser utilizados livremente.
– existem múltiplas redes privadas a reutilizar estes
endereços.
– Blocos:
10.0.0.0
172.16.0.0
192.168.0.0
169.254.0.0
a
a
a
a
10.255.255.255
172.31.255.255
192.168.255.255
169.254.255.255
– O LIP usa endereços dos blocos privadas:
• 10.0.0.0/8
• 192.168.0.0/16
Endereços IP privados
• A utilização de NAT (Network Address Translation)
permite que uma organização possa estar ligada à
Internet usando na sua rede interna endereços RFC
1918.
– O NAT efectua a conversão dos endereços privados em
endereços públicos através do mapeamento temporário ou
permanente destes endereços em endereços públicos
atribuídos à organização
– A conversão é efectuada nos dispositivos que efectuam a
ligação entre a rede local e a Internet (firewalls/routers)
– O NAT aumenta a segurança porque esconde a topologia
interna da rede, e impede o acesso a sistemas internos
– O NAT permite a criação de redes de grandes dimensões
sem recurso aos escassos endereços IP públicos.
DNS
• Embora as interfaces de rede as maquinas e o encaminhamento de
pacotes seja feito com base no endereço IP para conveniência dos
humanos é possível usar nomes em vez de endereços IP.
• O mecanismo que permite a tradução de nomes em endereços IP e
vice versa chama-se Domain Name System (DNS).
• O DNS é uma “base de dados” hierárquica distribuída.
• As aplicações convertem nomes em endereços através de funções
de biblioteca, este processo designa-se de “lookup”.
• Da mesma forma o processo de obtenção de um nome com base
num endereço IP designa-se “reverse lookup”.
• A maior parte das aplicações que aceita nomes também aceita
endereços IP no formato “dotted decimal”.
DNS
• Resolver em RedHat Linux:
– /etc/resolv.conf
$ cat /etc/resolv.conf
# Generated by NetworkManager
search lip.pt
nameserver 10.226.1.1
nameserver 10.226.1.2
• Em Fedora preferencialmente mudar em:
– /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=10.226.1.1
DNS2=10.226.1.2
DOMAIN=lip.pt
Encapsulamento
• Os dados transmitidos por uma aplicação são enviados
pelas varias camadas até chegarem à rede física.
• Cada camada acrescenta informação especifica do
protocolo sob a forma de “headers” e “trailers”.
• Cada protocolo encapsula os dados enviados pela
camada imediatamente acima num pacote que também
contem o “header” e “trailer” correspondente.
• Cada tipo de pacote possui um nome especifico.
– Datagrama IP
– Segmento TCP
– Datagrama UDP
Encapsulamento
Aplicação
Dados específicos
da aplicação
TCP
Header
TCP
Dados específicos
da aplicação
Segmento TCP
Header
IP
Header
TCP
IP
Dados específicos
da aplicação
Datagrama IP
14
20
20
Header
Ethernet
Header
IP
Header
TCP
4
Dados específicos
da aplicação
Frame Ethernet
Trailer
Ethernet
Driver de
rede
Encapsulamento
• Os datagramas IP podem transportar dados provenientes de
diversos protocolos.
– O ICANN controla a atribuição de identificadores de protocolos IP
– http://www.iana.org/assigments/protocol-numbers
• Para identificar o tipo de conteúdo transportado por um datagrama
IP o “header” IP contem um identificador de protocolo que pode
assumir vários valores:
– 1 ICMP
– 2 IGMP
– 6 TCP
– 8 EGP
– 17 UDP
– 29 ISO-TP4
– 36 XTP
– 41 IPv6
• Em Linux:
• /etc/protocols
– 43 IPv6-Route
– 44 IPv6-Frag
– 46 RSVP
– 47 GRE
– 93 AX.25
– 97 ETHERIP
– 103 PIM
– 111 IPX-in-IP
Encapsulamento
Protocolo
Telnet
Cliente SSH
Servidor SSH
Protocolo
TCP
TCP
Router
IP
Protocolo
IP
IP
Driver
Ethernet
Protocolo
Ethernet
Interface
TCP
Driver
Ethernet
Interface
Protocolo
IP
Driver
FDDI
Protocolo
FDDI
Driver
FDDI
Interface
Interface
Ethernet
IP
A
router
B
FDDI
E(A)  E(router) Proto(ip) Ip(A)  Ip(B) ProtoIp(tcp) TCP header + dados
Header Ethernet
Header IP
E(router)  E(B) Proto(ip) Ip(A)  Ip(B) ProtoIp(tcp) TCP header + dados
Header Ethernet
Header IP
Encapsulamento
• Da mesma forma um “frame Ethernet” possui um identificador no
seu “header” que indica que tipo de protocolo o frame transporta
•
http://www.iana.org/assigments/ethernet-numbers
• Varias aplicações podem transmitir e receber dados
simultaneamente:
•
o TCP e o UDP usam nos seus “headers” identificadores para
determinar os processos de origem e destino dos dados
•
a estes identificadores são as portas TCP ou UDP
•
http://www.iana.org/assigments/port-numbers
•
Em Linux /etc/services
Desencapsulamento
Processo Processo
Desmultiplexagem
baseada no numero
da porta de destino
TCP
UDP
IGMP
ICMP
Desmultiplexagem
baseada no tipo de
protocolo no header IP
Desmultiplexagem
baseada no tipo
existente no header
do frame
Processo
IP
ARP
RARP
Interface
de rede
Chegada de um frame Ethernet
Portas
• Os protocolos TCP e UDP identificam as aplicações com base nos
números de porta.
• Existem três conjuntos de portas
• Well Known Ports
–
–
–
–
Portas entre 0 e 1023
Reservadas para servidores de algumas aplicações bem conhecidas
Atribuição das portas a aplicações controlada pelo ICANN
Necessário privilegio de root para criar sockets neste espaço
• Registered Ports
– Portas entre 1024 e 49151
– Podem ser usadas por qualquer aplicação
– O ICANN mantém um registo para conveniência dos utilizadores
• Dynamic / Private Ports
– Portas entre 49152 e 65535
– Portas efémeras para alocação automática para clientes
Portas
• Exemplo:
– O processo servidor SSH:
• Arranca e associa-se à well-known-port atribuída ao SSH
– Associação OK se for root e a porta não estiver ocupada
• Fica à escuta de ligações de clientes na well-known-port
– Quando um cliente SSH se pretende ligar ao servidor:
• Pede ao kernel associação a uma porta local efémera
– O kernel decide qual porta atribuir
• Estabelece uma ligação TCP com o servidor SSH
• A ligação TCP é entre a porta efémera e a well-known-port
Cliente SSH
Porta 50451
Servidor SSH
Ligação TCP
Porta 22
Portas
• Em Linux o conjunto de portas efémeras é
definida por um parâmetro do kernel:
$ sysctl –a | grep port_range
net.ipv4.ip_local_port_range = 32768 61000
• Na prática varia entre implementações etc.
• Pode ser mudado pelo administrador do sistema
Portas
• Algumas Well Known Ports:
– SSH
– FTP
– TFTP
– SMTP
– POP3
– SNMP
– NEWS
– HTTPS
– DOMAIN
TCP 22
TCP 21
UDP 69
TCP 25
TCP 110
UDP 161
TCP 144
TCP 413
TCP/UDP 53
• Em Linux:
• /etc/services
Implementações
• A implementação referencia do TCP/IP foi desenvolvida pela
Universidade de Berkeley na Califórnia.
• Vários vendedores/fabricantes possuem implementações de
TCP/IP inspiradas nas implementações originais de Berkeley.
4.2BSD
1983
4.3BSD
1986
4.3BSD Tahoe
1988
4.3BSD Reno
1990
Linux
1991
4.4BSD
1993
FreeBSD
NetBSD
OpenBSD
APIs
• Existem fundamentalmente dois APIs para
desenvolvimento de aplicações com TCP/IP.
– BSD Sockets
• Desenvolvido por Berkeley
– TLI (Transport Layer Interface)
• Desenvolvido pela AT&T
• Mais complexo e difícil de usar
– XTI (X/Open transport interface)
• Standard baseado no TLI
• A existência de cada API numa maquina depende do
sistema operativo usado.
• Alguns sistemas operativos disponibilizam os dois APIs.
• A esmagadora maioria disponibiliza o BSD Sockets API
BSD sockets API
• Funções:
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
socket()
bind()
listen()
connect()
accept()
send() recv()
write() read()
sendto() recvfrom()
close()
gethostbyname()
gethostbyaddr()
select()
poll()
getsockopt()
setsockopt()
cria um novo socket
servidores liga socket a uma porta
servidores usado em TCP para entrar em escuta
clientes estabelece ligação TCP
servidores aceita uma ligação TCP remota
enviar/receber
enviar/receber
enviar/receber
termina e liberta recursos
resolve nomes
resolve endereços
seleccionar sockets prontos a ler, escrever, ou c/ erros
verificar/testar o estado dos sockets
obter opções de um socket
alterar opções de um socket
O Nível de Ligação
Encapsulamento Ethernet
Encapsulamento IEEE 802.2/802.3 (RFC 1042)
endereço
Destino
(6)
endereço
Origem
(6)
tamanho
(2)
802.3 MAC
DSAP
0xaa
(1)
SSAP
0xaa
(1)
802.2 LLC
CNTL
0x03
(1)
codigo
org 0x0
(3)
tipo
DADOS
(2)
(38-1492)
trailer
CRC
(4)
802.2 SNAP
Encapsulamento Ethernet original ou encapsulamento ARPA (RFC 894)
endereço
Destino
(6)
endereço
Origem
(6)
tipo
DADOS
(2)
(46-1500)
trailer
CRC
(4)
• Cada frame IEEE 802.3 é precedido por um preambulo de 7 bytes seguido de um delimitador
de frame com 1 byte.
• Cada frame Ethernet é precedido por um preambulo de 8 bytes.
Ethernet
• O TCP/IP suporta o encapsulamento de pacotes IP em redes
Ethernet e IEEE 802.3
• Os requisitos de encapsulamento para um sistema ligado a
uma rede do tipo Ethernet são:
– Tem de permitir envio e recepção de pacotes com
encapsulamento Ethernet original.
– Deve poder receber pacotes com encapsulamento IEEE 802.3
– Pode ou não enviar pacotes com encapsulamento IEEE 802.3
– Se suportar o envio pacotes em ambos os encapsulamentos então
a opção de envio deve ser configurável e usar por defeito
encapsulamento Ethernet original.
Campos de um Frame Ethernet
• Tipo: identifica o protocolo de alto nível contido no campo de
dados. O uso do campo tipo permite que múltiplos protocolos
possam coexistir numa mesma rede Ethernet.
– 0800 IP
– 0805 X.25 nível 3
– 6003 DECnet Phase IV
– 6004 DEC LAT
– 809B AppleTalk
– 80D5 IBM SNA
– 8137 8138 IPX/SPX
– 0BAD Banyan
– 0806 ARP
• Tamanho: número de bytes no campo de dados.
• Existe um tamanho mínimo de frame Ethernet, de modo a garantir que
há tempo suficiente para que as interfaces possam detectar colisões.
• Sistemas que suportem frames Ethernet e 802.3 usam este campo para
diferenciar os dois tipos de frame. Se o valor for exceder 1500 bytes é
um tipo (frame Ethernet) caso contrario é um tamanho (frame IEEE
802.3)
• CRC: Resultado de uma função polinomial para detecção de erros
de cobre o frame desde o endereço de destino ao fim do campo de
dados.
Encapsulamento Ethernet
Encapsulamento Ethernet II (RFC 894)
Também conhecido por encapsulamento ARPA ou DIX
endereço
Destino
(6)
endereço
Origem
(6)
tipo
DADOS
trailer
CRC
(4)
(2)
(46-1500)
tipo
0x0800
(2)
DATAGRAMA IP
(46-1500)
tipo
0x0806
(2)
Pedido ou Resposta ARP
PAD
(28)
(18)
tipo
0x8035
(2)
Pedido ou Resposta RARP
PAD
(28)
(18)
Encapsulamento Ethernet
Encapsulamento IEEE 802.2/802.3 (RFC 1042)
LLC
endereço
Destino
(6)
Indica
presença
de um
cabeçalho
SNAP
endereço
Origem
(6)
O código de
protocolo ou
organização
a zero
Indica que o
tipo é
Ethernet
tamanho
(2)
DSAP
0xaa
(1)
SSAP
0xaa
(1)
tipo
0x0800
(2)
SNAP
CNTL
0x03
(1)
Org
0x0
(3)
tipo
DADOS
(2)
(38-1492)
DATAGRAMA IP
(38-1492)
tipo
0x0806
(2)
Pedido ou Resposta ARP
PAD
(28)
(10)
tipo
0x8035
(2)
Pedido ou Resposta RARP
PAD
(28)
(10)
trailer
CRC
(4)
Encapsulamento Ethernet
endereço
Destino
(6)
endereço
Destino
(6)
endereço
Origem
(6)
endereço
Origem
(6)
tipo
DADOS
(2)
(46-1500)
tamanho
(2)
DSAP
0xaa
(1)
SSAP
0xaa
(1)
CNTL
0x03
(1)
Org
0x0
(3)
trailer
CRC
(4)
tipo
DADOS
(2)
(38-1492)
trailer
CRC
(4)
• Dois tipos de frame ?!?!?
– O campo tipo e o campo tamanho ocupam o mesmo lugar nos
dois tipos de frame ?!?!?
– Como é que se distinguem os dois tipos de frames ?
• Por convenção:
– O menor valor possível em ETHERNET para o tipo é 0x0600
– O maior tamanho de frame standard possível é 0x05DC
• Logo não há confusão e é possível ter os dois tipos de
encapsulamento na mesma rede física.
Encapsulamento Ethernet
endereço
Destino
(6)
endereço
Origem
(6)
tipo
DADOS
(2)
(46-1500)
endereço
Destino
(6)
endereço
Origem
(6)
tipo
0x8870
(2)
DSAP
0xaa
(1)
SSAP
0xaa
(1)
CNTL
0x03
(1)
endereço
Destino
(6)
endereço
Origem
(6)
tamanho
DSAP
0xaa
(1)
SSAP
0xaa
(1)
CNTL
0x03
(1)
(2)
trailer
CRC
(4)
DADOS
trailer
CRC
(4)
(43-?)
código
Org
(3)
tipo
DADOS
(2)
(38-1492)
trailer
CRC
(4)
• Jumbo frames:
– Suporte para frames maiores que 1500 bytes
– Não é suportado pela IEEE
– Baseia-se num draft do IETF (Extended Ethernet Frame Size Support)
• Implementação:
– Usar um frame ETHERNET (RFC 894)
– Usar o tipo de dados 0x8870 para indicar que é um jumbo frame
– Usar campos IEEE802.3 DSAP, SSAP e CNTL para especificar os
dados/protocolo
– Os campos IEEE802.3 de código, tipo e a informação sobre tamanho estão
ausentes
SLIP (Serial Line IP)
• O SLIP (RFC 1055) é uma forma simples de
encapsulamento para uso em linhas série.
• Foi o antecessor do PPP.
• As regras do encapsulamento SLIP são:
– Cada datagrama IP é terminado com o carácter 0xc0.
– Algumas implementações transmitem o carácter 0xc0
também no inicio do datagrama IP.
– Se um byte no datagrama for igual a 0xc0 a sequencia 0xdb
0xdc é transmitida em sua substituição.
– Se um byte do datagrama for igual a 0xdb a sequência 0xdb
0xdd é enviada em sua substituição.
SLIP (Serial Line IP)
• O SLIP devido à sua simplicidade apresenta os
seguintes problemas:
– Não existe nenhum mecanismo para informar os extremos
sobre qual o endereço IP a usar.
– Não existe um campo para o tipo de dados o que impede a
utilização do SLIP por parte de outros protocolos.
– Não existe um CRC o que pode causar problemas em linhas
com ruído.
• Uma vez que o IP não pode confiar que o nível de
ligação possua sempre um CRC, o protocolo inclui
suporte para CRC nas suas camadas de rede e
transporte.
CSLIP (Compressed SLIP)
• Uma vez que:
– As linhas série RS232 são usualmente lentas.
– O SLIP é usado frequentemente com aplicações interactivas que
transmitem poucos dados de cada vez
– A transmissão de um byte de dados implica a transmissão de 20
bytes de cabeçalho IP mais 20 bytes de cabeçalho TCP.
• Uma versão optimizada do SLIP designada por CSLIP foi
especificada no RFC 1144.
• O CSLIP mantêm em cada extremo o estado de até 16 ligações
TCP que tenham sido estabelecidas.
• O CSLIP reduz os 40 bytes de cabeçalho a 3 ou 5 bytes.
• Isto é possível porque maior parte dos bytes dos cabeçalhos
não muda durante a duração de uma ligação.
• O CSLIP melhora bastante a resposta interactiva das
aplicações.
PPP (Point to Point Protocol)
• O PPP foi desenvolvido para colmatar as insuficiências do SLIP
• O PPP consiste nos seguintes componentes:
– Um mecanismo de encapsulamento para ligações série
assíncronas ou síncronas (RFC 1548).
– Um protocolo de estabelecimento de ligação que permite
estabelecer, configurar e testar uma ligação. Isto permite que
cada extremo possa negociar varias opções (RFC 1548).
– O PPP possui suporte para múltiplos protocolos IP (RFC 1332),
OSI, DECnet e AppleTalk.
– O PPP foi muito utilizado em ligações por modem e RDIS
– O PPP ainda é muito utilizado em ligações ADSL com PPPoE ou
PPPoA
– O PPP ainda é muito utilizado em VPNs
PPP (Point to Point Protocol)
• O formato dos frames PPP é similar ao standard ISO HDLC.
• Cada frame começa e termina com 0x7e.
• Para enviar o byte 0x7e é transmitido o par 0x7d 0x5e.
• Para enviar o byte 0x7d é transmitido o par 0x7d 0x5d.
• Os caracteres a baixo de 0x20 são transmitidos sob a forma
0x7d seguido do byte correspondente com o sexto bit invertido.
PPP (Point to Point Protocol)
flag
0x7E
(1)
endereço
0xFF
(1)
controle
0x03
(1)
protocolo
DADOS
CRC
(2)
(até 1500)
(2)
protocolo
0x0021
DATAGRAMA IP
protocolo
0xC021
Dados de controle de ligação
protocolo
0x8021
Dados de controle de rede
flag
0x7E
(1)
PPP
• Link Control Protocol (LCP):
– Controla o estabelecimento e fim de uma ligação PPP
•
•
•
•
Autenticação (CHAP, EAP ou PAP)
Compressão
Estabelecimento de ligações Multilink
etc
• Network Control Protocol (NCP):
– Controla aspectos da negociação do nível de rede
– Endereços a atribuir aos extremos etc
– Existem protocolos NCP específicos para cada protocolo a
transportar
• IPCP para TCP/IP
• IPXCP para o Novell IPX etc.
• IPv6CP para o IPv6
– Um link PPP pode suportar mais de um protocolo em simultâneo
Multilink PPP
• Conhecido por: MPPP, MP, MLP ou MLPPP
• Agregação de múltiplas ligações PPP:
– Permite balanceamento das ligações
– Permite atingir maiores larguras de banda
– A agregação é realizada dinamicamente quando o tráfego ultrapassa
um limiar de utilização
– A agregação é negociada pelo LCP (Link Control Protocol) do PPP
• Foi muito usado para agregar:
– Canais B ISDN (64Kbps)
– Outras ligações e/ou serviços dialup …
• Requer suporte em ambos os extremos !!!
– No estrangeiro à fornecedores IP a oferecer conectividade MPPP
– Pode ser usado para ligar uma delegação a uma sede
• Funciona num nível lógico:
– Pode agregar qualquer tipo de interface
– Nem todas as interfaces precisam de usar a mesma tecnologia
– É possível por exemplo efectuar DSL bonding com multilink PPPoE
Interface de Loopback
• A maior parte das implementações de TCP/IP suportam o
conceito de interface de loopback.
– Em Linux lo
• Uma interface de loopback permite que aplicações residentes
num mesmo sistema possam comunicar entre si mesmo quando o
sistema não possui uma interface de rede física.
– A rede “classe A” 127 está reservada para a interface de loopback.
– Usualmente o endereço usado é o 127.0.0.1 e o nome geralmente
atribuído é localhost.
• A interface de loopback é geralmente implementada no nível de
ligação.
– Tudo o que é enviado para a interface de loopback surge como input
no nível de rede IP.
– A interface de loopback também é usada quando o endereço de
destino é o endereço de uma interface local ou um endereço de
broadcast ou multicast.
Interface de Loopback
Nível de
rede IP
Função
IP de saída
Mover para
a função IP
de entrada
Driver
Loopback
Sim
Função IP
de entrada
Endereço IP de destino
é um endereço de
multicast ou broadcast ?
Mover para
a função IP
de entrada
Não
Nível de
ligação
Ethernet
Endereço IP de destino
igual ao endereço da
Sim
interface local ?
IP
Não
ARP
Rede Ethernet
ARP
Desmultiplexagem
baseada no tipo de frame
Download