寫文章
如果本文對你有幫助,歡迎關注、點贊、收藏、轉發給朋友,讓我有持續創作的動力
前言
- 計算機網絡基礎 該是程式猿需掌握的知識,也是面試過程中常常考察的内容,但往往會被忽略
- 今天,我将獻上一份詳細 & 清晰的計算機網絡基礎 學習指南,涵蓋 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的身份驗證 & 驗證流程