Now I have a better vision:
Generally speaking, we originally had uIP. uIP was ported by tuxgraphics for AVR, this library is excellent, I looked at v4.0 which is called the 3rd generation, the guy has added many nice APIs recently. Came lwIP for AVR, which is more advanced and needs more code space and RAM, I don't mean it will only work on ATmega128. When the number of packets to send and receive is small, we go with AVR-uIP, or even the lighter versions of AVR-uIP which is tuxgraphics. If the number of packets is large, we go with lwIP which is really suited for more sophisticated operations. I still can't figure out if recent versions of tuxgraphics and AVR-uIP are as good/advanced as lwIP. The reviews I read were a little bit old.
I also found some nice examples while searching the net, I tried to find those examples that make Proteus useful in the networking area:
- AVR-uIP with ATmega128
- AVRNet with ATmega32
AVRNet appears to be an excellent project. IP, TCP, UDP, ICMP, ARP, HTTP protocols are implemented. tuxgraphics also seems to have implemented ARP, SLIP, IP, UDP, ICMP (ping) and TCP protocols, I presume.