網(wǎng)絡(luò)問題總結(jié)

簡介 TCP 和 UDP 區(qū)別,他們位于哪一層?

TCP --- 傳輸控制協(xié)議,提供的是面向連接勒叠、可靠的字節(jié)流服務(wù)。當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前膏孟,必須先在雙方之間建立一個TCP連接眯分,之后才能傳輸數(shù)據(jù)。TCP提供超時重發(fā)柒桑,丟棄重復(fù)數(shù)據(jù)弊决,檢驗(yàn)數(shù)據(jù),流量控制等功能魁淳,保證數(shù)據(jù)能從一端傳到另一端丢氢。 理想狀態(tài)下,TCP連接一旦建立先改,在通信雙方中的任何一方主動關(guān)閉連接前疚察,TCP 連接都將被一直保持下去。斷開連接時服務(wù)器和客戶端均可以主動發(fā)起斷開TCP連接的請求

UDP --- 用戶數(shù)據(jù)報協(xié)議仇奶,是一個無連接的簡單的面向數(shù)據(jù)報的運(yùn)輸層協(xié)議貌嫡。UDP不提供可靠性比驻,它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報發(fā)送出去,但是并不能保證它們能到達(dá)目的地岛抄。由于UDP在傳輸數(shù)據(jù)報前不用在客戶和服務(wù)器之間建立一個連接别惦,且沒有超時重發(fā)等機(jī)制,故而傳輸速度很快

位于 OSI 七層模型的第四層(由下往上)傳輸層

路由器和交換機(jī)的工作原理大概是什么夫椭,他們分別用到什么協(xié)議掸掸,位于哪一層?

交換機(jī)主要基于網(wǎng)橋技術(shù)蹭秋,用于組建局域網(wǎng)扰付,局域網(wǎng)中的終端與終端可以進(jìn)行數(shù)據(jù)交換;路由器主要基于路由選擇技術(shù)仁讨,用于將數(shù)據(jù)路由到上層網(wǎng)路的正確路徑中羽莺。

交換機(jī)工作在數(shù)據(jù)鏈路層(7層網(wǎng)絡(luò)協(xié)議的第二層);路由器工作在網(wǎng)絡(luò)層(7層網(wǎng)絡(luò)協(xié)議的第三層)洞豁。

交換機(jī)識別的是MAC地址盐固;路由器識別的是IP地址。

描述TCP 協(xié)議三次握手丈挟,四次釋放的過程刁卜。

第一次握手:客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài)曙咽,等待服務(wù)器確認(rèn)长酗;

第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1)桐绒,同時自己也發(fā)送一個SYN包(syn=k)夺脾,即SYN+ACK包,此時服務(wù)器進(jìn)入SYN_RECV狀態(tài)茉继;

第三次握手:客戶端收到服務(wù)器的SYN+ACK包咧叭,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢烁竭,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài)菲茬,完成三次握手。

四次握手關(guān)閉連接:
(客戶端):我要關(guān)閉連接了派撕。
(服務(wù)端):你那邊的連接可以關(guān)閉了婉弹。
(服務(wù)端):我這邊也要關(guān)閉連接了。
(客戶端):你那邊的連接可以關(guān)閉了终吼。
由于連接是雙向的镀赌,所以雙方都要主動關(guān)閉自己這一側(cè)的連接。

TCP 協(xié)議是如何進(jìn)行流量控制际跪,擁塞控制的商佛?

1喉钢、通信開始時,發(fā)送方的擁塞窗口大小為 1良姆。每收到一個 ACK 確認(rèn)后肠虽,擁塞窗口翻倍。
2玛追、由于指數(shù)級增長非乘翱危快,很快地痊剖,就會出現(xiàn)確認(rèn)包超時韩玩。
3、此時設(shè)置一個“慢啟動閾值”邢笙,它的值是當(dāng)前擁塞窗口大小的一半啸如。
4侍匙、同時將擁塞窗口大小設(shè)置為 1氮惯,重新進(jìn)入慢啟動過程。
5想暗、由于現(xiàn)在“慢啟動閾值”已經(jīng)存在妇汗,當(dāng)擁塞窗口大小達(dá)到閾值時,不再翻倍说莫,而是線性增加杨箭。
6、隨著窗口大小不斷增加储狭,可能收到三次重復(fù)確認(rèn)應(yīng)答(發(fā)送方意識到接收方?jīng)]收到數(shù)據(jù)互婿,所以重發(fā)),進(jìn)入“快速重發(fā)”階段辽狈。
7慈参、這時候,TCP 將“慢啟動閾值”設(shè)置為當(dāng)前擁塞窗口大小的一半刮萌,再將擁塞窗口大小設(shè)置成閾值大型耘洹(也有說加 3)。
8着茸、擁塞窗口又會線性增加壮锻,直至下一次出現(xiàn)三次重復(fù)確認(rèn)應(yīng)答或超時。

