Check out the new USENIX Web site. next up previous
Next: Per-Flow State Up: Anypoint: Extensible Transport Switching Previous: Example: NFS Storage Router

    
Inside the Anypoint Switch


 
Table 2: Endpoint table entry. For an outbound flow, s is a source, and the fields pertain to frames transmitted by s. For an inbound flow, s is a sink, and the fields pertain to frames received by s.

s.una

CSN of the oldest unacknowledged frame.
s.last CSN of the last frame.
s.next LSN of the next frame.
s.hole CSN of the oldest pending sequence hole from a source.
s.lastgap CSN of the newest hole at the time of the last send to a sink.

 
 

This section outlines the transport switching functions within an Anypoint switch. Without loss of generality we consider the traffic on a single connection. This traffic consists of two partially ordered flows of frames passing through the switch: one flow inbound to the ensemble and one flow outbound from the ensemble. The n ensemble members in the connection's active set are sources for the outbound flow and sinks for the inbound flow.

We make the following assumptions about the transport. The transport senders on the end nodes mark the transmitted frames for each flow with frame sequence numbers (FSNs) that are unique within the flow, monotonically increasing, and consecutive. FSNs are the basis for reliable at-most-once delivery. Frames arriving at a receiver are delivered in FSN order, and the receiver uses FSNs to generate cumulative acks in the return flow. The transport limits the number of outstanding unacknowledged frames to a frame flow window w.

The transport equivalence property means that end nodes do not distinguish Anypoint connections from point-to-point connections using the same transport. This implies that each participating node views the frames from each flow in a local FSN space, since it believes (at the transport layer) that it is the exclusive owner of its end of the connection. Since there is only one connection peer, it defines a global FSN space of connection sequence numbers (CSNs) for both flows in the connection. The switch's sequencing functions translate between the end nodes' FSN spaces--the local sequence numbers (LSNs) understood by each ensemble member and CSNs understood by the peer.

The Anypoint switch transforms the frames flowing through it to split inbound traffic across the LSN spaces of the n sinks, and to merge outbound traffic from the LSN spaces of the n sources into the peer's CSN space. Correct translation of the sequence numbers is the key to extending the transport's end-to-end ordering, duplicate suppression, acknowledgment, and retransmission functions to Anypoint connections because it enables reassembly buffering and retransmission at the end nodes rather than in the switch. The switch also coordinates the transport mechanisms for ordering and reliable delivery, and propagates rate control signals to ensure that each Anypoint connection behaves correctly with respect to flow control and congestion.



 
next up previous
Next: Per-Flow State Up: Anypoint: Extensible Transport Switching Previous: Example: NFS Storage Router
Kenneth G. Yocum
2003-01-20