所有協議集合--(1)

再熬夜不给糖吃發表於2024-09-23

1.HTTP(超文字傳輸協議):
官方定義:一種用於分散式、協作式和超媒體資訊系統的應用層協議,是全球資訊網資料通訊的基礎。
用途:主要用於在 Web 瀏覽器和 Web 伺服器之間傳輸超文字,如網頁、影像、影片等資源。
資料結構:請求報文包括請求行、請求頭部、空行和請求體;響應報文包括狀態行、響應頭部、空行和響應體。
學習網站及網址:
“MDN Web Docs”:https://developer.mozilla.org/zh-CN/docs/Web/HTTP 。提供了非常詳細的 HTTP 協議介紹、教程和參考資料。
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc2616.txt 。可直接檢視 HTTP 協議的原始定義文件 RFC 2616。
2.HTTPS(安全超文字傳輸協議):
官方定義:是以安全為目標的 HTTP 通道,在 HTTP 基礎上透過傳輸層安全(TLS)或安全套接字層(SSL)進行加密。
用途:用於在 Web 瀏覽器和 Web 伺服器之間進行安全的通訊,保護資料在傳輸過程中的機密性和完整性。
資料結構:與 HTTP 類似,在傳輸之前會對請求和響應訊息進行加密處理,還包含一些與加密和認證相關的額外資訊。
學習網站及網址:
“SSL.com”:https://www.ssl.com/ 。提供關於 SSL/TLS 協議以及 HTTPS 的詳細介紹、技術文件、常見問題解答等。
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc2818.txt 。可檢視 HTTPS 相關的標準文件。
3.TCP(傳輸控制協議):
官方定義:一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議。
用途:適用於對資料傳輸可靠性要求高的場景,如網頁瀏覽、檔案傳輸、電子郵件和遠端登入等。
資料結構:TCP 報文段頭部包括源埠、目的埠、序列號、確認序列號、資料偏移、控制標誌、視窗大小、校驗和、緊急指標等欄位;還有控制緩衝區和套接字資料結構等相關資料結構。
學習網站及網址:
“MDN Web Docs”:https://developer.mozilla.org/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/fetch 。提供了網路協議知識,包括 TCP 協議的詳細介紹、原理、使用方法等。
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc793.txt 。可直接檢視 TCP 協議的原始定義文件。
4.UDP(使用者資料包協議):
官方定義:是一種無連線的傳輸層協議。
用途:常用於對實時性要求較高、對資料準確性要求相對較低的場景,如實時影片、音訊傳輸、線上遊戲等。
資料結構:UDP 資料包包含源埠號、目的埠號、資料長度和校驗和等欄位。
學習網站及網址:
“MDN Web Docs”:https://developer.mozilla.org/zh-CN/docs/Web/API/DatagramSocket 。對 UDP 協議的特點、用法等有詳細說明。
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc768.txt 。可檢視 UDP 協議的原始定義文件。
5.IP(網際互連協議):
官方定義:是 TCP/IP 協議體系中的網路互聯層協議,主要作用是將不同型別的物理網路互聯在一起,詳細規定了網路中的計算機在通訊時應該遵循的全部規則。
用途:負責在不同網路之間定址和路由資料包,實現網路間的通訊。
資料結構:IP 資料包由 IP 頭部和資料部分組成,IP 頭部包含源 IP 地址、目的 IP 地址、協議型別、生存時間、頭部校驗和等欄位。
學習網站及網址:
“MDN Web Docs”:https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest 。有關於 IP 協議的基本概念和作用的介紹。
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc791.txt 。可獲取 IP 協議的原始定義文件。
6.SMTP(簡單郵件傳輸協議):
官方定義:是一種用於在網路系統間傳輸電子郵件的協議,建立在 TCP 之上。
用途:負責將電子郵件從傳送方的郵件伺服器傳送到接收方的郵件伺服器。
資料結構:SMTP 協議的通訊過程包括一系列的命令和響應,如 HELO、MAIL FROM、RCPT TO、DATA 等命令,以及相應的響應碼。郵件的內容格式包括郵件頭和郵件體。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc5321.txt 。RFC 5321 是 SMTP 協議的最新標準文件,詳細規定了 SMTP 協議的技術細節和操作規範。
“Wikipedia - Simple Mail Transfer Protocol”:https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol 。維基百科上對 SMTP 協議的介紹,包括其歷史、工作原理、命令等。
7.FTP(檔案傳輸協議):
官方定義:一種用於在網路上兩臺計算機之間傳輸檔案的協議,執行在 TCP 之上。
用途:允許使用者在客戶端和伺服器之間上傳和下載檔案,支援目錄和檔案的訪問、管理等操作。
資料結構:FTP 通訊過程中會有控制連線和資料連線,控制連線用於傳輸命令和響應,資料連線用於傳輸檔案資料。
學習網站及網址:
“Wikipedia - File Transfer Protocol”:https://en.wikipedia.org/wiki/File_Transfer_Protocol 。維基百科上的 FTP 頁面,對 FTP 協議的歷史、工作原理、命令集、安全問題等方面進行了詳細的介紹。
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc959.txt 。可檢視 FTP 協議的原始定義文件。
8.Telnet(遠端登入協議):
官方定義:是 TCP/IP 中的一種應用協議,為終端模擬提供支援。
用途:允許使用者透過網路遠端登入到其他計算機系統,在遠端計算機上執行命令和操作。
資料結構:Telnet 協議的資料主要是使用者輸入的命令和遠端計算機返回的響應,通訊過程中的資料格式是基於文字的。
學習網站及網址:
“Wikipedia - Telnet”:https://en.wikipedia.org/wiki/Telnet 。維基百科上的 Telnet 頁面,介紹了 Telnet 協議的發展歷程、工作原理、安全問題等方面的資訊。
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc854.txt 。可檢視 Telnet 協議的原始定義文件。
9.DNS(域名系統協議):
官方定義:是網際網路的一項服務,用於將域名解析為 IP 地址,以便使用者可以透過易於記憶的域名訪問網站,而不是難以記住的數字 IP 地址。
用途:在網際網路中,當使用者在瀏覽器中輸入域名時,DNS 協議會將該域名轉換為對應的 IP 地址,使得計算機能夠找到並訪問目標伺服器。例如,當使用者輸入 “www.example.com” 時,DNS 會將其解析為對應的 IP 地址,如 “192.0.2.1”,這樣瀏覽器才能與該伺服器建立連線並獲取網頁內容。
資料結構:DNS 訊息包含頭部和正文部分。頭部包含一些標誌位、查詢 ID、問題數量等資訊;正文部分則包含查詢的域名、查詢型別(如 A 記錄表示將域名解析為 IPv4 地址,AAAA 記錄表示解析為 IPv6 地址等)、響應的 IP 地址等。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc1034.txt 。RFC 1034 和 RFC 1035 是 DNS 協議的官方定義文件,詳細描述了 DNS 的技術規範和工作原理。
“DNS 原理與實踐 - 知乎專欄”:https://zhuanlan.zhihu.com/p/349422556 。知乎專欄上有一些關於 DNS 原理、解析過程、常見問題等方面的詳細介紹和案例分析。
10.ICMP(Internet 控制報文協議):
官方定義:是 TCP/IP 協議族的一個子協議,用於在 IP 主機、路由器之間傳遞控制訊息,如錯誤報告、網路狀態資訊等。
用途:主要用於報告 IP 資料包在傳輸過程中發生的錯誤,以及進行網路診斷和控制。例如,當 IP 資料包無法到達目的地、TTL(生存時間)超時、資料包引數錯誤等情況發生時,路由器或目的主機就會傳送 ICMP 報文給源主機,告知錯誤資訊。此外,ICMP 還可以用於一些網路探測工具,如 Ping 和 Traceroute。
資料結構:ICMP 報文由頭部和資料部分組成。頭部包含型別、程式碼、校驗和等欄位,用於標識報文的型別和具體的錯誤資訊;資料部分則根據不同的型別和程式碼,可能包含一些額外的資訊,如 IP 資料包的首部等。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc792.txt 。RFC 792 是 ICMP 協議的官方標準文件,對 ICMP 的報文格式、型別、程式碼、處理規則等進行了詳細的定義。
“ICMP 協議詳解 - 51CTO 部落格”:https://blog.51cto.com/u_15077562/2860473 。51CTO 部落格上的這篇文章對 ICMP 協議的原理、工作過程、常見應用等進行了詳細的講解和分析。
11.ARP(地址解析協議):
官方定義:是將 IP 地址對映到實體地址(MAC 地址)的一種協議,在乙太網等區域網中使用。
用途:在區域網中,當一臺主機想要向另一臺主機傳送資料時,需要知道對方的 MAC 地址。ARP 協議就是用於在已知對方 IP 地址的情況下,獲取對方的 MAC 地址。例如,主機 A 想要向主機 B 傳送資料,但是隻知道主機 B 的 IP 地址,此時主機 A 會傳送一個 ARP 請求廣播,詢問網路中誰的 IP 地址是主機 B 的 IP 地址,主機 B 收到請求後會回覆自己的 MAC 地址,這樣主機 A 就可以使用該 MAC 地址向主機 B 傳送資料。
資料結構:ARP 報文分為請求報文和響應報文兩種。報文包含硬體型別(如乙太網)、協議型別(如 IP)、硬體地址長度、協議地址長度、操作型別(請求或響應)、傳送方的 MAC 地址、傳送方的 IP 地址、目標的 MAC 地址(請求時未知,響應時填寫)、目標的 IP 地址等欄位。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc826.txt 。RFC 826 是 ARP 協議的標準文件,詳細規定了 ARP 報文的格式、操作流程等。
“ARP 協議原理與實戰 - 騰訊雲開發者社群”:https://cloud.tencent.com/developer/article/1773018 。騰訊雲開發者社群的這篇文章結合實際案例,詳細介紹了 ARP 協議的工作原理、ARP 欺騙等相關知識。
12.RARP(逆向地址解析協議)
官方定義:與 ARP 協議相反,RARP 是將實體地址(MAC 地址)對映到 IP 地址的一種協議。
用途:主要用於無盤工作站等裝置在啟動時獲取自己的 IP 地址。因為無盤工作站沒有硬碟,無法儲存 IP 地址等配置資訊,所以在啟動時需要透過 RARP 協議向 RARP 伺服器請求自己的 IP 地址,RARP 伺服器根據其 MAC 地址查詢對應的 IP 地址並返回給無盤工作站。
資料結構:RARP 報文的格式與 ARP 報文類似,包含硬體型別、協議型別、硬體地址長度、協議地址長度、操作型別(RARP 的操作型別與 ARP 不同)、傳送方的 MAC 地址、目標的 IP 地址(請求時未知,響應時填寫)等欄位。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc903.txt 。RFC 903 是 RARP 協議的官方定義文件。
“RARP 協議的工作原理及應用場景 - CSDN 部落格”:https://blog.csdn.net/qq_36330643/article/details/79108807 。CSDN 部落格上的這篇文章對 RARP 協議的原理、應用場景等進行了介紹。
13.IGMP(Internet 組管理協議):
官方定義:是 Internet 協議家族中的一個組播協議,執行在主機和組播路由器之間,用於管理 IP 組播通訊。
用途:在 IP 組播中,多個接收者可以同時接收來自一個傳送者的資料包。IGMP 協議用於主機加入或離開組播組,以及組播路由器管理組播組成員關係。例如,當一臺主機想要接收某個組播組的資料包時,它會向本地的組播路由器傳送 IGMP 加入訊息,組播路由器收到訊息後,會將該主機加入到相應的組播組中,並在後續的組播資料傳輸中,將資料包轉發給該組的成員。
資料結構:IGMP 報文包含版本號、型別、校驗和、組地址等欄位。型別欄位用於表示報文的型別,如成員查詢、成員報告、離開組等;組地址欄位則表示組播組的 IP 地址。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc1112.txt 。RFC 1112 是 IGMP 協議的標準文件,詳細描述了 IGMP 的協議規範和操作流程。
“IGMP 協議詳解 - 簡書”:https://www.jianshu.com/p/677c6d89763c 。簡書上的這篇文章對 IGMP 協議的基本概念、工作原理、報文格式等進行了詳細的解讀。
14.SNMP(簡單網路管理協議):
官方定義:是 TCP/IP 協議中的一部分,為本地和遠端的網路裝置管理提供了一個標準化途徑,是分散式環境中的集中化管理的重要組成部分。
用途:用於網路管理員對網路中的裝置進行監控和管理,如獲取裝置的狀態資訊、配置裝置引數、接收裝置的告警資訊等。例如,網路管理員可以透過 SNMP 協議獲取路由器的介面狀態、CPU 利用率、記憶體使用情況等資訊,以便及時發現和解決網路中的問題。
資料結構:SNMP 協議使用管理資訊庫(MIB)來定義被管理裝置的資訊結構,SNMP 報文包含版本號、團體名、PDU(協議資料單元)等欄位。PDU 又分為 GetRequest、GetNextRequest、SetRequest、GetResponse、Trap 等型別,分別用於獲取資訊、獲取下一個資訊、設定資訊、響應請求、傳送告警等操作。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc1157.txt 。RFC 1157 是 SNMP 協議的第一個版本的標準文件,後續還有 RFC 1901、RFC 1905 等對其進行了更新和擴充套件。
“SNMP 協議入門教程 - 華為技術支援”:https://support.huawei.com/enterprise/zh/doc/EDOC1100057476 。華為技術支援網站上的這篇教程對 SNMP 協議的基本概念、工作原理、配置方法等進行了詳細的介紹,適合初學者學習。
15.TLS/SSL(傳輸層安全協議 / 安全套接層協議):
官方定義:是為網路連線提供加密和身份認證的安全協議,位於傳輸層和應用層之間。
用途:用於保護在網路上傳輸的敏感資訊,如信用卡號、密碼、個人資訊等,防止被竊聽、篡改和偽造。例如,在進行網上銀行轉賬、登入電子郵箱等操作時,瀏覽器和伺服器之間會使用 TLS/SSL 協議進行加密通訊,確保資料的安全性。
資料結構:TLS/SSL 協議的握手過程涉及多個報文的互動,包括 Client Hello、Server Hello、Certificate、Server Key Exchange、Client Key Exchange、Change Cipher Spec、Finished 等報文。這些報文包含了協議版本號、加密演算法、隨機數、證書等資訊,用於建立安全連線和協商加密引數。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc5246.txt 。RFC 5246 是 TLS 協議的標準文件,詳細描述了 TLS 協議的握手過程、加密演算法、報文格式等。
“SSL/TLS 協議詳解 - 騰訊雲開發者社群”:https://cloud.tencent.com/developer/article/1427057 。騰訊雲開發者社群的這篇文章對 SSL/TLS 協議的原理、工作流程、安全機制等進行了深入的分析和講解。
16.DHCP(動態主機配置協議):
官方定義:是在 TCP/IP 網路上使客戶機獲得配置資訊的協議,它基於 BootP 協議,並在其基礎上新增了自動分配可用網路地址等功能。
用途:用於自動為網路中的主機分配 IP 地址、子網掩碼、預設閘道器、DNS 伺服器等網路配置資訊,減少網路管理員的手動配置工作量,提高網路配置的效率和準確性。例如,當一臺新的計算機接入網路時,它會向 DHCP 伺服器傳送請求,DHCP 伺服器會根據其配置策略為該計算機分配一個可用的 IP 地址,並將其他相關的網路配置資訊一起返回給計算機,使計算機能夠快速地接入網路。
資料結構:DHCP 報文包含訊息型別(如 Discover、Offer、Request、ACK 等)、客戶端 MAC 地址、伺服器 IP 地址、分配的 IP 地址、子網掩碼、預設閘道器、租約時間等欄位。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc2131.txt 。RFC 2131 是 DHCP 協議的標準文件,對 DHCP 的工作原理、報文格式、配置選項等進行了詳細的規定。
“DHCP 協議原理與配置 - 51CTO 學院”:https://edu.51cto.com/course/13438.html 。51CTO 學院的這門課程對 DHCP 協議的原理、配置方法、常見問題等進行了系統的講解和演示。
17.NAT(網路地址轉換協議):
官方定義:是一種將私有(保留)地址轉換為合法 IP 地址的技術,屬於接入廣域網(WAN)的技術。
用途:在 IPv4 地址資源有限的情況下,NAT 技術可以使多個內部網路裝置共享一個或多個公共 IP 地址訪問網際網路,提高 IP 地址的利用率,同時也可以隱藏內部網路的結構和 IP 地址,增強網路的安全性。例如,一個公司內部的區域網中,所有的計算機都使用私有 IP 地址,當這些計算機需要訪問網際網路時,NAT 裝置會將它們的私有 IP 地址轉換為一個公共 IP 地址,然後與網際網路上的伺服器進行通訊。
資料結構:NAT 裝置會維護一個地址轉換表,記錄內部私有 IP 地址與外部公共 IP 地址的對映關係。當內部裝置傳送資料包時,NAT 裝置會將資料包的源 IP 地址替換為公共 IP 地址,並記錄下轉換資訊;當收到外部伺服器返回的資料包時,NAT 裝置會根據地址轉換表將目的 IP 地址替換為內部裝置的私有 IP 地址,然後將資料包轉發給內部裝置。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc3022.txt 。RFC 3022 是 NAT 協議的相關標準文件,對 NAT 的技術原理、實現方式、應用場景等進行了描述。
“NAT 技術原理與實戰 - 阿里雲開發者社群”:https://developer.aliyun.com/article/747237 。阿里雲開發者社群的這篇文章結合實際案例,詳細介紹了 NAT 技術的原理、配置方法、常見問題及解決方案。
18.BOOTP(載入程式協議):
官方定義:是一種用於無盤工作站從伺服器獲取啟動資訊的網路協議。
用途:主要用於無盤工作站在啟動時從伺服器獲取 IP 地址、子網掩碼、預設閘道器、伺服器 IP 地址等啟動資訊,以便能夠正常啟動並連線到網路。例如,在一些企業網路環境中,為了降低成本和管理難度,可能會使用無盤工作站,這些工作站在啟動時需要透過 BOOTP 協議從伺服器獲取啟動資訊,然後才能正常執行。
資料結構:BOOTP 報文包含操作碼、硬體型別、硬體地址長度、跳數、事務 ID、秒數、未使用、客戶端 IP 地址、你的 IP 地址、伺服器 IP 地址、閘道器 IP 地址、客戶端硬體地址、伺服器主機名、啟動檔名等欄位。
學習網站及網址:
“RFC 文件”:https://www.rfc-editor.org/rfc/rfc951.txt 。RFC 951 是 BOOTP 協議的官方定義文件。
“BOOTP 協議詳解 - CSDN 部落格”:https://blog.csdn.net/qq_34801169/article/details/80555827 。CSDN 部落格上的這篇文章對 BOOTP 協議的原理、報文格式、應用場景等進行了介紹

相關文章