網(wǎng)絡(luò)協(xié)議工程之協(xié)議設(shè)計概述_第1頁
網(wǎng)絡(luò)協(xié)議工程之協(xié)議設(shè)計概述_第2頁
網(wǎng)絡(luò)協(xié)議工程之協(xié)議設(shè)計概述_第3頁
網(wǎng)絡(luò)協(xié)議工程之協(xié)議設(shè)計概述_第4頁
網(wǎng)絡(luò)協(xié)議工程之協(xié)議設(shè)計概述_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 第第 2 章章 協(xié)議設(shè)計協(xié)議設(shè)計(1-協(xié)議模型)協(xié)議模型)第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 2內(nèi)容提要內(nèi)容提要協(xié)議設(shè)計概述協(xié)議設(shè)計概述1協(xié)議模型協(xié)議模型2第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 3協(xié)議設(shè)計概述協(xié)議設(shè)計概述v協(xié)議設(shè)計的含義?協(xié)議設(shè)計的含義?v協(xié)議設(shè)計是是一件很困難的事情協(xié)議設(shè)計是是一件很困難的事情Example: Clayton Tunnel ProtocolExample: 藍軍與白軍作戰(zhàn)問題藍軍與白軍作戰(zhàn)問題第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 4協(xié)議例子協(xié)議例子v

2、England, 1841, William CookevTelegraph(電報)電報) instead of Optical telegraph for Railway Tunnel Protection, 節(jié)省成本(只需節(jié)省成本(只需1/10)和提高速度。)和提高速度。vPurpose: avoid that more than one train is in the tunnel at the same timevFirstly used on several lines of the Great Western Railways in England.第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(

3、1協(xié)議模型)協(xié)議模型) 5電報電報(Telegraph)v 基本原理,基本原理,1753,C.M給給Scots雜志的信中描述了一個使用雜志的信中描述了一個使用一些平行電線來通信的電子電報。一些平行電線來通信的電子電報。v 1830,英國,英國Michael Faraday和美國和美國Joseph Henry發(fā)現(xiàn)了電發(fā)現(xiàn)了電磁感應(yīng)磁感應(yīng)v 1837,William Cooke利用電流來使處在接收端磁場中的利用電流來使處在接收端磁場中的羅盤指針發(fā)生偏轉(zhuǎn),從而得到信號。羅盤指針發(fā)生偏轉(zhuǎn),從而得到信號。v 1837年年6月月12日,第一個電報系統(tǒng)的專利,日,第一個電報系統(tǒng)的專利,“五磁針信號五磁針信號

4、系統(tǒng)系統(tǒng)”。v 1842年,年,Cooke“火車可以無所畏懼地行駛,而無論其時火車可以無所畏懼地行駛,而無論其時間是否正確,也不管其是否在正確的軌道上,因為在使用間是否正確,也不管其是否在正確的軌道上,因為在使用該系統(tǒng)后,其速率總可以及時地降下來,從而避免碰撞該系統(tǒng)后,其速率總可以及時地降下來,從而避免碰撞”第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 6協(xié)議例子協(xié)議例子vEngland, 1841, William CookevTelegraph(電報)電報) instead of Optical telegraph for Railway Tunnel Protection, 節(jié)

5、省成本(只需節(jié)省成本(只需1/10)和提高速度。)和提高速度。vPurpose: avoid that more than one train is in the tunnel at the same timevFirstly used on several lines of the Great Western Railways in England.第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 7協(xié)議例子協(xié)議例子semaphores with block-interval system(空閑空閑/阻塞阻塞信號系統(tǒng)信號系統(tǒng))turn to red automatically as a

6、 train passesset to green by hand afterwardssignalmen on both ends linked by telegraphic linemalfunction of block-interval system signalled by a bellred and white flags to replace malfunctioning semaphore第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 8協(xié)議例子:報文協(xié)議例子:報文(Messages)vMessage:TT: Train in TunnelTF: Tunnel is F

7、reeTL: Has the Train left the Tunnel?第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 9協(xié)議例子:差錯控制協(xié)議例子:差錯控制vError Free Functioningtrain enters tunnel, signalman A sends TT to Btrain leaves the tunnel, B sends TF to AA sets semaphore to green by handvUnder Error Situationtrain enters tunnel, A sends TT to Bbell rings, A sh

