說(shuō)說(shuō)TCP傳輸?shù)娜挝帐炙拇螕]手策略
為了準(zhǔn)確無(wú)誤地把數(shù)據(jù)送達(dá)目標(biāo)處,TCP協(xié)議采用了三次握手策略卧波。用TCP協(xié)議把數(shù)據(jù)包送出去后,TCP不會(huì)對(duì)傳送 后的情況置之不理,它一定會(huì)向?qū)Ψ酱_認(rèn)是否成功送達(dá)咨察。握手過(guò)程中使用了TCP的標(biāo)志:SYN和ACK。
發(fā)送端首先發(fā)送一個(gè)帶SYN標(biāo)志的數(shù)據(jù)包給對(duì)方缎浇。接收端收到后扎拣,回傳一個(gè)帶有SYN/ACK標(biāo)志的數(shù)據(jù)包以示傳達(dá)確認(rèn)信息。
最后素跺,發(fā)送端再回傳一個(gè)帶ACK標(biāo)志的數(shù)據(jù)包二蓝,代表“握手”結(jié)束。
若在握手過(guò)程中某個(gè)階段莫名中斷指厌,TCP協(xié)議會(huì)再次以相同的順序發(fā)送相同的數(shù)據(jù)包刊愚。
斷開(kāi)一個(gè)TCP連接則需要“四次握手”:
第一次揮手:主動(dòng)關(guān)閉方發(fā)送一個(gè)FIN,用來(lái)關(guān)閉主動(dòng)方到被動(dòng)關(guān)閉方的數(shù)據(jù)傳送踩验,也就是主動(dòng)關(guān)閉方告訴被動(dòng)關(guān)閉方:我已經(jīng)不 會(huì)再給你發(fā)數(shù)據(jù)了(當(dāng)然鸥诽,在fin包之前發(fā)送出去的數(shù)據(jù),如果沒(méi)有收到對(duì)應(yīng)的ack確認(rèn)報(bào)文箕憾,主動(dòng)關(guān)閉方依然會(huì)重發(fā)這些數(shù)據(jù))牡借,但是,此時(shí)主動(dòng)關(guān)閉方還可 以接受數(shù)據(jù)袭异。
第二次揮手:被動(dòng)關(guān)閉方收到FIN包后钠龙,發(fā)送一個(gè)ACK給對(duì)方,確認(rèn)序號(hào)為收到序號(hào)+1(與SYN相同,一個(gè)FIN占用一個(gè)序號(hào))碴里。
第三次揮手:被動(dòng)關(guān)閉方發(fā)送一個(gè)FIN沈矿,用來(lái)關(guān)閉被動(dòng)關(guān)閉方到主動(dòng)關(guān)閉方的數(shù)據(jù)傳送,也就是告訴主動(dòng)關(guān)閉方咬腋,我的數(shù)據(jù)也發(fā)送完了羹膳,不會(huì)再給你發(fā)數(shù)據(jù)了。
第四次揮手:主動(dòng)關(guān)閉方收到FIN后根竿,發(fā)送一個(gè)ACK給被動(dòng)關(guān)閉方陵像,確認(rèn)序號(hào)為收到序號(hào)+1,至此犀填,完成四次揮手蠢壹。
TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議九巡,也就是說(shuō)图贸,在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接冕广。一個(gè)TCP連接必須要經(jīng)過(guò)三次“對(duì)話”才能建立起來(lái)
UDP(User Data Protocol疏日,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議。它是面向非連接的協(xié)議撒汉,它不與對(duì)方建立連接沟优,而是直接就把數(shù)據(jù)包發(fā)送過(guò)去!
UDP適用于一次只傳送少量數(shù)據(jù)睬辐、對(duì)可靠性要求不高的應(yīng)用環(huán)境挠阁。
總體介紹網(wǎng)絡(luò)的的發(fā)送接收數(shù)據(jù),中間發(fā)生啦 什么http://blog.csdn.net/future_todo/article/details/53081142