昨天實(shí)在是忙的昏天黑地,完全沒時(shí)間發(fā)文
昨晚沒睡好,但是今早卻強(qiáng)行5點(diǎn)起床,不禁讓我想到最近的一個(gè)梗
科比退役后,一位苦逼的程序員問科比:你為何如此成功?
Kobe:你見過凌晨4點(diǎn)點(diǎn)紐約嗎?
"??":沒有,我那時(shí)候一般都沒下班,你問這個(gè)干嗎?
Kobe:.......沒有,隨便問問。。。。。

1.jpg
生活的殘酷,阻礙不了我們對(duì)知(zi)識(shí)(shi)的渴望
-亞歷山大.尼古拉斯.麥克勞林.胡索
今天繼IP后了解一下相關(guān)的協(xié)議
OSI (Open System Interconnection) 開放式系統(tǒng)互聯(lián)(模型)
- 根據(jù)ISO(國際標(biāo)準(zhǔn)化組織)的標(biāo)準(zhǔn),OSI把網(wǎng)絡(luò)通信的工作分為7層
可以理解為某公司的7個(gè)部門 - 看官有個(gè)大致印象就好,說實(shí)在我也沒搞懂
| 具體7層 | 數(shù)據(jù)格式 | 功能與連接方式 | 典型設(shè)備 |
|---|---|---|---|
| 應(yīng)用層 Application | 數(shù)據(jù)Data | 網(wǎng)絡(luò)服務(wù)與應(yīng)用間的接口 | 終端設(shè)備(PC、手機(jī)、平板等) |
| 表示層 Presentation | 數(shù)據(jù)Data | 數(shù)據(jù)表示、安全、壓縮 | 終端設(shè)備(PC、手機(jī)、平板等) |
| 會(huì)話層 Session | 數(shù)據(jù)Data | 會(huì)話層連接到傳輸層的映射;會(huì)話連接的流量控制;數(shù)據(jù)傳輸;會(huì)話連接恢復(fù)與釋放;會(huì)話連接管理、差錯(cuò)控制 | 終端設(shè)備(PC、手機(jī)、平板等) |
| 傳輸層 Transport | 數(shù)據(jù)段Segment | 用一個(gè)尋址機(jī)制來標(biāo)識(shí)一個(gè)特定的應(yīng)用程序(端口號(hào)) | 終端設(shè)備(PC、手機(jī)、平板等) |
| 網(wǎng)絡(luò)層 Network | 數(shù)據(jù)包Packet | 基于網(wǎng)絡(luò)層地址(IP地址)進(jìn)行不同網(wǎng)絡(luò)系統(tǒng)間的路徑選擇 | 路由器 |
| 數(shù)據(jù)鏈路層 Data Link | 數(shù)據(jù)幀F(xiàn)rame | 在物理層上建立、撤銷、標(biāo)識(shí)邏輯鏈接和鏈路復(fù)用 以及差錯(cuò)校驗(yàn)等功能。通過使用接收系統(tǒng)的硬件地址或物理地址來尋址 | 網(wǎng)橋、交換機(jī)、中繼器 |
| 物理層 Physical | bit(位)流 | 建立、維護(hù)和取消物理連接 | 光纖、同軸電纜、雙絞線、網(wǎng)卡 |
TCP/UDP 同屬一上面的傳輸層
- 每個(gè)部門都有每個(gè)部門的工作指南或要求,這倆協(xié)議就是讓傳輸層去實(shí)現(xiàn)它的功能
- TCP (Transmission Control Protocol)傳輸控制協(xié)議
- TCP層是位于IP層之上,應(yīng)用層之下的中間層。不同主機(jī)的應(yīng)用層之間經(jīng)常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機(jī)制,而是提供不可靠的包交換
應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)?、?位字節(jié)表示的數(shù)據(jù)流,然后TCP把數(shù)據(jù)流分區(qū)成適當(dāng)長度的報(bào)文段
之后TCP把結(jié)果包傳給IP層,由它來通過網(wǎng)絡(luò)將包傳送給接收端實(shí)體[1] 的TCP層
TCP為了保證不發(fā)生丟包,就給每個(gè)包一個(gè)序號(hào),同時(shí)序號(hào)也保證了傳送到接收端實(shí)體的包的按序接收。然后接收端實(shí)體對(duì)已成功收到的包發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK)(acknowledge);如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對(duì)應(yīng)的數(shù)據(jù)包就被假設(shè)為已丟失將會(huì)被進(jìn)行重傳
TCP是因特網(wǎng)中的傳輸層協(xié)議,使用三次握手協(xié)議建立連接:如圖

QQ20160426-0.png
*終止連接還得多一個(gè)步驟,就不列出了。
- UDP (User Datagram Protocol)用戶數(shù)據(jù)報(bào)協(xié)議
- 其實(shí)功能和TCP差不多,只不過它不需要像TCP那樣需要建立連接
- UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)包的形式。一個(gè)典型的數(shù)據(jù)包就是一個(gè)二進(jìn)制數(shù)據(jù)的傳輸單位。每一個(gè)數(shù)據(jù)包的前8個(gè)字節(jié)用來包含報(bào)頭信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)
- UDP有不提供數(shù)據(jù)包分組、組裝和不能對(duì)數(shù)據(jù)包進(jìn)行排序的缺點(diǎn)
- 也就是說就像是*某某某政的平郵,把東西寄出去不管對(duì)方有木有收到,收到的東西玩不完整
- 在網(wǎng)絡(luò)質(zhì)量令人十分不滿意的環(huán)境下,UDP協(xié)議數(shù)據(jù)包丟失會(huì)比較嚴(yán)重。但是由于UDP的特性:它不屬于連接型協(xié)議,因而具有資源消耗小,處理速度快的優(yōu)點(diǎn)
- 所以通常音頻、視頻和普通數(shù)據(jù)在傳送時(shí)使用UDP較多,因?yàn)樗鼈兗词古紶杹G失一兩個(gè)數(shù)據(jù)包,也不會(huì)對(duì)接收結(jié)果產(chǎn)生太大影響。比如我們聊天用的ICQ和QQ就是使用的UDP協(xié)議