前言
- 計算機網路基礎 該是程式猿需掌握的知識,也是面試過程中常常考察的內容,但往往會被忽略
- 今天,我將獻上一份詳細 & 清晰的計算機網路基礎 學習指南,涵蓋
TCP / UDP
協議、Http
協議、Socket
等,希望你們會喜歡。
目錄
1. 計算機網路體系結構
1.1 簡介
- 定義 計算機網路的各層 + 其協議的集合
- 作用 定義該計算機網路的所能完成的功能
1.2 結構介紹
- 計算機網路體系結構分為3種:
OSI
體系結構、TCP
/IP
體系結構、五層體系結構
OSI
體系結構:概念清楚 & 理念完整,但複雜 & 不實用TCP
/IP
體系結構:含了一系列構成網際網路基礎的網路協議,是Internet
的核心協議 & 被廣泛應用於區域網 和 廣域網- 五層體系結構:融合了
OSI
與TCP
/IP
的體系結構,目的是為了學習 & 講解計算機原理
低三層為通訊子網,負責資料傳輸 高三層為資源子網,相當於計算機系統,完成資料處理; 傳輸層承上啟下
TCP
/IP
的體系結構詳細介紹 由於TCP
/IP
體系結構較為廣泛,故主要講解
OSI
的體系結構詳細介紹
2. TCP協議
Transmission Control Protocol
,即 傳輸控制協議
- 屬於 傳輸層通訊協議
- 基於
TCP
的應用層協議有HTTP
、SMTP
、FTP
、Telnet
和POP3
關於TCP
的其他知識:如三次握手、四次揮手、無差錯控制原理等,具體請看文章:計算機網路:這是一份全面 & 詳細 的TCP協議攻略
3. UDP協議
3.1 定義
User Datagram Protocol
,即 使用者資料包協議
- 屬於 傳輸層通訊協議
- 基於
UDP
的應用層協議有TFTP
、SNMP
與DNS
3.2 特點
無連線的、不可靠的、面向報文、無擁塞控制,具體介紹如下:
3.3 優缺點
- 優點:速度快
- 缺點:訊息易丟失(特別是 網路較差時)
3.4 應用場景(對應應用層協議)
要求通訊速度高
如: 域名轉換:
DNS
協議 檔案傳輸:FTP
協議 網路管理:SNMP
協議 遠端檔案伺服器:NFS
協議
3.5 報文段格式
- UDP的報文段共有2個欄位:資料欄位 & 首部欄位
- 下面主要介紹首部(8位元組、4個欄位)
3.6 TCP、UDP協議的區別
4. HTTP協議
-
簡介
-
關於其工作方式、報文段等知識,請看文章:這是一份全面& 詳細 HTTP知識講解
5. Socket
5.1 簡介
- 即套接字,是應用層 與
TCP/IP
協議族通訊的中間軟體抽象層,表現為一個封裝了 TCP / IP協議族 的程式設計介面(API)
Socket
不是一種協議,而是一個程式設計呼叫介面(API
),屬於傳輸層(主要解決資料如何在網路中傳輸)- 即:通過
Socket
,我們才能在Andorid平臺上通過TCP/IP
協議進行開發- 對使用者來說,只需呼叫Socket去組織資料,以符合指定的協議,即可通訊
- 成對出現,一對套接字:
Socket ={(IP地址1:PORT埠號),(IP地址2:PORT埠號)}
複製程式碼
- 一個
Socket
例項 唯一代表一個主機上的一個應用程式的通訊鏈路
5.2 其他知識
關於Socket
的原理、機制過程 & 使用方式,具體請看文章:Android:這是一份很詳細的Socket使用攻略
6. 其他知識
6.1 在瀏覽器中輸入url
地址 ->> 顯示主頁的過程
開啟一個網頁,整個過程會使用哪些協議
6.2 IP地址(IPv4地址)
-
定義 連線在
Internet
中的每一臺主機(或 路由器)的全球唯一的識別符號 -
組成 IP地址 = 32位 = 網路號 + 主機號;即IP地址::={<網路號>,<主機號>}
其中:
- 網路號:標誌主機(或路由器)所連線到的網路。一個網路號在整個因特網範圍內必須是唯一的。
- 主機號:標誌該主機(或路由器)。一個主機號在它面前的網路號所指明的網路範圍必須是唯一的。
不同型別的IP地址,其主機號 & 網路號所佔位元組數不同;故:一個IP地址在整個網路範圍內是唯一的
- 分類 傳統的IP地址是分類的地址,分為A,B,C,D,E五類
區別在於網路號 & 主機號佔的位元組數不同
- 特別注意:在各類IP地址中,有一些IP地址用於特殊用途,不能用於做主機IP地址
6.3 ICMP協議
- 定義
Internet Control Message Protocol
,即 網際控制報文協議
- 屬於IP層協議
- 注:ICMP報文不是高層協議,而是作為IP層資料包的資料,加上資料包首部,組成IP資料包發出去
- 作用 更有效地轉發IP資料包 & 提高交付成功的機會
同時允許主機 / 路由器報告差錯 & 異常情況
-
分類
ICMP
差錯報告報文 &ICMP
詢問報文 -
主要應用 PING(分組網間探測)、Traceroute(跟蹤1個分組從源點到終點的路徑,原理 = 從源主機向目的主機傳送一連串的IP資料包)
下面,將主要介紹Ping
的過程
6.4 Ping的過程
- 定義
Packet InterNet Groper
,即分組網間探測
- 是
ICMP
報文的1個重要應用:使用了IPCM回送請求 & 回送回答報文
- 是應用層直接使用網路層ICMP的1個例子,無經過傳輸層的TCP、UDP
-
作用 測試2個主機的連通性
-
原理
- 向目的主機傳送多個ICMP回送請求報文
- 根據 目的主機返回的ICMP回送回答報文中的時間戳,從而計算出往返時間
- 最終顯示的結果:傳送到目的主機的IP地址、傳送 & 收到 & 丟失的分組數、往返時間的最小、最大 & 平均值
-
過程 假設有兩臺主機: (目的主機)PC1:IP = 192.168.1.1 (源主機)PC2:IP = 192.168.1.2
6.5 路由器與交換機的區別
6.6 Cookie 與 Session
- 簡介
- 區別 & 對比
6.7 Cookie 與 Token
- 簡介
- 基於
Cookie
的身份驗證 & 驗證流程
- 基於
Token
的身份驗證 & 驗證流程
7. 總結
-
本文全面講解了 開發的基礎知識:計算機網路
-
下面我將繼續講解 程式設計開發的基礎知識,有興趣可以繼續關注Carson_Ho的開發筆記