?? rfc955.txt
字號:
身(如果它與源端系統在同一子網內且直接可達)。
第二部分 協議規范
7.協議功能
本部分描述了協議中的部分功能。并非所有的應用都需要所有的這些功能支持。7.21
節指出了哪種功能應該被忽略掉,也指出了在某種功能不能正常工作時的正確行為。
7.1協議定時器
很多協議功能都是基于定時器的。這意味著這些功能只能在定時器限制的時間內執行。
協議中定義了兩中最主要的定時器:配置定時器(CT)和保持定時器(HT)。
7.1.1配置定時器
配置定時器是一個本地定時器(每個系統的定時器都保持獨立),用來執行配置報告功
能。這個定時器確定一個系統用什么樣的頻率來向子網內的其他系統報告自己的可用性。定
時越短,子網內的其他系統就能越快知道該系統的可用性。響應性的增加所付出的代價是在
子網內和接收系統內資源的使用增加。
7.1.2保持定時器
保持定時器應用于配置信息和路由重定向信息中。保持定時器的值在信息的源頭設定,
在適當的PDU中傳送。信息的接收方在定時期間保持這些信息。在定時器定時到時,過期
的配置或路由重定向信息必須被丟掉以保證協議的正確性。
更多的關于這些定時器的原理和應用可以在附錄10中找到。
7.2配置報告功能
該功能用來使端系統和中介系統互相報告自己的可達性和當前的子網地址。這個功能在
每次ES或IS本地的配置定時器時間到時被調用。在收到其他端系統的配置查詢PDU時它
也將被調用。
7.2.1端系統配置報告
一個端系統創建一個ESH PDU并傳送到它所服務的所有NSAP。它還在ESH PDU中
發送一個SN_UNITDATA.Request作為子網的子網服務數據單元。
注意:向每個NSAP單獨發送一個ESH PDU是由于網絡實體標題和NSAP地址間缺乏
聯系。如果所有的NSAP地址都按照這種聯系的要求被指定為本地網絡實體的網絡實體標
題所表示的域的子域,那么每個ESH PDU就能夠被轉換成包含端系統網絡實體標題。網絡
實體標題暗示了在端系統中哪些NSAP是存在的。
保持定時器被設定為約是配置定時器的兩倍,這個變量的值要足夠大。使得即使所有其
他系統的ESH PDU都被丟棄(由于缺乏資源),或者在子網內丟失了,配置信息仍然能被
保存。這個值又必須足夠小,使得中介系統能夠及時地回復一個正在變為可用或不可用的端
系統。
參數SN_Destination_Address被設定為組地址,表示“所有中介系統網絡實體”,這使
得廣播子網上的一次傳送能夠送到所有可達的中介系統。
注意:用來表示“所有中介系統網絡實體”的SN_Destination_Address的實際值是與子
網有關的并且各子網都不同。在一些廣泛應用的子網中它表示上述意思或者是“所有端系統
網絡實體”。讓這些值標準化當然是件好事。
7.2.2中介系統配置報告
一個中介系統創建一個包含網絡實體標題的ISH PDU并且在其中發送一個
SN_UNITDATA.Request作為SNSDU。
保持定時器被設定為大約是中介系統配置定時器參數的兩倍。這個變量被設置為足夠
大,使得即使所有的ISH PDU都被丟棄(由于資源不足),或者在子網內丟失了,配置信息
仍然能被保存。這個值又必須足夠小,使得端系統能迅速終止使用有故障的中介系統,以阻
止網絡中的“黑洞”的產生。
參數SN_Destination_Address被設定為組地址,表示“所有端系統網絡實體”,這使得
廣播子網上的一次傳送能夠送到所有可達的端系統。
7.3配置記錄功能
配置記錄功能收到ESH或者ISH PDU,提取配置信息,對本地網絡實體的路由信息庫
的相關的配置信息進行添加或修改。如果存儲空間不足,這些PDU會被丟掉,不會有錯誤
信息報告。
注意:正如協議中描述的,端系統接收并僅僅記錄ISH PDU,而中介系統接收并僅僅
處理ESH PDU。如果有必要的話,一個端系統也可以處理ESH PDU(在廣播網中,通過適
當的組地址就可以很容易實現)。這樣做可以使網絡的一些潛在的性能得到提高,不過花費
了端系統上更多的存儲空間,也使處理周期變長了。端系統通過記錄其他端系統的配置信息,
有可能將NPDU直接路由到子網內的端系統上而不需要中介系統的重定向。
類似的,中介系統也可以選擇接受其他中介系統的ISH PDU,這使得該協議可以作為
一個完全的IS-IS路由協議的初始化和拓撲維護部分。
以上這兩種可能在以后將做更深入的討論。
7.4舊配置清除功能
舊配置清除功能用來執行清除保持定時器已經到期的路由信息庫中的配置入口。當ES
或IS的保持定時器到期,這個功能將會清除本地網絡實體的路由信息庫的相關入口。
7.5配置查詢功能
配置查詢功能在以下環境下執行:
1、端系統處于廣播子網中;
2、當前子網中沒有可達的IS(例如,自從上次舊配置清除功能將舊信息清除后未
能收到任何ISH);
3、網絡層的路由PDU的功能需要獲得SNPA地址以將PDU傳到某個NSAP;并且
4、SNPA地址不能在本地通過轉換得到,也無法在本地表中查找到。
注意:有一種現象很常見,一些孤立的局域網沒有中介系統來獲取路由信息。如果中介
系統暫時不可達,局域網內的通信就不可能實現,除非每個端系統或者子網上所有的NSAP
人為地加入SNPA地址。
當端系統需要發送一個NPDU到一個SNPA未知的目的NSAP去時,它就把一個
SN_UNITDATA.Request當作用戶數據(SN_Userdata)放在NPDU中發送出去。其中的
SN_Destination_Address參數被設定為表示“所有端系統網絡實體”的組地址。
接下來,該端系統便會收到一個包含著NSAP地址及其相應的SNPA地址的ESH PDU
(見7.6節)。在這種情況下,端系統對該NSAP執行配置記錄功能。利用指定的SNPA,便
可以發送PDU到這個NSAP了。如果沒有收到ESH PDU,端系統便會認為該NSAP不可達。
至于該操作要執行多少次才能作出這樣的判斷以及每次要等待多久由該系統自行決定,本協
議并未對此作出規定。
7.6配置響應功能
當廣播子網中的一個端系統收到一個SN_Destination_Address參數被設定為“所有端系
統網絡實體”的表示SN_UNITDATA.Indication含義的 NPDU,且該NPDU中所攜帶的NSAP
正是該端系統所有時,配置響應功能就開始執行。這項功能是在7.5所描述的配置查詢功能
執行后發生的。
該端系統生成一個與配置報告功能所生成的類似的ESH PDU(見7.2.1),其內容是有
關本系統的。端系統生成一個SN_UNITDATA.Request,并將目的地址標明為它所收到的
NPDU的源地址發送出去。
7.7重定向請求功能
該功能只存在于中介系統中,并且與其路由功能和中繼功能關系緊密,與“PDU路由
功能”也是相關的。該功能在“PDU路由功能”計算出數據PDU的下一跳后開始執行。
當中介系統準備轉發一個NPDU時,它首先檢查該NPDU中的SN_Source_Address。如
果該參數不是一個本地子網的端系統地址(通過查詢配置記錄功能得到的配置信息進行判
斷),則該不對該NPDU進行進一步處理。
如果NPDU是直接從一個端系統上得到的,該中介系統的路由和中繼功能的輸出需要
被檢查。該輸出信息包含以下信息:
1、 一個本地子網標識符,該NPDU的發送要通過這個子網;
2、一個中介系統網絡實體標題和子網地址,該NPDU要通過這個中介系統發送;或者
3、目的端系統的子網地址。
重定向請求功能應該能夠判斷自己即將轉發出去的NPDU能夠由源端系統直接發往目
的網絡實體。如果以下任何條件成立,則源端系統將會被告知一個更好的路由(通過發送一
個RD PDU到該端系統):
1、下一跳指向目的系統并且在源端系統子網中目的地是直接可達的;或者
2、下一跳指向一個中介系統并且該系統與源端系統處在同一子網內。
如果有更好的路由存在,中介系統首先會對收到的NPDU做一般的處理并轉發它。然
后,它會生成一個RD PDU,并往里面寫入NPDU目的地地址、下一跳所處的子網地址、
ES重定向到的IS的網絡實體標題(如果重定向直接指向目的端系統時這個信息可以省略)、
保持時間、服務質量、優先級、安全性參數(這些只是簡單地從NPDU中拷貝過來)。保持
時間被設定為本地重定向定時器的時間。附錄A中說明了如何為重定向定時器選定時間。
如果沒有足夠的資源在轉發NPDU的同時生成并發送一個RD PDU,那么應優先轉發
NPDU。接著中介系統用NPDU中的地址信息向源端系統發送一個RD PDU。
7.8重定向記錄功能
重定向記錄功能僅存在于端系統,當收到RD PDU時該功能便被調用。它提取重定向
信息并且對本地網絡實體路由信息庫中的相關的重定向信息進行添加或修改。其中最重要的
一項就是將目的地址映射到子網地址的重定向映射信息,它還說明了優先級,安全性,服務
質量和保持時間等映射所必需的參數。當然,如果重定向是指向另一個中介系統,那么網絡
實體標題也是必不可少的。
注意:如果沒有足夠的空間來存放重定向信息,RD PDU將會被安全的釋放掉。而發送
RD PDU的中介系統也將會代表這個網絡實體繼續以前的工作。
7.9重定向刷新功能
重定向刷新功能僅在端系統中進行。該功能在一個端系統作為目的地收到一個NPDU
時被調用。該項功能與在目的網絡實體對收到的NPDU進行處理的功能(在ISO8473中稱
為“PDU分解”)相關。本功能的目的是延長重定向的時間并且盡快的更正路由中的錯誤信
息。 源地址,優先級,安全性和服務質量等參數被提取出來并與路由信息庫(這些信息的
保存是由重定向記錄功能完成的)中的做比較。從SN_Source_Address參數可以找到該PDU
的上一跳地址。如果這個地址與存儲在重定向信息中的下一跳地址相符,則保持定時器的值
將被復位到RD PDU中的保持定時器的初始值。
注意:當網絡實體向某個目的地址發送數據時,該數據可能被轉發回來。本功能的目的
在于避免此時過期的重定向信息的進入。鑒于在端系統到端系統的通信中只需一次重定向后
就無須中介系統了,這種功能特別適用于源和目的地在同一個子網內的情況。
為了防止黑洞的產生,這個功能必須在很保守的方式下進行,保持定時器的剩余時間僅
在上述情況下才能被修改。關于這方面的信息請參考附錄10。
7.10舊的重定向的清除功能
該功能的目的是清除路由信息庫中定時時間到的配置信息。當端系統和中介系統的保持
定時器時間到時,本地網絡實體路由信息庫中的相關入口就被清除了。
7.11 PDU頭部錯誤檢測
PDU頭部錯誤檢測功能是用來在中介系統和端系統處理PDU頭部出錯時進行保護。這
個功能的實現是由PDU頭部的checksum區來完成的。每一個對PDU進行處理的節點都要
對checksum進行驗證。如果checksum出錯,則該PDU必須被丟棄。
頭部錯誤檢測功能是可選的,由始發端的網絡實體進行選擇。如果沒有選用該功能,
checksum將被設為0。
如果該功能被始發端網絡實體選用,checksum滿足下列公式:
所有a(i)的模255和=0;(i=1→L)
所有的(L- i +1)*a(i)的模255和=0;(i=1→L)
L為PDU頭部的字節數,a(i)為第i字節的值。最前面的字節為i=0。
當該功能被選用時,checksum的兩個字節都不為0。
7.12功能的分類
在實際應用中并不需要用到第7節中所有的功能。這些功能被分為四大類:
A類:此類功能在所有的應用中都應該支持。
B類:此類功能在處理配置信息的系統中被支持。
C類:此類功能在處理重定向信息的系統中被支持。
D類:此類功能在任何系統中都是可選項。
如果系統收到了一個對無法執行的可選功能的調用,那么該PDU應被丟棄。
下表表示了各種功能的分類以及它們應用于何種系統。
功能
分類
系統類型
配置報告
配置記錄
配置響應
舊配置清除
重定向請求
配置查詢
重定向記錄
重定向刷新
舊重定向清除
PDU頭部錯誤檢測
B
B
A
B
C
B
C
D
C
A
ES,IS
ES,IS
ES
ES,IS
IS
ES
ES
ES
ES
ES,IS
8.PDU的結構和編碼
注意:本協議對PDU的編碼是完全符合ISO8473的。
8.1結構
所有的協議數據單元的字節數都應是整數。PDU中的字節從1開始編號,這個編號順
序也就是它們被放進SNSDU中的順序。每個字節中的位的編號從1到8,1是低位,8是高
位。當連續的字節用來表示一個二進制數時,低位比高位更具意義。
任何支持本協議的子網都被要求用“most significant bit”和“least significant bit”說明
其字節傳輸的方式。這些信息將被用來定義PDU。
注意:編碼過程中用到的圖表采用以下表示方式:
a) 編號小的字節放在左邊,大的放在右邊;
b) 在字節中第8位到第1位從左到右放。
PDU中按以下順序包含了以下部分:
1. 固定部分;
2. 網絡地址部分;
3. 子網地址部分(如果需要);
4. 可選部分,如果需要;
8.2固定部分
8.2.1綜述
固定部分包含了經常出現參數,包括協議數據單元的類型碼(ESH,ISH,RD)。固定
部分的長度和結構都由PDU來定義。
固定部分為以下形式:
字節
網絡層協議表示符
長度指示
版本/協議擴展標識
保留(必須為0)
0
0
0
類型
保持時間
校驗
1
2
3
4
5
6,7
8,9
8.2.2網絡層協議標識符
該域的值應該為1000 0010
注意:該值是臨時性的,并非最終結論。
8.2.3長度指示
該長度用二進制數表示,最大值為254(1111 1110)。這個數值表示了整個PDU(包括
了整個頭部)的字節數。255是保留值。
8.2.4版本/協議擴展標識
這個域的值是二進制數0000 0001。這個值表明這是一個ISO的標準版本。
8.2.5類型
類型碼指明了協議數據單元的類型。其值為以下幾種中的一種:
類型
位 5 4 3 2 1
ESH PDU
0 0 0 1 0
ISH PDU
0 0 1 0 0
RD PDU
0 0 1 1 0
8.2.6保持時間
保持時間俞指明了作為接收方的網絡實體應該將PDU中的配置/路由信息保持多久。接
收方網絡實體應該在定時時間到時將從該PDU中得到的任何信息都丟棄。保持時間是以兩
個星期為單位的整數值。
8.2.7PDU校驗
該值從整個頭部計算而來。若等于0則表明沒有采用校驗。PDU頭部錯誤檢測功能保
證0不是一個合法的校驗值。一個非0值表示該值不可忽略。如果校驗出錯,則該PDU應
被丟棄。
8.3網絡地址部分
8.3.1綜述
地址參數用來區分位置的不同。不同的PDU類型所攜帶的地址參數也不同。ESH PDU
攜帶一個源NSAP地址;ISH PDU攜帶一個中介系統網絡實體標題;一個RD PDU攜帶一
個目的NSAP地址,也有可能是一個網絡試題標題。
8.3.2網絡協議地址信息(NPAI)編碼
目的地址和源地址均是指網絡服務接入點的地址,在ISO8348/AD2中定義。目的地址,
源地址和網絡實體標題均是作為NPAI按照ISO8348/AD2所定義的二進制句法來進行編碼
的。
地址信息是可變長度的。每個地址參數按照如下方法編碼:
字節n
地址參數長度指示
字節n+1到n+m
地址參數值
8.3.3 ESH PDU源地址參數
此源地址是發送ESH PDU的網絡實體多服務的NSAP的地址。它按照如下方法編碼:
字節
源地址長度指示
源地址
10
11
…..
m-1
8.3.4 ISH PDU的網絡實體標題參數
此網絡實體標題參數是發送ISH PDU的中介系統的網絡實體標題。它按如下方式編碼:
字節
網絡實體標題長度指示
網絡實體標題
10
11
…..
m-1
8.3.5 RD PDU目的地址參數
此目的地址是正在發送的RD PDU的中介系統轉發的NPDU的相關地址。其按如下方
法編碼:
字節
目的地址長度指示
目的地址
10
11
…..
m-1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -