網(wǎng)絡(luò)

1,真正負(fù)責(zé)設(shè)備間傳輸?shù)氖蔷W(wǎng)絡(luò)層和數(shù)據(jù)鏈路層饲宛;

2皆愉,分工會(huì)帶來很多好處,因?yàn)槊總€(gè)人都可以專注于自己擅長(zhǎng)的領(lǐng)域艇抠,更好地服務(wù)他人亥啦;

3,網(wǎng)絡(luò)分層的目的并不僅僅是完成任務(wù)练链,而是要用最好的方式來完成翔脱;

4,網(wǎng)絡(luò)包是有大小限制的媒鼓,其最大值稱為MTU届吁,即最大傳輸單元。大多數(shù)網(wǎng)絡(luò)的MTU是1500Byte绿鸣,但也有些網(wǎng)絡(luò)啟用了巨幀(Jumbo Frame)疚沐,能達(dá)到9000Byte。一個(gè)8000Byte的包進(jìn)入巨幀網(wǎng)絡(luò)是沒有問題的潮模,但進(jìn)入1500Byte的網(wǎng)絡(luò)就會(huì)被丟棄或者切分亮蛔。被丟棄意味著意味著傳輸徹底失敗,因?yàn)橹貍鞯陌€是會(huì)被丟棄擎厢。而被切分則意味著傳輸效率降低究流;

5辣吃,OSI七層模型和TCP/IP模型;

6芬探,TCP提供有序的傳輸神得,所以每個(gè)數(shù)據(jù)段都要標(biāo)上一個(gè)序列號(hào)(Seq)。當(dāng)接收方收到亂序的包時(shí)偷仿,有了這個(gè)序號(hào)就可以重新排序了哩簿;

7,一個(gè)Seq號(hào)的大小是根據(jù)上一個(gè)數(shù)據(jù)段的Seq+Len得來的酝静,注意Len不包括TCP頭部节榜;

8,由于TCP是雙向的别智,在一個(gè)連接中雙方都可以是發(fā)送方宗苍,所以各自維護(hù)了一個(gè)Seq號(hào);

9亿遂,Ack確認(rèn)號(hào)浓若,確認(rèn)已經(jīng)收到了哪些字節(jié)渺杉。理論上蛇数,接收方回復(fù)的Ack號(hào)恰好等于發(fā)送方的下一個(gè)Seq號(hào);

10是越,TCP的確認(rèn)是可以累積的耳舅;

11,當(dāng)包亂序時(shí)倚评,接收方只要根據(jù)Seq號(hào)從小到大重新排序就好浦徊,這樣保證了TCP的有序性。再比如有包丟失的時(shí)候天梧,接收方通過前一個(gè)Seq+Len的值與下一個(gè)Seq的差盔性,就能判斷缺了哪些包,這保證了TCP的可靠性呢岗;

12冕香,TCP頭常見的幾個(gè)標(biāo)志位:

SYN:攜帶這個(gè)標(biāo)志的包表示正在發(fā)起連接請(qǐng)求,因?yàn)檫B接是雙向的后豫,所以建立連接時(shí)悉尾,雙方都要發(fā)一個(gè)SYN;

FIN:攜帶這個(gè)標(biāo)志的包表示正在請(qǐng)求終止連接挫酿。因?yàn)檫B接是雙向的构眯,所以徹底關(guān)閉一個(gè)連接時(shí),雙方都要發(fā)一個(gè)SYN早龟;

RST:用于重置一個(gè)混亂的連接惫霸,或者拒絕一個(gè)無效的請(qǐng)求猫缭。

#如果你在一個(gè)Wireshark鐘看到一個(gè)RST包,務(wù)必睜大眼睛好好檢查它褪。

13饵骨,TCP三次握手過程:

C:我能跟你建立連接嗎?我的初始發(fā)送序號(hào)是X茫打。如果你答應(yīng)就Ack=X+1居触;

S:收到啦,Ack=X+1老赤。我也想跟你建立連接轮洋,我的初始發(fā)送序號(hào)是Y,你如果答應(yīng)就回復(fù)Ack=Y+1抬旺;

C:收到了弊予,Ack=Y+1。

14开财,TCP四次揮手過程:

C:我希望斷開連接(請(qǐng)注意FIN標(biāo)志)汉柒;

S:知道了,斷開吧责鳍;

S:我這邊的連接也想斷開(請(qǐng)注意FIN標(biāo)志)碾褂;

C:知道了,斷開吧历葛。

