Kernel implementation
Memory registration
- Memory is mapped into the kernel and wired down
- Memory handles are used to convert between user and kernel addresses
Endpoints and Connections
- Endpoints provide distinct communications channels
- Port number in header to distinguish connections