RFC955_朝向一個處理過程應用的傳輸服務

組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:[email protected]
譯者:
譯文發佈時間:2001-11-24
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用於非商業用途自由轉載,但必須
保留本文檔的翻譯及版權信息。




 
ISO8473基礎上的端系統與中介系統間的路由信息的交換
(ES-IS)

1、介紹	2
2、應用範圍	3
3.參考	3
4、定義	4
4.1參考模型定義	4
4.2網絡層結構定義	4
4.3網絡層地址定義	4
4.4局域網定義	4
4.5補充定義	5
5.代號及縮寫	5
5.1 數據單元	5
5.2協議數據單元	5
5.3協議數據單元部分	5
5.4參數	6
5.5雜項	6
6.協議總覽	6
6.1協議提供的信息	6
6.2協議的子集	6
6.3編址	6
6.4協議假定已存在的服務	7
6.5本地環境應提供的服務	7
6.6子網類型	8
7.協議功能	9
7.1協議定時器	9
7.2配置報告功能	10
7.3配置記錄功能	11
7.4舊配置清除功能	11
7.5配置查詢功能	11
7.6配置響應功能	12
7.7重定向請求功能	12
7.8重定向記錄功能	13
7.9重定向刷新功能	13
7.10舊的重定向的清除功能	13
7.11 PDU頭部錯誤檢測	13
7.12功能的分類	14
8.PDU的結構和編碼	14
8.1結構	14
8.2固定部分	15
8.3網絡地址部分	16
8.4子網地址部分	17
8.5可選部分	18
8.6端系統HELLO PDU	19
8.7中介系統HELLO PDU	20
8.8重定向 PDU	21
附錄A  技術支持材料	23
A.1定時器的使用	23
A.2路由重定向信息的刷新和定時	24
A.3系統初始化	25
A.4重定向清除的優化	25

1、介紹
本協議是一套國際標準中的一個,它用來方便開放系統的互連。這一套標準包含了達到
此目的所需的服務和協議。
本協議的制定充分考慮到了開放系統互連參考模型中定義的相關層以及國際網絡組織
所定義的網絡結構。特別要指出的是,本協議是一個網絡層的協議。它允許端系統和中介系
統之間交換配置和路由信息,以方便網絡層的路由和中繼操作。
端系統與中介系統之間在網絡層的通信與中介系統之間的通信是分開考慮的。本協議專
門討論前者。如果附加一個負責中介系統之間通信的協議,網絡層的功能將大大加強。但即
使沒有這個附加的協議,本協議也是非常有用的。
ES-IS協議提供瞭解決以下問題的方法:
1、當一個端系統並非直接連接在另一個端系統上時,這個端系統如何發現中介系統
的存在和可達性並通過它來將NPDU傳送到另一個端系統。
2、由於NSAP地址並不能提供子網中的目的地址,端系統如何發現同一個子網中的
另一個端系統。
3、中介系統如何發現與它直接相連的各個子網內的端系統的存在。

ES-IS協議假定以下情況的存在:
1、子網本身能夠順利地完成在本網內發送信息到子網連接點的工作。
2、子網本身不能僅依靠NSAP地址在全網範圍內與目的地址通信。
注:由於以上的原因,應用層通信不能直接利用該協議提供的功能。

