web前端工程師必備知識 TCP IP

2021-07-22 18:15:02 字數 1579 閱讀 1587

分層名稱

功能概述

常見協議

應用層

針對特定應用的協議

ftp,dns,http,smtp等

表示層負責資料格式的轉換

不用協議

會話層負責建立和斷開通訊連線

不用協議

傳輸層

負責可靠的資料傳輸

tcp,udp等

網路層

負責將資料傳輸到目標位址

ip,arp,rarp等

資料鏈路層

負責物理層面的互連,節點之間的通訊傳輸

802.11,wifi等

物理層負責物理電路的位元流互換傳輸

rs-443等

使用到協議的應用層,傳輸層,網路層,和資料鏈路層這四層

可歸納為tcp/ip協議族的四層模型中。

面向連線:在通訊傳輸前,需要先開啟乙個連線,連線關閉時是無法傳送資料的。比如tcp。

面向無連線:無需確認對端是否存在,傳送端隨時可以傳送資料。

分組交換:將需要傳送的資料分成多個資料報,按照一定順序排列之後分別傳送,可以提高線路利用率。

單播:一對一通訊

多播:特定組內的通訊

廣播:同一資料鏈路內的所有計算機

任播:特定組內的任意一台計算機

ip位址 = 網路位址 + 主機位址

當主機位址部分全部設定為1時,就成為了該網路位址下的廣播位址

tcp通過序列號與確認應答(ack,用於指示希望下一次傳輸的序列號)提高可靠性。

一次連線的簡歷與斷開,正常過程需要來回傳送7個包才能夠完成;

「三次握手,四次揮手」

第一次握手:客戶端傳送syn(請求建立連線)

第二次握手:伺服器傳送ack(針對syn的確認應答),傳送syn(請求建立連線)

第三次握手:客戶端傳送ack(針對syn的確認應答)

成功建立連線

第一次揮手:客戶端傳送fin(請求切斷連線)

第二次揮手:伺服器傳送給ack(針對fin的確認應答)

第三次揮手:伺服器傳送fin(請求切斷連線)

第四次揮手:客戶端傳送ack(針對fin的確認應答)

udp不提供和tcp一樣的複雜的控制機制,利用ip提供面向無連線的通訊服務

在網路擁堵的情況下,udp無法進行流量控制等避免網路擁塞的行為,此外,傳輸途中即使丟包,udp也不會負責重發,甚至當包到達的時候也不會去糾正是否錯誤;

適用場景:

a.包總量較少的通訊(dns,snmp等)

c.限定於lan等特定網路中的應用通訊

d.廣播通訊(廣播,多播)

socket通常也稱作"套接字",用於描述ip位址和埠,是乙個通訊鏈的控制代碼。應用程式通常通過"套接字"向網路發出請求或者應答網路請求

伺服器:監聽指定的埠,等待客戶連線請求,客戶連線後,會話產生;在完成會話後,關閉連線。 

客戶端:使用socket對網路上某乙個伺服器的某乙個埠發出連線請求,一旦連線成功,開啟會話;會話完成後,關閉socket。

前端工程師必備之 LESS

一 為什麼要用less?作為前端學習者的我們 或多或少都要學些 css 它作為前端開發的三大基石之一,時刻引領著 web 的發展潮嚮。而 css 作為一門標記性語言,可能 給初學者第一印象 就是簡單易懂,毫無邏輯,不像程式設計該有的樣子。在語法更新時,每當新屬性提出,瀏覽器的相容又會馬上變成絆腳石,...

前端工程師必備之 typescript

型別名 anylet name string bob let age number 37 首先我們看看數字列舉,如果你使用過其它程式語言應該會很熟悉。enum direction如上,我們定義了乙個數字列舉,up使用初始化為1。其餘的成員會從1開始自動增長。換句話說,direction.up的值為1...

前端工程師必備PS技能

ps參考線及其輔助 檢視 新建參考線 也可以快捷鍵ctrl r,顯示區的上側和左側就會出現標尺。任意點選中,並拖動標尺,便會出現淺藍色的輔助線。只有在移動工具下,才能拖動某一條參考線。刪除參考線的方式,來的回 去,拖動參考線把它移動到標尺處。上面的標尺對應的是水平參考線,左邊的標尺對應的是豎直參考線...