網路基礎總結

沒有色彩的FE發表於2018-07-08

作為‘純’前端出身,缺少後端功底小白,以前碰到http,總想著能躲就躲,最近在學習node的時候,遇到網路程式設計那一塊知識,遇到了很多眼熟卻不'自知'的名詞,大約就是tcp,udp之類,心想這次大概是躲不過去了,翻閱了許多文章與書籍,做一總結,以示重要性!!!

Tcp/Ip協議族

網際網路相關聯的協議集合起來統稱TCP/IP

網路基礎總結

TCP/IP協議族的分層管理

TCP/IP協議族按層次分別有4層:應用層、傳輸層、網路層和資料鏈路層

應用層

應用層決定了向使用者提供應用服務是的通訊活動。比如前端最常用的FTP和DNS以及HTTP協議都在該層

傳輸層

傳輸層對上層的應用層,提供處於網路連線中的兩臺計算機的資料傳輸,有兩個不同性質卻很重要的的協議:TCP和UDP

網路層

網路層用來處理在網路上流動的資料包。資料包是網路傳輸的最小資料單位。該層規定了通過怎樣的路徑(所謂的傳輸路線)到達對方計算機,並把資料包傳送給對方。網路層在傳輸過程中所起到的作用就是在眾多的路線中選擇一條最優路線

鏈路層

鏈路層用來處理連結網路的硬體部分。包括控制作業系統、硬體的裝置驅動、NIC、以及光纖等物理可見部分。總結就是硬體上的範疇均屬於鏈路層的作用範圍之內

網路基礎總結

以上是TCP/IP協議族的概總,再來說說tcp跟IP協議跟TCP/IP協議族的關係

負責傳輸的Ip協議

Ip協議位於網路層,作用是把各種資料包傳送給對方。包括Ip地址和MAC地址。IP地址指明瞭節點被分配的地址,MAC地址是指網路卡所屬的固定地址

確保可靠行的TCP協議

首先TCP協議位於傳輸層,提供可靠的位元組流服務。所謂的位元組流服務就是為了方便傳輸將大資料塊分割成以報文段為單位的資料包進行管理。而有名的三次握手策略則保證了可靠性

http協議

http協議(超文字傳輸協議)位於應用層,用於客戶端與服務端之間的通訊,是web聯網的基礎,在客戶端的職責是生成針對目標web伺服器的的HTTP請求報文,在服務端則是對web伺服器請求的內容進行處理

TCP和UDP的區別

TCP是面向連結的,雖然說網路的不安全不穩定特性決定了多少次握手都不能保證連線的可靠性,但TCP的三次握手在最低限度上(實際上也很大程度上保證了)保證了連線的可靠性;而UDP不是面向連線的,UDP傳送資料前並不與對方建立連線,對接收到的資料也不傳送確認訊號,傳送端不知道資料是否會正確接收,當然也不用重發,所以說UDP是無連線的、不可靠的一種資料傳輸協議。

總結

實際上,傳輸層的TCP是基於網路層的IP協議的,而應用層的HTTP協議又是基於傳輸層的TCP協議的,而Socket本身不算是協議,就像上面所說,它只是提供了一個針對TCP或者UDP程式設計的介面。


相關文章