1 prof.rodrigo.coutinho@gmail.com Motivos da falta de adesão ao OSI Momento ruim y OSI surgiu quando as indústrias já haviam investido no TCP/IP Tecnologia ruim y Camadas de sessão e apresentação quase vazias y Camadas de enlace e rede muito grandes y Controle de erros reaparece em várias camadas Implementação ruim y As primeiras implementações continham “bugs” Política ruim y TCP/IP era associado ao unix, ligado às universidades nos anos 80.
Prof. Rodrigo Coutinho –
2 prof.rodrigo.coutinho@gmail.com Modelo TCP/IP • Modelo “de fato” – OSI hoje é apenas conceitual • Características básicas – Protocolos abertos e independentes – Sistema comum de endereçamento – Roteável – Robusto – Escalável • Também usa o conceito de camadas, mas apenas 4 – Acesso à Rede – Internet – Transporte – Aplicação
Prof. Rodrigo Coutinho –
3 prof.rodrigo.coutinho@gmail.com Comparativo OSI e TCP/IP
5 prof.rodrigo.coutinho@gmail.com Camada de Acesso à Rede • Corresponde às camadas física e de enlace do modelo OSI • Responsável pelo envio de datagramas da camada internet através do meio físico Protocolos mais comuns: ATM, X.25, Frame Relay, PPP, Ethernet, ARP
Prof. Rodrigo Coutinho –
6 prof.rodrigo.coutinho@gmail.com Camada de Internet • Corresponde à camada de rede do modelo OSI • Responsável pelo envio de pacotes entre segmentos de redes • Protocolos: – IP – ICMP – IGMP
Prof. Rodrigo Coutinho –
7 prof.rodrigo.coutinho@gmail.com Camada de Transporte • Corresponde à camada de transporte do modelo OSI • Garante a comunicação entre os hosts – Estabelece sessões – Reconhece o recebimento de pacotes – Controle de fluxo – Sequenciamento e retransmissão de pacotes • É onde trabalham os protocolos TCP e UDP
Prof. Rodrigo Coutinho –
8 prof.rodrigo.coutinho@gmail.com Camada de Aplicação • Corresponde às camadas de sessão, apresentação e aplicação do modelo OSI • Provê os serviços que farão a comunicação das aplicações de usuários com a rede • Inclui os protocolos de aplicação que fazem uso dos protocolos ponto‐a‐ponto da camada de transporte • Gerencia as sessões (conexões) entre aplicações – Não confundir: As sessões ponto‐a‐ponto são gerenciadas na camada de transporte!
Prof. Rodrigo Coutinho –
9 prof.rodrigo.coutinho@gmail.com Conectividade ‐ Hubs • Elemento central da rede par trançado • Camada física do modelo OSI • Cascateamento de hubs – Porta Serial – Regra 5‐4‐3 – Porta UTP específica – Hubs são enxergados como um único equipamento (geralmente até 8 equipamentos)
Prof. Rodrigo Coutinho –
10 prof.rodrigo.coutinho@gmail.com Conectividade ‐ Hubs • Possui até 24 portas • Funcionamento – Repetidor multiportas – Todo tráfego será enviado a todas as portas (opera na camada 1 – Não conhece endereços MAC) – A estação de destino identificará o pacote e receberá • Dificuldades em redes maiores
Prof. Rodrigo Coutinho –
11 prof.rodrigo.coutinho@gmail.com Conectividade ‐ Pontes Camada de enlace do modelo OSI y Capaz de entender endereços MAC e filtrar tráfego Basicamente, composta por 2 portas que conectam segmentos de rede Possui tabela de rotas com endereços MAC y Dados só atravessam a ponte se destinatário estiver no outro segmento y Caso o endereço não exista na tabela, encaminha a mensagem a todos os segmentos ○ Inicialização da ponte ou nova máquina adicionada à rede Conecta segmentos locais ou remotos (modems) Pode ser um equipamento físico ou um computador com software dedicado
Prof. Rodrigo Coutinho –
12 prof.rodrigo.coutinho@gmail.com Ponte Remota
Prof. Rodrigo Coutinho –
13 prof.rodrigo.coutinho@gmail.com Pontes – vantagens e desvantagens • Vantagens – Segmentação auxilia performance – Reduz domínios de colisão • Área lógica onde pacotes podem colidir – Menos máquinas competindo pelo meio de transmissão – Facilidade na instalação – Baixo custo • Desvantagens – Escalabilidade – Poucas portas – Store and forward – processa os frames para verificar o endereço MAC, introduzindo latência na rede
Prof. Rodrigo Coutinho –
14 prof.rodrigo.coutinho@gmail.com Conectividade ‐ Switches • Assim como as pontes , funciona na camada de enlace do modelo OSI • Grosso modo, é uma ponte turbinada • Otimiza filtragem e comutação de frames • Cria uma comutação virtual entre origem e destino, isolando demais máquinas – Menos ocorrências de colisão – Menor tráfego na rede – Comunicação full duplex
Prof. Rodrigo Coutinho –
15 prof.rodrigo.coutinho@gmail.com Switches – Classificações usuais • Switch “de verdade” – dispositivo clássico de camada 2 • Hub‐switch – Switch com poucas funções (gerenciamento) e portas reduzidas • Switch de camada 3 – Incorpora algumas funções dos roteadores – Definição de rotas – Criação de VLANs • Switches de camada 4 e 7 – Mesmo princípio – Camada 4 – Ex. Distribuição de carga por sessão TCP – Camada 7 – Ex. Distribuição de carga por URL
Prof. Rodrigo Coutinho –
16 prof.rodrigo.coutinho@gmail.com Switches ‐ funcionamento • Tabela de encaminhamento CAM – Associação dos dispositivos às portas – Quando o MAC não está em tabela alguma, encaminha o frame a todas as portas, exceto a de origem – Mesma coisa com Broadcast (MAC FFFF)
Prof. Rodrigo Coutinho –
17 prof.rodrigo.coutinho@gmail.com Métodos de Switching Store and forward y Processa todo o quadro e verifica a integridade (FCS) y Método mais lento, usado também pelas pontes Cut‐through y Verifica o endereço de destino e encaminha os primeiros bits antes do recebimento completo do frame y Não há verificação FCS Fragment Free y Funciona de forma semelhante ao Cut‐through, mas verifica os primeiros 64 bytes. y Se houver colisão, será detectada nessa checagem y Não há verificação FCS Adaptive switching y Combinação dos 3 métodos anteriores. Inicia com Fragment free ou Cut‐ through e adapta conforme a qtd. de erros
Prof. Rodrigo Coutinho –
18 prof.rodrigo.coutinho@gmail.com Spanning Tree Protocol (STP) • Finalidade: Evitar loops em uma rede composta por switchs – Loops podem ocorrer caso haja caminhos múltiplos de comunicação (redundância) – STP garante que apenas um caminho esteja disponível em determinado momento, bloqueando os demais – Ativa os caminhos alternativos caso haja defeito na rota principal • Um switch é o raiz e controla o STP na rede
Prof. Rodrigo Coutinho –
19 prof.rodrigo.coutinho@gmail.com Spanning Tree Protocol (STP) • CBPDUs (Configuration Bridge Protocol Data Unit) – mensagens trocadas entre os switches para reportar mudanças na topologia • Estados das portas do switches – Blocking: Não encaminha frames, CBPDUs ou aprende endereços MAC – Listening: idem acima, mas encaminha CBPDUs – Learning: Aprende MACs e encaminha CBPDUs – Forwarding: Tudo pode
Prof. Rodrigo Coutinho –
20 prof.rodrigo.coutinho@gmail.com Protocolo IP • Atua na camada 3 do modelo OSI • Serviço não confiável (melhor esforço) – Serviço não orientado à conexão – Pode ocorrer corrupção de dados, entrega fora de ordem, etc • Responsável pelo endereçamento • Dados da camada superior são encapsulados em pacotes, para que possa ser roteado – Encaminhamento nó a nó – cabeçalho possui todas as informações necessárias
Prof. Rodrigo Coutinho –
21 prof.rodrigo.coutinho@gmail.com Protocolo IP ‐ Datagrama • Estrutura do pacote (datagrama) – IP de origem e de destino – Verificação de erro – TTL (Time to live) – Evita pacotes vagando em loop – Tamanho variável
Prof. Rodrigo Coutinho –
22 prof.rodrigo.coutinho@gmail.com Protocolo IP – Datagrama
Prof. Rodrigo Coutinho –
23 prof.rodrigo.coutinho@gmail.com Endereço IP • Identificação única do sistema na rede • Possui 4 octetos (32 bits) • Contém endereço da rede e do host • Máscara de subrede – Representações: Decimal (255.255.255.0) ou pelo número de bits (Ex. /19)
Prof. Rodrigo Coutinho –
24 prof.rodrigo.coutinho@gmail.com Endereço IP • Identificação única do sistema na rede • Possui 4 octetos (32 bits) • Contém endereço da rede e do host • Máscara de subrede – Representações: Decimal (255.255.255.0) ou pelo número de bits (Ex. /19)
Prof. Rodrigo Coutinho –
25 prof.rodrigo.coutinho@gmail.com Classes de endereços Identificados pelo primeiros 4 bits do IP em questão Classe A: início de 0 a 126 Classe B: Entre 128 e 191 Classe C: de 192 a 223 Endereços reservados y Classe A: 10.x.x.x y Classe B: 172.16.x.x até 172.31.x.x y Classe C: 192.168.x.x y 127.x.x.x (reservado para diagnóstico em redes) Números reservados: y Primeiro end. Da rede (Ex. X.x.x.0) – Identifica uma rede y Último: (ex X.x.x.255) – Identifica um broadcast
Prof. Rodrigo Coutinho –
26 prof.rodrigo.coutinho@gmail.com Uso de máscaras • Razões topológicas: – Ultrapassar limites de distância – Interligar redes físicas diferentes – Filtrar tráfego entre redes • Razões organizacionais: – Simplifica a administração – Reconhece a estrutura organizacional – Isola tráfego por organização – Isola potenciais problemas
Prof. Rodrigo Coutinho –
27 prof.rodrigo.coutinho@gmail.com VLSM • Variable‐length subnet masking • Por que? Máscaras eram “classful” – Trabalham com octetos, então prefixos tinham 8, 16 ou 24 bits • Permite alterar a subnet de uma rede já definida, por utilizar uma máscara de rede não‐padrão • Vários protocolos de roteamento suportam: – BGP – EIGRP – OSPF – IS‐IS • Maximiza o espaço de endereçamento
Prof. Rodrigo Coutinho –
28 prof.rodrigo.coutinho@gmail.com VLSM ‐ Exemplo
Prof. Rodrigo Coutinho –
29 prof.rodrigo.coutinho@gmail.com CIDR – Classless Inter‐Domain Routing Alternativa às máscaras de rede IP tradicionais – usa o princípio VLSM Organiza os Ips em subnets, independentemente dos valores dos Ips Evita o desperdício de endereços IP y Ex. Grande provedor precisa de 10.000 Ips. Teoricamente, reservaria uma classe B inteira (65K), com 40K endereços sendo desperdiçados Máscaras menores podem ser agrupadas em blocos y Ex. 8 faixas continuas x.x.x.x/24 podem ser agrupadas em /21 y Beneficia o roteamento Faixas de endereço podem começar com qualquer número y Ex. IP 73.225.28.12 não é necessariamente Classe A!
Prof. Rodrigo Coutinho –
30 prof.rodrigo.coutinho@gmail.com CIDR – tabelas de IP
Prof. Rodrigo Coutinho –
31 prof.rodrigo.coutinho@gmail.com Broadcast • Broadcast = Mensagem destinada a toda uma subrede • Endereço de destino é o último endereço possível da rede – Ex. Rede 172.20.0.0, Mask 255.255.0.0; Broadcast será 172.20.255.255 • Nem todo endereço que termina em .255 é broadcast e nem todo broadcast termina com .255 – O mesmo acontece com endereços de rede (.0)
Prof. Rodrigo Coutinho –
32 prof.rodrigo.coutinho@gmail.com Multicast • Multicast = mensagem destinada a um grupo de computadores dentro de uma rede – Mensagem enviada ao IP do grupo – “recebedor” comunica que quer entrar no grupo via IGMP • Cada grupo cria uma árvore de multicast – Árvore pode ser criada com diferentes protocolos do tipo PIM (Protocol Independent Multicast) – Árvores ficam armazenadas nos roteadores – Pouco viável para os roteadores na Internet (a quantidade de árvores seria muito grande)
Prof. Rodrigo Coutinho –
33 prof.rodrigo.coutinho@gmail.com Protocolo IP ‐ Vantagens • Procotolo simples – O protocolo provê funcionalidades mínimas para garantir conectividade • Sistemas fim é que tratam funcionalidades mais sofisticadas como controles de erro e fluxo • Alta escalabilidade • Funciona com tecnologias heterogêneas (Ethernet, modem, wireless, satélites) • Suporta aplicações com finalidades diversas (ftp, web, streaming de mídia) • Administração descentralizada
Prof. Rodrigo Coutinho –
34 prof.rodrigo.coutinho@gmail.com ICMP • Emite informações de controle e erro para verificar problemas na rede • Aparece quando há: – Impossibilidade de roteamento – Congestionamento na rede • Utiliza o IP para transporte da mensagem • Destino pode ser inalcançável por vários motivos: – Rede ou host inalcançáveis – Porta inalcançável – Rede ou host desconhecidos
Prof. Rodrigo Coutinho –
35 prof.rodrigo.coutinho@gmail.com IGMP • Utilizado para Multicast • Parte integrante do protocolo IP – Mensagens são encapsuladas nos datagramas IP • Dois tipos de mensagem – Host Membership Query – enviado pelo roteador para descobrir hosts e grupos – Host Membership Report – resposta do Host • Roteador mantém listas com membros do multicast em suas tabelas
Prof. Rodrigo Coutinho –
36 prof.rodrigo.coutinho@gmail.com ARP Responsável pelo endereço físico correspondente ao endereço camada 3 (IP) y Traduz endereços não só IP Emissor difunde em broadcast um pacote ARP com o endereço IP de destino, o seu IP e o seu MAC Quando recebe resposta, esses endereços são armazenados em cache y Reduz latência e carga na rede RARP – Processo contrário
Prof. Rodrigo Coutinho –
37 prof.rodrigo.coutinho@gmail.com ARP ‐ Exemplo
Prof. Rodrigo Coutinho –
38 prof.rodrigo.coutinho@gmail.com UDP • User Datagram Protocol – Protocolo de comunicação considerado “barebone”, simples e rápido • Utiliza portas para distinção entre múltiplas aplicações • Não orientado à conexão – Não há handshake entre as máquinas – Cada datagrama é tratado isoladamente • Serviço de “melhor esforço”: – Não garante entrega – Pacotes podem ser perdidos ou chegar fora de ordem
Prof. Rodrigo Coutinho –
39 prof.rodrigo.coutinho@gmail.com UDP ‐ O segmento
Portas de Origem e destino
Tamanho do datagrama Checksum (opcional) Dados propriamente ditos Conceito: Pseudo-header Inclui os endereços de origem/destino do cabeçalho IP no cálculo do Checksum Prof. Rodrigo Coutinho – 40 prof.rodrigo.coutinho@gmail.com UDP – Vantagens • Não há conexão estabelecida = comunicação mais rápida • Simplicidade: Não há estado de conexão na origem ou destino • Overhead menor (cabeçalho tem apenas 8 bytes) • Não há controle de congestionamento = mais velocidade • Aplicações mais comuns: – Streaming multimídia – DNS
Prof. Rodrigo Coutinho –
41 prof.rodrigo.coutinho@gmail.com TCP • Serviço de entrega orientado à conexão – Controle de fluxo – Confiabilidade na entrega • Full duplex • Controle de congestionamento • Exige conexão previamente estabelecida para transferência dos dados • Conexão é conhecida como 3‐way Handshake – Origem envia pacote SYN com porta e seq. Inicial – Destino reconhece com um ACK (SYN da origem+ 1) – Origem reconhece o ACK (SYN do destino +1)
43 prof.rodrigo.coutinho@gmail.com TCP ‐ Conexão • Utiliza portas para identificação na máquina de origem e destino • Cada conexão ponto‐a‐ponto é identificada pelo par (host, porta) de origem e destino (endpoint) – Ex. 128.10.2.3,25 – Como a conexão é identificada pelo par de endpoints, pode haver várias conexões na mesma porta em determinado host
Prof. Rodrigo Coutinho –
44 prof.rodrigo.coutinho@gmail.com TCP Segmento TCP inclui: y Número da porta TCP origem e destino y Número sequencial do pacote y Verificador para garantia de entrega sem erro y Número de reconhecimento que informa que o pacote foi recebido y Flags de identificação (urgent, ack, fin, syn, etc) y Receive Window (controle de fluxo) y Urgent pointer – Informações adicionais para processamento urgente (ex. interrupção de conexão) y Padding – “Enche” o pacote com zeros para que o bit fique múltiplo de 32 bits y Data – Dados em si, tamanho variável
Prof. Rodrigo Coutinho –
45 prof.rodrigo.coutinho@gmail.com TCP – O Segmento
Prof. Rodrigo Coutinho –
46 prof.rodrigo.coutinho@gmail.com TCP Window • Controle de fluxo do protocolo • Regula quanta informação pode ser transmitida antes de um ACK ser recebido • Trabalha com buffers de recepção • Origem envia dados em fluxo, sem esperar um ACK individual • Reordena pacotes fora de ordem • Piggybacking – técnica um pouco diferente – Utiliza o próprio frame de dados + ACK
Prof. Rodrigo Coutinho –
47 prof.rodrigo.coutinho@gmail.com TCP – Mais sobre segmentos • Maximum Segment Size: Tamanho máximo do segmento – Encontrar o tamanho adequado é complicado! • ACK sinaliza o próximo número sequencial que o destinatário espera receber – TCP corrige informações fora de ordem • Timeout e retransmissão – Valor do timeout é calculado com base na conexão – Round‐trip sample
Prof. Rodrigo Coutinho –
48 prof.rodrigo.coutinho@gmail.com TCP – Fluxo de dados
Prof. Rodrigo Coutinho –
49 prof.rodrigo.coutinho@gmail.com TCP – Congestion Control • Multiplic. Decrease: Congestion window diminui exponencialmente • Slow‐start: Congestion window aumenta de 1 a cada ACK • Tail Drop: Roteadores descartam datagrama se memória estiver cheia • Random Early Discard (RED) – Queue < tmin: Aceitar datagrama – Queue > tmáx: Rejeitar datagrama – Tmin < Queue < tmax: Descartar datagrama randomicamente
Prof. Rodrigo Coutinho –
50 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – Modelo TCP/IP • (TRT/2003 – FCC) 36. As camadas do modelo de referência OSI que não estão presentes no modelo TCP/IP são: • (A) Aplicação e Apresentação. • (B) Enlace de dados e Física. • (C) Apresentação e Sessão. • (D) Rede e Enlace de dados. • (E) Sessão e Transporte.
Prof. Rodrigo Coutinho –
51 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – Equipamentos • (TJPA/2006 – Cespe) A evolução dos equipamentos de rede, juntamente com fatores ligados a mercado, tem proporcionado o surgimento de equipamentos do tipo switch com diferentes funcionalidades. Assim, um switch de camada 2 realiza funções semelhantes às de um roteador, enquanto um switch de camada 3 realiza as funções de uma bridge. • (STJ/2004 – Cespe) 54. Um switch é um dispositivo repetidor multiporta. Sua principal função é o envio e o recebimento, com base em informações do pacote IP, de quadros de camada 2. • (Pref. Vitória/07 – Cespe) Se um equipamento do tipo comutador (switch) ponte for utilizado para interligar segmentos de uma rede local Ethernet, sempre que um frame for recebido pelo comutador, a retransmissão desse frame ocorrerá apenas no segmento em que se encontra a máquina de destino.
Prof. Rodrigo Coutinho –
52 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – Subrede • (CGU/2008 – Esaf) Considerando a necessidade de endereçar 7 sub‐redes na rede cujo IP (Internet Protocol) é 199.10.0.0, a máscara aplicável é • a) 199.10.0.0/24 • b) 199.10.0.0/25 • c) 199.10.0.0/26 • d) 199.10.0.0/27 • e) 199.10.0.0/32
Prof. Rodrigo Coutinho –
53 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – Subrede • (Senado/2008 – FCC) Os IPS estão na mesma subrede, onde foi atribuída uma só faixa de endereçamento. Duas máscaras que essa sub‐rede deve utilizar são: • (A) 255.255.255.0 e 255.255.255.192. • (B) 255.255.0.0 e 255.255.224.0. • (C) 255.255.255.0 e 255.255.255.224. • (D) 255.255.0.0 e 255.255.240.0. • (E) 255.255.255.0 e 255.255.255.240.
Prof. Rodrigo Coutinho –
54 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – TCP/IP • 96. (STF/2008 – Cespe) O valor do byte mais significativo de um endereço IPv4 determina a classe do endereço e, nesse sentido: 10.0.0.0 identifica uma rede de classe A com endereços não‐privados; 154.3.0.0 é o endereço de broadcast de uma rede classe B; 227.82.157.16 endereça um dispositivo em uma rede classe C. • 97 MTU é a denominação do tamanho do maior datagrama IP que pode ser transmitido por uma rede física ao longo de um trajeto. Um datagrama IP pode ser fragmentado mais de uma vez, mas os fragmentos necessariamente chegarão ao destino na ordem em que foram transmitidos na origem.
Prof. Rodrigo Coutinho –
55 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – TCP/UDP • (STF/2008 – Cespe) 98 Na multiplexação de datagramas realizada pelo IP, números de porta compostos por 16 bits são usados pelos protocolos de transporte para identificar os processos nas comunicações; além disso, em cada cabeçalho IP, um campo identifica o protocolo de transporte que enviou os dados. • 99 Quando do estabelecimento de uma conexão TCP, cada dispositivo envolvido na conexão informa ao outro o número de seqüência que usará na primeira transmissão de dados através da conexão. Essa sincronização dos números de seqüência ocorre pela troca de mensagens SYN e ACK. • 100 O UDP é um protocolo de transporte que não estabelece conexões antes de enviar dados, não envia mensagens de reconhecimento ao receber dados, não controla congestionamento, garante que dados sejam recebidos na ordem em que foram enviados e detecta mensagens perdidas.
Prof. Rodrigo Coutinho –
56 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – ICMP/IGMP/ARP • (Pref. Vitória/2007 – Cespe) ‐ Mensagens podem ser geradas pelo internet control message protocol (ICMP) quando ocorrerem problemas no processamento de datagramas. Por exemplo, uma mensagem ICMP será enviada para a máquina que originou um datagrama, quando for inalcançável o destino desse datagrama. • (STJ/08 – Cespe) ‐ 114 O protocolo IGMP é utilizado para gerenciamento de conexões em grupos do tipo broadcast. • (Pref. Rio Branco/07 – Cespe) 54 O protocolo ARP é responsável pela tradução de endereços da camada de enlace em endereços IP e vice‐ versa. • (TCU/07 – Cespe) No modelo OSI da ISO, o protocolo RARP (reverse address resolution protocol) é um exemplo de protocolo da camada de transporte.
Prof. Rodrigo Coutinho –
57 prof.rodrigo.coutinho@gmail.com Exercícios – Aula 2 – TCP/IP • (Petrobras/07 – Cespe) A camada de aplicação na arquitetura TCP/IP é responsável por funções idênticas às das três camadas mais altas da arquitetura OSI. • A camada de internetworking utiliza comutação de pacotes, sendo orientada a conexão. • A camada de transporte engloba serviços orientados a conexão, oferecidos pelo protocolo UDP, e não‐orientados a conexão, providos pelo TCP. • A camada mais baixa da arquitetura TCP/IP reúne as funções das camadas física e de enlace da arquitetura OSI, definindo explicitamente os protocolos a serem utilizados.