Win7之家( afsion.com.cn):傳輸文件選MSN還是QQ?剖析底層原理來選擇
經(jīng)常在網(wǎng)上和朋友聊天,相互之間經(jīng)常需要交換一些文件,例如音樂、電影、圖片等等,有些文件幾兆、幾十兆甚至上百兆,郵件肯定不行的了,那么網(wǎng)絡(luò)硬盤呢?很多都是需要收費的,免費的又太小了,根本不夠用。那么我們經(jīng)常用的QQ、MSN等即時通信(IM)軟件,除了但當(dāng)通訊軟件之外,還可以為我們傳輸數(shù)據(jù)。
QQ和MSN應(yīng)該是我們最常用的IM軟件,但是相信不少人都注意到,兩個軟件在傳輸文件的時候,MSN要比QQ慢很多,當(dāng)然也不是絕對的每次傳輸MSN都慢,但是這絕對是大多數(shù)情況。這到底是是為什么呢?讓我們來一看究竟。
就本質(zhì)上而言,QQ是一個基于TCP/UDP協(xié)議的通訊軟件,而MSN是基于TCP協(xié)議的通訊軟件,但在博大精深的網(wǎng)絡(luò)通訊協(xié)議的理解和應(yīng)用當(dāng)中,QQ和MSN卻有著彼此不同的理念。
那么QQ是如何通訊的呢?在TCP/IP協(xié)議中,唯一標識一個應(yīng)用進程的是socket,它通過網(wǎng)絡(luò)層的IP地址和傳輸層的端口號來實現(xiàn),對與同一個IP地址的內(nèi)部網(wǎng)絡(luò),通過不同的端口號來標識不同的QQ進程;當(dāng)你登陸QQ服務(wù)器的時候,服務(wù)器會保留你的保留IP地址和端口號信息,并在你的好友的QQ進程中進行列表顯示,然后兩個進程就可以通信了。
通常,發(fā)送文件的計算機首先要通過消息服務(wù)器將其IP地址發(fā)送給接收計算機,當(dāng)接收計算機同意接收的確認消息反饋到消息服務(wù)器后,消息服務(wù)器將據(jù)此設(shè)置好文件傳輸對話。隨即,發(fā)送計算機與接收計算機就會在確定好的端口范圍內(nèi),建立起TCP或UDP連接開始文件的檢索與傳輸。
在默認狀態(tài)下,QQ優(yōu)先采用了UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議)協(xié)議傳送數(shù)據(jù),而對可靠性要求高的數(shù)據(jù)通訊系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù)。與TCP協(xié)議不同,UDP協(xié)議并不提供數(shù)據(jù)傳送的驗證機制——在整個文件傳輸過程中如果出現(xiàn)數(shù)據(jù)報的丟失,協(xié)議本身并不能作出任何的檢測或提示。因此,通常人們把UDP協(xié)議稱為不可靠的傳輸協(xié)議。
UDP協(xié)議適用于無須應(yīng)答、要求時效的軟件使用,這樣的設(shè)計正好與QQ追求的目標相符,所以QQ優(yōu)先使用了此協(xié)議進行一切功能應(yīng)用。但是,由于UDP協(xié)議具有不可靠性,常會因種種原因?qū)е孪⒒驍?shù)據(jù)的發(fā)送失敗(很多時候會發(fā)現(xiàn)發(fā)送文件給對方接收時,對方根本收不到要求接收文件的消息;蚴前l(fā)送聊天消息時,對方根本沒有收到過消息)。
顯然,UDP協(xié)議由于排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應(yīng)用來完成,極大降低了執(zhí)行時間,使速度得到了保證。QQ在數(shù)據(jù)傳輸上更注重實際性能,為了獲得更好的使用效果,往往可以犧牲一定的可靠性。因此,使用QQ來傳輸數(shù)據(jù),在很多時候就成了一個“不錯”的選擇。
一般內(nèi)網(wǎng)傳輸首選QQ,速度最快,QQ的文件傳輸是直接個人對個人,采用P2P的傳輸方式,具有不需中轉(zhuǎn)的優(yōu)勢,而且服務(wù)器都在國內(nèi),傳輸性能要高于外國IM軟件。
看過了QQ,我們再來看看MSN的傳輸原理。MSN現(xiàn)已改名為Windows Live Messenger,是微軟公司推出的即時通訊軟件。MSN憑借自身的優(yōu)秀性能和簡易操作,已躋身為目前世界上使用最為廣泛的IM軟件(即時通訊軟件),在國內(nèi)也有著眾多的用戶,是唯一一款可以和QQ抗衡的IM軟件。如今MSN除了互聯(lián)網(wǎng)通信外還廣泛用于局域網(wǎng),如學(xué)校,公司,政府機構(gòu)等內(nèi)部人員交流。
就MSN所用的TCP協(xié)議來說,他已經(jīng)包含了數(shù)據(jù)傳遞驗證機制。而網(wǎng)絡(luò)傳輸協(xié)議中的驗證機制往往是接收方收到發(fā)送方信息后自動回復(fù)一個確認信息,因此有時候在網(wǎng)絡(luò)出現(xiàn)延遲或線端擁塞時,即使MSN顯示連接正常也會出現(xiàn)“無法將XXXX信息發(fā)送給所有接收者”。
在網(wǎng)絡(luò)環(huán)境較好時,MSN所用TCP協(xié)議的效率可能較低,這主要是由于它的安全特性,在惡劣的網(wǎng)絡(luò)環(huán)境中,QQ所用UDP協(xié)議傳輸文本信息可能較不安全。但傳輸音視頻及圖片時,UDP協(xié)議則擁有更高的速度。難能可貴的是較新版本的QQ支持斷點續(xù)傳功能,因此既保持了UDP協(xié)議的快速性,同時又彌補了因網(wǎng)絡(luò)原因?qū)е碌臄嗑。事實上,基于TCP協(xié)議的網(wǎng)絡(luò)文件傳輸?shù)臄嗑機率會更高,這就是為什么許多人更愿意選擇QQ而不是MSN來傳輸文件了。其實,即使是在內(nèi)網(wǎng),UDP協(xié)議的數(shù)據(jù)傳輸?shù)男室惨h高于TCP協(xié)議。
根據(jù)上面我們所了解到的資料,之所以兩種IM軟件通訊、傳輸文件的速度不一樣,并不是因為大家之前聽說的“MSN服務(wù)器在國外”等等,而是因為QQ和MSN的協(xié)議不一樣,適用情況也不一樣。所以,現(xiàn)在許多的網(wǎng)友一定是使用QQ、MSN雙管齊下。了解了這些,在以后的生活、工作中,我們就可以根據(jù)不同的情況選用不同的IM軟件通訊,一定會讓我們的效率進一步提高。
評論列表
查看所有 條評論