1. 程式人生 > >幾種常用的網絡協議【轉】

幾種常用的網絡協議【轉】

分開 會話管理 而且 sdl cmp 間隔 時間不一致 can com

來源【在路上】園友:https://www.cnblogs.com/liyanbin/p/5951869.html

一、OSI模型

名稱 層次 功能

物理層 1 實現計算機系統與網絡間的物理連接

數據鏈路層 2 進行數據打包與解包,形成信息幀

網絡層 3 提供數據通過的路由

傳輸層 4 提供傳輸順序信息與響應

會話層 5 建立和中止連接

表示層 6 數據轉換、確認數據格式

應用層 7 提供用戶程序接口

二、協議層次

網絡中常用協議以及層次關系

技術分享圖片

1、 進程/應用程的協議

平時最廣泛的協議,這一層的每個協議都由客程序和服務程序兩部分組成。程序通過服務器與客戶機交互來工作。常見協議有:Telnet、FTP、SMTP、HTTP、DNS等。

2、 主機—主機層協議

建立並且維護連接,用於保證主機間數據傳輸的安全性。這一層主要有兩個協議:

TCP(Transmission Control Protocol:傳輸控制協議;面向連接,可靠傳輸

UDP(User Datagram Protocol):用戶數據報協議;面向無連接,不可靠傳輸

3、 Internet層協議

負責數據的傳輸,在不同網絡和系統間尋找路由,分段和重組數據報文,另外還有設備尋址。些層包括如下協議:

IP(Internet Protocol):Internet協議,負責TCP/IP主機間提供數據報服務,進行數據封裝並產生協議頭,TCP與UDP協議的基礎。

ICMP(Internet Control Message Protocol):Internet控制報文協議。ICMP協議其實是IP協議的的附屬協議,IP協議用它來與其它主機或路由器交換錯誤報文和其它的一些網絡情況,在ICMP包中攜帶了控制信息和故障恢復信息。

ARP(Address Resolution Protocol)協議:地址解析協議。

RARP(Reverse Address Resolution Protocol):逆向地址解析協議。

OSI 全稱(Open System Interconnection)網絡的OSI七層結構2008年03月28日 星期五 14:18(1)物理層——Physical
這是整個OSI參考模型的最低層,它的任務就是提供網絡的物理連接。所以,物理層是建立在物理介質上(而不是邏輯上的協議和會話),它提供的是機械和電氣接口。主要包括電纜、物理端口和附屬設備,如雙絞線、同軸電纜、接線設備(如網卡等)、RJ-45接口、串口和並口等在網絡中都是工作在這個層次的。
物理層提供的服務包括:物理連接、物理服務數據單元順序化(接收物理實體收到的比特順序,與發送物理實體所發送的比特順序相同)和數據電路標識。

(2)數據鏈路層——DataLink
數據鏈路層是建立在物理傳輸能力的基礎上,以幀為單位傳輸數據,它的主要任務就是進行數據封裝和數據鏈接的建立。封裝的數據信息中,地址段含有發送節點和接收節點的地址,控制段用來表示數據連接幀的類型,數據段包含實際要傳輸的數據,差錯控制段用來檢測傳輸中幀出現的錯誤。
數據鏈路層可使用的協議有SLIP、PPP、X.25和幀中繼等。常見的集線器和低檔的交換機網絡設備都是工作在這個層次上,Modem之類的撥號設備也是。工作在這個層次上的交換機俗稱“第二層交換機”。
具體講,數據鏈路層的功能包括:數據鏈路連接的建立與釋放、構成數據鏈路數據單元、數據鏈路連接的分裂、定界與同步、順序和流量控制和差錯的檢測和恢復等方面。

(3)網絡層——Network
網絡層屬於OSI中的較高層次了,從它的名字可以看出,它解決的是網絡與網絡之間,即網際的通信問題,而不是同一網段內部的事。網絡層的主要功能即是提供路由,即選擇到達目標主機的最佳路徑,並沿該路徑傳送數據包。除此之外,網絡層還要能夠消除網絡擁擠,具有流量控制和擁擠控制的能力。網絡邊界中的路由器就工作在這個層次上,現在較高檔的交換機也可直接工作在這個層次上,因此它們也提供了路由功能,俗稱“第三層交換機”。
網絡層的功能包括:建立和拆除網絡連接、路徑選擇和中繼、網絡連接多路復用、分段和組塊、服務選擇和流量控制。

(4)傳輸層——Transport
傳輸層解決的是數據在網絡之間的傳輸質量問題,它屬於較高層次。傳輸層用於提高網絡層服務質量,提供可靠的端到端的數據傳輸,如常說的QoS就是這一層的主要服務。這一層主要涉及的是網絡傳輸協議,它提供的是一套網絡數據傳輸標準,如TCP協議。
傳輸層的功能包括:映像傳輸地址到網絡地址、多路復用與分割、傳輸連接的建立與釋放、分段與重新組裝、組塊與分塊。
根據傳輸層所提供服務的主要性質,傳輸層服務可分為以下三大類:
A類:網絡連接具有可接受的差錯率和可接受的故障通知率(網絡連接斷開和復位發生的比率),A類服務是可靠的網絡服務,一般指虛電路服務。
C類:網絡連接具有不可接受的差錯率,C類的服務質量最差,提供數據報服務或無線電分組交換網均屬此類。
B類:網絡連接具有可接受的差錯率和不可接受的故障通知率,B類服務介於A類與C類之間,在廣域網和互聯網多是提供B類服務。

網絡服務質量的劃分是以用戶要求為依據的。若用戶要求比較高,則一個網絡可能歸於C型,反之,則一個網絡可能歸於B型甚至A型。例如,對於某個電子郵件系統來說,每周丟失一個分組的網絡也許可算作A型;而同一個網絡對銀行系統來說則只能算作C型了。

(5)會話層——Senssion
會話層利用傳輸層來提供會話服務,會話可能是一個用戶通過網絡登錄到一個主機,或一個正在建立的用於傳輸文件的會話。
會話層的功能主要有:會話連接到傳輸連接的映射、數據傳送、會話連接的恢復和釋放、會話管理、令牌管理和活動管理。

(6)表示層——Presentation
表示層用於數據管理的表示方式,如用於文本文件的ASCII和EBCDIC,用於表示數字的1S或2S補碼表示形式。如果通信雙方用不同的數據表示方法,他們就不能互相理解。表示層就是用於屏蔽這種不同之處。
表示層的功能主要有:數據語法轉換、語法表示、表示連接管理、數據加密和數據壓縮。

(7)應用層——Application
這是OSI參考模型的最高層,它解決的也是最高層次,即程序應用過程中的問題,它直接面對用戶的具體應用。應用層包含用戶應用程序執行通信任務所需要的協議和功能,如電子郵件和文件傳輸等,在這一層中TCP/IP協議中的FTP、SMTP、POP等協議得到了充分應用。
SNMP(Simple Network Management Protocol,簡單網絡管理協議)的前身是簡單網關監控協議(SGMP),用來對通信線路進行管理。隨後,人們對SGMP進行了很大的修改,特別是加入了符合Internet定義的SMI和MIB:體系結構,改進後的協議就是著名的SNMP。SNMP的目標是管理互聯網Internet上眾多廠家生產的軟硬件平臺,因此SNMP受Internet標準網絡管理框架的影響也很大。現在SNMP已經出到第三個版本的協議,其功能較以前已經大大地加強和改進了。

SNMP的體系結構是圍繞著以下四個概念和目標進行設計的:保持管理代理(agent)的軟件成本盡可能低;最大限度地保持遠程管理的功能,以便充分利用Internet的網絡資源;體系結構必須有擴充的余地;保持SNMP的獨立性,不依賴於具體的計算機、網關和網絡傳輸協議。在最近的改進中,又加入了保證SNMP體系本身安全性的目標。
OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。與RIP相對,OSPF是鏈路狀態路由協議,而RIP是距離向量路由協議。
RIP(Routing information Protocol)是應用較早、使用較普遍的內部網關協議(Interior Gateway Protocol,簡稱IGP),適用於小型同類網絡,是典型的距離向量(distance-vector)協議。文檔見RFC1058、RFC1723。
RIP通過廣播UDP報文來交換路由信息,每30秒發送一次路由信息更新。RIP提供跳躍計數(hop count)作為尺度來衡量路由距離,跳躍計數是一個包到達目標所必須經過的路由器的數目。如果到相同目標有二個不等速或不同帶寬的路由器,但跳躍計數相同,則RIP認為兩個路由是等距離的。RIP最多支持的跳數為15,即在源和目的網間所要經過的最多路由器的數目為15,跳數16表示不可達
CSMA/CD(Carrier Sense Multiple Access/Collision Detect)
即載波監聽多路訪問/沖突檢測方法
一、基礎篇:
是一種爭用型的介質訪問控制協議。它起源於美國夏威夷大學開發的ALOHA網所采用的爭用型協議,並進行了改進,使之具有比ALOHA協議更高的介質利用率。
CSMA/CD控制方式的優點是:
原理比較簡單,技術上易實現,網絡中各工作站處於平等地位 ,不需集中控制,不提供優先級控制。但在網絡負載增大時,發送時間增長,發送效率急劇下降。
CSMA/CD應用在 ISO7層裏的數據鏈路層
它的工作原理是: 發送數據前 先監聽信道是否空閑 ,若空閑 則立即發送數據.在發送數據時,邊發送邊繼續監聽.若監聽到沖突,則立即停止發送數據.等待一段隨即時間,再重新嘗試.
二、進階篇:
CSMA/CD控制規程:
控制規程的核心問題:解決在公共通道上以廣播方式傳送數據中可能出現的問題(主要是數據碰撞問題)
控制過程包含四個處理內容:偵聽、發送、檢測、沖突處理
(1) 偵聽:
通過專門的檢測機構,在站點準備發送前先偵聽一下總線上是否有數據正在傳送(線路是否忙)?
若“忙”則進入後述的“退避”處理程序,進而進一步反復進行偵聽工作。
若“閑”,則一定算法原則(“X堅持”算法)決定如何發送。
(2) 發送:
當確定要發送後,通過發送機構,向總線發送數據。
(3) 檢測:
數據發送後,也可能發生數據碰撞。因此,要對數據邊發送,邊接收,以判斷是否沖突了。(參5P127圖)
(4)沖突處理:
當確認發生沖突後,進入沖突處理程序。有兩種沖突情況:
① 偵聽中發現線路忙
② 發送過程中發現數據碰撞
① 若在偵聽中發現線路忙,則等待一個延時後再次偵聽,若仍然忙,則繼續延遲等待,一直到可以發送為止。每次延時的時間不一致,由退避算法確定延時值。
② 若發送過程中發現數據碰撞,先發送阻塞信息,強化沖突,再進行偵聽工作,以待下次重新發送(方法同①)

 面向比特的協議中最有代表性的是IBM的同步數據鏈路控制規程SDLC(Synchronous Data Link Control),國際標準化組織ISO (International Standards Organization)的高級數據鏈路控制規程HDLC(High Level Data Link Control),美國國家標準協會(American National Standar ds Institute )的先進數據通信規程ADCCP ( Advanced Data Communications Control Procedure)。這些協議的特點是所傳輸的一幀數據可以是任意位,而且它是靠約定的位組合模式,而不是靠特定字符來標誌幀的開始和結束,故稱"面向比特"的協議。


  二.幀信息的分段

  SDLC/HDLC的一幀信息包括以下幾個場(Field),所有場都是從最低有效位開始傳送。
  1. SDLC/HDLC標誌字符
  SDLC/HDLC協議規定,所有信息傳輸必須以一個標誌字符開始,且以同一個字符結束。這個標誌字符是01111110,稱標誌場(F)。從開始標誌到結束標誌之間構成一個完整的信息單位,稱為一幀(Frame)。所有的信息是以幀的形式傳輸的,而標誌字符提供了每一幀的邊界。接收端可以通過搜索"01111110"來探知幀的開頭和結束,以此建立幀同步。
  2.地址場和控制場
  在標誌場之後,可以有一個地址場A(Address)和一個控制場C(Contro1)。地址場用來規定與之通信的次站的地址。控制場可規定若幹個命令。SDLC規定A場和C場的寬度為8位。HDLC則允許A場可為任意長度,C場為8位或16位。接收方必須檢查每個地址字節的第一位,如果為"0",則後邊跟著另一個地址字節;若為"1",則該字節就是最後一個地址字節。同理,如果控制場第一個字節的第一位為"0",則還有第二個控制場字節,否則就只有一個字節。
  3.信息場
  跟在控制場之後的是信息場I(Information)。I場包含有要傳送的數據,亦成為數據場。並不是每一幀都必須有信息場。即信息場可以為0,當它為0時,則這一幀主要是控制命令。
  4.幀校驗場
  緊跟在信息場之後的是兩字節的幀校驗場,幀校驗場稱為FC(Frame Check)場, 校驗序列FCS(Frame check Sequence)。SDLC/HDLC均采用16位循環冗余校驗碼CRC (Cyclic Redundancy Code),其生成多項式為CCITT多項式X^16+X^12+X^5+1。除了標誌場和自動插入的"0"位外,所有的信息都參加CRC計算。 CRC的編碼器在發送碼組時為每一碼組加入冗余的監督碼位。接收時譯碼器可對在糾錯範圍內的錯碼進行糾正,對在校錯範 圍內的錯碼進行校驗,但不能糾正。超出校、糾錯範圍之外的多位錯誤將不可能被校驗發現 。

  三.實際應用時的兩個技術問題

   1."0"位插入/刪除技術
   如上所述,SDLC/HDLC協議規定以01111110為標誌字節,但在信息場中也完全有可能有同一種模式的字符,為了把它與標誌區分開來,所以采取了"0"位插入和刪除技術。具體作法是發送端在發送所有信息(除標誌字節外)時,只要遇到連續5個"1",就自動插入一個"0"當接收端在接收數據時(除標誌字節)如果連續接收到5個"1",就自動將其後的一個"0"刪除,以恢復信息的原有形式。這種"0"位的插入和刪除過程是由硬件自動完成的,比上述面向字符的"數據透明"容易實現。
   2. SDLC/HDLC異常結束
   若在發送過程中出現錯誤,則SDLC/HDLC協議用異常結束(Abort)字符,或稱失效序列使本幀作廢。在HDLC規程中7個連續的"1"被作為失效字符,而在SDLC中失效字符是8個連續的"1"。當然在失效序列中不使用"0"位插入/刪除技術。
   SDLC/HDLC協議規定,在一幀之內不允許出現數據間隔。在兩幀信息之間,發送器可以連續輸出標誌字符序列,也可以輸出連續的高電平,它被稱為空閑(Idle)信號。

幾種常用的網絡協議【轉】