ES-IS協議無連接的,它被設計用來:
1、減少端系統之間通信前所需要的狀態信息。
2、減少端系統上用來存放路由信息所需的內存空間。
3、降低路由算法的複雜性。
本協議的設計是和提供無連接網絡服務的協議有緊密的關係的。由於路由的種類與通信
的種類密切相關,所以當網絡層不是使用ISO協議時,本協議可能無法提供路由需要的信
息。
2、應用範圍
國際標準提供了一個協議,用來爲使用ISO8473的網絡層的端系統和中介系統維護路
由信息。此處提到的協議均是需要無連接的服務。
此標準指明瞭:
a)	端系統和中介系統的網絡實體之間的配置和路由信息的傳送過程;
b)	配置和路由信息所用的協議數據單元的編碼;
c)	協議控制信息的正確的解釋過程,以及
d)	在功能上要求與該標準的一致性。
這些過程在如下條款定義:
a)	端系統和中介系統之間交換協議數據單元的交互過程;以及
b)	在網絡實體和下層服務提供者之間交換子網服務原語的交互過程。
本協議並未爲路由和信息在中介系統間的傳遞指明協議元素和算法。這些功能是本
協議所不能及的。
3.參考
ISO7489          信息處理系統------開放系統互連------基本參考型。
DIS7489/DAD1    信息處理系統------開放系統互連------ISO7489  標準的補充(關於無連
接傳輸)。
ISO8348           信息處理系統------系統間電信及信息交換------網絡服務定義的補充
(關於無連接傳輸)。
ISO8348/AD2       信息處理系統------系統間電信及信息交換------網絡服務定義的補充
(關於網絡層地址)。
ISO8473           信息處理系統------系統間電信及信息交換------提供無連接網絡服務的
協議。
DIS8648           信息處理系統------系統間電信及信息交換------網絡層的內部組織。
SC21/N965         OSI框架管理------第七號工作草案。
DIS8802           局域網。

第一部分  綜述
4、定義
4.1參考模型定義
本文采用了以下概念(由ISO7489定義):
a)	網絡層
b)	網絡服務接入點
c)	網絡服務接入點地址
d)	網絡實體
e)	路由
f)	網絡協議
g)	網絡延時
h)	網絡協議單元
4.2網絡層結構定義
本文采用了以下概念(由DIS8648定義):
a)	子網
b)	端系統
c)	中介系統
d)	子網服務
e)	子網接入協議
f)	子網獨立收斂協議
4.3網絡層地址定義
本文采用了以下概念(由DIS8348/DAD2、網絡服務定義的補充(關於網絡層地址)定
義):
a)	子網地址
b)	子網接入點
4.4局域網定義
本文采用了以下概念(由DIS8802局域網標準定義):
a)	組播地址
b)	廣播地址
4.5補充定義
在本文中,以下定義適用:
配置:隸屬於同一子網的端系統和中介系統(由術語“系統類型”定義,涉及到網絡服
務接入點地址、網絡實體、系統和子網絡連接點間的通信)的集合。
網絡實體標題:網絡實體標識符,它與網絡服務接入點具有相同的句法結構,它能準確
地定義一個網絡實體中的端系統或中介系統。
5.代號及縮寫
5.1 數據單元
PDU       協議數據單元
SNSDU     子網服務數據單元
5.2協議數據單元
ESH  PDU    端系統HELLO協議數據單元
ISH  PDU     中介系統HELLO協議數據單元
RD  PDU     重定向協議數據單元
5.3協議數據單元部分
NPID         網絡層協議標識符
LI            長度指示
V/P           版本/協議擴展標識符
TP            類型
CS            校驗
NETL          網絡實體標題長度
NET           網絡實體標題
DAL           目的地址長度
DA            目的地址
SAL            源地址長度
SA             源地址
BSNPAL        目的地最佳路由的子網地址長度
BSNPA         目的地最佳路由的子網地址
HT             保持定時器
5.4參數
CT             配置定時器
RT             重定向定時器
5.5雜項
ES             端系統
IS              中介系統
SN             子網
SNACP         子網接入協議
SNICP          子網獨立收斂協議
6.協議總覽
6.1協議提供的信息
本協議向網絡實體提供了兩種信息來支持它的運行:
a)	配置信息;以及
b)	路由重定向信息
配置信息允許端系統發現中介系統的存在和可達性,並且允許中介系統發現端系統的存
在和可達性。這種發現是動態的,從而免除了在建立網絡實體標識符(這是對網絡協議數據
單元路由所必須的)的過程中人爲的干涉。
配置信息同樣也使得端系統能相互間得到對方的信息而不需要中介系統的介入。
注意:術語“配置信息”並非廣義的配置(如OSI系統管理採用的一樣),而是僅僅指
這裏專門定義的功能。
路由重定向信息由中介系統用來通知端系統採用一條更好的路由來傳遞NPDU到某目
的地。這條更好的路由可能是同一子網中的另外一個IS,也可能是目的端系統本身(如果
該目的端系統與源端系統處在同一子網內)。它也使得中介系統能簡化端系統的路由決定,
並且提高路由決定的效率,因爲Ess可以在傳送過程中使用更好的IS和子網。
6.2協議的子集
一個網絡實體可以選擇支持配置信息或路由重定向信息,或者兩者都支持、或者都不。
如果支持配置信息,並不需要該網絡實體所屬的整個子網都採用配置信息。
6.3編址
在本國際標準中源地址和目的地址涉及到的參數是OSI網絡服務接入點地址。其句法
和語義在專門文獻ISO8348/DAD2中有所描述。
6.4協議假定已存在的服務