8、ows red flag to next traintrain leaves the tunnel, B sends TF to AA shows white flag to next train第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 10協(xié)議例子:事故協(xié)議例子:事故(Accident)vOne day in August 1861 at Clayton Tunnel.train-1 enters tunnel, block-interval system fails(fails to set the signal to red), so the bell warns sign

9、alman A, thenA sends TT to B, then fetches the red flag to warn the next train.train-2 comes too fast, and could not stop in time, has already passed the green signal. Fortunately, its driver catches a glimpse of the red flag just in time as he enters the tunnel.train-3 sees the red flag and stops b

10、efore the tunnel entrance.第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 11協(xié)議例子:事故(協(xié)議例子:事故(Accident) A sends another TT to B (for train-2) B does not understand second TT(because the protocol did not account for this event so the meaning of two sbusequent TT had not been specified.) A sends TL (has the train left the

11、tunnel?)to B B sees train-1 and sends TF第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 12協(xié)議例子:事故(協(xié)議例子:事故(Accident) A thinks train-2 left the tunnel and shows white flag to train-3 train-2 had seen red flag before, is afraid and tries to return to position A After some deliberation.第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 13協(xié)議例子:事故

12、(協(xié)議例子:事故(Accident)vResult train-3 and train-2 crashed: 21 people died and 176 got injured The set of instructions given to the signalmen was incomplete, which leads to the accident第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 14協(xié)議例子:協(xié)議例子:LessonsvA historian of railway disasters(Nock, 1967 ): “One can almost hear the

13、same comment being made time after time.I could not imagine that could ever happen. Yet bitter experience showed that it could, and gradually the regulations and railway engineering practice were elaborated.”vProtocol: Use Under normal circumstances and that allowed for a safe recovery from unexpect

14、ed events.第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 15協(xié)議例子:協(xié)議例子:Lessons (Cont.)veven the most simple protocols may contain errorsvprotocols must be fully verified before they are put in operationtechniques to structure, design, analyse and verify protocols are necessary第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 16一個簡單的網(wǎng)絡(luò)協(xié)議一個簡單的

15、網(wǎng)絡(luò)協(xié)議(藍軍與白軍藍軍與白軍)v謝希仁教授謝希仁教授計算機網(wǎng)絡(luò)計算機網(wǎng)絡(luò)上的一道作業(yè)題:上的一道作業(yè)題:占據(jù)兩個山頂?shù)乃{軍與駐扎在這兩個山之間的山谷的占據(jù)兩個山頂?shù)乃{軍與駐扎在這兩個山之間的山谷的白軍作戰(zhàn)。其力量對比是:一個山頂上的藍軍打不過白軍作戰(zhàn)。其力量對比是:一個山頂上的藍軍打不過白軍,但兩個山頂?shù)乃{軍協(xié)同作戰(zhàn)則可戰(zhàn)勝白軍。一白軍,但兩個山頂?shù)乃{軍協(xié)同作戰(zhàn)則可戰(zhàn)勝白軍。一個山頂上的藍軍擬于次日正午向白軍發(fā)起攻擊。于是個山頂上的藍軍擬于次日正午向白軍發(fā)起攻擊。于是發(fā)送電文給另一山頂上的友軍。但通信線路很不好,發(fā)送電文給另一山頂上的友軍。但通信線路很不好,電文出錯或丟失的可能性較大。因此要

16、求收到電文的電文出錯或丟失的可能性較大。因此要求收到電文的友軍必須送回一個確認電文。但此確認電文也可能出友軍必須送回一個確認電文。但此確認電文也可能出錯或丟失。錯或丟失。試問能否設(shè)計出一種協(xié)議使得藍軍能夠?qū)崿F(xiàn)協(xié)同作戰(zhàn)試問能否設(shè)計出一種協(xié)議使得藍軍能夠?qū)崿F(xiàn)協(xié)同作戰(zhàn)因而一定因而一定(即即100 %)取得勝利?取得勝利?第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 17如果情況如上所述,次日藍軍 1 和藍軍 2 的協(xié)同進攻必定獲勝。但情況并非如此簡單。因為所發(fā)的報文可能會丟失。丟失!白軍藍軍 1藍軍 2因此藍軍 1 必須在收到藍軍 2 的確認后才能進攻第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議

17、模型)協(xié)議模型) 18因此,收到報文后必須加以確認但這個確認報文也可能丟失:丟失!白軍藍軍 1藍軍 2故藍軍 2 必須要收到藍軍 1 發(fā)出的對此“確認”的確認,才能知道發(fā)送出的確認是否被藍軍 1 正確收到。第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 19因此藍軍 1 收到確認報文后應(yīng)發(fā)送對此確認的確認。藍軍 1 無法知道最后發(fā)送的這個確認是否被藍軍 2 收到,仍需收到藍軍 2 發(fā)來的確認才行!白軍藍軍 1藍軍 2第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 20白軍藍軍 1藍軍 2協(xié)議必須能夠應(yīng)付所有的(而不是部分的)不利情況像這樣簡單的問題居然無法設(shè)計出一種協(xié)議來解決。

