📄 readme_intro
字号:
The following is some background on a new packet emission policy basedon trying to keep the bottleneck interface queue non-empty.First, the best throughput that any subnetwork can obtain occurs when thereis always data in the queue to be sent. From an application's perspective,the best throughput than can be obtained is when the pipe is constantlyfull and data does not get retransmitted.SCPS works best when it has a known bandwidth and can respond to essentiallyfill the pipe. For example, if you have a 2.4 Kbps link, SCPS will emitdata at 2.4 Kbps and not self congest the pipe. When you operate over mostRF links this is fine, but when operating over a link that offerscompression the effective bandwidth is never really known. It depends onthe data being sent and the compression techniques. But how do we dealwith compression. Well there are actually two different types ofcompression that can be used.The first is known as Van Jacobson header compression (originally documentedin RFC 1144, and subsequently updated in later RFCs) This type ofcompression compresses the TCP and IP header down from 40 octets to about5 octets (I believe), the TCP options are sent uncompressed. The importantpart of this compression is that it is based on delta encoding of thevarious fields in the TCP header. This technique has many problems whenoperating over errors channels. Thus we assumed this compression isdisabled.Another type of compression is data compression using deflate or some othertype of technique. This is where you get more bang for the buck. Ifyou are sending text messages that are highly compressible, you can easilyturn a 2.4K link into a 10 Kbps link. However SCPS when operating atpure rate control will only emit data out at 2.4 Kbps - essentiallycompletely under driving the link. Not so good ;-( Based how the dataget compressed, we now expand the capacity of the link. Thus the effectivecapacity of this link is unknown. Well, the PPP driver does not know aboutcompression ratios, but it does know how much data is in the PPP queue andthe goal here is to keep the PPP queue large enough so based on thecompressibility of data the link will always have data to send. Another example where the bandwidth is not known apriori involves multiplenodes sharing a single resource. For example, if you have a 32 Kbps linkthat is shared among many different nodes where the nodes actually requestbandwidth dynamically based how much data they have in the link layerbuffers to send. This means the bandwidth that is available for aparticular node is not known a-priori and can vary tremendously based onnetwork condition and scenarios. For example, if you have 2 nodes on thisnetwork and only a single file transfer is occurring from Node A to Node B.Node A will get most of the bandwidth - say 28 Kbps and Node B may onlyget 3 Kbps (for the ack channel). If we have 5 nodes on the network andeach is sending a file then the bandwidth allocate per node is more like5.8 Kbps. These are the types of environments where this flow control based packetemission policy has been designed.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -