Home
Welcome to the Netatalk wiki - Open Source file sharing for the Apple Macintosh since 1990! Here you can find and contribute to collaborative articles covering topics regarding Netatalk features as well as Mac and Apple II file sharing and networking.
What is Netatalk?
Netatalk is a cross-platform open source implementation of AFP (Apple Filing Protocol), the protocol used for file sharing on Apple II, Classic Mac OS, and Mac OS X. At the time of writing, AFP is one of several file sharing protocols with client support in macOS.
The Netatalk software runs on a NIX host machine (Linux distro, BSD distro, Solaris, or macOS) while a Mac client would connect to the file server via the Network drawer / Locations (on macOS) or the Chooser (on Classic Mac OS.)
macOS 15.1 Network Drawer Example
Examples of clients where Netatalk has been tested:
- AppleShare Workstation 1.1 (AFP1.1)
- Apple IIgs GS/OS System 6.0.1 (AFP2.0)
- Apple IIgs GS/OS System 6.0.1 using AFPBridge to connect via TCP/IP (AFP2.0)
- Apple IIgs ProDOS 8 2.0.3 client bundled with the above (AFP2.0)
- Macintosh System 7.1 with the stock AppleShare Client 3.5 (AFP2.1)
- Mac OS 8.1 with the stock AppleShare Client 3.7.4 via both AppleTalk and TCP/IP (AFP2.2)
- Mac OS 9.0.4 with the stock AppleShare Client 3.8.6 via TCP/IP (AFP2.2)
- Mac OS X 10.1 via TCP/IP (AFP3.0)
- Mac OS X 10.4 via TCP/IP (AFP3.2)
- macOS 10.15 via TCP/IP (AFP3.4)
Architecture
Netatalk implements AFP over TCP. The session layer used to carry AFP over TCP is called DSI. The complete stack looks like this:
AFP
|
DSI
|
| (port:548)
|
-+---------------------------+- (kernel boundary)
| Socket |
+------------+--------------+
| TCP | UDP |
+------------+--------------+
| IP v4 or v6 |
+---------------------------+
| Network Interface |
+---------------------------+
When Netatalk is built with AFP over AppleTalk for very old Macs, the complete network stack looks like this on a *BSD system:
AFP AFP
| |
ASP PAP DSI
\ / |
ATP RTMP NBP ZIP AEP | (port:548)
| | | | | |
-+---------------------------------------------------+- (kernel boundary)
| Socket |
+-----------------------+------------+--------------+
| | TCP | UDP |
| DDP +------------+--------------+
| | IP v4 or v6 |
+-----------------------+---------------------------+
| Network Interface |
+---------------------------------------------------+
See the DEVELOPER readme for descriptions of the AppleTalk family of protocols.
External Links
- netatalk.org (original UMich homepage, still online as of Nov 2024)
- Netatalk 1.3.3 era FAQ
- sunsite.org.uk mirror with netatalk-admins ML 1992-2001 archive
- Linux Netatalk-HOWTO ca. 1999
- Exploiting an 18 Year Old Bug
See also Netatalk Links
This is a mirror of the Netatalk GitHub Wiki. Please visit the original page if you want to correct an error or contribute new contents.
Last updated 2024-12-09