|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Assymetric connections [WAS: Re: iSCSI Autosense Consensus, Connection next steps]Hi Randall, > > * iSCSI data/ready to transmit (rtt) > > - potentially high bandwidth > > - with appropriate headers, segments can be > > processed entirely out-of-order > > - simple data transfer state machine > > - no flow control on data needed, just congestion control > > - rtt's need to be flow-controlled, but > > that can be done with a simple credit mechanism > > - data needs to end up in special buffers (e.g. buffer cache) > > > I understand how you will obtain all of the above with > two TCP connecions. I can even support this, considering > the 1 for control is "low bandwidth" (note: I can't support > N data connections.. only 1). Thanks for pointing this out. The wording was a bit loose. How does this sound? Multiple parallel data connections should only be used in the presence of an ECM-like congestion layer that does congestion control on macro-flows. > But my question is to the Data connection. How do you get > "no flow control on data needed, just congestion control" on > a TCP connection? You don't, but you can approximate it by opening the window to 1-2 gigabytes. A longer answer for why no flow control is needed. Excuse me if this is redundant: I was assuming that all data transfers on the control connection are requested by one of the parties. Since they are requested, there is a buffer waiting to receive the result of the data transfer. For example, let's say an initiator issues a SCSI READ of 64k bytes. It is fairly safe to assume that the initiator has a 64k byte buffer to receive the data. In the case of writes, the initiator does not send the data along with the SCSI WRITE (as is the case in NFS, CIFS, and HTTP PUT). Instead, the initiator waits for the target to request the data. This is done using the request to transmit (RTT) command. By the time a target issues a request to transmit, it presumably has sufficient buffer to receive the response. There is, of course, flow control on data transfers in this system, but it is done at the higher layers and need not be done at the transport. Congestion control, of course, still needs to be done at the transport layer. _Costa
Home Last updated: Tue Sep 04 01:07:31 2001 6315 messages in chronological order |