本協議所需要的服務由表格中的原語所定義:
SN_UNITDATA     .Request
                  .Indication
SN_Destination_Address,
SN_Source_Address,
SN_Quality_of_Service,
SN_Userdata
注意:這些服務原語用來描述協議機制和下面的實子網(或依靠收斂功能(該功運行在
實子網或實數據鏈路上以提供所需服務)的子網)之間的抽象接口。
6.4.1子網地址
源地址和目的地址指明瞭公共或私有的子網的接入點(被稱爲子網接入點)。子網地址
在各個子網中都做了定義。本協議設計時即考慮到子網應支持廣播、組播或其他形式的多目
的地址方式。作爲單目的地址的一補充,參數SN_Destination_Address可能是以下幾種多目
的地址方式的一種:
所有端系統網絡實體
所有中介系統網絡實體
當一個實子網不支持廣播方式或其他多目的地址的傳輸方式時,網絡可以採用收斂功能
來支持通往這些目的地的多路傳輸。
當SN_UNITDATA.Request原語中的SN_Destination_Address參數表示多目的地址時,
其相應的SN_UNITDATA.Indication原語中的同一參數的值不應改變。
除了以上所提到的特性以外,子網地址的句法和語義沒有在本協議中做定義。
6.4.2子網用戶數據
SN_Userdata是按一定順序擺放的多個字節,這些字節在指定的子網接入點間是透明傳
輸的。
本協議要求系統支持能夠提供無連接網絡服務的最小的服務數據單元。
6.5本地環境應提供的服務
協議要求定時器服務支持協議實體的時間表事件。
與S-定時器相關的三個原語:
1.S-Timer Request;
2. S-Timer Response;以及
3. S-Timer Cancel。
S-Timer Reques原語指示本地環境初始化一個指定名字的定時器,記錄並且保持指定長
的一段時間。
S-Timer Response原語由本地生成,它指示延時時間已到。
S-Timer Cancel原語指示本地環境取消定時器服務。如果參數沒有說明,所有的指定名
字的定時器都將被取消。如果沒有定時器與參數吻合,該原語將不引起任何動作。
S-定時器的服務原語的參數如下表所示:

S—TIMER         .Request


                  .Response
