Connection-Oriented Versus Connectionless Transfers
TDI提供一個在傳輸層上最小成本最高品質的連線導向服務。根據特定的驅動協定,這可以涉及客戶數據的打包,sequencing, acknowledgment, retransmission, flow-control, 以及 error recovery。
TDI也提供數據報一個無連線服務。而這些服務都是輕量級的:它不需要提供error-free delivery 或是 flow control。傳輸階層通常不會分割或是重組數據報。在TDI傳輸上,傳遞無連線數據擁有最輕的負擔。
數據報的發送在本質上是一個不可靠的網路通信。發送的客戶無法得知在遠端節點位址上有多少個已經開啟的客戶,或是遠端節點客戶是否正在接收數據。此外,根據傳輸驅動作者的裁量權,本地節點TDI驅動可能會丟失或是複製一份數據報。相比之下,本地端節點傳輸在一個已經建立的點對點連線之下,在遠端節點傳輸接受數據並且回覆確認(acknowledged)之前,會負責重新嘗試發送數據。
就像一個數據報的發送,接收數據報的操作也是不可靠的。根據傳輸驅動作者的裁量權,本地節點TDI驅動可能會丟失或是複製一份接收到的數據報。相比之下,本地端節點傳輸在一個已經建立的點對點連線之下,在本地客戶接受(否決)數據並且回覆遠端節點確認(acknowledged)之前,會負責接收。
一個點對點連線會一直保持活動,直到一個斷線操作發生(在稍後的Disconnecting an Endpoint-to-Endpoint Connection會有介紹),或者是底層傳輸沒有收到遠端節點的回應的時候(超時以後斷線)。
沒有留言:
張貼留言