Camada Física (1) – Physical Layer
Páginas
sábado, 15 de novembro de 2014
Modelo OSI - Camada 2
Camada
de Enlace (2) – Data-Link Layer
Funções
- Assegurar
que os dados são transmitidos ao equipamento apropriado, convertendo os
dados (provenientes da camada de rede) em bits, o que possibilita desta
maneira a sua transmissão no meio físico (por exemplo: cabo), meio esse
(definido na camada física) cujos controlos de acesso são também controlados nesta
camada 2.
- Identificação
de cada máquina na rede local.
- Encapsular
os pacotes adicionando uma frame
header (cabeçalho da frame) e uma frame
trailer com endereçamento apropriado.
Sub-Camadas
A
camada de enlace (IEEE Ethernet) possui duas sub-camadas distintas:
- Logical Link Control (LLC): Esta sub-camada tem como
função principal a identificação de protocolos da camada de rede e
respectivo encapsulamento do pacote (Define o frame header e o frame
trailer), bem como o controle de fluxo e sequenciação de bits. Um
cabeçalho LLC diz á camada de enlace o que fazer com um pacote logo que a
frame é recebida.
- Media Access Control (MAC): Esta sub-camada tem como
funções principais:
-Definição de alocamento e transmissão dos pacotes no meio;
-Definir o endereçamento fisico e a topologia lógica;
-Disciplina da linha, notificação de erros (não a correcção), entrega de frames ordenada (marca o inicio e fim das mesmas) e controlo de fluxo.
-Definição de alocamento e transmissão dos pacotes no meio;
-Definir o endereçamento fisico e a topologia lógica;
-Disciplina da linha, notificação de erros (não a correcção), entrega de frames ordenada (marca o inicio e fim das mesmas) e controlo de fluxo.
Dispositivos (Layer 2 Devices) e
Funcionamento
Os
dispositivos mais comuns nesta camada são os switches, bridges e os Access Points (em modo bridge). Resumidamente são todos os dispositivos
que apresentam como função principal o bridging.
Os Switches são considerados
“hardware-based-bridges” por utilizarem um hardware especial ASICS( Application
Specific Integrated Circuits).
Protocolos
Em cada hop existe um protocolo de
layer 2 utilizado durante a viagem dos pacotes. Diferentes meios físicos,
diferentes tipos de ligação e a tipologia de rede utilizada (LAN, WAN) afectam a
escolha de protocolos. Cada protocolo utiliza um tipo de frame diferente. Ao
chegar a um router, é removida a frame (utilizada até chegar "aqui")
e adicionada um novo frame header e frame trailer, utilizados até chegarem ao
novo router (onde irá ser feito novamente este processo).
Layer 2 Frame - Formato Geral da Frame
PPP Frame
Ethernet Frame
sexta-feira, 14 de novembro de 2014
Modelo OSI - Camada 3
Camada de Rede (3) – Network Layer
Funções
- Encaminhamento
e endereçamento lógico (Ex: IP Adress) dos dados.
- Transporte
de tráfego entre máquinas não interligadas localmente.
Dispositivos (Layer 3 Devices) e
Funcionalidades
O dispositivo mais comum definido nesta camada é o
router, pois é um dos que assegura os serviços de encaminhamento numa
“Internetworking” e só se “preocupam” apenas com a localização lógica das redes.
Todos os routers possuem routing tables. Uma routing table é uma
lista onde constam todas as redes conhecidas pelo router, bem como o melhor
caminho a percorrer para a transmissão de pacotes (mais especificamente estão
definidas as portas de saída [outgoing ports] e o endereço [address]).
Durante o caminho entre o
host transmissor e o host destinatário, o pacote irá passar (“saltar”) por
diversos routers. Cada vez que chega a um, é lido o endereço IP do pacote e
decidido o que fazer com ele (ou é enviado para uma das redes ou enviado para o
próximo router). O caminho percorrido pelo pacote de um router para outro
denomina-se hop, sendo que o próximo router onde o pacote irá ser
analisado denomina-se Next Hop Router.
O processo de seleccionar o melhor caminho a percorrer pelos pacotes
denomina-se routing.
-Partem domínios de broadcast (e limita-os) e de colisão (alguns switchs mais avançados [mesmo sendo considerados da camada Data-Link] também têm esta funcionalidades), mas não propagam mensagens de broadcast ou multicast.
-Cada interface é uma rede isolada (tem um n° identificação exclusivo e cada host utiliza esse mesmo endereço de rede).
-Determinam para que router o pacote deve ser enviado devido à utilização do endereço lógico no cabeçalho do mesmo.
-Podem utilizar listas de acesso (criadas por um administrador) para gerir a segurança dos pacotes de entrada ou saída.
-Possibilita a comunicação entre Virtual LANs (VLANS).
-Pode funcionar apenas em modo bridge (função tipicamente associada a dispositivos da camada Data-Link) e efectuar efectuar routeamento de pacotes (na mesma interface) em simultâneo.
-Assegura a Qualidade do Serviço (Quality of Service - QoS) para tipos específicos de tráfego de dados.
Tipos de Pacotes e Protocolos
Existem
2 tipos de pacotes utilizados na camada de rede:- Pacotes de Dados (Data Packets): Pacotes utilizados para transporte de dados pela rede. Os protocolos utilizados para suportar tráfego deste tipo são denominados Routed Protocols.
- Pacotes de Actualização (Router Update Packets): Utilizado para transporte de actualizações sobre routers vizinhos, estes pacotes são utilizados na formação e manutenção das tabelas de encaminhamento de cada router. Os protocolos utilizados para suportar tráfego deste tipo denominam-se Routing Protocols.
Routed
Protocols
Os
protocolos deste tipo têm como funções principais disponibilizar um esquema de
endereçamento que permita identificar redes e os hosts de cada uma individualmente, encapsular segmentos de camada 4
em pacotes e incluir endereços aos mesmos, direccionar um pacote entre uma ou
mais redes até chegar ao host
destinatário e “desencapsular” (remover) o cabeçalho de um pacote (remove the packet header) e enviar o
segmento à camada 4 (camada de
transporte).
Os
protocolos mais comuns nesta categoria são o IP (IPv4 e IPv6), IPX (Novell),
AppleTalk e DECNet. Neste documento iremos
focar no protocolo IP.
As características mais importantes do
protocolo IP são quatro:
-> Low overhead (Cabeçalho pequeno)
– “Faz o que tem de fazer”; Rapidez
-> Connectionless – Não estabelece
ligação com o destinatário antes de enviar pacotes.
-> “Melhor esforço” (não
confiável): Não garante a recepção, não verifica se chegou ao destino nem
reenvia pacotes.
-> Precisa apenas de saber o
tamanho máximo do pacote que pode ser enviado, independentemente do meio de
transmissão.
IPv4 Packet Header (Cabeçalho de um pacote IPv4)
IP Header (Cabeçalho de um IP)
Composição
de um endereço IPv4 (Tipo Hierárquico)
Routing
Protocols
Os protocolos deste tipo são nada mais nada menos do
que um conjunto de regras utilizadas para efectuar a troca de informações. Para
os routers poderem efectuar a transmissão de informação (pacotes) entre eles, é
necessário que os mesmos saibam que caminhos devem utilizar. Estes “caminhos”
podem ser definidos por um administrador de sistemas (determina a rota que os
pacotes terão que percorrer do ponto A para o ponto B) ou os routers podem
“definir entre eles” qual o melhor caminho a ser percorrido pelo pacote (e é
aqui que entram os protocolos como o RIP, EIGRP e OSPF por
exemplo).
Modelo OSI - Camada 4
Camada de Transporte (4) – Transport
Layer
Funções
- Responsável
por todas transferências dos dados das aplicações que ocorrem entre 2 estações
(estabelece uma comunicação confiável entre 2 nós [end to end, nó-a-nó]).
- Permite
que o mesmo dispositivo consiga transmitir dados de diferentes aplicações na
mesma rede em simultâneo (através de circuitos virtuais).
- Possui
mecanismos para criar, manter e finalizar circuitos virtuais. (Os circuitos virtuais
são utilizados antes de ser estabelecida a comunicação entre 2 nós. Permitem à
camada de transporte receber dados de diferentes aplicações de camadas
superiores (camada 7 p.e.), sem que os dados colidam uns com os outros, ou seja,
cada aplicação da camada superior têm um circuito virtual próprio que “liga” à
camada de rede). Manterá a consistência desse túnel virtual.
- Efectua
o controlo de fluxo de informação:
-Segmentos transmitidos são confirmados ao
serem recebidos;
-Qualquer segmento não confirmado é
retransmitido;
-Reconstrução dos segmentos na sua sequência
original (uma vez recebidos pelo computador destinatário).
-Mantém um fluxo de dados gerível (a fim de
evitar congestionamento, sobrecarga e perca de dados)
Protocolos
-> TCP (Transmission Control Protocol) –
Reliable (Confiável)
Utilizado
por aplicações que necessitam que os dados sejam enviados e recebidos sem erros
e sem estarem em falta, e por isso toleram algum atraso na comunicação para se
certificarem de que tudo se mantém correcto.
Exemplo:
Web; E-mail (SMTP, IMAP/POP).
-> UDP (User Datagram Protocol) – Fast
(Rapidez)
Utilizado
por aplicações que têm como prioridade a rapidez no envio e recepção de dados,
não havendo por isso qualquer tolerância a atrasos na comunicação. No entanto,
existem algumas aplicações que aceitam erros ou falhas ocasionais durante a
transmissão dos dados.
Exemplo:
Streaming de Video ;VoIP; Torrents.
O processo de comunicação utilizado pelo protocolo TCP
denomina-se Three-way Handshake.
Durante a transmissão de
dados, ambos os dispositivos controlam periodicamente a ligação estabelecida
para assegurarem que os dados estão a ser correctamente enviados e recebidos.
Um congestionamento de dados pode ocorrer quando os computadores geram os dados
mais rapidamente do que a capacidade máxima suportada pela infra-estrutura de
rede consegue transmitir (ou quando existem inúmeros computadores a transmitir
datagramas para um único gateway ou destino). Para
evitar a perda de datagramas, existem essencialmente três métodos de controlo
de fluxo:
-> Buffering
Quando
uma máquina recebe um fluxo de datagramas maior do que ela pode processar,
armazena-os numa memória chamada buffer. Este processo de “bufferização”
resolve o problema apenas se os datagramas fizerem parte de uma pequena
“rajada”. Se o fluxo for contínuo, a memória buffer irá esgotar-se (perda de
capacidade de recepção) e a partir daí os datagramas que continuarem a ser
enviados serão perdidos. Para gerir esta “inundação de dados” e evitar a perda
de datagramas, a camada de transporte irá enviar um sinal de “not ready” ao
transmissor (fazendo com que o mesmo aguarde antes de enviar mais dados).
Quando os datagramas armazenados na buffer da máquina destinatária tiverem sido
todos processados, é enviado um sinal de transporte “ready” (a memória buffer
da máquina destinatária está pronta para receber mais dados) e a máquina
transmissora (ao receber esse sinal) retoma a transmissão onde havia parado
anteriormente. Numa comunicação confiável (orientada para a conexão) tantos os
datagramas devem ser entregues no seu destino na exacta ordem em que são
transmitidos como também os segmentos não podem ser perdidos, duplicados ou
corrompidos. A mais pequena falha em alguns destes pontos irá gerar erros de
comunicação e transmissão. Daí a necessidade da máquina destinatária confirmar
um a um tanto os datagramas como os segmentos.
-> Windowing
Esperar
pela confirmação (por parte da máquina transmissora) antes de transmitir cada
segmento iria tornar a taxa de transmissão de dados extremamente baixa. Assim
sendo, em vez de se esperar antes de transmitir cada segmento, existe uma
“janela de tempo” durante a qual a máquina transmissora envia os segmentos sem
haver confirmação da recepção dos segmentos anteriores. É a essa quantidade de
dados que uma máquina transmissora é capaz de enviar sem antes receber a
confirmação do(s) segmento(s) enviado(s) anteriormente que se denomina
“window”. O processo de “windowing” controla a quantidade de informação
transferida entre as máquinas participantes, sendo esta quantificação feita
através da contagem do número de bytes.
Exemplo:
->
Confirmação (Positive Acknowledgement with Retransmition)
Esta técnica é a única que garante que
os dados transmitidos entre dois nós não são perdidos ou duplicados e que
mantém a sua integridade intacta. Neste método, a máquina destinatária
transmite uma mensagem de confirmação de retorno para a máquina transmissora
quando a recepção dos dados é efectuada com sucesso.
Tanto o TCP
como o UDP utilizam port numbers como forma de completar o socket
(conjunto formado pelo endereço IP e o port
number), para saber que serviço específico está a ser requisitado à máquina.
É através destes port numbers que se
consegue identificar o protocolo das aplicações.
Cada vez que um computador-cliente tenta aceder a um
servidor, este utiliza uma porta (gerada aleatoriamente) para comunicar com o
servidor. Existem intervalos de portas exclusivos para finalidades específicas:
Protocolos (Well Known Ports), processos específicos de algumas aplicações
(Registered Ports) e pelas aplicações client
(Dynamic/Private/Ephemeral Ports). Tudo isto é gerido pela Internet Assigned
Numbers Authority (IANA).
Mesmo
que no servidor existam clients com o
mesmo número de porta atribuído, o servidor sabe que são computadores
diferentes a aceder (sabe pelo seu endereço IP, e no caso de estarem no mesmo
domínio, diferem pelo nº da porta local.
Para
saber estas informações no sistema operativo Windows, basta correr o comando netstat na linha de comandos (Command
Prompt).
Modelo OSI - Camadas 7, 6 e 5
Camada de Aplicação (7) – Application
Layer
Função
- Identificar e estabelecer a disponibilidade da aplicação na máquina destinatária e os recursos para que a comunicação seja possível. É onde ocorre a interacção utilizador-máquina.
- Identificar e estabelecer a disponibilidade da aplicação na máquina destinatária e os recursos para que a comunicação seja possível. É onde ocorre a interacção utilizador-máquina.
Exemplos
Web Browser (Netscape, Explorer); E-mail
Gateways (Exchange); EDI (Electronic
Data Interchange); BBS (Bulletin Board Systems)
Camada de Apresentação (6) –
Presentation Layer
Função
- Apresentar
os dados na camada de aplicação;- Definir (através de padrões) a formatação, apresentação, codificação e conversão dos dados.
- Associação de tarefas como a compressão/descompressão e encriptação/desencriptação.
Exemplos
Processos de Multimédia (MPEG, MP3, TIFF)
Camada de Sessão (5) – Session Layer
Função
- Estabelecer,
gerir e finalizar sessões entre entidades da camada de apresentação e aplicação;
- Assegurar
múltiplas sessões em rede simultaneamente sem interferências entre elas
Manter
os dados de diferentes aplicações separados uns dos outros
Exemplos
NFS (Network File System); SQL (Structured
Query Language); AppleTalk (ASP); RPC (Remote Procedure Call)
Subscrever:
Mensagens (Atom)