This document specifies the LASTport architecture, a computer networking transport layer model designed to optimize performance and reduce resource consumption for system applications in Local Area Networks (LANs) with many clients and few servers.
Key aspects of LASTport include:
- Request-Response Semantics: It's built on a client-server model where clients initiate requests and servers must respond. Unlike traditional protocols, explicit acknowledgment messages are eliminated, as the server's response itself guarantees processing and completion of the transaction.
- Transaction Requirements: A core tenet is that all transactions must be both idempotent (repeatable without changing system state, e.g., disk reads) and commutative (can be processed in any order without affecting the outcome), enabling concurrent execution.
- Concurrent Transactions & Error Recovery: It supports a large number of concurrent transactions using a unique "transaction identifier" composed of a transaction slot (for concurrency) and a transaction sequence number (for unique identification of retries and discarding "orphan" or stale requests). Error recovery relies on client-driven retransmission and server rejection of outdated messages.
- Layered Architecture: The protocol is structured into three functional layers:
- Solicitation Layer: Acts as a network naming service, allowing clients to locate services offered by servers, often using multicast.
- Circuit Layer: Manages the network topology, including path maintenance, load balancing across multiple redundant paths (for high availability), and congestion control. It does not perform error correction or message sequencing, which are handled by higher layers.
- Association Layer: Manages connections between clients and servers, handles transaction execution, segments and reassembles data, assigns transaction identifiers, and manages errors.
- Efficiency: Achieves reduced message flow, efficient message encoding, and lower memory consumption at the server by leveraging its specialized design for specific LAN environments and transaction types.
The document details the interfaces, protocols, and message formats necessary for interoperable implementations of this architecture.