S—Time,
S—Name,
S—Subscript
S—Name,
S—Subscript
Time參數指示定時器的生存週期,而Name參數給每個定時器一個標籤,subscript參
數給每個定時器賦一個值使得相同名字的定時器能區分開來,name和subscript參數構成了
該定時器唯一的參考描述。
若定時器和某個協議功能聯合使用,則該定時器將在該協議功能中定義。
注意:該國際標準並沒有指明定時器的值。任何有關這方面的推論都不是強制的。選擇
的時間器參數應能使服務質量得到保證並且滿足各種服務所要求的種種特性。
6.6子網類型
爲了評估在特定的端系統、中介系統和子網的各種配置下該協議的適用性,定義了三種
一般的子網:
1.	點對點子網;
2.	廣播子網;以及
3.	一般拓撲子網。
這三種類型在以下來討論:
6.6.1點對點子網
一個點對點子網支持兩個系統。這兩個系統可以是兩個端系統或者一個端系統和一個單
獨的中介系統。一個連接着兩個網絡實體的點對點的數據鏈路就是一個點對點網絡的例子。
點對點子網的配置信息。在點對點子網內,協議的配置信息通知正在通信的網絡實體以
下內容:
1.	拓撲是否只由兩個端系統構成;或者
2.	是否有其中一個系統是中介系統
注意:在點對點子網內,如果兩個系統都是中介系統,該協議就不在適用了,取而代之
的是IS-IS協議。但這並不是說在IS-IS中配置信息不起作用。
中介系統收到端系統的NSAP地址,這使得關於這些NSAP地址的可達信息和路由量
度能夠被散發到其他中介系統中去,從而使路由計算成爲可能。
6.6.2廣播子網
一個廣播子網支持任意數量的端系統和中介系統,並且可以響應
SN_UNITDATA.Request,傳送SNPDU到所有這些系統或者其某個子集。一個典型的廣播子
網的例子是DIS8802第一類局域網。
廣播子網內的配置信息。在廣播子網內,該協議的配置信息用來通知正在通信的網絡實
體以下內容:
1.	通知端系統子網內的每個中介系統的可達性、網絡實體標題和SNPA地
址。
2.	通知中介系統端系統的NSAP地址和子網地址。一旦中介系統得到這些
信息,關於該NSAP的可達信息和路由量度便被散發到其他中介系統去以便計算路
由。
3.	如果某中介系統失蹤,端系統便在廣播網內查詢,看子網內特定的NSAP
是否可達,如果可達,用哪個SNPA地址進行連接。
廣播網內的路由重定向。廣播網採用路由重定向來使得中介系統可以通知中介系統到達
某個NSAP的更好的路由。這個路由可能是子網內的另一箇中介系統,也可能是目的端系
統本身。
6.6.3一般拓撲子網
一個一般拓撲子網支持任意多數量的端系統和中介系統,但是不象廣播子網那樣支持無
連接的多地址傳送。X.25和ISO8208就屬於這種類型。
注意:廣播子網和一般拓撲子網間的關鍵區別在於通過多路傳輸到達一個潛在的較大的
子網子集所用的開銷。在一般拓撲子網中,開銷被假定爲接近於傳送一個PDU到子網中的
各所有SNPA。相反,在廣播子網中,開銷被假定爲接近於傳送一個PDU到子網中的一個
SNPA。介於這兩中極端情況的情形當然會出現,此時,既可以把該子網當作廣播子網,也
可以當作一般拓撲子網。
一般拓撲子網內的配置信息。在一般拓撲子網內,配置信息一般都不用,因爲它很佔用
子網資源。
一般拓撲子的網路由重定向。一般拓撲子網採用路由重定向來允許中介系統來通知端系
統到某目的NSAP更好的路由。這個路由可能是另一箇中介系統,也可能是目的端系統本
身(如果它與源端系統在同一子網內且直接可達)。
第二部分   協議規範
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




8.4子網地址部分
子網地址部分僅存在於RD PDU。它用來指示同一個子網內的另一個端系統或者中介系
統的網絡實體(它們可能是通向網絡地址部分所指示的目的地的更好路由)的子網地址。子
網地址參數的編碼與網絡地址參數相似。
8.4.1 RD PDU子網地址參數
子網地址參數按照如下方式編碼:
                             字節
子網地址長度指示
子網地址
  m
  m+1
  …..
  n-1




8.5可選部分
8.5.1綜述
可選部分用來傳送可選參數。PDU頭部的可選部分說明如下:


                          字節
選項
p
q
如果可選部分存在,它可能包含一個或多個參數。參數的個數由可選部分的長度和所限,
可選部分的長度有下面的公式決定:
PDU頭部長度-(固定部分長度+地址部分長度+分段部分長度)
也由個別的可選參數的長度所決定
可選部分中定義的參數出現的順序是不確定的,選項不允許有可重複性。收到選項重複
的PDU對協議來說是一種錯誤。
可選部分中的參數的編碼形式說明如下:
字節
內容
n
參數編碼
n+1
參數長度
n+2  到   n+m+1
參數值
參數編碼域採用二進制編碼,並且不能擴展,最多可以表示255中不同的參數編碼。事
實上,沒有哪一種參數編碼的第8位和第7位的值是00,因此能提供的最大數量要少一些。
其中,編碼255(二進制1111 1111)被保留。
參數長度域指示了參數值的字節數。這個長度是二進制正整數m,在理論上最大值是
254,但實際值要小一些。例如,當可選部分只有一個參數時,參數編碼和參數長度各佔一
個字節。這樣,m受限於:
m=252-(固定部分長度+地址部分長度+分段部分長度)
後面的幾個參數越大,則m越小。參數值指示了參數編碼域中指定的參數的值。
8.5.2安全性
安全性參數傳送數據PDU所要求的安全信息,這個數據PDU使得RD PDU產生。這
個參數的編碼和語義與ISO8473定義的安全性性參數類似。
參數編碼:   1100 0101
參數長度:   可變
參數值:     見ISO8473中的7.5.3
8.5.3服務質量保持
服務質量傳送數據PDU要求的服務質量信息,這個數據PDU使得RD PDU產生。
這個參數的編碼和語義與ISO8473定義的服務質量保持參數類似。
參數編碼:   1100 0011
參數長度:   可變
參數值:     見ISO8473中的7.5.6
8.5.4優先級
優先級參數傳送數據PDU要求的優先級信息,這個數據PDU使得RD PDU產生。
這個參數的編碼和語義與ISO8473定義的優先級參數類似。
參數編碼:   1100 1101
參數長度:   可變
參數值:     見ISO8473中的7.5.7
8.6端系統HELLO PDU
8.6.1結構












