面向連接和無連接

主要的區(qū)別有兩條佛呻。

其一:面向連接分為三個階段裳朋,第一是建立連接,在此階段吓著,發(fā)出一個建立連接的請求鲤嫡。只有在連接成功建立之后,才能開始數(shù)據(jù)傳輸绑莺,這是第二階段暖眼。接著,當(dāng)數(shù)據(jù)傳輸完畢纺裁,必須釋放連接诫肠。而面向無連接沒有這么多階段,它直接進(jìn)行數(shù)據(jù)傳輸欺缘。

其二:面向連接的通信具有數(shù)據(jù)的保序性栋豫, 而面向無連接的通信不能保證接收數(shù)據(jù)的順序與發(fā)送數(shù)據(jù)的順序一致。

…………………………………………

網(wǎng)絡(luò)編程中最基本的概念就是面向連接(connection-oriented)和無連接(connectionless)協(xié)議谚殊。盡管本質(zhì)上來說丧鸯,兩者之間的區(qū)別并不難理解,但對那些剛剛開始進(jìn)行網(wǎng)絡(luò)編程的人來說嫩絮,卻是個很容易混淆的問題丛肢。這個問題與上下文有些關(guān)聯(lián):很顯然围肥,如果兩臺計(jì)算機(jī)要進(jìn)行通信,就必須以某種形式“連接”起來蜂怎,那“無連接通信”又是什么意思呢穆刻?

答案是:面向連接和無連接指的都是協(xié)議。也就是說杠步,這些術(shù)語指的并不是物理介質(zhì)本身蛹批,而是用來說明如何在物理介質(zhì)上傳輸數(shù)據(jù)的。面向連接和無連接協(xié)議可以篮愉,而且通常也確實(shí)會共享同一條物理介質(zhì)。

如果兩者的區(qū)別與承載數(shù)據(jù)的物理介質(zhì)無關(guān)差导,又和什么有關(guān)呢试躏?它們的本質(zhì)區(qū)別在于,對無連接協(xié)議來說设褐,每個分組的處理都獨(dú)立于所有其他分組颠蕴,而對面向連接的協(xié)議來說,協(xié)議實(shí)現(xiàn)則維護(hù)了與后繼分組有關(guān)的狀態(tài)信息助析。

一犀被、無連接協(xié)議和面向連接協(xié)議的概念

無連接協(xié)議中的分組被稱為數(shù)據(jù)報(datagram),每個分組都是獨(dú)立尋址外冀,并由應(yīng)用程序發(fā)送的寡键。從協(xié)議的角度來看,每個數(shù)據(jù)報都是一個獨(dú)立的實(shí)體雪隧,與在兩個相同的對等實(shí)體之間傳送的任何其他數(shù)據(jù)報都沒有關(guān)系西轩,這就意味著協(xié)議很可能是不可靠的。也就是說脑沿,網(wǎng)絡(luò)會盡最大努力傳送每一個數(shù)據(jù)報藕畔,但并不保證數(shù)據(jù)報不丟失、不延遲或者不錯序傳輸庄拇。

另一方面注服,面向連接的協(xié)議則維護(hù)了分組之間的狀態(tài),使用這種協(xié)議的應(yīng)用程序通常都會進(jìn)行長期的對話措近。記住這些狀態(tài)溶弟,協(xié)議就可以提供可靠的傳輸。比如瞭郑,發(fā)送端可以記住哪些數(shù)據(jù)已經(jīng)發(fā)送出去了但還未被確認(rèn)可很,以及數(shù)據(jù)是什么時候發(fā)送的。如果在某段時間間隔內(nèi)沒有收到確認(rèn)凰浮,發(fā)送端可以重傳數(shù)據(jù)我抠。接收端可以記住已經(jīng)收到了哪些數(shù)據(jù)苇本,并將重復(fù)的數(shù)據(jù)丟棄。如果分組不是按序到達(dá)的菜拓,接收端可以將其保存下來瓣窄,直到邏輯上先于它的分組到達(dá)為止。

典型的面向連接協(xié)議有三個階段纳鼎。第一階段俺夕,在對等實(shí)體間建立連接。接下來是數(shù)據(jù)傳輸階段贱鄙,在這個階段中劝贸,數(shù)據(jù)在對等實(shí)體間傳輸。最后逗宁,當(dāng)對等實(shí)體完成數(shù)據(jù)傳輸時映九,連接被拆除。

一種標(biāo)準(zhǔn)的類比是:使用無連接協(xié)議就像寄信瞎颗,而使用面向連接的協(xié)議就像打電話件甥。

二、UDP和TCP協(xié)議

