Comme je le sais, nous pouvons simplement utiliser une adresse Ethernet / couche 2 pour communiquer avec un périphérique LAN. Mais pour un périphérique WAN, une adresse IP / couche 3 est requise.
de sorte que TCP est dans la 4ème couche OSI au-dessus de la couche IP. Ma question est: est-ce que je peux créer un paquet TCP et l’envoyer via une adresse Ethernet / couche 2 sur un réseau LAN, qu’il contourne fondamentalement par la 3ème couche / couche IP?
networking
tcp
qui suis je
la source
la source
man 7 packet
etman 7 raw
Réponses:
Sur un réseau local, cela pourrait fonctionner, en théorie, car vous n'avez que des commutateurs et des concentrateurs. Donc l'adresse MAC de destination sera la bonne. Mais...
Vous devrez écrire un système d'exploitation pour votre système source et votre système de destination, qui ignorera TOUJOURS la couche IP et lira la charge utile de votre trame sous forme de paquet TCP.
Le 'TOUJOURS' ci-dessus est nécessaire car il est possible de créer un paquet TCP pouvant être interprété comme un paquet IP valide, mais ce paquet n'aura jamais la même signification car TCP et IP font des choses complètement différentes.
Un paquet IP définit également le type de protocole utilisé par le contenu. Ainsi, en sautant IP, il ne sera plus possible d'utiliser UDP, ICMP, ...
Sur un réseau WAN, cela ne fonctionnera certainement pas car vous devez passer par des routeurs. Le paquet d'origine doit avoir le MAC du premier routeur et non le MAC du système final.
Donc, dans la pratique, ce serait une idée terrible: créer un système d’exploitation nécessitera beaucoup de travail. Cela rompra tous les protocoles qui ne sont pas dans TCP et la communication avec les systèmes extérieurs au LAN.
la source