ESH PDU具有以下形式: 
                                                  字節
網絡協議標識符
長度指示
版本/協議擴展標識
保留(必須爲0)
0
0
0
類型
保持時間
校驗
源地址長度指示
源地址
選項
      1
      2
      3
      4
      5
      6,7
      8,9
10
11
m-1
m
p-1




8.7中介系統HELLO PDU
8.7.1結構
ISH PDU具有以下形式:
                                    字節
網絡協議標識符
長度指示
版本/協議擴展標識
保留(必須爲0)
0
0
0
類型
保持時間
校驗
網絡實體標題長度指示
網絡實體標題
選項
    1
  2
3
4
5
6,7
8,9
10
11
m-1
m
p-1




8.8重定向 PDU
8.8.1結構
當PRD PDU向中介系統發送時具有以下形式:
                                      字節
網絡協議標識符
長度指示
版本/協議擴展標識
保留(必須爲0)
0
0
0
類型
保持時間
校驗
目的地址長度指示
目的地址
子網地址長度指示
子網地址
網絡實體標題指示
 網絡實體標題
選項
 1
 2
 3
 4
 5
 6,7
 8,9
10
11
m-1
m
m+1
n-1
n
n+1
p-1
p
q-1
當PRD PDU向端系統發送時具有以下形式:
                                      字節
網絡協議標識符
長度指示
版本/協議擴展標識
保留(必須爲0)
0
0
0
類型
保持時間
校驗
目的地址長度指示
目的地址
子網地址長度指示
子網地址
網絡實體標題長度指示(=0)
選項
服務質量
 1
 2
 3
 4
 5
 6,7
 8,9
10
11
m-1
m
m+1
n-1
n
n+1
p-1
n+1









附錄A  技術支持材料
A.1定時器的使用
爲了是配置功能和重定向功能能合時和正確得散步信息,本協議廣泛採用了定時器。本
節討論了這些定時器如何使用,並給出了使用它們的背景。
使用本協議的系統只從其它系統發出的PDU上得到其他系統的信息。在無連接的環境
中,系統必須用更新的信息來判斷自己掌握的信息是否正確。例如,如果一個系統變得不可
達,唯一能被其它系統知道的途徑是應該由它發出的信息丟失了。而本協議中定義的保持定
時器保證了過時的信息不會總被保存着。
有一種很有效的方法可以用來更新配置信息和重定向信息,那就是系統中保持着一個緩
存。這個緩存定期地刷新,從而保證只有及時的信息才能被保存。與一般緩存不同的是,該
緩存中信息的保存時間並非完全有本系統決定。相反,有信息的源端決定。有一些例子能很
清楚地說明這點。
A.1.1路由重定向保持定時器實例
路由重定向信息是端系統通過要求重定向功能得到並保存的。中介系統很有可能將端系
統重定向到另一箇中介系統,而這個中介系統忽然變得不可達了(當路由算法正處在配置改
變後的收斂過程中時這種情況就很有可能發生)。如果沒有保持定時器,或者其值被設定得
很大,端系統就會被重定向到一個黑洞去。而一般這個定時器的時間就設定爲黑洞允許存在
的最大時間。
另外,如果將這個路由重定向定時器的值設置得過短,會引起另外一些我們不願意看到
的後果。首先,每個引起重定向的PDU都會使得額外的PDU被產生和傳輸,這會增加開銷。
另外,每次保持定時器時間到,被重定向的端系統至少使用錯誤的路由發送一個PDU。
 A.1.2配置信息的保持定時器實例
