網(wǎng)絡(luò)相關(guān)知識

網(wǎng)絡(luò)五層模型
應(yīng)用層:通過應(yīng)用進(jìn)程間的交互來完成特定網(wǎng)絡(luò)應(yīng)用遍蟋,指的是遵循 http撰糠,ftp等協(xié)議運(yùn)行的應(yīng)用進(jìn)程

傳輸層:兩臺主機(jī)中進(jìn)程之間的通信提供通用的數(shù)據(jù)傳輸服務(wù),指的是將應(yīng)用層的數(shù)據(jù)通過tcp或者udp協(xié)議進(jìn)行傳輸,tcp傳輸過程就是遵循socket接口(套字節(jié))

網(wǎng)絡(luò)層:網(wǎng)絡(luò)層負(fù)責(zé)為分組交換網(wǎng)上的不同主機(jī)提供通信服務(wù)具练,指的是將傳輸層的數(shù)據(jù)進(jìn)行分組打包,通過IP協(xié)議甜无,選擇適合的路由進(jìn)行傳遞

數(shù)據(jù)鏈路層:指的是網(wǎng)絡(luò)層傳輸數(shù)據(jù)的過程中的步驟扛点,因?yàn)閭鬏敂?shù)據(jù)是在一段一段鏈路上傳送的哥遮,所以這里也遵循鏈路層協(xié)議來保證傳輸信息的可靠性

物理層:通過路由選擇算法,為報(bào)文或分組通過通信子網(wǎng)選擇最適當(dāng)?shù)穆窂搅昃俊T搶涌刂茢?shù)據(jù)鏈路層與傳輸層之間的信息轉(zhuǎn)發(fā)眠饮,建立、維持和終止網(wǎng)絡(luò)的連接铜邮。具體地說仪召,數(shù)據(jù)鏈路層的數(shù)據(jù)在這一層被轉(zhuǎn)換為數(shù)據(jù)包,然后通過路徑選擇牲距、分段組合返咱、順序、進(jìn)/出路由等控制牍鞠,將信息從一個(gè)網(wǎng)絡(luò)設(shè)備傳送到另一個(gè)網(wǎng)絡(luò)設(shè)備

HTTP
http超文本傳輸協(xié)議 包含請求行(方法 路徑 協(xié)議)咖摹、請求頭(key-vaule)、請求主體(數(shù)據(jù))难述、響應(yīng)行(協(xié)議版本 狀態(tài)碼 狀態(tài)說明)萤晴、響應(yīng)頭、響應(yīng)主體
HTTP 協(xié)議:超文本傳輸協(xié)議胁后,對應(yīng)于應(yīng)用層店读,用于如何封裝數(shù)據(jù).
TCP/UDP 協(xié)議:傳輸控制協(xié)議,對應(yīng)于傳輸層攀芯,主要解決數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸屯断。
IP 協(xié)議:對應(yīng)于網(wǎng)絡(luò)層,同樣解決數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸侣诺。
傳輸數(shù)據(jù)的時(shí)候只使用 TCP/IP 協(xié)議(傳輸層)殖演,如果沒有應(yīng)用層來識別數(shù)據(jù)內(nèi)容,傳輸后的協(xié)議都是無用的年鸳。
應(yīng)用層協(xié)議很多 FTP,HTTP,TELNET等趴久,可以自己定義應(yīng)用層協(xié)議。
web 使用 HTTP 作傳輸層協(xié)議搔确,以封裝 HTTP 文本信息彼棍,然后使用 TCP/IP 做傳輸層協(xié)議,將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上
1膳算、http keep-alive
在一次tcp連接中可以連續(xù)發(fā)送多次數(shù)據(jù)座硕,即可以保持一段時(shí)間的tcp連接,在這個(gè)保持的通道上有多個(gè)request畦幢、多個(gè)response坎吻。而不用每發(fā)一次數(shù)據(jù)就要重新進(jìn)行三次握手連接,發(fā)完一次數(shù)據(jù)就要立即進(jìn)行四次揮手釋放連接宇葱。 這樣可以提高性能和吞吐率瘦真。

2刊头、tcp keep-alive
為了檢測tcp的連接狀況。經(jīng)過設(shè)定的時(shí)間之后诸尽,服務(wù)器會發(fā)出檢測包去確認(rèn)tcp連接是否還在原杂。如果出現(xiàn)了問題就關(guān)閉連接。

http和websocket
http協(xié)議決定了瀏覽器端總是主動發(fā)起方您机,http的服務(wù)端總是被動的接受穿肄、響應(yīng)請求。http提供的長連接服務(wù)器可以不接受际看。而websocket協(xié)議咸产,在連接之后,客戶端仲闽、服務(wù)端是完全平等的脑溢。websocket是真正的長連接。

TCP三次握手
標(biāo)記位標(biāo)記狀態(tài) 序號用來標(biāo)記順序 確認(rèn)好用來確認(rèn)
第一次握手客戶端向服務(wù)端發(fā)送報(bào)文包含標(biāo)記位赖欣、序號(請求建立新連接)
第二次握手服務(wù)端接收到客戶端的TCP報(bào)文后屑彻,向客戶端發(fā)送報(bào)文包含序號、確認(rèn)號顶吮、標(biāo)記位(表示同意創(chuàng)建新連接)
第三次握手客戶端接收了來自服務(wù)端的TCP報(bào)文社牲,向服務(wù)端發(fā)送報(bào)文包含序號標(biāo)記位確認(rèn)號(確認(rèn)收到服務(wù)器端同意連接的信號)
至此完成三次握手

