網絡Q

Q:簡介 TCP 和 UDP 區別,他們位于哪一層?

他們位于網絡層.區別:

  • TCP是面向有連接的,UDP是無連接的
  • TCP具有丟包重發、流量控制的功能.
  • TCP要求系統資源較多,UDP較少
  • TCP保證數據正確性,UDP可能丟包
  • TCP保證數據順序,UDP不保證

Q:路由器和交換機的工作原理大概是什么,他們分別用到什么協議,位于哪一層?

交換機位于數據鏈路層,他有多個端口,可以連接不同的設備。它的工作原理如下:



當主機A向主機B發送幀時,交換機從源MAC地址可以知道主機A與端口1連接,然后自動學習到轉發表里面去。同樣的主機B很端口2連接,那么主機B發送給主機A的幀只會拷貝到端口1.

路由器位于網絡層,它的主要目的是為數據包選擇最佳路由路徑。


主機A會通過它的路由表找到目標地址的路由器2,然后將數據轉發到目標路由器2上,路由器2又通過路由表把數據轉發到主機B上。

Q:描述TCP 協議三次握手,四次釋放的過程。

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

不行。如果只是兩次握手的話,容易導致服務器建立空的連接,浪費資源。

假設沒有第三次確認,客戶端向服務端發送了 SYN,請求建立連接。由于延遲,服務端沒有及時收到這個包。于是客戶端重新發送一個 SYN 包。回憶一下介紹 TCP 首部時提到的序列號,這兩個包的序列號顯然是相同的。

假設服務端接收到了第二個 SYN 包,建立了通信,一段時間后通信結束,連接被關閉。這時候最初被發送的 SYN 包剛剛抵達服務端,服務端又會發送一次 ACK 確認。由于兩次握手就建立了連接,此時的服務端就會建立一個新的連接,然而客戶端覺得自己并沒有請求建立連接,所以就不會向服務端發送數據。從而導致服務端建立了一個空的連接,白白浪費資源。

在三次握手的情況下,服務端直到收到客戶端的應答后才會建立連接。因此在上述情況下,客戶端會接受到一個相同的 ACK 包,這時候它會拋棄這個數據包,不會和服務端進行第三次握手,因此避免了服務端建立空的連接。


如果第三次握手失敗了怎么辦?

服務器會重新發送一條RST的報文,進入CLOSE狀態,客戶端收到后必須重新進行第一次連接。


關閉連接時,第四次握手失敗怎么處理?

Q:TCP 協議是如何進行流量控制,擁塞控制的?

通過控制TCP的窗口大小.

Q:你怎么理解分層和協議?

就是計算機與計算機之間通過網絡實現通信時事先達成的一種“約定”。這種約定使那些不同廠商的設備,不同的CPU以及不用的操作系統組成的計算機之間,只要遵循先攻的協議就能夠事先通信。反之,如果所使用的協議不同,就無法實現通信。

協議分層就如同計算機軟件中的模塊化開發。這一模型將通信協議中必要的功能分成了7層,通過這些分層,使得那些比較復雜的網絡協議更加簡單化,在這一模型中,每個分層都接受由它下一層所提供的特定服務,并且負責為自己的上一層提供特定的服務,上下層之間進行交互時所遵循的約定叫做“接口”。同一層之間的交互所遵循的約定叫做“協議”。PSI參考模型是的建議是比較理想化的,她希望實現從第一層到第七層的所有模塊,并將他們組合起來實現網絡通信。分層可以將每個分層獨立使用,即使系統中某些分層發生變化,也不會波及整個系統。因此,可以構造一個擴展性和靈活性都較強的系統。此外,通過分層能夠細分通信功能,更易于單獨實現每個分層的協議,并界定各個分層的具體責任和義務,這些都屬于分層的優點。而分層的劣勢,可能就在于過分模塊化,使處理變得更加沉重以及每個模塊都不得不實現想死的處理邏輯等問題。

Q:HTTP 請求中的GET 和 POST 的區別?

  • GET 請求可以被緩存,可以被收藏為書簽,但 POST 不行。
  • GET 請求會保留在瀏覽器的歷史記錄中,POST 不會。
  • GET 請求的長度有限制(不同的瀏覽器不一樣,大約在幾 Kb 左右),URL 的數據類型只能是 ASCII 字符,POST 請求沒有限制。
  • GET 請求的參數在 URL 中,因此絕不能用 GET 請求傳輸敏感數據。POST 請求數據則寫在 HTTP 的請求頭中,安全性略高于 GET 請求。

Q:Cookie 和 Session區別?

HTTP 是一種無狀態的連接,客戶端每次讀取 web 頁面時,服務器都會認為這是一次新的會話。但有時候我們又需要持久保持某些信息,比如登錄時的用戶名、密碼,用戶上一次連接時的信息等。這些信息就由 Cookie 和 Session 保存。

這兩者的根本性區別在于,cookie 保存在客戶端上,而 session 則保存在服務器中。由此我們還可以拓展出以下結論:

  • cookie 相對來說不安全,瀏覽器可以分析本地的 cookie 進行 cookie 欺騙。
  • session 可以設置超時時間,超過這個時間后就失效,以免長期占用服務端內存。
  • 單個 cookie 的大小有限制(4 Kb),每個站點的 cookie 數量一般也有限制(20個)。
  • 客戶端每次都會把 cookie 發送到服務端,因此服務端可以知道 cookie,但是客戶端不知道 session。

當服務器接收到 cookie 后,會根據 cookie 中的 SessionID 來找到這個客戶的 session。如果沒有,則會生成一個新的 SessionID 發送給客戶端。

Q:談談你對 HTTP 1.1,2.0 和 HTTPS 的理解。

使用 HTTP 協議時,客戶端首先與服務端的 80 端口建立一個 TCP 連接,然后在這個連接的基礎上進行請求和應答,以及數據的交換。



HTTP 有兩個常用版本,分別是 1.0 和 1.1。主要區別在于 HTTP 1.0 中每次請求和應答都會使用一個新的 TCP 連接,而從 HTTP 1.1 開始,運行在一個 TCP 連接上發送多個命令和應答。因此大幅度減少了 TCP 連接的建立和斷開,提高了效率。

HTTP2.0與HTTP 1.1相比,主要區別包括

HTTP/2采用二進制格式而非文本格式
HTTP/2是完全多路復用的,而非有序并阻塞的——只需一個連接即可實現并行
使用報頭壓縮,HTTP/2降低了開銷
HTTP/2讓服務器可以將響應主動“推送”到客戶端緩存中

HTTPS把對稱加密、非對稱加密和CA結合起來以保證數據安全

總結一下 HTTPS 協議是如何避免前文所說的三大風險的:

先用非對稱加密傳輸密碼,然后用這個密碼對稱加密數據,使得第三方無法獲得通信內容
發送方將數據的哈希結果寫到數據中,接收方解密后對比數據的哈希結果,如果不一致則說明被修改。由于傳輸數據加密,第三方無法修改哈希結果。
由權威機構頒發證書,再加上證書校驗機制,避免第三方偽裝參與通信。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內容