與以上類似的問題也發生在配置信息上。如果一個ISH PDU的保持定時器設置得很長,
並且發出該ISH PDU的IS忽然變得不可達,就會形成黑洞。在這段時間內,端系統假定該
中介系統會繼續爲它轉發PDU,從而無法與其他系統正常通信。而當該定時器時間到時,
該端系統才發現沒有可用的中介系統。
無論何種情況的問題發生,都要求錯誤信息的響應能夠正確無誤地找到源頭。爲了達到
這一點,配置信息和路由重定向信息在源頭計算好並準確無誤地傳到接收端。
A.2路由重定向信息的刷新和定時
本協議允許端系統在保持定時器還未時間到、並且爲收到新的重定向信息的情況下對路
由重定向信息進行刷新。這種過程在無連接網絡中經常使用,它被稱作“反轉路徑信息”、
“前一跳緩存”等。
刷新重定向信息有很明顯的好處,但是如果處理得不好很可能出現嚴重後果。爲了是重
定向信息安全刷新,必須保證以下幾點:
1.	已經收到的PDU的源地址必須和前面的RD PDU的目的地址一致。不可以
把短地址、組地址或類似的地址當作一致的。
2.	收到的PDU中的服務質量參數必須與相應的重定向信息中的一致。不能保
證服務質量參數相同的PDU通過同一路徑發送。很有可能對某些服務質量
參數來說某條路徑是個黑洞。
3.	收到的PDU的前一跳必須與重定向信息中的下一跳相符。特別的,送來PDU
的SN_UNITDATA.Indication原語中的SN_Source_Address參數必須與重定
向中的SN_Destination_Address一致。着保證了接受重定向信息的IS正是原
先的發送者。
注意,以上條件仍然允許重定向刷新在最有利的情況下進行。比如目的地是另外一個
ES。
A.3系統初始化
本協議被設計用來是兩種系統能夠儘可能自由地通信。所以,端系統要求子網上所有
的中介系統報告配置信息、或者中介系統要求所有的端系統報告配置信息都是不可能的。
在某種操作環境下,系統受到很大的限制。在網絡達到正常運行之前,端系統必須先
儘快發現一箇中介系統。反過來,中介系統是否也要發現端系統呢?這基本上有配置定時器
決定。在開銷和配置信息的適用性上要有權衡。減少配置定時器的值意味着信息的適用性,
同時也意味着開銷的增加。
我們推薦以下這種方法來解決以上衝突。當記錄配置功能在任何一種系統中被引用
時,該功能就必須判斷這個信息是否之前是未知的。如果是,那麼在系統的配置定時器時間
到是就要引用該功能。然後配置報告功能生成HELLO PDU並送到原先未知的網絡實體去。
於是,當ES或IS變得可操作是就立即發出配置報告。一旦令一種系統發現了這個新的網
絡實體,它們就會使其知道自己的存在。
這種方法帶來的開銷就要小得多。另外,由於新的配置信息被即使發現,定時器的時
間被定期地延長以減少開銷。還有一個忠告:由於第一個HELLO很可能丟掉,所以在系統
初始化的階段應當以很短的時間間隔發出HELLO包。
注意,這種方法可能僅在IS或者ES,也可能在所有系統中執行。該過程僅是一個本
地過程並且可能被本地系統改變。
A.4重定向清除的優化
一個ES會向一個被重定向信息所指定的IS發出NPDU,只到保持定時器時間到,即
使該IS已經變得不可達。在某些情況下,有可能更快地發現黑洞的存在。特別的,,如果
ES想得到它被重定向到的IS的HELLO包,並且保持定時器已經到時間了,所有關於該IS
的信息都將被丟棄,其中包括重定向信息,即使重定向信息的時間還未到。

RFCXXX——              ISO8473基礎上的端系統與中介系統間的路由信息的交換(ES-IS)



2
RFC文檔中文翻譯計劃
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章