既然無連接協(xié)議有這么多的缺點(diǎn)哼拔,大家可能會奇怪引有,為什么還要使用這種協(xié)議呢?我們會看到倦逐,在很多情況下譬正,使用無連接協(xié)議構(gòu)建應(yīng)用程序都是有意義的。比如檬姥,使用無連接協(xié)議可以很方便地支持一對多和多對一通信导帝,而面向連接協(xié)議通常都需要多個獨(dú)立的連接才能做到。但更重要的是穿铆,無連接協(xié)議是構(gòu)建面向連接協(xié)議的基礎(chǔ)您单。TCP/IP 是基于一個4層的協(xié)議棧,如下圖所示:


如圖所示荞雏,TCP 和 UDP 都是構(gòu)建在 IP 之上的虐秦。因此,IP 是構(gòu)建整個 TCP/IP 協(xié)議族的基礎(chǔ)凤优。但 IP 提供的是一種盡力而為的悦陋、不可靠的無連接服務(wù)。它接收來自其上層的分組筑辨,將它們封裝在一個 IP 分組中俺驶,根據(jù)路由為分組選擇正確的硬件接口,從這個接口將分組發(fā)送出去棍辕。一旦將分組發(fā)送出去了暮现,IP 就不再關(guān)心這個分組了还绘。和所有無連接協(xié)議一樣,它將分組發(fā)送出去之后就不再記得這個分組了栖袋。這種簡單性也是 IP 的主要優(yōu)點(diǎn)拍顷。

1、TCP—面向連接服務(wù)

它為 TCP 段中的數(shù)據(jù)提供了校驗(yàn)和塘幅。這樣有助于確保抵達(dá)目的地的數(shù)據(jù)在傳輸過程中不會被網(wǎng)絡(luò)損壞昔案;

它為每字節(jié)分配了一個序列號,這樣电媳,如果數(shù)據(jù)抵達(dá)目的地時真的錯序了踏揣,接收端也能夠按照恰當(dāng)?shù)捻樞驅(qū)⑵渲匮b起來。當(dāng)然匾乓,TCP 并沒有為每字節(jié)都附加一個序列號捞稿。實(shí)際上,每個 TCP 段的首部都包含了段中第一字節(jié)的序列號钝尸。這樣,就隱含地知道了段中其他字節(jié)的序列號搂根。

TCP 提供了一種確認(rèn)-重傳機(jī)制珍促,以確保最終每個段都會被傳送出去。

2剩愧、UDP—無連接服務(wù)

它提供了一個可選的校驗(yàn)和來檢測數(shù)據(jù)的損壞情況猪叙。盡管 IP 也有校驗(yàn)和,但它只對 IP 分組首部進(jìn)行計(jì)算仁卷,所以穴翩,TCP 和 UDP 也都提供了校驗(yàn)和來保護(hù)它們自己的首部和數(shù)據(jù);

UDP 向 IP添加的第二項(xiàng)特性就是端口的概念锦积。

回到與電話/寄信的類比中來芒帕,我們可以把 TCP 連接中的網(wǎng)絡(luò)地址當(dāng)作一個辦公室總機(jī)的電話號碼,把端口號當(dāng)作辦公室中某臺正被呼叫的特定電話的分機(jī)號丰介。同理背蟆,可以將UDP網(wǎng)絡(luò)地址當(dāng)作一座公寓樓的地址,并把端口號當(dāng)作公寓樓大廳中的個人郵箱哮幢。

轉(zhuǎn)自:https://blog.csdn.net/tennysonsky/article/details/44455565

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末带膀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子橙垢,更是在濱河造成了極大的恐慌垛叨,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柜某,死亡現(xiàn)場離奇詭異嗽元,居然都是意外死亡敛纲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門还棱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來载慈,“玉大人,你說我怎么就攤上這事珍手“煺。” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵琳要,是天一觀的道長寡具。 經(jīng)常有香客問我,道長稚补,這世上最難降的妖魔是什么童叠? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮课幕,結(jié)果婚禮上厦坛,老公的妹妹穿的比我還像新娘。我一直安慰自己乍惊,他們只是感情好杜秸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著润绎,像睡著了一般撬碟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莉撇,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天呢蛤,我揣著相機(jī)與錄音,去河邊找鬼棍郎。 笑死其障,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的涂佃。 我是一名探鬼主播静秆,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巡李!你這毒婦竟也來了抚笔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤侨拦,失蹤者是張志新(化名)和其女友劉穎殊橙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膨蛮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年叠纹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敞葛。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡誉察,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惹谐,到底是詐尸還是另有隱情持偏,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布氨肌,位于F島的核電站鸿秆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怎囚。R本人自食惡果不足惜卿叽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恳守。 院中可真熱鬧考婴,春花似錦、人聲如沸催烘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颗圣。三九已至喳钟,卻和暖如春屁使,著一層夾襖步出監(jiān)牢的瞬間在岂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工蛮寂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蔽午,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓酬蹋,卻偏偏與公主長得像及老,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子范抓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351