四次揮手
第一次客戶端想釋放連接,向服務(wù)端發(fā)送了一段TCP報(bào)文悴了,其中包含標(biāo)記位搏恤,序號,隨后客戶端停止了向服務(wù)端發(fā)送數(shù)據(jù)湃交,等待服務(wù)端回應(yīng)(表示請求釋放連接)
第二次服務(wù)端接收了來自服務(wù)端的TCP報(bào)文挑社,確認(rèn)了客戶段想釋放連接,并返回了一段報(bào)文包含標(biāo)記位巡揍、序號、確認(rèn)號(表示收到)隨后服務(wù)端開始準(zhǔn)備釋放到服務(wù)端的連接
第三次服務(wù)端發(fā)送萬確認(rèn)報(bào)文之后菌瘪,做好了釋放服務(wù)端到客戶端的連接腮敌,再一次向客戶端發(fā)送了報(bào)文包含標(biāo)記位、序號俏扩、確認(rèn)號(表示已經(jīng)準(zhǔn)備好了釋放)
第四次客戶端收到服務(wù)端發(fā)送的報(bào)文糜工,確認(rèn)了服務(wù)端已經(jīng)做好釋放的準(zhǔn)備,并向服務(wù)端發(fā)送了一段報(bào)文包含標(biāo)記位录淡、序號捌木、確認(rèn)號,隨后客戶端開始等待2msl后結(jié)束了連接
至此完成四次揮手

注:后“兩次揮手”既讓客戶端知道了服務(wù)器端準(zhǔn)備好釋放連接了嫉戚,也讓服務(wù)器端知道了客戶端了解了自己準(zhǔn)備好釋放連接了刨裆。于是澈圈,可以確認(rèn)關(guān)閉服務(wù)器端到客戶端方向上的連接了,由此完成“四次揮手”
與“三次揮手”一樣帆啃,在客戶端與服務(wù)器端傳輸?shù)腡CP報(bào)文中瞬女,雙方的確認(rèn)號Ack和序號Seq的值,都是在彼此Ack和Seq值的基礎(chǔ)上進(jìn)行計(jì)算的努潘,這樣做保證了TCP報(bào)文傳輸?shù)倪B貫性诽偷,一旦出現(xiàn)某一方發(fā)出的TCP報(bào)文丟失,便無法繼續(xù)"揮手"疯坤,以此確保了"四次揮手"的順利完成报慕。

問:為什么客戶端要等待一段時(shí)間?
當(dāng)客戶端發(fā)出報(bào)文時(shí)候不確定服務(wù)端有沒有收到压怠,所以會設(shè)置2msl時(shí)間來計(jì)時(shí)眠冈,正好服務(wù)端和客戶端發(fā)送確認(rèn)報(bào)文的最大時(shí)長是2msl,如果在這個(gè)1msl里沒有收到和客戶端的報(bào)文就回再次詢問刑峡,否則認(rèn)為已確認(rèn)則斷開連接

問:為什么握手是三次揮手是四次洋闽?
答:因?yàn)槲帐质钦埱蠼⑦B接,沒存在數(shù)據(jù)傳輸?shù)臓顟B(tài)準(zhǔn)備突梦,而揮手是斷開連接屬于數(shù)據(jù)傳輸中則需要各自確認(rèn)數(shù)據(jù)傳輸狀態(tài)诫舅,已達(dá)到傳送數(shù)據(jù)安全和完整

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宫患,隨后出現(xiàn)的幾起案子刊懈,更是在濱河造成了極大的恐慌,老刑警劉巖娃闲,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虚汛,死亡現(xiàn)場離奇詭異,居然都是意外死亡皇帮,警方通過查閱死者的電腦和手機(jī)卷哩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來属拾,“玉大人将谊,你說我怎么就攤上這事〗グ祝” “怎么了尊浓?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纯衍。 經(jīng)常有香客問我栋齿,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任瓦堵,我火速辦了婚禮基协,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谷丸。我一直安慰自己堡掏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布刨疼。 她就那樣靜靜地躺著泉唁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揩慕。 梳的紋絲不亂的頭發(fā)上亭畜,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音迎卤,去河邊找鬼拴鸵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蜗搔,可吹牛的內(nèi)容都是我干的劲藐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼樟凄,長吁一口氣:“原來是場噩夢啊……” “哼聘芜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缝龄,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤汰现,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后叔壤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞎饲,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年炼绘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嗅战。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俺亮,死狀恐怖仗哨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铅辞,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布萨醒,位于F島的核電站斟珊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜囤踩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一旨椒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧堵漱,春花似錦综慎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至愉镰,卻和暖如春米罚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丈探。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工录择, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人碗降。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓隘竭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親讼渊。 傳聞我的和親對象是個(gè)殘疾皇子动看,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

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