A resposta é que seus aplicativos de software e sistema operacional são projetados para comunicação usando TCP / IP , não diretamente com o endereçamento MAC Ethernet.
Portanto, independentemente de o computador / nó remoto com o qual você deseja se comunicar esteja em sua rede local ou em alguma outra rede do outro lado do mundo, esse link lógico é estabelecido com o TCP / IP. Dessa forma, os aplicativos definem o endereço IP de destino no pacote IP, preenchem-no com dados (que são realmente compactados em um segmento TCP / UDP) e o enviam sem ter que se preocupar como as camadas subjacentes lidam com a transmissão real .
É a pilha de rede do sistema operacional que determina se o endereço IP é local ou remoto:
- Se a rede local, procurar por endereço MAC correspondente a esse endereço IP e enviar o pacote IP direto, que está em um quadro Ethernet.
- Se for uma rede remota, procure o endereço MAC do roteador do gateway padrão para enviar o pacote IP, também dentro de um quadro Ethernet. O roteador recupera o pacote IP do quadro, analisa o endereço e determina o próximo nó (e seu endereço MAC) para transmiti-lo e envia essa direção em outro quadro Ethernet.
Nota: é totalmente possível que pacotes IP sejam entregues em outro protocolo de enlace de dados diferente de Ethernet (adivinhe, seu modem dial-up ou DSL não está conectado ao seu ISP via Ethernet cabo). E os aplicativos não devem se preocupar, desde que o endereço IP de destino esteja acessível. Também é totalmente possível envolver outros dados do protocolo de rede (que não seja um pacote IP) em um quadro Ethernet para transmissão.