計算機系統和其他技術設備用來與其他系統和設備通信或與其他系統和設備來回傳遞信息的一組規則稱為通信協議。協議定義了正在傳輸的數據的格式和語法。這可以采取在實際操作之前發送特殊命令的形式數據,也可以是特定類...
計算機系統和其他技術設備用來與其他系統和設備通信或與其他系統和設備來回傳遞信息的一組規則稱為通信協議。協議定義了正在傳輸的數據的格式和語法。這可以采取在實際操作之前發送特殊命令的形式數據,也可以是特定類型的整個序列化對象的傳輸。協議可以通過軟件實現,也可以內置到硬件和嵌入式系統中。目前使用的通信協議有很多,其中一些是出于安全目的的專有協議,有些是用于開發目的的開源協議

協議定義正在傳輸的數據的格式和語法建立一種系統既能理解又能遵循的語法。雖然協議的實際語義可能有所不同,但大多數都是相似的,因為它們基于相同的基本原理和硬件限制。一旦協議建立,所有理解該協議的系統都能夠與其他此類系統一起發送和接收數據,這樣,通信協議就非常類似于開發一種通用語言,用于向懂該語言的其他人傳遞信息

通信協議不是一種排他性機制,通常在系統或框架內分層。硬件協議經常用于確定兩個設備的操作參數這些協議可以建立常數,如傳輸速率、數據塊的最大大小、加密和壓縮方法。雖然它們非常有效,但硬件協議主要處理在兩個設備之間建立物理鏈路,而不是實際解釋數據或其他請求軟件協議可以是非常靈活的,可以做的不僅僅是傳輸任意數據。一旦兩個軟件實現了一個通信協議,它們可以實現任意數量的算法或功能。最常見的是錯誤檢測和糾錯。錯誤檢測和糾錯是通過特定協議傳輸數據時,能夠對錯誤進行冗余檢查。當設備之間的物理線路不可靠或有可能損壞信號的大量噪聲時,這是必要的。已經開發了幾種算法,可以幫助檢查和恢復已發送數據的完整性協議不是一種排他性的機制,通常在系統或框架中分層網絡協議幾乎總是分層的。這意味著分配了不同的協議來處理不同的任務。一些協議提供對操作系統中資源的訪問,而另一些可能只是將信息盲目地轉發到另一個節點。通信協議的分層是Internet允許它可以與許多不同類型的計算機和設備一起工作。