Content deleted Content added
Theprohack01 (talk | contribs) #suggestededit-add 1.0 Tags: Mobile edit Mobile app edit Android app edit |
→Protocol: More detail on FASP flow control, contrasted to TCP |
||
Line 18:
==Protocol==
FASP's control [[port (computer networking)|port]] is TCP port 22{{snd}} the same port that SSH uses. For data transfer, it begins at UDP port 33001, which increments with each additional connection thread.<ref name="register"/>
FASP's flow control algorithm, unlike TCP's, completely ignores packet drops. Instead, it acts on changes in measured packet delivery time. When that is growing, queues are getting longer and channel bandwidth is exceeded; falling, queues are getting shorter. Acting on this information is complicated because the receiver has it and the sender needs it, but its lifetime is often less than the transmission delay; and measurements are noisy. Thus, the sender uses a predictive filter fed updates from the receiver.<ref>https://news.ycombinator.com/item?id=21909190</ref>
The transmission rate is chosen to match and not exceed the channel bandwidth, and trigger no drops. By contrast, TCP slowly increases its rate until it sees a packet drop and falls back, interpreting any drop as congestion. On a channel with long delay and frequent packet loss, TCP never approaches the actual bandwidth available. FASP cooperates with TCP flows on the same channel, using up bandwidth TCP leaves unused.
==See also==
|