Protocol(一)[概述]
Protocol-概述
- 1.協議
- 2.協議的特點
- 3.協議釋義
- 4.典型協議
- 5.分層模型
- 1.網絡分層架構
- 2.層與協議
 
- 6.各層功能
- 1.鏈路層
- 2.網絡層
- 3.傳輸層
- 4.應用層
 
- 7.通信過程
1.協議
協議,網絡協議的簡稱,網絡協議是通信計算機雙方必須共同遵從的一組約定,是為了使數據在網絡上從源到達目的,網絡通信的參與方必須遵循相同的規則,這套規則稱為協議(protocol),它最終體現為在網絡上傳輸的數據包的格式,其三要素是:語法、語義、時序。協議往往分成幾個層次進行定義,分層定義是為了使某一層協議的改變不影響其他層次的協議。
2.協議的特點
3.協議釋義
從應用的角度出發,協議可理解為“規則”,是數據傳輸和數據的解釋的規則。假設,A、B雙方欲傳輸文件。規定:
 第一次,傳輸文件名,接收方接收到文件名,應答OK給傳輸方;
 第二次,發送文件的尺寸,接收方接收到該數據再次應答一個OK;
 第三次,傳輸文件內容。同樣,接收方接收數據完成后應答OK表示文件內容接收成功。
 由此,無論A、B之間傳遞何種文件,都是通過三次數據傳輸來完成。A、B之間形成了一個最簡單的數據傳輸規則。雙方都按此規則發送、接收數據。A、B之間達成的這個相互遵守的規則即為協議。
 這種僅在A、B之間被遵守的協議稱之為原始協議。
 當此協議被更多的人采用,不斷的增加、改進、維護、完善。最終形成一個穩定的、完整的文件傳輸協議,被廣泛應用于各種文件傳輸過程中。該協議就成為一個標準協議。最早的ftp協議就是由此衍生而來。
