Produced by Izabelle Luna
“Um protocolo define o formato e a ordem das mensagens trocadas entre duas ou mais entidades comunicantes, bem como as ações realizadas na transmissão e/ou recepção dessas mensagens”.
Uma rede local é regida por protocolos, que são regras e padrões que definem como os dispositivos se comunicam entre si. Os protocolos são como perguntas e respostas, com má quinas no lugar dos humanos.
Os protocolos são divididos em duas partes:
Semântica e Sintaxe
Todo protocolo considera os seguintes aspectos:
Para obter uma resposta específica, usamos operações (pedidos) específicos.
Os protocolos são padronizados, pois isso garante que dispositivos de diferentes fabricantes possam se comunicar uns com os outros.
O modelo dedados OSI fornece uma linguagem universal para redes de computadores, dividindo um sistema de comunicação em sete camadas abstratas, empilhadas umas sobre as outras, de forma que diversas tecnologias possam se comunicar utilizando um padrão.
Física (Physical ): ocorre a transmissão de bits, convertidos em sinais elétricos ou ópticos, entre computadores através de conexões guiadas ou não guiadas. Essa camada envolve equipamentos de rede e meios de transmissão, como cabos e antenas.
Enlace (Data Link): lida com a transmissão de quadros de dados, ou seja, unidades de dados. Além de realizar a entrega fim a fim, ou seja, a informação sai de um ponto e chega ao outro exatamente como deveria. Isso é diferente de um telefone sem fio, onde as pessoas podem mudar as informações.
Rede - Host a Host (Network): roteia os dados, determinando o melhor caminho. Também estabelece endereços lógicos dos dispositivos (IP). Essa camada reconhece os endereços de destino e origem, utilizando algoritmos de roteamento para determinar o melhor caminho.
Transporte (Transport): é responsável pela transferência de dados, percorrendo o caminho e determinando como essa rotina ocorrerá.
Sessão (Session): estabelece, gerencia e encerra sessões entre sistemas que se comunicam de forma sincronizada. É semelhante a uma ligação telefônica, controlando o diálogo.
Apresentação (Presentation): lida com a representação dos dados, sua sintaxe e semântica, ou seja, converte os dados em um formato que seja compreensível para o receptor. Também pode incluir a criptografia ou compactação de dados. ***Exemplo: um bebê que pede água falando "a a a". O interlocutor precisa traduzir o som emitido pelo bebê.
Aplicação (Application): a ****camada de aplicação permite a comunicação entre aplicações em uma rede, possibilitando a interação com o usuário.
Principais semelhanças/diferenças entre os modelos:
OSI vs TCP (ambos possuem um modelo de encapsulamento)
O HTTP é um protocolo de comunicação entre cliente e servidor que é usado na World Wide Web. Ele permite que os clientes se comuniquem com os servidores para obter informações, criar novos recursos e atualizar ou excluir recursos existentes.
Requisição HTTP
O cliente envia uma solicitação HTTP ao servidor. Essa solicitação contém informações sobre o que o cliente deseja fazer, como o método da solicitação, o caminho do recurso que o cliente deseja acessar e os dados que o cliente está enviando ao servidor.
Resposta HTTP
O servidor responde à solicitação HTTP do cliente. A resposta contém informações sobre o resultado da solicitação, como o status da solicitação, o conteúdo do recurso que o cliente solicitou e os dados que o servidor está enviando ao cliente.
Métodos HTTP
Os métodos HTTP especificam o que o cliente deseja fazer com o recurso que está solicitando. Os métodos HTTP mais comuns são:
Cabeçalhos HTTP
Os cabeçalhos HTTP são informações adicionais que podem ser enviadas com a solicitação HTTP ou a resposta HTTP. Os cabeçalhos HTTP podem ser usados para fornecer informações sobre o conteúdo da solicitação ou resposta, como o tipo de conteúdo, o tamanho do conteúdo ou o idioma do conteúdo.
Status Codes HTTP
Os status codes HTTP são códigos de três dígitos que indicam o status da solicitação HTTP. Os status codes HTTP mais comuns são:
Exemplo:
Vamos imaginar o exemplo de um restaurante. Eu posso ter quatro interações básicas com o garçom: realizar um pedido, alterar o pedido adicionando uma água, perguntar o que pedi caso tenha esquecido ou perguntar qual o status do pedido se está demorando muito e, finalmente, cancelar o pedido e ir embora.
GET: Para perguntar algo, como pedir o cardápio, o que eu pedi, como está o preparo ou se o restaurante tem menu de bebidas.
POST: Para realizar o pedido, ou seja, criar algo.
PUT: Para alterar o pedido, como adicionar uma caipirinha ou remover azeitona da pizza.
DELETE: Para cancelar o pedido.
PATCH: Correção, pequena atualização.
Você faz seu pedido (POST) com o prato, bebidas e informações como ponto da carne (body). O restaurante, que é o front-end, envia o pedido para o garçom, que são as APIs ou requisições HTTP. O garçom confirma que enviou o pedido para a cozinha (Status 201). Até aqui tudo certo, mas o pedido demorou e você já perguntou (GET) várias vezes se o pedido está pronto e qual o andamento. Teve que perguntar (GET) também o menu de bebidas e precisou pedir 4 caipirinhas pela demora (PUT) ao seu pedido. Como a cozinha (back-end) não preparou o pedido por alguma situação, você finalmente desistiu e teve que cancelar (DELETE) o seu pedido.
O que faz o HTTP não ser seguro?
Como o HTTP é um protocolo baseado em texto, os dados do usuário e do servidor podem ser interceptados ou alterados no meio do caminho. Nesse contexto, um usuário na rede pode interceptar os seus dados e lê-los ou, pior, alterar a página que você recebe ou a informação que envia para o servidor. Ou seja, surgiu a necessidade de uma versão do HTTP com criptografia.
HTTPS
O HTTPS é, de forma resumida, um HTTP com SSL (Secure Sockets Layer), ou, seu sucessor, o TLS (Transport Layer Security). TLS ou SSL são camadas de segurança que fornecem confidencialidade e integridade, através da criptografia.
ARP (Address Resolution Protocol)
É um protocolo utilizado em redes de computadores para encontrar o endereço MAC (Media Access Control) de um dispositivo associado a um endereço IP dentro da mesma rede local.
Quando um dispositivo precisa enviar dados para outro dispositivo na mesma rede, ele utiliza o endereço IP do destinatário. No entanto, para enviar os dados fisicamente, é necessário saber o endereço MAC da placa de rede do destinatário. O ARP é responsável por mapear os endereços IP para os endereços MAC correspondentes, permitindo que os dispositivos se comuniquem eficientemente na camada de enlace da rede.
O processo de resolução de endereço envolve duas principais operações:
Depois de obter a resposta ARP, o dispositivo que fez a solicitação pode armazenar temporariamente a correspondência entre o endereço IP e o endereço MAC na sua tabela ARP. Isso facilita futuras comunicações, uma vez que o dispositivo não precisa repetir o processo de resolução de endereço sempre que quiser se comunicar com o mesmo destino.
O ARP é essencial para o funcionamento das redes locais, garantindo que os dispositivos possam se comunicar corretamente usando os endereços IP e MAC corretos.
Tá, mas o que é um endereço MAC?
De forma resumida, endereço MAC (Media Access Control) é um identificador único atribuído a cada interface de rede de um dispositivo que está conectado a uma rede de computadores. Esse endereço é definido na fábrica e é gravado permanentemente no hardware da placa de rede do dispositivo, e não pode ser modificado (a não ser que você falsifique seu MAC através de um método chamado de spoofing). O MAC é usado para identificar de maneira exclusiva um dispositivo em uma rede local.
TCP/IP
aplicação | applications |
---|---|
transporte | segments |
rede | packets |
enlace (data link) | frames |
física | bits (with luz = one/ without luz = zero) |
TCP (Transmission Control Protocol)
IP 🍨 (é um representante da camada de rede do TCP/IP)
IP é uma sigla para “Internet Protocol”, que é um conjunto de regras que definem o formato dos dados enviados pela internet (IPs públicos) ou por uma rede local (IPs privados).
Todo endereço de IP pode ser dividido entre dois principais grupos:
UDP (User Datagram Protocol)
Em resumo, TCP é mais focado na confiabilidade e na garantia de entrega de dados, enquanto UDP prioriza a velocidade e é mais adequado para situações em que algumas perdas de dados não são críticas. A escolha entre TCP e UDP depende das necessidades específicas da aplicação e das características desejadas para a transmissão de dados.
DNS (Domain Name System)
Cabeamento
Cabo coaxial:
Ele têm dois condutores
A principal caracteristica técnica é sua impedância (Impedância é a medida da capacidade de um circuito de resistir ao fluxo de uma determinada corrente elétrica quando se aplica uma certa tensão elétrica em seus terminais. De forma simples, podemos dizer que a impedância elétrica é a maneira de medir como a eletricidade "viaja" em cada elemento químico).
Impedância (não sao compativeis entre si):
Nomenclatura de cabos Ethernet: