運輸層

1. UDP 與 TCP
UDP:無連接、盡最大可能交付吏祸、無擁塞控制对蒲、面向報文。
TCP:連接、提供可靠交付齐蔽、有擁塞控制两疚、流量控制、面向字節(jié)流含滴。
面向報文指的是對應用層傳下來的報文原封不動诱渤,只是添加 UDP 首部。
面向字節(jié)流指的是對應用層傳下來報文組織成大小不等的數(shù)據(jù)塊谈况。

2. UDP 首部
偽首部是為了計算檢驗和而臨時添加的

UDP 首部

3. TCP 首部

TCP 首部

  • 第二個四字節(jié):
    序號:報文段首字節(jié)編號勺美。指的是自身報文段。

  • 第三個四字節(jié):
    確認號:期望收到下一個報文段序號碑韵。即另一方下次發(fā)送的序號赡茸。

  • 第四個四字節(jié):
    數(shù)據(jù)偏移:即首部長度。
    確認 ACK :為 1 時祝闻,「確認號」才有效占卧。連接建立后,必定為 1 联喘。
    同步 SYN :建立連接時用來同步「序號」华蜒。
    終止 FIN :為 1 時,表示釋放連接豁遭。
    窗口:讓發(fā)送方合理設置其發(fā)送窗口叭喜。因為接收方數(shù)據(jù)緩存空間是有限。

4. TCP 三次握手

三次握手

  • 一握:客戶端請求連接報文段:SYN = 1 蓖谢。序號 0捂蕴,確認號 0 。
  • 二握:服務器連接確認報文段:ACK = 1闪幽,SYN = 1 啥辨。序號 0,確認號 1 盯腌。
  • 三握:客戶端確認收到報文段:ACK = 1 委可。序號 1,確認號 1 腊嗡。

發(fā)送方:第一次序號 x着倾,第二次序號 x + 1。
接收方:第一次序號 y燕少。連接后首次序號 y + 1卡者。

三次握手是為了讓客戶端和瀏覽器知道自己和對方的收包和發(fā)包能力都沒問題。

  • 一握:服務器知道自己收包能力 OK客们,客戶端發(fā)包能力 OK崇决。
  • 二握:客戶端知道服務器收包和發(fā)包能力都 OK材诽,自己發(fā)包和收包能力都 OK。
  • 三握:服務器知道自己發(fā)包和收包能力都 OK恒傻,客戶端收包和發(fā)包能力都 OK脸侥。

5. TCP 四次揮手

四次揮手

發(fā)送方:第一次序號 u,第二次序號 u + 1盈厘。
接送方:第一次序號 v睁枕,半關閉狀態(tài),第二次序號 w沸手。
連接釋放報文段:FIN = 1 外遇。
(1)、客戶端發(fā)送連接釋放報文段契吉。(一揮)跳仿。
(2)、服務器確認收到捐晶。此時 TCP 處于半關閉狀態(tài)菲语。(二揮)。
(3)惑灵、服務器發(fā)送連接釋放報文段谨究。(三揮)。
(4)泣棋、客戶端確認收到。(四揮)
TIME_WAIT:
客戶端收到服務器的 FIN 報文后進入畔塔。而不是直接進入 CLOSED 狀態(tài)潭辈。
(1)、確保最后的確認報文能到達澈吨。
(2)把敢、為了防止已失效的連接請求報文段出現(xiàn)在本次連接之外。

6. TCP 滑動窗口

滑動窗口

窗口是緩存的一部分谅辣,用來暫時存放字節(jié)流修赞。
接收方通過 TCP 報文段中的窗口字段告訴發(fā)送方自己的窗口大小,發(fā)送方根據(jù)這個值和其它信息設置自己的窗口大小桑阶。
接收窗口只會對窗口內最后一個按序到達的字節(jié)進行確認柏副。

發(fā)送窗口:左部字節(jié)已發(fā)送且確認,則右滑蚣录,直到左部第一個字節(jié)不是已發(fā)送且確認的狀態(tài)割择。
接收窗口:左部字節(jié)已發(fā)送且確認并交付主機,就向右滑萎河。

7. TCP 可靠傳輸
TCP 使用超時重傳來實現(xiàn)可靠傳輸:如果一個已經發(fā)送的報文段在超時時間內沒有收到確認荔泳,那么就重傳這個報文段蕉饼。

8. TCP 流量控制
控制發(fā)送方發(fā)送速率,保證接收方來得及接收玛歌。
原理是:接收方發(fā)送的確認報文中的窗口字段可以用來控制發(fā)送方窗口大小昧港。

9. TCP 擁塞控制
為了降低整個網絡的擁塞程度。
在沒有擁塞控制情況下支子,如果發(fā)生擁塞创肥,則因為超時重傳導致更嚴重的擁塞。
所以译荞,一旦發(fā)生擁塞瓤的,則必須控制發(fā)送方發(fā)送速率。與流量控制手段一樣吞歼,但目的不同圈膏。

擁塞控制

TCP 通過四種算法來進行擁塞控制:慢開始、擁塞避免篙骡、快重傳稽坤、快恢復。
發(fā)送方需要維護有一個叫做擁塞窗口(cwnd)的狀態(tài)變量糯俗。
為了便于討論尿褪,做如下假設:
(1)、接收方有足夠大的接收緩存得湘,因此不會發(fā)生流量控制杖玲;
(2)、雖然 TCP 的窗口基于字節(jié)淘正,但是這里設窗口的大小單位為報文段摆马。
慢開始
令 cwnd=1,發(fā)送方只能發(fā)送 1 個報文段鸿吆,然后加倍囤采。
擁塞避免
先設一個慢開始閾值 ssthresh,當 cwnd >= ssthresh惩淳,進入擁塞避免蕉毯。此狀態(tài)每次 cwnd 只加 1。
如果出現(xiàn)了超時思犁,則令 ssthresh = cwnd / 2代虾,然后重新執(zhí)行慢開始。
快重傳與快恢復
快重傳

接收方每收到一個失序的報文段激蹲,則立即發(fā)送重復確認褐着。
圖中,M3 丟失托呕,M4含蓉,M5频敛,M6 都是失序報文段,因此接收方共發(fā)送 4 次對 M2 的確認馅扣,后三次是重復確認斟赚。
在這種情況下,只是丟失個別報文段差油,而不是網絡擁塞拗军,因此執(zhí)行快恢復,令 ssthresh = cwnd / 2 蓄喇,cwnd = ssthresh发侵,此時直接進入擁塞避免。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末妆偏,一起剝皮案震驚了整個濱河市刃鳄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钱骂,老刑警劉巖叔锐,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異见秽,居然都是意外死亡愉烙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門解取,熙熙樓的掌柜王于貴愁眉苦臉地迎上來步责,“玉大人,你說我怎么就攤上這事禀苦÷希” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵伦忠,是天一觀的道長。 經常有香客問我稿辙,道長昆码,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任邻储,我火速辦了婚禮赋咽,結果婚禮上,老公的妹妹穿的比我還像新娘吨娜。我一直安慰自己脓匿,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布宦赠。 她就那樣靜靜地躺著陪毡,像睡著了一般米母。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毡琉,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天铁瞒,我揣著相機與錄音,去河邊找鬼桅滋。 笑死慧耍,一個胖子當著我的面吹牛,可吹牛的內容都是我干的丐谋。 我是一名探鬼主播芍碧,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼号俐!你這毒婦竟也來了泌豆?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤萧落,失蹤者是張志新(化名)和其女友劉穎践美,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體找岖,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡陨倡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了许布。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兴革。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蜜唾,靈堂內的尸體忽然破棺而出杂曲,到底是詐尸還是另有隱情,我是刑警寧澤袁余,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布擎勘,位于F島的核電站,受9級特大地震影響颖榜,放射性物質發(fā)生泄漏棚饵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一掩完、第九天 我趴在偏房一處隱蔽的房頂上張望噪漾。 院中可真熱鬧,春花似錦且蓬、人聲如沸欣硼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诈胜。三九已至豹障,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耘斩,已是汗流浹背沼填。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留括授,地道東北人坞笙。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像荚虚,于是被迫代替她去往敵國和親薛夜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容

  • 運輸層協(xié)議概述 從通信和信息處理的角度看版述,運輸層向它上面的應用層提供通信服務梯澜,它屬于面向通信部分的最高層,同時也是...
    srtianxia閱讀 2,408評論 0 2
  • 六渴析、TCP可靠傳輸?shù)膶崿F(xiàn) 首先介紹以字節(jié)為單位的滑動窗口晚伙。為了講述可靠傳輸原理的方便,假定數(shù)據(jù)傳輸只在一個方向進行...
    dmmy大印閱讀 1,696評論 0 1
  • 本書結構是自頂向下的俭茧,所以請按下列順序閱讀: 1.計算機網絡自頂向下--應用層2.計算機網絡自頂向下--運輸層3....
    牛富貴兒閱讀 2,768評論 0 3
  • 注:本文的圖片均來源于謝希仁《計算機網絡》第六版的課件PPT 1.重點內容 (1)運輸層為相互通信的應用進程提供邏...
    zuyuxia閱讀 1,101評論 0 1
  • 概述 本文就PCH公司的Highway1項目進行分析串远,闡述一下個人看法 公司介紹 PCH是一家私營公司别洪,主要為世界...
    曾樑閱讀 598評論 0 2