4.典型協議
| 應用層 | 常見的協議有HTTP協議,FTP協議。 | 
| 傳輸層 | 常見協議有TCP/UDP協議。 | 
| 網絡層 | 常見協議有IP協議、ICMP協議、IGMP協議。 | 
| 鏈路層 | 常見協議有ARP協議、RARP協議。 | 
| TCP | TCP傳輸控制協議(Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。 | 
| UDP | UDP用戶數據報協議(User Datagram Protocol)是OSI參考模型中一種無連接的傳輸層協議,提供面向事務的簡單、不可靠的信息傳送服務。 | 
| HTTP | HTTP超文本傳輸協議(Hyper Text Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議 | 
| FTP | FTP文件傳輸協議(File Transfer Protocol) | 
| IP | IP協議是因特網互聯協議(Internet Protocol) | 
| ICMP | ICMP協議是Internet控制報文協議(Internet Control Message Protocol)它是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間傳遞控制消息。 | 
| IGMP | IGMP協議是 Internet 組管理協議(Internet Group Management Protocol),是因特網協議家族中的一個組播協議。該協議運行在主機和組播路由器之間 | 
| ARP | ARP協議是正向地址解析協議(Address Resolution Protocol),通過已知的IP,尋找對應主機的MAC地址 | 
| RARP | RARP是反向地址轉換協議,通過MAC地址確定IP地址 | 
5.分層模型
1.網絡分層架構
為了減少協議設計的復雜性,大多數網絡模型均采用分層的方式來組織。每一層都有自己的功能,就像建筑物一樣,每一層都靠下一層支持。每一層利用下一層提供的服務來為上一層提供服務,本層服務的實現細節對上層屏蔽。
 
 越下面的層,越靠近硬件;越上面的層,越靠近用戶。
業內普遍的分層方式有兩種。OSI七層模型 和TCP/IP四層模型。
 OSI七層模型:物、數、網、傳、會、表、應
 TCP/IP四層模型:鏈、網、傳、應
| 1 | 物理層 | 是計算機網絡OSI模型中最低的一層,主要定義物理設備標準,如網線的接口類型、光纖的接口類型、各種傳輸介質的傳輸速率等。它的主要作用是傳輸比特流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地后再轉化為1、0,也就是我們常說的數模轉換與模數轉換),物理層的數據叫做比特 | 
| 2 | 數據鏈路層 | 定義了如何讓格式化數據以幀為單位進行傳輸,以及如何讓控制對物理介質的訪問。這一層通常還提供錯誤檢測和糾正,以確保數據的可靠傳輸。如:串口通信中使用到的115200、8、N、1 | 
| 3 | 網絡層 | 在位于不同地理位置的網絡中的兩個主機系統之間提供連接和路徑選擇。Internet的發展使得從世界各站點訪問信息的用戶數大大增加,而網絡層正是管理這種連接的層。 | 
| 4 | 傳輸層 | 定義了一些傳輸數據的協議和端口號(WWW端口80等),如:TCP(傳輸控制協議,傳輸效率低,可靠性強,用于傳輸可靠性要求高,數據量大的數據),UDP(用戶數據報協議,與TCP特性恰恰相反,用于傳輸可靠性要求不高,數據量小的數據,如QQ聊天數據就是通過這種方式傳輸的)。 主要是將從下層接收的數據進行分段和傳輸,到達目的地址后再進行重組。常常把傳輸層的數據叫做段。 | 
| 5 | 會話層 | 通過傳輸層(端口號:傳輸端口與接收端口)建立數據傳輸的通路。主要在系統之間發起會話或者接受會話請求(設備之間需要互相認識可以是IP也可以是MAC或者是主機名)。 | 
| 6 | 表示層 | 可確保一個系統的應用層所發送的信息可以被另一個系統的應用層讀取。例如,PC程序與另一臺計算機進行通信,其中一臺計算機使用擴展二一十進制交換碼(EBCDIC),而另一臺則使用美國信息交換標準碼(ASCII)來表示相同的字符。如有必要,表示層會通過使用一種通格式來實現多種數據格式之間的轉換。 | 
| 7 | 應用層 | 是最靠近用戶的OSI層。這一層為用戶的應用程序(例如電子郵件、文件傳輸和終端仿真)提供網絡服務 | 
2.層與協議
網絡的每一層,都定義了很多協議。這些協議的總稱,叫“TCP/IP協議”。TCP/IP協議是一個大家族,不僅僅只有TCP和IP協議,它還包括其它的協議,如下圖:
 
6.各層功能
1.鏈路層
**以太網規定,連入網絡的所有設備,都必須具有“網卡”接口。數據包必須是從一塊網卡,傳送到另一塊網卡。**通過網卡能夠使不同的計算機之間連接,從而完成數據通信等功能。網卡的地址——MAC地址,就是數據包的物理發送地址和物理接收地址。
2.網絡層
網絡層的作用是引進一套新的地址,使得我們能夠區分不同的計算機是否屬于同一個子網絡。這套地址就叫做“網絡地址”,就是我們平時所說的IP地址。這個IP地址好比我們的手機號碼,通過手機號碼可以得到用戶所在的歸屬地。
 網絡地址幫助我們確定計算機所在的子網絡,MAC 地址則將數據包送到該子網絡中的目標網卡。網絡層協議包含的主要信息是源IP和目的IP。
 于是,“網絡層”出現以后,每臺計算機有了兩種地址,一種是 MAC 地址,另一種是網絡地址。兩種地址之間沒有任何聯系,MAC 地址是綁定在網卡上的,網絡地址則是管理員分配的,它們只是隨機組合在一起。
 網絡地址幫助我們確定計算機所在的子網絡,MAC 地址則將數據包送到該子網絡中的目標網卡。因此,從邏輯上可以推斷,必定是先處理網絡地址,然后再處理 MAC 地址。
3.傳輸層
當一邊聊QQ,一邊聊微信,當一個數據包從互聯網上發來的時候,怎么知道它是來自QQ的內容,還是來自微信的內容?
 故而,還需要一個參數,表示這個數據包到底供哪個程序(進程)使用。這個參數就叫做“端口”(port),它其實是每一個使用網卡的程序的編號。每個數據包都發到主機的特定端口,所以不同的程序就能取到自己所需要的數據。
 端口特點:
 對于同一個端口,在不同系統中對應著不同的進程
 對于同一個系統,一個端口只能被一個進程擁有
4.應用層
應用程序收到“傳輸層”的數據,接下來就要進行解讀。由于互聯網是開放架構,數據來源五花八門,必須事先規定好格式,否則根本無法解讀。“應用層”的作用,就是規定應用程序的數據格式。
7.通信過程
總結
以上是生活随笔為你收集整理的Protocol(一)[概述]的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【牛客网】马三来刷题之最大差值
- 下一篇: Protocol buffer配置-生成
