MSN或QQ傳檔案好幫手 揭祕IM傳輸原理

經常在網上和朋友聊天,相互之間經常需要交換一些檔案,例如音樂、電影、圖片等等,有些檔案幾兆、幾十兆甚至上百兆,郵件肯定不行的了,那麼網路硬碟呢?很多都是需要收費的,免費的又太小了,根本不夠用。那麼我們經常用的QQ、MSN等即時通訊(IM)軟體,除了但當通訊軟體之外,還可以為我們傳輸資料。

  QQ和MSN應該是我們最常用的IM軟體,但是相信不少人都注意到,兩個軟體在傳輸檔案的時候,MSN要比QQ慢很多,當然也不是絕對的每次傳輸MSN都慢,但是這絕對是大多數情況。這到底是是為什麼呢?讓我們來一看究竟。

  就本質上而言,QQ是一個基於TCP/UDP協議的通訊軟體,而MSN是基於TCP協議的通訊軟體,但在博大精深的網路通訊協議的理解和應用當中,QQ和MSN卻有著彼此不同的理念。

  那麼QQ是如何通訊的呢?在TCP/IP協議中,唯一標識一個應用程序的是socket,它通過網路層的IP地址和傳輸層的埠號來實現,對與同一個IP地址的內部網路,通過不同的埠號來標識不同的QQ程序;當你登陸QQ伺服器的時候,伺服器會保留你的保留IP地址和埠號資訊,並在你的好友的QQ程序中進行列表顯示,然後兩個程序就可以通訊了。

  通常,傳送檔案的計算機首先要通過訊息伺服器將其IP地址傳送給接收計算機,當接收計算機同意接收的確認訊息反饋到訊息伺服器後,訊息伺服器將據此設定好檔案傳輸對話。隨即,傳送計算機與接收計算機就會在確定好的埠範圍內,建立起TCP或UDP連線開始檔案的檢索與傳輸。

  在預設狀態下,QQ優先採用了UDP(User Data Protocol,使用者資料報協議)協議傳送資料,而對可靠性要求高的資料通訊系統往往使用TCP協議傳輸資料。與TCP協議不同,UDP協議並不提供資料傳送的驗證機制——在整個檔案傳輸過程中如果出現數據報的丟失,協議本身並不能作出任何的檢測或提示。因此,通常人們把UDP協議稱為不可靠的傳輸協議。

  UDP協議適用於無須應答、要求時效的軟體使用,這樣的設計正好與QQ追求的目標相符,所以QQ優先使用了此協議進行一切功能應用。但是,由於UDP協議具有不可靠性,常會因種種原因導致訊息或資料的傳送失敗(很多時候會發現傳送檔案給對方接收時,對方根本收不到要求接收檔案的訊息。或是傳送聊天訊息時,對方根本沒有收到過訊息)。顯然,UDP協議由於排除了資訊可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大降低了執行時間,使速度得到了保證。QQ在資料傳輸上更注重實際效能,為了獲得更好的使用效果,往往可以犧牲一定的可靠性。因此,使用QQ來傳輸資料,在很多時候就成了一個“不錯”的選擇。

  一般內網傳輸首選QQ,速度最快,QQ的檔案傳輸是直接個人對個人,採用P2P的傳輸方式,具有不需中轉的優勢,而且伺服器都在國內,傳輸效能要高於外國IM軟體。

  看過了QQ,我們再來看看MSN的傳輸原理。MSN全稱MSN Messenger,是微軟公司推出的即時通訊軟體。MSN Messenger憑藉自身的優秀效能和簡易操作,已躋身為目前世界上使用最為廣泛的IM軟體(即時通訊軟體),在國內也有著眾多的使用者,是唯一一款可以和QQ抗衡的IM軟體。如今MSN除了網際網路通訊外還廣泛用於區域網,如學校,公司,政府機構等內部人員交流。

  就MSN所用的TCP協議來說,他已經包含了資料傳遞驗證機制。而網路傳輸協議中的驗證機制往往是接收方收到傳送方資訊後自動回覆一個確認資訊,因此有時候在網路出現延遲或線端擁塞時,即使MSN顯示連線正常也會出現“無法將XXXX資訊傳送給所有接收者”。

  在網路環境較好時,MSN所用TCP協議的效率可能較低,這主要是由於它的安全特性,在惡劣的網路環境中,QQ所用UDP協議傳輸文字資訊可能較不安全。但傳輸音視訊及圖片時,UDP協議則擁有更高的速度。難能可貴的是較新版本的QQ支援斷點續傳功能,因此既保持了UDP協議的快速性,同時又彌補了因網路原因導致的斷線。事實上,基於TCP協議的網路檔案傳輸的斷線機率會更高,這就是為什麼許多人更願意選擇QQ而不是MSN來傳輸檔案了。其實,即使是在內網,UDP協議的資料傳輸的效率也要遠高於TCP協議。

  根據上面我們所瞭解到的資料,之所以兩種IM軟體通訊、傳輸檔案的速度不一樣,並不是因為大家之前聽說的“MSN伺服器在國外”等等,而是因為QQ和MSN的協議不一樣,適用情況也不一樣。所以,現在許多的網友一定是使用QQ、MSN雙管齊下。瞭解了這些,在以後的生活、工作中,我們就可以根據不同的情況選用不同的IM軟體通訊,一定會讓我們的效率進一步提高。

MSN或QQ傳檔案好幫手 揭祕IM傳輸原理