18、第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 21內(nèi)容提要內(nèi)容提要協(xié)議設(shè)計概述協(xié)議設(shè)計概述1協(xié)議模型協(xié)議模型2第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 22協(xié)議模型協(xié)議模型v分層設(shè)計,分層設(shè)計,n 層協(xié)議模型層協(xié)議模型(n+1) 實體實體(n) 實體實體(n+1) 實體實體(n) 實體實體(n) 協(xié)議協(xié)議提供提供(n-1)服務(wù)服務(wù)提供提供(n)服務(wù)服務(wù)(n) 服務(wù)用戶服務(wù)用戶(n) 服務(wù)提供者服務(wù)提供者通過通過(n-1)連接進行通信連接進行通信(n + 1) 層層(n - 1) 層層(n) 層層nSAP(n-1)SAPnSAP(n-1)SAP(n-1)SPs(n-1)S

19、Ps(n)SPs(n)SPs(n)PDUs在OSI中,實體(entity)表示任何可以發(fā)送和接收信息的硬件或軟件進程。在許多情況下,實體就是一個特定的模塊。 兩個(n)實體在(n)協(xié)議的控制下的通信,使(n)層能夠向上一層(n+1)提供服務(wù)。這種服務(wù)就是(n)服務(wù)。 接受(n)服務(wù)的是上一層實體,即(n+1)實體。它們也稱為(n)用戶或更嚴格些是(n)服務(wù)用戶。 第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 23協(xié)議模型協(xié)議模型v分層設(shè)計,分層設(shè)計,n 層協(xié)議模型層協(xié)議模型(n+1) 實體實體(n) 實體實體(n+1) 實體實體(n) 實體實體(n) 協(xié)議協(xié)議提供提供(n-1)服務(wù)服

20、務(wù)提供提供(n)服務(wù)服務(wù)(n) 服務(wù)用戶服務(wù)用戶(n) 服務(wù)提供者服務(wù)提供者通過通過(n-1)連接進行通信連接進行通信(n + 1) 層層(n - 1) 層層(n) 層層nSAP(n-1)SAPnSAP(n-1)SAP(n-1)SPs(n-1)SPs(n)SPs(n)SPs(n)PDUs一個一個(n)實體向上一層所提供的服務(wù)由實體向上一層所提供的服務(wù)由以下三部分構(gòu)成:以下三部分構(gòu)成: (n)實體自己提供的某些功能。實體自己提供的某些功能。 從從(n-1)層及其以下各層以及本地系層及其以下各層以及本地系統(tǒng)環(huán)境得到的服務(wù)。統(tǒng)環(huán)境得到的服務(wù)。 (1)(1) 通過與處在另一系統(tǒng)中的對等通過與處在另一系

21、統(tǒng)中的對等(n)實體的通信而得到的服務(wù)。實體的通信而得到的服務(wù)。 將將(n)層對等實體之間,層對等實體之間,為實現(xiàn)該層協(xié)議所交換為實現(xiàn)該層協(xié)議所交換的信息單元稱為協(xié)議數(shù)的信息單元稱為協(xié)議數(shù)據(jù)單元據(jù)單元PDU(Protocol Data Unit)。通常將第。通常將第n層的協(xié)議數(shù)據(jù)單元記為層的協(xié)議數(shù)據(jù)單元記為(n)PDU。第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 24PDUsv PDU通常由通常由2部分構(gòu)成:用戶數(shù)據(jù)和協(xié)議控制信息部分構(gòu)成:用戶數(shù)據(jù)和協(xié)議控制信息PCI(Protocol Control Information)。 PCIPCI一般作為首部加在用戶數(shù)據(jù)的前面,但有時也

