前言面試
計算機網絡基礎是研發/運維工程師都需掌握的知識,但每每會被忽略。 redis
今天,我將獻上一份詳細 & 清晰的計算機網絡基礎學習指南,涵蓋 TCP / UDP協議、Http協議、Socket等,但願大家會喜歡。數據庫

1. 計算機網絡體系結構
1.1 簡介
- 定義
計算機網絡的各層 + 其協議的集合。
- 做用
定義該計算機網絡的所能完成的功能。
1.2 結構介紹
計算機網絡體系結構分爲3種:OSI體系結構、TCP / IP體系結構、五層體系結構。編程
- OSI 體系結構:概念清楚 & 理念完整,但複雜 & 不實用;
- TCP / IP 體系結構:含了一系列構成互聯網基礎的網絡協議,是Internet的核心協議 & 被普遍應用於局域網和廣域網;
- 五層體系結構:融合了OSI 與 TCP / IP的體系結構,目的是爲了學習 & 講解計算機原理。

低三層爲通訊子網,負責數據傳輸;
高三層爲資源子網,至關於計算機系統,完成數據處理;
傳輸層承上啓下。
- TCP / IP的體系結構詳細介紹
因爲 TCP / IP體系結構較爲普遍,故主要講解。


- 點擊圖片可查看大圖 -瀏覽器


- 點擊圖片可查看大圖 -服務器
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協議

5. Socket
5.1 簡介
即套接字,是應用層 與 TCP/IP 協議族通訊的中間軟件抽象層,表現爲一個封裝了 TCP / IP協議族 的編程接口(API)

- Socket不是一種協議,而是一個編程調用接口(API),屬於傳輸層(主要解決數據如何在網絡中傳輸)
- 即:經過Socket,咱們才能在Andorid平臺上經過 TCP/IP協議進行開發
- 對用戶來講,只需調用Socket去組織數據,以符合指定的協議,便可通訊。
Socket ={(IP地址1:PORT端口號),(IP地址2:PORT端口號)}
- 一個 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
- 向目的主機發送多個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





做者:Carson_Ho
連接:
https://www.jianshu.com/p/45d...
歡迎你們關注個人微信公衆號【民工哥技術之路】,最新整理的 2TB 技術乾貨:包括架構師實戰教程、大數據、Docker容器、系統運維、數據庫、redis、MogoDB、電子書、Java基礎課程、Java實戰項目、ELK Stack、機器學習、BAT面試精講視頻等。只需在「 民工哥技術之路」微信公衆號對話框回覆關鍵字:1024便可獲取所有資料。