2013-09-29 65 views
0

我想創建一個新的協議,即具有TCP和UDP功能。你能告訴我什麼是提示和技術是必需的,如果可能的話。我可以結合TCP TCP和UDP協議

預先感謝

+0

你需要什麼特殊功能?如果你想要一個無連接協議,你需要爲你的數據包添加一些校驗和/序列號,所以你總是知道,如果一個數據包丟失了。 – yegorich

+1

這個問題太廣泛了,不能在這裏回答,但要確保你沒有重新創建[SCTP](https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol)。 – EJP

回答

1

TCP爲您提供了UDP不三個特點:(a)估計發送速率,(b)中的重發,和(c)流量控制。在這樣做時,tradefoff是TCP與UDP相比變慢。因此,如果您的應用程序對延遲敏感,對音頻/視頻應用程序來說通常是這樣,那麼您需要從UDP開始,並保持上述三者中的任意一個。通常,UDP應用程序可能會添加前向糾錯或應用層數據包記錄以確保重新傳輸。

UDP提供哪種TCP沒有的另一個優點是:如果您有可能使用多播的應用程序。對於這種情況,由於UDP可以處理點對多點,所以UDP將是正確的選擇。將TCP用於多播應用程序將很困難,因爲現在發送者必須跟蹤多個接收器的重傳/發送速率。

因此,總之,UDP將爲您提供TCP不能實現的兩個功能:低延遲和多播能力。所以,通過這種方式,我們實際上可以減少問題的範圍,並詢問想要添加到UDP的TCP的功能是什麼,因爲沒有辦法,可以將UDP的功能添加到TCP。