為什么建立連接時是三次握手涮阔,兩次行不行猜绣?如果第三次握手失敗了怎么處理

根據(jù)一般的思路,我們可能會覺得只要兩次握手就可以了敬特,第三步確認(rèn)看似是多余的途事。那么 TCP 協(xié)議為什么還要費(fèi)力不討好的加上這一次握手呢验懊?

這是因?yàn)樵诰W(wǎng)絡(luò)請求中,我們應(yīng)該時刻記资洹:“網(wǎng)絡(luò)是不可靠的义图,數(shù)據(jù)包是可能丟失的”。假設(shè)沒有第三次確認(rèn)召烂,客戶端向服務(wù)端發(fā)送了 SYN碱工,請求建立連接。由于延遲奏夫,服務(wù)端沒有及時收到這個包怕篷。于是客戶端重新發(fā)送一個 SYN 包⌒镏纾回憶一下介紹 TCP 首部時提到的序列號廊谓,這兩個包的序列號顯然是相同的。

假設(shè)服務(wù)端接收到了第二個 SYN 包麻削,建立了通信蒸痹,一段時間后通信結(jié)束,連接被關(guān)閉呛哟。這時候最初被發(fā)送的 SYN 包剛剛抵達(dá)服務(wù)端叠荠,服務(wù)端又會發(fā)送一次 ACK 確認(rèn)。由于兩次握手就建立了連接扫责,此時的服務(wù)端就會建立一個新的連接榛鼎,然而客戶端覺得自己并沒有請求建立連接,所以就不會向服務(wù)端發(fā)送數(shù)據(jù)鳖孤。從而導(dǎo)致服務(wù)端建立了一個空的連接者娱,白白浪費(fèi)資源。

在三次握手的情況下苏揣,服務(wù)端直到收到客戶端的應(yīng)答后才會建立連接黄鳍。因此在上述情況下,客戶端會接受到一個相同的 ACK 包腿准,這時候它會拋棄這個數(shù)據(jù)包际起,不會和服務(wù)端進(jìn)行第三次握手,因此避免了服務(wù)端建立空的連接吐葱。

關(guān)閉連接時街望,第四次握手失敗怎么處理?

實(shí)際上弟跑,在第三步中灾前,客戶端收到 FIN 包時,它會設(shè)置一個計(jì)時器孟辑,等待相當(dāng)長的一段時間哎甲。如果客戶端返回的 ACK 丟失蔫敲,那么服務(wù)端還會重發(fā) FIN 并重置計(jì)時器。假設(shè)在計(jì)時器失效前服務(wù)器重發(fā)的 FIN 包沒有到達(dá)客戶端炭玫,客戶端就會進(jìn)入 CLOSE 狀態(tài)奈嘿,從而導(dǎo)致服務(wù)端永遠(yuǎn)無法收到 ACK 確認(rèn),也就無法關(guān)閉連接吞加。

你怎么理解分層和協(xié)議裙犹?

HTTP 請求中的GET 和 POST 的區(qū)別,Session 和 Cookie 的區(qū)別衔憨。

GET 請求通常用于查詢叶圃、獲取數(shù)據(jù),而 POST 請求則用于發(fā)送數(shù)據(jù)践图,除了用途上的區(qū)別霞揉,它們還有以下這些不同:

GET 請求可以被緩存拨拓,可以被收藏為書簽扫沼,但 POST 不行瓦胎。
GET 請求會保留在瀏覽器的歷史記錄中阶捆,POST 不會酗失。
GET 請求的長度有限制(不同的瀏覽器不一樣启具,大約在幾 Kb 左右)蕊玷,URL 的數(shù)據(jù)類型只能是 ASCII 字符心赶,POST 請求沒有限制扣讼。
GET 請求的參數(shù)在 URL 中,因此絕不能用 GET 請求傳輸敏感數(shù)據(jù)缨叫。POST 請求數(shù)據(jù)則寫在 HTTP 的請求頭中椭符,安全性略高于 GET 請求。
注意:

