<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Redes - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Redes - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 18 May 2026 10:23:17 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/tag/redes/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ O que é o modelo OSI? Redes de computadores para iniciantes ]]>
                </title>
                <description>
                    <![CDATA[ Neste artigo, você aprenderá sobre os principais conceitos do modelo Open Systems Interconnections (OSI – em português, interconexões de sistemas abertos) de modo simples e fácil. Como desenvolvedor, é uma boa ideia aprender como as coisas funcionam internamente. Assim, você entende o que seu código e as ferramentas que você ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/o-que-e-o-modelo-osi-redes-de-computadores-para-iniciantes/</link>
                <guid isPermaLink="false">64e8061a78917103e8a16757</guid>
                
                    <category>
                        <![CDATA[ Redes ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Fri, 25 Aug 2023 03:14:52 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/banner-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/osi-model-computer-networking-for-beginners/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">What is the OSI Model? Computer Networking for Beginners</a>
      </p><p>Neste artigo, você aprenderá sobre os principais conceitos do modelo <em>Open Systems Interconnections</em> (OSI – em português, interconexões de sistemas abertos) de modo simples e fácil.</p><p>Como desenvolvedor, é uma boa ideia aprender como as coisas funcionam internamente. Assim, você entende o que seu código e as ferramentas que você usa estão realmente fazendo.</p><p>Pode, no entanto, parecer mais fácil confiar na abstração da caixa preta e ignorar o funcionamento interno.</p><p>Uma abstração popular da caixa preta é a internet.</p><p>Claro, muitos de nós, provavelmente, sabemos o básico do que é a internet e como ela funciona. Há um <em>client</em> e um servidor e eles simplesmente "se comunicam" entre eles usando algo chamado HTTP ou HTTPS?</p><p>Essa, porém, é a extensão do conhecimento da maioria das pessoas.</p><p>Não estou dizendo que não devemos usar abstrações – estou apenas dizendo que devemos ter alguma ideia básica sobre como as coisas funcionam.</p><p>É por isso que estou escrevendo este artigo: para desmistificar essa caixa preta para ajudá-lo a aprender como os computadores se comunicam uns com os outros através de uma rede.</p><h2 id="o-que-o-modelo-osi"><strong>O que é o modelo OSI?</strong></h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/osi-model-layers.png" class="kg-image" alt="osi-model-layers" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/osi-model-layers.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/osi-model-layers.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/osi-model-layers.png 1200w" sizes="(min-width: 1200px) 1200px" width="1200" height="628" loading="lazy"><figcaption>As sete camadas do OSI&nbsp;</figcaption></figure><p>O modelo <em>Open Systems Interconnection</em>, ou OSI, é, essencialmente, um sistema de referência que estabelece como os computadores se comunicam entre si através de uma rede.</p><p>Ele foi criado em 1983 por representantes de empresas de telecomunicações e oficialmente padronizado em 1984 pela <em>International Organization for Standardization</em> (ISO).</p><p>Ele é dividido em sete camadas. Cada camada tem seu próprio domínio e recebe dados da camada anterior, enquanto passa dados para a próxima camada.</p><p>As sete camadas são:</p><ol><li>Camada da aplicação</li><li>Camada da apresentação</li><li>Camada da sessão</li><li>Camada do transporte</li><li>Camada da rede</li><li>Camada da vinculação de dados</li><li>Camada física</li></ol><p>Se pensarmos nelas em termos da programação, cada camada é uma classe com alguma funcionalidade principal. Cada classe se comunica apenas com a classe acima ou abaixo dela.</p><p>Tenha em mente que este é um modelo de referência, o que significa que não o usamos na vida real. Há outro modelo que é muito semelhante ao modelo OSI, mas encapsula as três primeiras camadas e as duas últimas.</p><p>Esse modelo da "vida real" é chamado de modelo TCP/IP, que é o que a internet roda.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/osi-vs-tcpip-1.png" class="kg-image" alt="osi-vs-tcpip-1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/osi-vs-tcpip-1.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/osi-vs-tcpip-1.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/osi-vs-tcpip-1.png 1200w" sizes="(min-width: 1200px) 1200px" width="1200" height="628" loading="lazy"><figcaption>Diagrama dos modelos OSI e TCP/IP em contraste</figcaption></figure><p>Porém, antes de entrarmos e lidarmos com cada camada uma a uma, vamos explicar por que você deve aprender o modelo OSI se ele nem é usado na vida real.</p><h2 id="por-que-aprender-o-modelo-osi"><strong>Por que aprender o modelo OSI?</strong></h2><p>Durante os últimos 20 anos, aproximadamente, o mundo mudou drasticamente.</p><p>A internet veio, a "web" surgiu, e, dentro do ecossistema da web, muita coisa mudou. Começamos com páginas HTML simples. Depois, veio o JavaScript. Agora, temos todos esses <em>frameworks </em>e, às vezes, parece ser muito difícil de entender isso tudo.</p><p>Você, contudo, tem de lembrar disso:</p><blockquote>Aprenda o básico, aprenda a partir dos princípios iniciais.</blockquote><p>Vamos pegar a web, por exemplo, além de todas essas mudanças que vimos nos últimos 20 anos.</p><p>O modo como a web funciona não mudou muito.</p><p>Ainda usamos o protocolo HTTP.</p><p>É verdade que o protocolo HTTP foi atualizado, mas nem tanto.</p><p>Mesmo se quebrarmos o HTTP, ele é feito de TCP, que também não mudou muito.</p><p>Meu ponto é que você deve parar de olhar para as coisas novas e brilhantes. Você deve se concentrar nos fundamentos sobre os quais essas coisas novas e brilhantes são construídas.</p><p>Por exemplo, lembro-me de quando os soquetes da web eram uma coisa popular.</p><p>Se os quebrarmos, porém, eles são baseados no protocolo TCP.</p><p>Se você conhece o TCP, pode entender facilmente como os soquetes da web funcionam e não precisa depender de abstrações de caixa preta.</p><p>Espero ter convencido você do motivo pelo qual deve aprender com os princípios iniciais. Isso não se aplica apenas à engenharia de software, mas a muitos outros campos.</p><p>Feito isso, vamos às sete camadas do modelo OSI.</p><h2 id="as-sete-camadas-do-modelo-osi"><strong>As sete camadas do modelo OSI</strong></h2><h3 id="camada-da-aplica-o"><strong>Camada da aplicação</strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/3.png" class="kg-image" alt="3" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/3.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/3.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/3.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="628" loading="lazy"><figcaption>Essa é a camada onde se encontra o usuário final</figcaption></figure><p>A camada de aplicação é onde a maioria dos engenheiros de software trabalha. É aqui que seus navegadores vivem.</p><p>Não estou falando, contudo, de aplicações concretas, como Chrome, Skype ou Outlook.</p><p>Estou falando de coisas mais fundamentais, como protocolos.</p><p>Por exemplo:</p><ul><li>Seu navegador faz uma solicitação para um servidor da web usando o protocolo HTTP.</li><li>Sua aplicação de e-mail usa o protocolo SMTP para enviar e receber e-mails.</li><li>Sem o protocolo DNS, você teria que digitar 142.250.150.138 em vez de google.com.</li></ul><p>Em poucas palavras, a camada da aplicação lida com a base que quase todas as aplicações do usuário final utilizam.</p><h3 id="camada-de-apresenta-o"><strong>Camada de apresentação</strong></h3><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/4.png" class="kg-image" alt="4" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/4.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/4.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/4.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="628" loading="lazy"></figure><p>Quando o <em>client </em>faz a solicitação HTTP, a própria solicitação é passada para a camada de apresentação (também chamada de camada da sintaxe).</p><p>Essa camada lida com três funcionalidades principais:</p><h4 id="criptografia-e-descriptografia"><strong>Criptografia e descriptografia</strong></h4><p>Você não quer que seus dados sejam divulgados em público. É por isso que pessoas inteligentes criaram a <em>Transport Layer Security </em>(TLS). Ela, essencialmente, criptografa seus dados.</p><p>Ela também é responsável por descriptografar solicitações vindas de outros servidores para serem consumidas pela camada da aplicação.</p><h4 id="serializa-o-e-desserializa-o"><strong>Serialização e desserialização</strong></h4><p>São palavras enormes, mas, essencialmente, significam "tradução".</p><p>Queremos "traduzir" nossos dados em modos que sejam compreendidos pela aplicação.</p><p>Por exemplo, estruturas de dados simples podem ser traduzidas em "objetos" que nossa aplicação em JavaScript entende.</p><p>Por outro lado, se quisermos que nossos dados passem pela camada, traduziríamos nosso objeto em estruturas de dados simples que poderiam ser entendidas nas camadas inferiores.</p><h4 id="compress-o"><strong>Compressão</strong></h4><p>Isso é simples: quanto menos bits houver para enviar, mais rápido será o pedido.</p><p>Essa também é uma das principais funções da camada de apresentação. Tenha em mente que esta é uma compactação sem perdas, o que significa que nenhuma informação será perdida no processo.</p><p>Bem, para ser justo, no mundo real, a maioria dessas coisas é feita na camada de aplicação.</p><p>É por isso que, no modelo TCP/IP, a camada de apresentação faz parte da camada de aplicação.</p><h3 id="camada-da-sess-o"><strong>Camada da sessão</strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/5-1.png" class="kg-image" alt="5-1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/5-1.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/5-1.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/5-1.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="628" loading="lazy"><figcaption>A camada da sessão é responsável pela abertura, fechamento e manutenção das conexões entre o <em>client </em>e o servidor</figcaption></figure><p>Esta é um pouco confusa. De fato, não consegui encontrar muitos casos de uso para isso.</p><p>A função principal da camada de sessão é gerenciar conexões entre <em>client</em> e servidor.</p><p>O que isso realmente significa, no entanto?</p><p>Digamos que você queira ir para google.com</p><p>Para fazer isso, você primeiro tem que estabelecer uma conexão com google.com. Então, você diz "Ei, servidor, como está? Eu quero me conectar a google.com".</p><p>O servidor responde: "Sim, claro".</p><p>Parabéns, você acabou de estabelecer uma conexão com o servidor do google.com e pode enviar livremente uma solicitação GET para buscar a página.</p><p>Resumindo a história, essa camada é usada para:</p><ul><li>Abrir conexões</li><li>Manter as conexões vivas</li><li>Fechar conexões.</li></ul><p>Agora vem o choque de realidade: na vida real, isso praticamente não existe e faz parte da Camada de Transporte – que discutiremos a seguir.</p><h3 id="camada-do-transporte"><strong>Camada do transporte</strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Transport-Layer.png" class="kg-image" alt="Transport-Layer" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/Transport-Layer.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/Transport-Layer.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Transport-Layer.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="628" loading="lazy"><figcaption>TCP e UDP visualizados – o TCP é confiável, mas lento, enquanto o UDP é rápido, mas não confiável</figcaption></figure><p>É aqui que as coisas interessantes acontecem.</p><p>A camada do transporte geralmente é definida com base no protocolo que está sendo usado.</p><p>Os <a href="https://www.freecodecamp.org/portuguese/news/o-que-e-o-modelo-tcp-ip-camadas-e-protocolos-explicados/">dois mais populares são</a>:</p><ul><li><em>Transmission Control Protocol </em>(TCP – em português, protocolo de controle de transmissão)</li><li>User Datagram Protocol (UDP – em português, protocolo de datagrama do usuário)</li></ul><p>O TCP é um dos principais protocolos da <em>suite </em>da internet. Ele é usado em cima do IP (protocolo de internet) para garantir a transmissão confiável de pacotes.</p><p>O TCP corrige muitos problemas que surgem quando você usa IP, como pacotes perdidos, pacotes fora de ordem, pacotes duplicados e pacotes corrompidos.</p><p>Você usaria o TCP em aplicações que exigem que todos os pacotes estejam livres de erros, como mensagens de texto.</p><p>Por outro lado, o UDP é sem monitoração de estado, o que significa que ele não salva nenhum estado entre o <em>client</em> e o servidor. Ele também é muito leve, tornando-o rápido. A desvantagem, porém, está no fato de que ele não é confiável. Os pacotes podem desaparecer, ficar corrompidos e assim por diante.</p><p>O UDP é usado principalmente quando você realmente não se importa se perder alguns pacotes aqui e ali, como em <em>streaming </em>de vídeo.</p><p>Tenha em mente, também, que os dados nessa camada são chamados de segmentos.</p><p>Resumindo a história, o TCP é confiável, mas lento, enquanto o UDP não é confiável, mas é rápido.</p><h3 id="camada-da-rede"><strong>Camada da rede</strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Network-Layer-1.png" class="kg-image" alt="Network-Layer-1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/Network-Layer-1.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/Network-Layer-1.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Network-Layer-1.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="628" loading="lazy"><figcaption>A camada da rede é responsável pelo envio de pacotes de uma rede para outra</figcaption></figure><p>Eu realmente não sei por que ela é chamada de camada da rede.</p><p>Deveria ser chamada de camada de internet, já que porque o protocolo mais importante aqui é o <em>Internet Protocol</em> (IP).</p><p>O que o IP basicamente faz é pegar os segmentos do protocolo de transporte e adicionar metadados que ajudam a identificar onde seu <em>client</em> está em uma rede local.</p><p>Outra função da camada de rede é o encaminhamento de mensagens, o que significa que ela envia seus pacotes de rede para rede.</p><p>Os dados nessa camada são chamados de pacotes.</p><h3 id="camada-da-vincula-o-dos-dados"><strong>Camada da vinculação dos dados</strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Data-Link-Layer.png" class="kg-image" alt="Data-Link-Layer" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/Data-Link-Layer.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/Data-Link-Layer.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Data-Link-Layer.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="628" loading="lazy"><figcaption>A camada de vinculação dos dados é composta de duas partes, MAC e LLC</figcaption></figure><p>Essa camada define como os dados são transmitidos entre dois sistemas.</p><p>Ela cuida de coisas como por quanto tempo dois sistemas conversam entre si, quantos dados podem ser enviados e o que acontece se houver erros. Tudo isso é tratado na camada de vinculação dos dados.</p><p>A camada de vinculação dos dados é dividida em duas subcamadas:</p><ul><li><em>Logical Link Layer </em>(LLC) – essa camada fornece controle de fluxo, reconhecimento e tratamento de erros caso as coisas deem errado.</li><li>Controle de Acesso à Mídia (MAC) – essa camada é responsável por atribuir um número de ID exclusivo com base na placa de rede, chamado endereço MAC. Ou seja, não há dois dispositivos com os mesmos endereços MAC.</li></ul><p>Os pacotes são retirados da camada da rede e encapsulados com a adição de novos cabeçalhos para o endereço MAC do <em>client</em> e do servidor.</p><p>Há também outro subconjunto de dados adicionados no final do pacote que é usado para detecção de erros. Ele é chamado de cauda (do inglês, <em>tail</em>).</p><p>Depois que esses metadados são adicionados, os dados agora são chamados de quadros (da inglês, <em>frames</em>).</p><h3 id="camada-f-sica"><strong>Camada física</strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Physical-Layer.png" class="kg-image" alt="Physical-Layer" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/08/Physical-Layer.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/08/Physical-Layer.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/08/Physical-Layer.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="628" loading="lazy"><figcaption>Bits podem ser transferidos usando eletricidade, ondas de rádio e, até mesmo, luz</figcaption></figure><p>Por fim, chegamos à camada física.</p><p>Não se confunda com a palavra "física" – não estamos falando apenas de fios.</p><p>Os dados podem ser transferidos de muitas maneiras diferentes, como ondas de rádio ou até mesmo luz.</p><p>Infelizmente, esses meios de transporte não conhecem "<em>frames</em>", só conhecem <em>bits</em>.</p><p>A função dessa camada é simplesmente transformar <em>frames</em> em bytes (8 bits) e enviá-los por algum método de transporte (eletricidade, ondas, luz e assim por diante).</p><p>Ao final, nossa solicitação será transmitida para o servidor, que passará pelo mesmo processo, mas ao contrário.</p><h2 id="conclus-o"><strong>Conclusão</strong></h2><p>Neste artigo, você aprendeu:</p><ul><li>Que o modelo OSI é um modelo de referência sobre como dois sistemas conversam entre si através de uma rede.</li><li>Que não usamos esse modelo na vida real. Em vez disso, usamos outro modelo semelhante chamado de modelo TCP/IP.</li><li>Que o modelo OSI é composto de sete partes, cada uma com uma função específica.</li></ul><p>Espero que você tenha aprendido algo hoje e gostaria de agradecer a você por ter chegado até aqui.</p><p>O autor compartilha conteúdos semelhantes a esse no Twitter. Se estiver interessado, <a href="https://twitter.com/tamerlan_dev">siga-o por lá</a>.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
