Ethernet Controller

The second possible solution is, so far not seen with a Z80 system, to take a suitable Ethernet-Controller and connect it with the bus of your system. This works like a PC network-card and allows direct access to a Ethernet network. The following picture illustrates this.

The software TCP/IP-stack sits on top of the hardware interface, which must be programmed from a driver for memory-mapped I/O or direct I/O. This depends on the elected Ethernet-controller.

Ethernet Controller

The "RR-Net" for the C64 is one example from the year 2003.

2003:  RR-Net - 10 MBit Ethernet Network-Card for C64

So far, not many software exists for this card. I cannot judge exactly this solution, but the second link above shows the "real thing" : a "contiki" based web server on a C64. By substituting the slow RS-232 interface with a fast Ethernet controller, a disadvantage is removed, all other circumstances remain similar as with PPP / SLIP.

freely programmable - very good
memory usage - extremely high
system load through the stack - high
stability and reliability - depends on memory usage
other computer or server needed - no
system load through network activity - can become high
transfer speed of network data - bad
response time and usability - bad
communication capabilities - very good
implementation of standard RFC-protocols - depends on memory usage
convenient API for network programming - depends on memory usage
compatibility with other Z80 systems - depends on hardware interface
login / authentification / connection - no

One must build a hardware-interface for the system, that would not really be an obstacle. But the high memory requirement for a software stack with network application, and the burden of the entire system through the stack itself are reasons to drop this way. If new hardware is required, there are other solutions.

Further problems can occur with this solution as well. The software stack must process all Ethernet-packets of the network, in order to find out whether they are intended for it. With high broadcast's traffic, this leads to a heavy system load and response time, and usability can decrease drastically!