POST 請求僅比 GET 請求略安全一點(diǎn)耻姥,它的數(shù)據(jù)不在 URL 中销钝,但依然以明文的形式存放于 HTTP 的請求頭中。

cookie 琐簇、session 這兩者的根本性區(qū)別在于蒸健,cookie 保存在客戶端上,而 session 則保存在服務(wù)器中婉商。由此我們還可以拓展出以下結(jié)論:
1似忧、cookie 相對來說不安全,瀏覽器可以分析本地的 cookie 進(jìn)行 cookie 欺騙丈秩。
2盯捌、session 可以設(shè)置超時時間,超過這個時間后就失效蘑秽,以免長期占用服務(wù)端內(nèi)存饺著。
3箫攀、單個 cookie 的大小有限制(4 Kb),每個站點(diǎn)的 cookie 數(shù)量一般也有限制(20個)幼衰。
4靴跛、客戶端每次都會把 cookie 發(fā)送到服務(wù)端,因此服務(wù)端可以知道 cookie渡嚣,但是客戶端不知道 session汤求。
5、當(dāng)服務(wù)器接收到 cookie 后严拒,會根據(jù) cookie 中的 SessionID 來找到這個客戶的 session扬绪。如果沒有,則會生成一個新的 SessionID 發(fā)送給客戶端裤唠。

談?wù)勀銓?HTTP 1.1挤牛,2.0 和 HTTPS 的理解。

HTTPS是安全的HTTP

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末种蘸,一起剝皮案震驚了整個濱河市墓赴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌航瞭,老刑警劉巖诫硕,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異刊侯,居然都是意外死亡章办,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門滨彻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藕届,“玉大人,你說我怎么就攤上這事亭饵⌒菖迹” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵辜羊,是天一觀的道長踏兜。 經(jīng)常有香客問我,道長八秃,這世上最難降的妖魔是什么碱妆? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮喜德,結(jié)果婚禮上山橄,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好航棱,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布睡雇。 她就那樣靜靜地躺著,像睡著了一般饮醇。 火紅的嫁衣襯著肌膚如雪它抱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天朴艰,我揣著相機(jī)與錄音观蓄,去河邊找鬼。 笑死祠墅,一個胖子當(dāng)著我的面吹牛侮穿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播毁嗦,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼亲茅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了狗准?” 一聲冷哼從身側(cè)響起克锣,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腔长,沒想到半個月后袭祟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捞附,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年巾乳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片故俐。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡想鹰,死狀恐怖紊婉,靈堂內(nèi)的尸體忽然破棺而出药版,到底是詐尸還是另有隱情,我是刑警寧澤喻犁,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布槽片,位于F島的核電站,受9級特大地震影響肢础,放射性物質(zhì)發(fā)生泄漏还栓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一传轰、第九天 我趴在偏房一處隱蔽的房頂上張望剩盒。 院中可真熱鬧,春花似錦慨蛙、人聲如沸辽聊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跟匆。三九已至异袄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間玛臂,已是汗流浹背烤蜕。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留迹冤,地道東北人讽营。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像泡徙,于是被迫代替她去往敵國和親斑匪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

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

  • 從三月份找實(shí)習(xí)到現(xiàn)在锋勺,面了一些公司蚀瘸,掛了不少,但最終還是拿到小米庶橱、百度贮勃、阿里、京東苏章、新浪寂嘉、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,184評論 11 349
  • 1枫绅、TCP狀態(tài)linux查看tcp的狀態(tài)命令:1)泉孩、netstat -nat 查看TCP各個狀態(tài)的數(shù)量2)、lso...
    北辰青閱讀 9,398評論 0 11
  • HTTP協(xié)議 在 OSI 七層模型中并淋,HTTP 協(xié)議位于最頂層的應(yīng)用層中寓搬。通過瀏覽器訪問網(wǎng)頁就直接使用了 HTTP...
    WendySays閱讀 767評論 0 1
  • 今天剛剛聽到 關(guān)于咔咔買房的負(fù)面消息(房產(chǎn)證 產(chǎn)權(quán)登記證上沒有蓋章) 這一點(diǎn)造成了自己后面的——計(jì)劃 心情不好 一...
    趙揚(yáng)帆閱讀 97評論 0 0
  • 具體步驟 1.畫一個淡淡的圓 2.輕輕畫出兩只耳朵 3.輕輕向下畫出考拉的肩 4.畫出尖尖的鼻子時,記得留出小小的...
    幸赶氐ⅲ花園閱讀 388評論 0 0