網絡協議必知必會

目錄

一、 計算機協議介紹

1 什麼是協議

2 協議的標準化

二、 TCP/IP 協議羣

1 什麼是 TCP/IP 協議羣

2 什麼是應用協議

2.1TELNET 協議

2.2FTP 協議

2.3HTTP 協議

2.4SNMP 協議

2.5 SMTP 協議

2.6 DNS 協議

3 什麼是傳輸協議

3.1 TCP 協議

3.2 UDP 協議

3.3 TCP 與 UDP 比較

4 什麼是網際協議

4.1 IP 協議

4.2 ICMP 協議

4.3 ARP 協議

5 什麼是路由控制協議

5.1 RIP 協議

5.2 OSPF 協議

5.3 BGP 協議

三、 TCP 協議傳輸特點

1 建立連接的三次握手

2 斷開連接的四次揮手

四、 服務端口

1 端口作用

2 端口分配

3 常見的應用層協議與端口分配

五、 數據包與處理流程

1 什麼是數據包

 2 數據包處理流程


一、 計算機協議介紹

1 什麼是協議

簡單來說,協議就是計算機之間通過網絡實現通信時事先達成的一種約定;這種約 定”使那些由不同廠商的設備,不同 CPU 及不同操作系統組成的計算機之間,只要遵循相同 的協議就可以實現通信。 協議可以分很多種,每一種協議都明確界定了它的行爲範:2 臺計算機之間必須能夠支持相同的協議,並且遵循相同的協議進行處理,才能實現相互通信。

2 協議的標準化

計算機通信誕生之初,系統化與標準化未收到重視,不同廠商只出產各自的網絡來實現 通信,這樣就造成了對用戶使用計算機網絡造成了很大障礙,缺乏靈活性和可擴展性。爲解 決該問題,國際標準化組織(ISO)在 1978 年提出了開放系統互聯參考模型,即著名的 OSI/RM 模型(Open System Interconnection/Reference Model)。它將計算機網絡體系結構的 通信協議劃分爲七層,自下而上依次爲:物理層(Physics Layer)、數據鏈路層(Data Link Layer)、 網絡層(Network Layer)、傳輸層(Transport Layer)、會話層(Session Layer)、表示層 (Presentation Layer)、應用層(Application Layer)。

除了標準的 OSI 七層模型以外,常見的網絡層次劃分還有 TCP/IP 四層協議以及 TCP/IP
五層協議,它們之間的對應關係如下圖所示:

二、 TCP/IP 協議羣

1 什麼是 TCP/IP 協議羣

從字面意義上講,有人可能會認爲 TCP/IP 是指 TCP 和 IP 兩種協議。實際生活當中 有時也確實就是指這兩種協議。然而在很多情況下,它只是利用 IP 進行通信時所必須用到 的協議羣的統稱。具體來說,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都屬於 TCP/IP 協議。他們與 TCP 或 IP 的關係緊密,是互聯網必不可少的組成部分。 TCP/IP 一詞泛指這些協議,因此,有時也稱 TCP/IP 爲網絡協議羣。

2 什麼是應用協議

應用協議是定義了運行在不同系統上的應用程序進程如何相互傳遞報文的協議。
常見的應用協議:

2.1TELNET 協議

TCP/IP 協議族中的一員,是 Internet 遠程登錄服務的標準協議和主要方式。它爲用戶提 供了在本地計算機上完成遠程主機工作的能力。Telnet 是常用的遠程控制 Web 服務器的方 法。

2.2FTP 協議

文件傳輸協議(File Transfer Protocol)。是用於在網絡上進行文件傳輸的一套標準協議, 它工作在 OSI 模型的第七層, TCP 模型的第四層, 即應用層,FTP 允許用戶以文件操作 的方式(如文件的增、刪、改、查、傳送等)與另一主機相互通信。

2.3HTTP 協議

一個簡單的請求-響應協議,它通常運行在 TCP 之上。它指定了客戶端可能發送給服務器什麼樣的消息以及得到什麼樣的響應。

2.4SNMP 協議

簡單網絡管理協議。專門設計用於在 IP 網絡管理網絡節點(服務器、工作站、路由器、交換機及 HUBS 等)的一種標準協議,它是一種應用層協議。

2.5 SMTP 協議

一個相對簡單的基於文本的協議。在其之上指定了一條消息的一個或多個接收者(在大多數情況下被確認是存在的),然後消息文本會被傳輸。

2.6 DNS 協議

DNSDomain Name System,域名系統),萬維網上作爲域名和 IP 地址相互映射的一個分佈式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接知讀取的 IP地址。

3 什麼是傳輸協議

傳輸層提供了進程間的邏輯通信,傳輸層向高層用戶屏蔽了下面網絡層的核心細節,使應用程序看起來像是在兩個傳輸層實體之間有一條端到端的邏輯通信信道。

3.1 TCP 協議

TCP(Transmission Control Protocol)傳輸控制協議,TCP 是一種面向連接的、可靠的、基於字節流的傳輸層(Transport layer)通信協議。TCP 爲提供可靠性傳輸,實行順序控制或“重發控制”機制。此外還具備“流控制(流量控制)”、“擁塞控制”、提高網絡利用率等多功能。

3.2 UDP 協議

UDP(User Datagram Protocol)的簡稱, 是不具有可靠性的數據報文協議。雖然可以確保發送消息的大小,卻不能保證消息一定會到達。

3.3 TCP UDP 比較

TCP UDP 的優缺點無法簡單地、絕對地去做比較:TCP 用於在傳輸層有必要實現可靠傳輸的情況;UDP 主要用於那些對高速傳輸和實時性有較高要求的通信或廣播通信。TCP和 UDP 應該根據應用的目的按需使用。

4 什麼是網際協議

網際協議是一個網絡層協議,它包含尋址信息和控制信息 ,可使數據包在網絡中路由。

4.1 IP 協議

IP 協議(Internet Protocol 網際互連協議),它主要是完成兩個任務,一個是尋找地址,第二個是管理分割數據片。

4.2 ICMP 協議

ICMP 的主要功能包括,確認 IP 包是否成功送達目標地址,通知在發送過程當中 IP 包被廢棄的具體原因,改善網絡設置等。
IPv4 ICMP 僅作爲一個輔助作用支持 IPv4。也就是說,在 IPv4 時期,即使沒有ICMP,仍然可以實現 IP 通信。然而,在 IPv6 中,ICMP 的作用被擴大,如果沒有 ICMPv6,6IPv6 就無法進行正常通信。

4.3 ARP 協議

ARP 協議(Address Resolution Protocol,地址解析協議)是一個位於 TCP/IP 協議羣中的網絡 層,負責將某個 IP 地址解析成對應的 MAC 地址。主機將包含目標 IP 地址信息的 ARP 請求廣播到網絡中的所有主機,並接收返回消息,以此確定目標 IP 地址的物理地址。

5 什麼是路由控制協議

路由控制協議是一種網絡層協議,它通過提供一種共享路由選擇信息的機制,允許路由 器與其他路由器通信以更新和維護自己的路由表,並確定最佳的路由選擇路徑。通過路由選 擇協議,路由器可以瞭解未直接連接的網絡的狀態,當網絡發生變化時,路由表中的信息可 以隨時更新,以保證網絡上的路由選擇路徑處於可用狀態。

5.1 RIP 協議

RIP(Routing Information Protocol,路由信息協議)是一種內部網關協議(IGP),是一種動態路由選擇協議,用於自治系統(AS)內的路由信息的傳遞。

5.2 OSPF 協議

OSPF(open shortest path first,開發最短路徑優先協議)路由協議是用於網際協議(IP)網絡的鏈路狀態路由協議。

5.3 BGP 協議

BGP(Border Gateway Protocol,邊界網關協議)邊界網關協議(BGP)是運行於 TCP 上的一種自治系統的路由協議。 目的是爲了方便管理規模不斷擴大的網絡,網絡被分成了不同自治系統。BGP 是唯一一個用來處理像因特網大小的網絡的協議,也是唯一能夠妥善處理好不相關路由域間的多路連接的協議。

三、 TCP 協議傳輸特點

TCP 是一個可靠的傳輸協議,在創建連接時會經歷三次握手,在斷開連接時會經歷四次揮手。

1 建立連接的三次握手

所謂三次握手是指建立一個 TCP 連接時需要客戶端和服務器端總共發送三個包以確認連接的建立。

2 斷開連接的四次揮手

四次揮手即終止 TCP 連接,就是指斷開一個 TCP 連接時,需要客戶端和服務端總共發送4 個包以確認連接的斷開。

四、 服務端口

1 端口作用

端口號用來識別同一臺計算機中進行通信的不同應用程序。因此,它也被稱爲程序地址。一臺計算機上同時可以運行多個程序。傳輸層協議正是利用這些端口號識別本機中正在進行通信的應用程序,並準確地將數據傳輸。

2 端口分配

操作系統中一共提供了 0~65535 可用端口範圍。
按端口號分類:
公認端口(Well Known Ports):從 0 1023,它們緊密綁定(binding)於一些服務。
通常這些端口的通訊明確表明了某種服務的協議。例如:80 端口實際上總是 HTTP 通訊。
註冊端口(Registered Ports):從 1024 65535。它們鬆散地綁定於一些服務。也就是說有許多服務綁定於這些端口,這些端口同樣用於許多其它目的。例如:許多系統處理動態端口從 1024 左右開始。

3 常見的應用層協議與端口分配

五、 數據包與處理流程

1 什麼是數據包

通信傳輸中的數據單位,一般也稱“數據包”。在數據包中包括:包、幀、數據包、段、消息。
網絡中傳輸的數據包由兩部分組成:一部分是協議所要用到的首部,另一部分是上一層傳過來的數據。首部的結構由協議的具體規範詳細定義。在數據包的首部,明確標明瞭協議應該如何讀取數據。反過來說,看到首部,也就能夠了解該協議必要的信息以及所要處理的數據。包首部就像協議的臉。

 2 數據包處理流程

注:這裏發送數據表更像是一個封裝,和解包的一個過程!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章