15正塌,快遞送貨的策略是非常淺顯的,幾乎人人可以理解恤溶。而TCP傳輸大塊數(shù)據(jù)的策略卻很少有人懂乓诽。事實(shí)上這兩者原理是相似的:

假如發(fā)一個(gè)包就停下來等待確認(rèn),這樣一個(gè)往返時(shí)間內(nèi)就只能傳輸一個(gè)包咒程,這樣的傳輸效率太低了鸠天;

最快的方式是一口氣把所有的包發(fā)送出去,然后一起確認(rèn)帐姻。但現(xiàn)實(shí)存在很多限制稠集,接收方的緩存(接受窗口)可能一下接收不了這么多數(shù)據(jù)、網(wǎng)絡(luò)帶寬也不夠大容易導(dǎo)致丟包卖宠。

所以巍杈,發(fā)送方要知道接收方的接收窗口和網(wǎng)絡(luò)這兩個(gè)限制因素中哪一個(gè)更為嚴(yán)格,然后在其限制范圍內(nèi)盡可能多發(fā)包扛伍。這個(gè)一口氣能發(fā)送的數(shù)據(jù)量就是傳說中的TCP發(fā)送窗口筷畦。

TCP層里面window size不是發(fā)送窗口,而是再向?qū)Ψ铰暶髯约旱慕邮沾翱凇鳖宾;瑒?dòng)窗口機(jī)制吼砂,就是接收方向發(fā)送方聲明自己的接收窗口大小,然后發(fā)送方修改自己的發(fā)送窗口鼎文,說的就是這兩個(gè)窗口的關(guān)系渔肩。

發(fā)送窗口是由接收窗口決定的!只要在包里用“win=”告知發(fā)送方即可拇惋;

假如接收方處理數(shù)據(jù)的速度跟不上接收數(shù)據(jù)的速度周偎,緩存就會(huì)被占滿,從而導(dǎo)致接收窗口為0撑帖。意味那段時(shí)間內(nèi)發(fā)不出數(shù)據(jù)蓉坎。

網(wǎng)絡(luò)之所以限制發(fā)送窗口,是因?yàn)樗豢跉馐艿教鄶?shù)據(jù)時(shí)就會(huì)擁塞胡嘿,擁塞的結(jié)果是丟包蛉艾,這是發(fā)送方最忌憚的。能導(dǎo)致網(wǎng)絡(luò)擁塞的數(shù)據(jù)量稱為擁塞點(diǎn)衷敌。發(fā)送發(fā)當(dāng)然希望把發(fā)送窗口控制在擁塞點(diǎn)下以避免擁塞勿侯。

由于UDP協(xié)議頭長(zhǎng)度還不到TCP頭的一半,所以在同樣大小的包里缴罗,UDP攜帶的凈數(shù)據(jù)比TCP包多一些助琐;

由于UDP沒有Seq號(hào)和Ack號(hào)等概念,無法維持一個(gè)連接瞒爬,所以省去了建立連接的負(fù)擔(dān)弓柱。這個(gè)優(yōu)勢(shì)在DNS查詢中體現(xiàn)的淋漓盡致沟堡;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末侧但,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子航罗,更是在濱河造成了極大的恐慌禀横,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粥血,死亡現(xiàn)場(chǎng)離奇詭異柏锄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)复亏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門趾娃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缔御,你說我怎么就攤上這事抬闷。” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵笤成,是天一觀的道長(zhǎng)评架。 經(jīng)常有香客問我,道長(zhǎng)炕泳,這世上最難降的妖魔是什么纵诞? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮培遵,結(jié)果婚禮上浙芙,老公的妹妹穿的比我還像新娘。我一直安慰自己籽腕,他們只是感情好茁裙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著节仿,像睡著了一般晤锥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上廊宪,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天矾瘾,我揣著相機(jī)與錄音,去河邊找鬼箭启。 笑死壕翩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的傅寡。 我是一名探鬼主播放妈,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼荐操!你這毒婦竟也來了芜抒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤托启,失蹤者是張志新(化名)和其女友劉穎宅倒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯耸,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拐迁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疗绣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片线召。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖多矮,靈堂內(nèi)的尸體忽然破棺而出缓淹,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布割卖,位于F島的核電站前酿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鹏溯。R本人自食惡果不足惜罢维,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丙挽。 院中可真熱鬧肺孵,春花似錦、人聲如沸颜阐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凳怨。三九已至瑰艘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肤舞,已是汗流浹背紫新。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留李剖,地道東北人芒率。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像篙顺,于是被迫代替她去往敵國(guó)和親偶芍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容