22、可作為尾部一般作為首部加在用戶數(shù)據(jù)的前面,但有時也可作為尾部加在用戶數(shù)據(jù)的后面,例如檢驗和加在用戶數(shù)據(jù)的后面,例如檢驗和(checksum)(checksum)常放在尾部。常放在尾部。 v 兩種類型:兩種類型: 數(shù)據(jù)數(shù)據(jù)PDU 控制控制PDU,不攜帶用戶數(shù)據(jù)。,不攜帶用戶數(shù)據(jù)。 v 在不同的協(xié)議層次中,在不同的協(xié)議層次中,PDU還有一些其它的表示法。還有一些其它的表示法。 物理層:比特物理層:比特(bit); 數(shù)據(jù)鏈路層:幀數(shù)據(jù)鏈路層:幀(frame)或信元或信元(cell); 網(wǎng)絡(luò)層網(wǎng)絡(luò)層 :分組或包分組或包(packet) 運輸層運輸層 :報文:報文(Message)第第2章章 協(xié)議設(shè)計(

23、協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 25PDUs (Cont.)vTwo Styles:Abstract PDU Protocol Control Information(PCI) User dataConcrete PDU Mapping of abstract PDU onto bit patterns (PDU formats) Defined in terms of data fieldsvWhy are concrete PDUs necessary in a standard protocol?第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 26PDUs (Cont.)vPD

24、U Encoding Example:Abstract PDU CR-PDU (Length, Destination, Source, Options, , User data)Concrete PDU (PDU format) LICRCDT1110DST-REF0000 0000 0000 0000SRC-REFCLASSOPTIONVariablepartUserdata12345678pp+1 endOctets第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 27PDUs (Cont.)vCoding functions:Encoding Mapping of abstrac

25、t PDUs onto concrete PDUs Generation of concrete PDUsDecoding Extract necessary information from concrete PDUs Hide specific coding from the procedure rules第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 28PDUs (Cont.)vExample: Fictitious PDUstruct char a, b; int c; pdu;Code to show organization in bits and bytesmain()

26、 int i;pdu.a = a; /* set a field with value a */pdu.b = b; /* set b field with value b */pdu.c = 1; /* set c field with value 1 */for (i = 0; i sizeof(pdu); i+) printf(“%d “, (int)(char*)&pdu)i); printf(“n”); 第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 29PDUs and SDUsvOSI將層與層之間交換的數(shù)據(jù)的單元稱為將層與層之間交換的數(shù)據(jù)的單元稱為服務(wù)數(shù)服務(wù)數(shù)據(jù)單

27、元據(jù)單元SDU(Service Data Unit)。 v一個一個(n)服務(wù)數(shù)據(jù)單元就是服務(wù)數(shù)據(jù)單元就是(n)服務(wù)所要傳送的邏輯服務(wù)所要傳送的邏輯數(shù)據(jù)單元。數(shù)據(jù)單元。SDU就是數(shù)據(jù)就是數(shù)據(jù)PDU中的用戶數(shù)據(jù),但不一定是一一對中的用戶數(shù)據(jù),但不一定是一一對應(yīng)關(guān)系。應(yīng)關(guān)系。 可以是多個可以是多個SDU合成為一個合成為一個PDU(稱為稱為“拼裝拼裝”),也可,也可以是將一個以是將一個SDU劃分為幾個劃分為幾個PDU(稱為稱為“分段分段”)。 第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 30PDUs and SDUs (Cont.)(N+1) SDU(N+1) service(N) SDU(N) service(N+1) PDU(N+1) PEPCIData(N) PDU(N) PEPCIDataPCIPCIData第第2章章 協(xié)議設(shè)計(協(xié)議設(shè)計(1協(xié)議模型)協(xié)議模型) 31協(xié)議模型協(xié)議模型v分層設(shè)計,分層設(shè)計,n 層協(xié)議模型層協(xié)議模型(n+1) 實體實體(n) 實體實體(n+1) 實體實體(n) 實體實體(n) 協(xié)議協(xié)議提供提供(n-1)服務(wù)服務(wù)提供提供(n)服務(wù)服務(wù)(n) 服務(wù)用戶服務(wù)用戶(n) 服務(wù)提供者服務(wù)提供者通過通過(n-1)連接進行通信連接進行通信(n + 1) 層層(n - 1) 層層(n) 層層nSAP(n-1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論