Cada tutorial que leio fala sobre como as camadas "se comunicam" entre si, mas nunca menciona qual hardware/software recebe, adiciona e envia cada camada de dados de controle.
Qual peça de hardware e software recebe/encapsula/envia os dados pertencentes a cada camada de IP/TCP?
Por exemplo, em qual camada meu roteador funciona? Qual software traduz um arquivo de texto em SMTP? Qual/onde no meu computador está o software para controle de fluxo/transporte?
Responder1
Layer 1 - Physical - Signaling
Layer 2 - Data Link - Switching (Ethernet frames)
Layer 3 - Network - Routing (IP packets)
Layer 4 - Transport - Multiplexing (TCP segments)
Layer 5 - Session
Layer 6 - Presentation
Layer 7 - Application
A razão pela qual implementações específicas de software/hardware não são mencionadas é porque esse é o objetivo do desenvolvimento do padrão. Cada camada não se importa com a forma como a camada acima e abaixo cuida de sua função, desde que os dados sejam apresentados de acordo com o padrão. Pode ser em software, hardware, firmware, por meio de um dispositivo mecânico não eletrônico, ou mesmo manualmente por seres humanos (google "TCP sobre pombo-correio" para um exemplo não sério).
O software e hardware específicos envolvidos também variam amplamente no mundo real. É perfeitamente possível realizar todas as funções em software (barato, mas lento). Também é perfeitamente possível fazer todos eles em hardware (rápido, mas caro). Dispositivos de rede dedicados, como roteadores Cisco, etc., executarão mais funções em hardware do que, digamos, um PC executando Linux configurado como roteador.
Geralmente a Camada 1 e principalmente a Camada 2 têm garantia de execução em hardware. A camada 3 é feita principalmente em hardware em um roteador de nível empresarial, como os da Cisco. Muitas NICs vêm com um recurso chamado "TCP Offload Engine" que pode acelerar a maior parte das camadas 3 e 4 por meio do hardware da NIC. Seus roteadores de nível de consumidor do Wal-mart geralmente fazem a função de roteamento inteiramente em software. As camadas 5, 6 e 7 geralmente não são feitas em hardware e, se forem, os dispositivos que fazem isso são chamados de "aceleradores".
Responder2
Qual peça de hardware e software recebe/encapsula/envia os dados pertencentes a cada camada de IP/TCP?
O hardware Ethernet normalmente é usado apenas nas camadas mais baixas, as camadas física e de link. Com base no seu endereço MAC, o hardware aceitará apenas quadros unicast correspondentes. O driver de dispositivo Ethernet normalmente é responsável por fornecer a interface de software para este dispositivo. O dispositivo normalmente pode ler e gravar quadros Ethernet completos de e para buffers dispostos em um anel vinculado (circular), e o driver atende interrupções ou pesquisa o status para qualquer alteração no status do anel de buffer (ou seja, operação de leitura ou gravação de quadro concluída).
O software é conhecido coletivamente comopilha de protocolos. É uma coleção de procedimentos e funções incorporadas ao kernel. Eles são invocados como qualquer hierarquia de software. Quando o programa do usuário faz uma chamada de sistema R/W de soquete, uma rotina de aplicação da camada superior é invocada. Essa hierarquia de sub-rotina/procedimento é como qualquer outro software bem construído que impõe modularidade, baixo acoplamento e alta coesão.
Cada camada do protocolo é executada por uma ou mais chamadas de procedimento (aninhadas), até que o pacote de dados seja armazenado em um buffer de quadro, pronto para saída pelo hardware. Após a conclusão bem-sucedida da gravação, o status será retornado à chamada do usuário.
Por exemplo, em qual camada meu roteador funciona?
A Internet é descrita peloModelo TCP/IP:
- Camada de aplicação
- Camada de transporte
- Camada da Internet
- Camada de link
- Camada física
Seu roteador direciona pacotes com base no endereço IP, que é a camada da Internet. Mas o roteador possui sua própria pilha de protocolos para executar outros serviços, como seu utilitário de configuração baseado na Web. Cada host na rede provavelmente terá uma pilha de protocolos completa; as camadas não são distribuídas entre hosts/dispositivos de rede.
Qual software traduz um arquivo de texto em SMTP?
Seu programa de e-mail faz interface com a camada de aplicativo.
Qual/onde no meu computador está o software para controle de fluxo/transporte?
Provavelmente a camada de Transporte, onde opera o TCP.