Il te faut utiliser une pile TCP/IP embarquée.
Il en existe plusieurs, avec différentes fonctionnalités, sous des licences différentes.
Généralement, toute la partie TCP/IP est écrite, ainsi que les couches un peu plus basses (ARP, Ethernet, etc.). Par contre, tu dois réaliser toi-même l'interface avec le MAC Ethernet (sauf si ta cible est directement supportée par la bibliothèque en question, naturellement; mais ce n'est pas toujours le cas).
Il existe par exemple lwIP, une pile TCP/IP libre (sous licence BSD ) que tu peux utiliser sans OS. Par contre, comme indiqué plus haut, tu dois te taper toute la couche liaison de données (dans la pratique, tu encapsule tes paquets IP dans des trames Ethernet, tu rajoute le FCS et les autres champs qui vont bien là où il faut, tu balance le tout dans le buffer Ethernet et roulez jeunesse ).
http://www.sics.se/~adam/lwip/index.html