Este documento representa meus estudos acerca do livro Redes de Computadores e a Internet - uma abordagem top down

Conceitos Fundamentais

A internet representa uma rede de computadores (ou outros dispositivos) interconectados atraves de diversas formas e tecnicas distintas e com protocolos definidos. De maneira geral (alem das camadas, que veremos com mais detalhes em sequencia), a internet pode ser dividida em dispositivos (os quais acessam esta conexao - computadores, algumas geladeiras, ou seja, que utiliza-se dos protocolos de rede e suas aplicacoes) e componentes (que a garantem - links, routers e etc). Esta definicao eh simplista, evidentemente, mas agrupa logicamente o que compoe a internet.

Da mesma forma, temos outra possivel divisao, a de estrutura:

  • Borda da rede (edge): as aplicacoes e dispositivos hosts (servidores ou clientes).
  • Nucleo da rede (core): Roteadores, links, rede de redes..

Percebemos, desta maneira, que a maior parte da internet esta localizada, efetivamente, em suas extremidades.


No geral, a internet eh construida por alguns grupos de components:

  • hosts
  • packet switches: roteadores, switches -> passam os pacotes adiante
  • links: enlace, responsavel por efetivamente passar os dados, seja por satelite, cabos e afins.
    • a taxa de transmissao = banda-larga
  • networks(redes): as redes sao uma colecao de dispositivos, sejam hosts, roteadores ou qualquer outro, ligados por protocolos. Pode ter qualquer tamanho. Formando a internet, que eh uma rede de diversas redes conectadas.

Internet Standards

Existem, portanto, padroes para estar na internet.

  • RFCS (requests for comments) -> documentos que padronizam os protocolos, sao os registros tecnicos acerca de cada protocolo. Qualquer um pode submeter um, estando em conjunto com a IETF. Estao salvas aqui.

Protocolos

Representam a maneira como os computadores podem se conectar ou, enfim, enviar dados de maneira conjunta. Isso significa que o cliente precisa saber como o servidor trata a transmissao de dados, ou seja, precisam usar o mesmo protocolo.

Servicos com e sem conexao

Servico orientado a conexao

  • objetivo: transferir dados entre sistemas. Este metodo utiliza-se do handshaking, uma maneira de criar um estado de conexao entre os dispositivos envolvidos. Um device envia uma mensagem de conexao e o outro aprova ou nao, criando um status de conexao.

  • precisa de um fluxo orientado e confiavel* de bytes

    • realiza confirmacoes de entrega de pacotes e emite codigos de erro.
  • controle de fluxo:

    • Não permite um transmissor rápido “afogar” um receptor mais lento.
  • controle de congestionamento

    • o transmissor reduz a taxa de envio de pacotes quando a rede se congestiona.

ex: TCP (Transmission Control Protocol)

*confiabilidade: Tem a garantia/validacao de que um pacote que sai de um dispositivo chegara no outro, sem perca de informacoes.

Servico orientado a nao conexao

  • objetivo: transferir dados entre sistemas.
  • fluxo de dados nao confiavel
  • Sem controle de fluxo
  • Sem controle de congestionamento

ex: UDP (User Datagram Protocol)