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