8子網相關過程
子網相關過程為子網獨立路由過程掩蔽不同類型子網的特征。子網獨立過程僅能識別的
兩種環路是廣播環和一般拓撲結構的環。
子網相關的過程包括:
-使用與ISO8473SNDCF子網相關收斂過程相同的技術,使相同類型的子網之間能夠
傳送和接收PDU。
-與ES-IS協議(ISO9542)相協調,以確定網絡層地址(以及在廣播型子網上確定連接點)和
識別所有相鄰的系統(端系統ES和中介系統IS).這些確定識別信息保存在鄰接數據庫
中,用以構造LSP。
-交換IIHPDU.雖然IS可以通過接收到ISO9542ISHPDU來識別出存在一個相鄰的IS,
但ISO9542卻沒有提供方法來識別相鄰系統是一級或是二級IS。因此定義了特定的
PDU(一級局域網,二級局域網和點對點IIHPDU)來傳達這個信息。
8.1域邊界IS上的多目標環路
路由信息(連接狀態PDU)不能在路由域邊界交換。因此,所有與連接到其他路由域的環路
相關的路由信息均通過地址可達管理對象進入。這些路由信息再通過連接狀態PDU散布
到路由域的其他部分(如在7.3.3.2中所述)。這樣,NPDU可以在可達地址的地址前綴中預定與
域邊界IS相連的NSAP.當收到這類的NPDU時,IS應當根據自己的連接狀態信息,將它轉發到
適當的環路上。然而在多目標子網的情況下(例如使用動態分配的ISO8208子網,廣播型子網
或無連接子網),為了將NPDU轉發到適當的SNPA(它可能是在另一域中的目的ES或者IS。),
應當確知附加的子網相關地址信息。
一般情況下,NPDU應被轉發的SNPA地址能夠從NPDU的目的NSAP中得到??梢詫δ?BR>的NSAP地址進行一些算法操作得到應被轉發的NSAP地址。然對于一些目的NSAP來說這
是不可能的。在這種情況下,就應當使用預置信息使某個地址前綴對應于一個特定的SNPA地
址。
這通過可達地址從屬管理對象中包含的附加信息來實現。mappingType特性可以設為
"manual",并且在SNPA地址特性中指定某個特定的SNPA地址或者SNPA地址集合。而且可
特別制定出一個SNPA地址的運算方法。
8.2點對點子網
本段描述在點對點連接以及靜態環路和DCMDED環路上相鄰系統的識別。
IS應當運行ISO9542協議,應當能夠從其他IS接收ISO9542ISHPDU,存儲這樣從鄰接
數據庫得到的信息。
8.2.1ESHPDU的接收-ES的數據庫
IS應當在接收到ESHPDU時進入到ES的鄰接數據庫。如果ESHPDU是在同一個環上
被接收,但帶有不同的NSAP地址,新的地址應當被加入到鄰接中,并設置單獨的計時器。一個
ESHPDU可以帶有不只一個的NSAP地址。當一個新的數據連接地址或者NSAP地址加入
到鄰接數據庫中,IS應當在那個鄰接上產生一個"AdjacencyStateChange(Up)"事件。
IS應當在接收到的ESHPDU的"HoldingTime"上設定一個定時器。如果在定時期過期之
前沒有從ES上,那么完成與初始化鄰接相關聯的子網獨立過程,并且此ES應當在定時結束
時從數據庫清除。否則(若是接收到其他ESHPDU),則一旦這些過程完成,IS應當立即清除
鄰接。
當一個鄰接被清除,一個"AdjacencyChange(Down)"事件應當被發送給子網獨立過程,當
與清除鄰接相關聯的子網獨立過程完成,鄰接可以重新使用。
8.2.2IS接收ISHPDU
當IS接收一個ISHPDU時,如果鄰接不存在,IS應當創建一個鄰接(狀態為
"Initialising",adjacencyType為"Unknown"),然后執行以下操作:
a)如果鄰接狀態為"Up",ISHPDU中NET域中的ID與鄰接的neighbourID不匹配,則IS
應當:
1)產生"AdjacencyStateChange(Down)"事件;
2)刪除鄰接;并且
3)產生一個新鄰接,并且
i)設置新鄰接狀態為"Initialising",
ii)設置adjacencyType為"Unknown"。
4)執行如下操作:
b)如果鄰接狀態為"Initialising",adjacencyType為"IntermediateSystem",則這個ISHPDU應
當被忽略。
c)如果鄰接狀態為"Initialising",adjacencyType不是"IntermediateSystem",應當傳送一個點
對點的IIHPDU(如8.2.3中所述)。
d)鄰接狀態設為"IntermediateSystem",指示相鄰系統是IS,但類型(L1還是L2)仍未知。
8.2.3發送點對點IIHPDU
需要時,IS應當構造并且傳送一個點對點的IIHPDU,如下所述:
a)環類型(CircuitType)域應當按照表3設置。
b)本地環(LocalCircuit)ID域應當在創建時由IS賦值.該值應當在IS的所有環中是唯一的。
c)第一個點對點IIHPDU(也就是說,傳輸該IIHPDU是收到ISHPDU的結果,而不是計時器
過期的結果)應當被填充(帶有trailingPAD選項,包含任意值的字節),使包含IIHPDU的
SNSDU長度至少為(maxsize-1)個字節*,maxsize是
dataLinkBlocksize
originatingL1LSPBufferSize
originatingL2LSPBufferSize
的最大值。
*可以填充的最小尺寸為2字節,因為這是選項頭標的尺寸.可能的話,PDU應當被填充到
maxsize,但如果PDU長度是maxsize-1,填充是不可能的也是不需要的。
這樣做是為了保證鄰接僅建立在能夠交換長度達到maxsize個字節的系統之間。如果不
采用這種檢查,就可能存在具有較小的最大塊尺寸的鄰接,結果就會導致某些LSP和SNP(長度
大于這個最大尺寸,而小于maxsize)不能被交換。
注意-管理者必須保證環上dataLinkBlocksize的值(用來構成一個IS到IS的鄰接)設置為一個大于等于
上面所列的LSPBufferSize的值.如果不能保證這一點,鄰接的初始化將失敗.這一要求不可能(不
需要)被強制執行,因為在初始化時間以前,不知道相鄰系統是否是一個ES或者IS.ES可以使用較
小的dataLinkBlocksize。
表3-設置環類型(CircuitType)域的值
路由類型
環manualL2OnlyMode
環類域
Level1
-
Level1only(1)
Level2
"True"
Level2only(2)
Level2
"False"
Level1and2(3)
8.2.4接收點對點IIHPDU
當IS收到點對點IIHPDU時,應當比較兩個IS的區域地址(areaaddress)以確定鄰接的有
效性.。如果兩個IS有相同的區域地址,則鄰接對于所有IS類型的組合都是有效的(除了一級
IS連接到二級IS,而二級IS的manualL2OnlyMode為"True").如果它們的區域地址不同,鄰接僅
在兩個IS均為二級IS時才有效,IS應當標記鄰接為Level2Only.以下詳細討論。
當接收到點對點IIHPDU,PDU的所有區域地址應當與manualAreaAddresses中的地址比
較。
a)如果檢測到任意一對地址匹配,執行以下操作:
1)如果本地系統的RouteingType為"L1IntermediateSystem",IS應當執行表4中指定的操
作。
2)如果本地系統的RouteingType為"L2IntermediateSystem",并且環的
manualL2OnlyMode為"False",IS應當執行表5的操作。
3)如果本地系統的RouteingType為"L2IntermediateSystem",并且環的
manualL2OnlyMode為"True",IS應當執行表6的操作。
b)如果任意一對地址均不匹配,執行以下操作
1)如果本地系統的RouteingType為"L1IntermediateSystem",并且鄰接的狀態不為"Up",IS
應當刪除這個鄰接并產生一個"InitialisationFailure(AreaMismatch)"事件。
2)如果本地系統的RouteingType為"L1IntermediateSystem",并且鄰接的狀態為"Up",IS應
當刪除這個鄰接并產生一個"AdjacencyStateChange(Down-AreaMismatch)"事件。
3)如果本地系統的RouteingType為"L2IntermediateSystem",IS應當執行表7中指定的操
作(不考慮manualL2OnlyMode的值)。
c)如果執行的動作是"Up",(如以上引用的表中詳細描述),IS應當將PDU的SourceID域與
本地SystemID比較。
1)如果本地IS具有較高的SourceID,IS應當將環的CircuitID設為本地SystemID和Local
CircuitID的串聯(即在IS發送的點對點IIHPDU中的LocalCircuitID域)。
2)如果遠程IS具有較高的SourceID,IS應當將環的CircuitID設為遠程系統的Source
ID(PDU的SourceID域)和遠程系統的LocalCircuitID(PDU的LocalCircuitID域)。
3)如果兩個SourceID相同(即系統初始化為其本身),則使用本地SystemID。
注意-circuitID不用來產生IS傳送的IIHPDU的LocalCircuitID域.LocalCircuitID的值是在環創
建時一次性賦值的,以后值不改變。
d)如果執行的動作是"Accept"并且計算出來新的circuitID的值與存在的鄰接中的值不一致
時,IS應當:
1)產生"AdjacencyStateChange(Down)"事件
2)刪除該鄰接
e)如果執行的動作是"Up"或"Accept",IS應當
1)從PDU中拷貝出AdjacencyneighbourAreas入口。
2)將holdingTimer設為PDU中"HoldingTime"的值,且
3)將neighbourSystemID設為PDU中"SourceID"的值。
表4-匹配區域的一級狀態表
CircuitType(1)
AdjacentyType
none(2)
Level1(3)
Level2(4)
Level1only
Up(5)L1(6)
Accept
Down(7)(Wrongsystem)
Level2only
Reject(8)(Wrongsystem)
Down(7)(Wrongsystem)
Down(7)(Wrongsystem)
Level1&2
Up(5)L2(9)
Down(7)(Wrongsystem)
Accep
1:接收到PDU的"CircuitType"域的值。
2:鄰接狀態不是"Up"。
3:鄰接狀態是"Up",鄰接的adjacencyType是"L1IntermediateSystem"。
4:鄰接狀態是"Up",鄰接的adjacencyType是"L2IntermediateSystem"。
5:鄰接被接受,并產生一個"AdjacencyStateChange(Up)"事件.如果鄰接的adjacencyType
是"Unknown"(即還未收到過ISHPDU),也應當傳送一個點對點的IIHPDU。
6:adjacencyType被設為"L1IntermediateSystem"。
7:因為特定的原因,鄰接被刪除,產生一個"AdjacencyStateChange(Down)"事件。
8:因為特定的原因,產生一個"InitializationFailure"事件。
9:adjacencyType被設為"L2IntermediateSystem"。
8.2.5監控點到點的相鄰(MonitoringPoint-to-pointAdjacencies)
IS應當擁有一個點到點相鄰的保持時間(相鄰保持計時器)。計時器的數值用來指示
Pt-PtIIHPDU中計時器的保持時間。如果一個鄰居在此時間內沒有接收,那么IS應當:
a)從數據庫中清除它;
b)產生一個相鄰狀態轉移(向下)通知。
8.3ISO8208子網
8.3.1網絡層協議
在ISO8473中假定的用來提供ISO8208子網的基本服務方式在ISO8473條款8中所描
述。此方式定義了一系列子網相關集中功能(SNDCFs),用于聯系特別個人ISO標準子網提供
的服務與ISO8473條款5.5中定義的抽象的基本服務。特別在8.4.3中描述了子網相關集中
功能在ISO8208子網中的應用。
8.3.2SVC建立
8.3.2.1ISO8473子網相關集中功能的使用
SVC應當通過ISO8473中所定義的ISO8208子網相關集中功能的程序(可能位于系統
管理動作或依賴于到來數據的流程類型)來建立。呼叫請求應當包含一協議鑒別器,用于在
前8位呼叫用戶信息中規定ISO8473.在靜態流程情況下,一個SVC的建立僅依賴于系統管
理動作。此IS應使用鄰居SNPA地址作為被呼叫的SNPA地址。在DA流程情況下,呼叫建立
程序被流程通信量的到達所啟動。
8.3.2.2動態分配流程
一動態分配流程擁有多個相鄰,因而可以用來建立多SNAP的SVC。一般來說,建立呼叫
的SNPA地址可從將要發送一NPDU的NSAP中獲得。當所有在ISO8208子網上可達到的NSAP
都有IDI(表示它們的SNPA地址)時,正確的SNPA可以通過分析IDI得到確認。然而可能
會有一些NSAP,它們被要求在ISO8208子網上到達,這些ISO8208子網的IDI與它們在ISO
8208子網的連接點的SNPA地址不符。該IDI可能涉及一些其他的SNPA地址,這些地址不是
很理想的連接到目標NSAP上(或者一點也沒有連接),或者此IDP根本沒有包含一個X.121
地址(例如ISODCC方案)。在此情況下,IS應當預先設定信息連接一IDP(或地址前綴)
到一特殊的SNPA呼叫地址。
就像在8.1中所描述的,通過包含可到達地址的管理目標的附加信息來完成。地址提取
算法可能用來提取IDI部分地址,該地址為需要的X.121地址。表8為一系列可到達地址的
例子。
以下為說明:
a)對于ISODCC前綴39123,稱為SNPA地址X。
b)對于X.121IDI地址前綴37aaaaa,不是稱為aaaaa而是B。
c)對于所有基于包含DNICD(例如地址前綴37D)SNPA的IDP,稱為地址Y(它可能成為
到達一包含DNICD的子網的網關)。
d)對于任何一個其他的X.121IDI(例如地址前綴37)稱為IDI地址的SNPA。
e)其他的名稱(在表8中為*)稱為地址R、S或者T。它們可能成為Level2中間系統(通
過此系統任何其他地址都可能潛在地被達到)的SNPA地址。
注意:如果一DA流程被定義為包含一可達到地址前綴,該前綴包含地址可在一DCM或靜態流程上被達到,
該DA流程的成本必然大于靜態流程。如果不是這樣的話,DA流程可被用于建立到達遙遠的支持靜態流
程的SNPA的呼叫,這樣可能(錯誤地)假設它是靜態流程。
8.3.2.3初始呼叫(Level2中間系統)
當一NPDU將要發送到一動態分配流程時,對于目標NSAP地址D,IS應當:
a)計算D的子網地址,或者是流程數據庫中明確的規定,或者是從IDP中提取。
1)如果此系統是一ES并且在RedirectCache(重定向高速緩沖)或者ReversePathCache
(反向高速緩沖)中有一對于D的入口,使用此子網地址在Cache入口處。
2)如果此系統是一ES或者Level2中間系統,并且該地址與列出的可達到地址前綴(包
含*)之一相匹配,此子網地址通過映射類型性質來指定(要么手動,指出在SNPA
地址中的一系列地址被認為使用可到達地址,要么通過算法規則,指出它可從IDP
中使用指定的算法規則來提?。?。如果多個SNPA地址被指定,并且在此已經在這些
SNPA地址中有一相鄰,那么選擇此子網,而不是像在8.3.2.4中所述選擇最早時標
的子網。
3)如果此地址不與列表中地址前綴相匹配(并沒有*入口),調用ISO8473丟棄PDU功
能。
b)在鄰接中掃描已經向D子網地址打開的鄰接(也就是保留計時器還未過期)。如果發現,
發送NPDU到該鄰接。
c)如果沒有鄰接建立面向需要的子網地址的呼叫,但是有一自由鄰接,那么嘗試使用此子
網地址建立呼叫。
d)如果沒有自由鄰接,調用ISO8473丟棄PDU功能。
注意:有可能出現一鄰接被保留(當一SVC一超過時限已經被清除,但保留計時器還未過期),此時,子網
服務提供者的資源應當保留,為了減少鄰接需要開始呼叫但無法開始的可能性。
8.3.2.4呼叫嘗試失敗
可到達地址管理目標可能包含一系列SNPA地址,每一地址均有一關聯的時間標記。此時
間標記預置為無限早。
此系列的一些SNPA可能無法達到。如果對此SNPA列表之一的呼叫嘗試失敗,IS應當將
此列表入口標記為最新失敗嘗試的時間。當將要從列表中選出一SNPA地址時,IS應當選擇
一具有最早時間標記的SNPA地址,除非最早時間標記時間比再呼叫計時器還要近。如果最早
時間標記時間比再呼叫計時器近時,所有SNPA應被假設為臨時不可達并且不作呼叫嘗試。IS
應改為調用ISO8473丟棄PDU功能。
當試圖與一單一的指定子網地址(不是一系列SNPA地址中的一個)建立連接時,比如一
個到指定SNPA地址A的呼叫嘗試,因為某種原因失敗時,IS應調用ISO8473丟棄功能。另
外位于呼叫嘗試的鄰接應被置為失敗狀態,并且再呼叫計時器置位。再它期滿前,IS不應為
將來要發送到子網地址A的NPDU建立呼叫嘗試,而是應調用ISO8473丟棄PDU功能。
當再呼叫計時器期滿時,IS應放開鄰接并呼叫一不同的目的地或重試子網地址A。
注意:如果一個設備可以儲存有關SNPA地址的紀錄,這些SNPA地址是開始于在一特定區域中嘗試的
過程中失敗的地址,而不是在呼叫嘗試的鄰接中,那么此鄰接可被用于其他呼叫。
8.3.3在DA回路上的反向路徑轉發
在一個子域被兩個或更多SNPA放到一個已鏈接導向的子網絡的地方,子域地址的IDP
可能被選擇從附著點之一的地址建立。(這是不必的。整個子域能用SNPA的兩個地址或一
些其他可選IDP多路回歸(multi-home)。例如:ISODCC。)從其他SNPA來的子域流量將
導致建立一個對應于子域地址IDP的SNPA的呼叫。子域來的流量會使用依賴子域作出的路
由決定的SNAP中的任一個。(見下圖5說明)
Figure5-Exampleforreversepathforwarding
子域經SNPAA和B放在已鏈接導向的子網上。子域地址用B的SNPA地址作為IDI
建立。如果C.z的流量是B.x送來的,從A到B將建立一個呼叫。相反的從C.z到B.x的
流量將導致建立另一從C到B的呼叫。因此在需要一個SVC的地方,將建立兩個SVC。
這個問題的預防是在本地系統保留一個高速緩存(叫做反向高速緩存
ReversePathCache)記錄NASP地址,自這些地址流量已被從每個鄰域接收。當有流量轉發
自已經鏈接導向的NASP,IS會首先檢測看是否目的NASP是在任一它的鄰域的高速緩存中,
假如這樣的話,在該鄰域上轉發流量。一個NASP只有當接收它的SNPA鄰域的遠方SNPA
地址與檢查回路可達地址管理對象(theCircuitReachableAddresses)時能產生的SNPA
地址有差異時才能加到高速緩存。如果cache已滿,IS會重寫最近使用過的入口。反向高速
緩存如果實行至少要有一個入口。IS會清空cache,當鄰域卸除時(也就是當保留時間滿時)。
8.3.4在ISO8208子網絡上ISO9542的用法
STATIC和DA回路在點對點鏈路上是等同的,如在8.2節中描述的點對點鏈路那樣允
許ISO9542的操作。????
對于DA回路,用ISO9542來得到配置信息(例如中間系統的定位)是不切實際的,
既然這將需要對所有可能的SNPA地址建立呼叫。
IS將不在DA回路上送ISO9542ISHPDUs。
IS在收到一個ESHPDU或ISHPDU時不會有行動,回路將不等待它們到來而完成初始化。
IS將不在DA回路上送點對點IIHPDU。
IS將忽略收到IIHPDU。
??(如果STATIC或DA回路錯誤連接到一個為DA回路使用的SVC,將不發生以上情況。)
???該句有錯
8.3.5與更新進程的交互
一個動態分配的回路包括一個列表<可達地址前綴,花費,SNPA地址>tuples。同樣,
每一個動態分配的回路有一個指定的由呼叫建立metrick(callEstablishmentMetrick:這
里k索引四個已定義metric)衡量的呼叫建立花費。該呼叫建立花費常常是一個內部metric,
因此只有可達地址metric也是內部的才可直接與之直接比較。當回路是有效的,在一個中間
系統中的子網絡決定函數(SubnetworkDependentfunction)將報告(給更新進程)在回路
可達地址管理對象中所有地址前綴的鄰域花費改變事件,也有可達地址metrick+Deltak增加
(ReachableAddressmetrick+callEstablishmentMetrickIncrement.)。如果可達地址metric是
內部的,則Deltak=0。這導致該信息被包括在后來產生的LSP中,如7.3.3.2所述。路由
PDU(LSP和序號PDU)將不會被送到動態分配回路。
注意-在下面的條款中,假定引用的可達地址都是已有效的(就是已狀態“On”的),且它們的雙親
回路也已狀態“On”。
8.3.5.1鄰域構造
在一個到SNPA地址的SVC已經成功建立且一個新的鄰域已為其創造(不論它是本地
還是遠端系統初始化的),如果呼叫建立metrick增加(callEstablishmentMetrickIncrement)
大于零,IS將掃描回路可達地址管理對象找所有作為SNPA地址(之一)列舉在D中的地
址前綴。
對用映射類型算法的可達地址,IS將構造一個暗含的前綴88就是一些可匹配可達地址
前綴的地址前綴,且當提取算法被真的遠端SNPA地址D和地址提取算法申請時,其能產生
SNPA地址。
IS將為每一個這樣的地址前綴(既是真的也是暗含的)產生一個鄰域花費改變事件,運
用可達地址回路k(不用更多的呼叫建立metrick增加)。這使得用更低的花費可達的地址前
綴的信息被包括在后來產生的LSP中。這個效果將鼓勵盡可能使用已建立的SVC。
8.3.5.2鄰域刪除
當SNPA地址的鄰域被釋放(保留計數器滿,或鄰域被系統管理動作刪除),則如果呼
叫建立metrick增加大于0,IS將掃描回路可達地址管理對象找所有那些用映射類型手冊的
和它們的SNPA地址(之一)等于D的。IS將用可達地址metrick+Deltak增加(這里Deltak
如上已被定義)來對所有這樣的地址前綴產生鄰域花費改變事件給更新進程。對可以如上構
造一個暗含地址前綴的用映射類型X.121的可達地址,IS將對這暗含前綴產生一個鄰域狀態
改變通知(adjacencyStateChangenotification)。
一個花費改變事件只能當已建有一個SVC的子網絡地址數目計數從1到0的變化時才
能產生。
8.3.5.3回路呼叫建立增加改變(CircuitCallEstablishmentIncrement
Change)
在一個動態分配回路,當系統管理為該回路改變呼叫建立metrick增加時,IS為所有被
這改變影響的地址前綴(就是那些當前不能建立呼叫的)產生鄰域花費改變事件。
IS將掃描該回路的所有地址管理目標。如果可達地址有映射類型X.121,IS將用可達地
址metrick+Deltak的??????新值為那個名字產生一個鄰域花費改變事件。如果(基
于呼叫建立metrick增加的新值)可達地址有映射類型手冊,IS將掃描所有這回路上的鄰域
找一個與可達地址的SNPA地址(之一)相等的有SNPA地址的鄰域。如果找不到,IS將用
可達地址metrick+Deltak的新值為那個名字產生一個鄰域花費改變事件(基于呼叫建立
metrick增加的新值)。
8.3.5.4可達地址花費改變
當一狀態開的可達地址地metric特性被系統管理改變了,IS將為更新進程產生花費改
變事件來反映這個改變。
如果可達地址有映射類型手冊,IS將掃描所有這回路的鄰域找一個與可達地址的SNPA
地址(之一)相等的有SNPA地址的鄰域。如果找到了一個或更多這樣的鄰域,IS將用新的
可達地址metrick為那個名字產生一個鄰域花費改變事件。如果沒找到,IS將用可達地址
metrick+Deltak的新值為那個名字產生一個鄰域花費改變事件(基于呼叫建立metrick增加
的新值)。另外,對所有這回路的有一個SNPA地址的鄰域(一個暗含的地址前綴能為這可
達地址產生),IS將為這暗含地址和新的可達地址metric產生一個鄰域花費改變事件。
IftheReachableAddresshasmappingType"X.121",theISshallgeneratean"adjacencycost
change"eventforthatnamewiththenewReachableAddressmetrick+callEstablishmentMetric
kIncrement.Inaddition,forallAdja-cenciesoftheCircuitwithanSNPAAddressforwhichan
impliedaddressprefixcanbegeneratedforthisReach-ableAddress,theISshallgeneratean
"adjacencycostchange"eventforthatimpliedaddressprefixandthenewReachableAddress
metrick.
8.3.5.5廢止一個可達地址
當一個可達地址管理對象經由管理動作廢止時,IS將產生一個鄰域下降事件給更新進
程,為了這個可達地址的名字,也為任一關聯這可達地址的暗含前綴。
8.3.5.6使一個可達地址有效
當一個可達地址管理對象經由管理動作有效時,IS將產生一個鄰域花費改變事件,如在
上面8.3.5.4節中所述的可達地址花費改變。Inadditionitshallgeneratean"Ad-jacencyState
Change(Up)"systemmanagementevent.
8.4廣播子網絡
8.4.1廣播子網絡IIHPDUs
所有廣播回路上(包括第一層和第二層)的中間系統應如8.4.3節中所述那樣傳送LAN
IIHPDUs。第一層中間系統應只傳送第一層LANIIHPDUs。那些手冊只第二層模式
(manualL2OnlyMode)設為真值的回路上的第二層中間系統應只傳送第二層LANIIHPDUs。
那些手冊只第二層模式(manualL2OnlyMode)設為真值的回路上的第二層中間系統能傳送兩
者。
第n層LANIIHPDUs包括正在傳送的中間系統的ID,保留計時器,第n層優先權和手
冊區域地址,加上一個包含了所有鄰居系統類型第n層中間系統(neighbourSystemTypeLn
IntermediateSystem)(在初始狀態或向上狀態)的鄰域的LAN地址。
LANIIHPDUs將被填補(其追蹤PAD選項包括任一已填值八位字節)以使包含IIHPDUs
的SNSDU有一個至少maxsize-1八位字節長度(99能被增加的PAD的最小長度是2個字
節,因為那是選項報頭的大小。在可能處PDU將被填充到最大值,但如果PDU的長度是
maxsize-1八位字節,不可能(或者說不需要)填充。)當第一層IIHPDUs的最大大小是如
下的最大值
-數據鏈接塊大小
-產生第一層LSP緩沖區大小
且第二層IIHPDUs的最大大小是如下的最大值
-數據鏈接塊大小
-產生第二層LSP緩沖區大小
這樣做可以確保一個鄰域將只在那些適合交換長度等于最大字節的PDU的系統間建立。
沒有這個檢測,將可能有一個比最大塊的大小短的鄰域存在,結果是一些LSP和SNP(就
是那些比這個鄰域的最大長,但比最大大小短的)將不能被交換。
注意-一個能發生上述情況的拓撲的例子是一個從不同最大塊大小的LAN部分構建起來的擴充
LAN。如果,作為錯誤構造或一些動態重構的結果,在有一個大的最大塊大小的分離LAN部分上的兩
個中間系統間的一條路徑會存在,包括在較小塊大小的LAN部分上傳送,較大的PDU的丟失將會發
生如果中間系統繼續使用那個較大的塊大小。最好拒絕在這些情況下建立鄰域。
第一層中間系統將傳送第一層LANIIHPDUs到多目的地址所有第一層IS(the
multi-destinationaddressAllL1ISs),也收聽那個地址。它們也將收聽在多目的地址所有
中間系統(themulti-destinationaddressAllIntermediateSys)的ESHPDUs。鄰居中間
系統的列表只包括同一區域的第一層中間系統。(也就是鄰居系統類型第二層中間系
統的鄰域。)
第二層中間系統(其手冊只第二層模式(manualL2OnlyMode)值為假)將執行如上的兩
個動作。各別的第一層和第二層LANIIHPDUs將被送往多目的地址所有第一層IS和所有第
二層IS(themulti-destinationaddressAllL1ISsandAllL2ISs)分別為第一層和第二
層描述鄰居的中間系統。在收到第一層和第二層LANIIHPDUs后,各別的鄰域將被建立。
8.4.1.1IIHPDU接收測試
接收到一個廣播IIHPDUs后,執行以下PDU接收測試:
a)如果IIHPDUs是在一個外部域屬性為真的回路上接收到的,IS將丟棄該PDU。
b)如果PDU的ID長度域不等于IS的路由域ID長度(routeingDomainIDLength),這PDU
將被拋棄,一個ID域長度不匹配(iDFieldLengthMismatch)通知產生。
c)如果一組該回路的回路接收密碼(circuitReceivePassword)不空,則執行下列測試:
1)如果這PDU不包含鑒定信息域,則PDU將被拋棄,一個鑒定錯誤信息
(authenticationFailure)通知產生。
2)如果這PDU包含鑒定信息域,但鑒定類型不等于密碼,則PDU不會被接受除非IS
執行被鑒定類型指定的鑒定過程。這種情況下,不管IS接受或忽略PDU都超出了
本國際標準的范圍。
3)否則,IS將比較收到的PDU中的密碼與在接收PDU所在回路上的這組回路接收密
碼中的各密碼。如果PDU中的值符合這些密碼中任一,IS將接收該DPU以進一步
轉發。如果PDU中的值不符合這些密碼中任一,則IS將忽略該PDU并產生一個
鑒定錯誤信息(authenticationFailure)通知。
8.4.1.2第一層IIHPDUs的接收
在多目的地址所有第一層IS(themulti-destinationaddressAllL1ISs)上接收一個
第一層LANIIHPDU,IS將從接收到的IIHPDU來比較每一區域地址,這IIHPDU有一組在
手冊區域地址特性中(themanualAreaAddressescharacteristic)的區域地址。如果在任一
對中都不能找到一個匹配(也就是本地和遠端系統沒有共同區域地址),IS將否決這個鄰域
并產生一個初始化錯誤(區域不匹配)通知。否則(一個匹配被發現),IS將承認該領域并
設其鄰域的鄰居系統類型(theAdjacencyneighbourSystemType)為第一層中間系統。
8.4.1.3第二層IIHPDUs的接收
在多目的地址所有第二層IS(themulti-destinationaddressAllL1ISs)上接收一個
第二層LANIIHPDU,IS將承認該領域并設其鄰域的鄰居系統類型(theAdjacency
neighbourSystemType)為第二層中間系統。
8.4.1.4現有的鄰域
當一個第n層LANIIHPDU(第一層或第二層)被一個已經有一鄰域的中間系統接收,
其鄰域為:
a)鄰域的LAN地址等于PDU的MAC源地址,且
b)鄰域的鄰居系統ID等于從PDU來的源ID域,且
c)鄰居系統類型等于第n層直接系統,
則IS將依照PDU中的值來更新保留計時器,LAN優先權和鄰居地址。
8.4.1.4新鄰域(NewAdjacencies)
當發生下列情況時,IS將產生一個新的鄰域:
a) 第n層LANIIHPDU(IntermediatesystemtoIntermediatesystemHelloProtocolDataUnit)
(第1層或第2層),被接收(從中介系統R);
b) 沒有這樣的鄰域,其鄰域LAN地址(LANAddress)等于PDU的MAC源地址;
c) 鄰域的鄰居系統ID(neighbourSystemID)等于PDU的源ID字段;
d) 鄰域類型為“第n層中介系統”(“LnIntermediateSystem”)。
然而,如果鄰域數據庫空間不足以產生新的鄰域,IS將按8.4.2節所描述的那樣代為
完成。IS將會:
a) 把鄰域類型狀態量設置為“第n層中介系統”(這里n為IIHPDU的層數);
b) 根據PDU的值設置保留計時器(holdingtimer),LAN優先權,鄰居ID和鄰居地址
(neighbourAreas);
c) 根據PDU的MAC源地址設置LANAdress。
IS將鄰域狀態(thestateoftheadjacency)設為“正在初始化”(“initializing”),
直至獲知此系統和PDU(R)的源之間的通訊是雙向的。然而,R將被包含在此系統將傳輸
的第n層LANIIHPDUs中。
當R報告此線程的第n層LANIIHPDUs中的LANAddress時IS將:
a) 把鄰域狀態設為“Up”;
b) 產生一個“鄰域狀態變化(Up)”事件("AdjacencyStateChange(Up)"event.)。
IS將為每一個“第n層中介系統”鄰域保持一個單獨的保留時間(鄰域保留計時器)
保留計時器的值將域第nLANIIHPDUs第保留計時字段的值相同。如果無法接收一個鄰
居,IS將:
a) 把它清除出數據庫;
b) 產生一個“鄰域狀態變化(Down)”事件。
如果從鄰居N處接收到第n層LANIIHPDU,且此系統的LANAddress不再存在于鄰居
N的IIHPDU中,IS將:
a) 把鄰域狀態設為“正在初始化”;
b) 產生一個“鄰域狀態變化(Down)”事件。
8.4.2鄰域數據庫空間不足(InsufficientSpaceinAdjacencyDatabase)
如果IS需要產生一個新的中介系統鄰域,但鄰域數據庫沒有足夠的空間時,LAN優先
級(LANPriority)最低,鄰域類型為“第n層中介系統”的鄰域將被清除出數據庫。(如果
多于一個鄰域有最低優先級,則其中LAN地址最小的鄰域將被清除)。如果新的鄰域有最
低優先級,它將被忽視,且產生一個“RejectedAdjacency”。
注意:在數位比較時,一個48位LAN地址被視為無符號的四位整數,隨著它的第一個字節被傳輸,
且最左邊的字節,被視為最低字節。
如果一個舊的鄰域被清除,IS將產生一個“鄰域狀態變化(Down)”事件。在子網wuguan
功能發出“鄰域down完成”信息后,IS會產生一個新的鄰域。
8.4.3LANIIHPDUs的傳輸
當線程已被激活時,一個IS將傳輸一個LANIIGPDU。一個第2層中介系統(不僅僅
標記為第2層)傳輸一個第1層LANIIHPDU和一個第2層LANIIHPDU。
系統上次以此線程傳輸一個相同類型的LANIIHPDU之后至少一秒,IS也將傳輸一個
LANIIHPDU,并且:
a) 從上一個LANIIHPDU傳輸周期以來,ISIS呼叫計時器秒(ISISHelloTimerseconds)消
逝(elasped)*了。保留時間被設為ISIS保留乘法器×ISIS呼叫計時器。對一個指定的中
介系統,,DRISISHelloTimer*的值被用作ISIShelloTimer。此PDU的保留時間將因此別
設為ISISHoldingMultiplier×DRISISHelloTimerseconds.這就允許指定的中介系統更快地
被偵測到;或者,
b) 下一個要傳輸的IIHPDU的內容與此系統傳輸的前一個IIHPDU的內容不同,或,
c) 此系統已決定,對于那層的指定LAN的中介系統是變成或辭去。thissystemhasdetermined
thatitistobecomeorresignasLANDesignatedIntermediateSystemforthatlevel.
要使LAN上所有中介系統IIHPDU同時傳輸的可能性最小,當一個IIHPDU被傳輸,
作為定時器終止的結果或一旦成為或辭去指定的中介系統,呼叫時間定時器將只被重置。
*抖動(jitter)的用法在第10.1節中介紹。
*此情況下不用抖動,因為它將導致小于1秒的時間間隔
8.4.4指定LAN中介系統(LANDesignatedIntermediateSystems)
一個指定LAN的中介系統是LAN上的按某特定順序的最高優先級中介系統,它有數
量最多的MAC源地址阻斷節點。
通常,每一個LAN上有兩個指定中介系統,即LAN的第1層指定中介系統和第2層
指定中介系統。它們按下列方法選擇:
a)第1層中介系統選擇LAN第1層指定中介系統。
b)從只在第2層的中介系統(如CircuitmanualL2OnlyMode特性值設為“True”的第2層
中介系統)選出LAN的第2層指定中介系統。
c)第2層中介系統(manualL2OnlyMode值為“False”)選出LAN的第1層和第2層指定
中介系統。
中介系統的設置應包括本地中介系統,以及下面這些類型合適的所有中介系統:
a)對LAN的第1層指定中介系統來說,從中介系統接收IIHPDUs和其鄰域的狀態為“Up”
都是中介系統的設置。當本地系統成為或辭去LAN的第1層指定中介系統,IS將產生
一個“LAN第1層指定中介系統變化”(“LANLevel1DesignatedIntermediateSystem
Change”)事件。另外當它成為LAN第1層指定中介系統時,它將形成以下動作:
1)用現存的終端系統配置產生并傳輸第1層偽網點LSP(Level1PseudonodeLSPs);
2)按7.2.3節描述的方法清除由前面的LAN第1層指定中介系統(如果有的話)發出的
第1層偽網點;
3)請求新的終端系統按8.4.5節的介紹配置;
b) 對LAN的第2層指定中介系統來說,從中介系統接收IIHPDUs和其鄰域的狀態為“Up”
都是中介系統的設置。當本地系統成為或辭去LAN的第1層指定中介系統,IS將產生一
個“LAN第2層指定中介系統變化”(“LANLevel2DesignatedIntermediateSystem
Change”)事件。另外當它成為LAN第2層指定中介系統時,它將形成以下動作:
1)產生并傳輸第1層偽網點LSP(Level1PseudonodeLSPs);
2)按7.2.3節描述的方法清除由前面的LAN第1層指定中介系統(如果有的話)發出
的第1層偽網點;
當一個中介系統不再作為LAN第1層或第2層指定中介系統,它將對7.2.3節描述的
鏈接狀態PDU(LinkStatePDUs)作動作。
當廣播網路(broadcastcircuit)在一個中介系統上可用,此IS將形成以下動作:
a) 開始發送IIHPDUs,其LANID字段設為與其自身的SystemID與其本地指定的一字節
LocalCircuitID串連;
b) 懇求終端系統按8.4.5節所敘述配置;
c) 開始偵聽ISO9542ISHPDUs和ESHPDUs,獲得適當的鄰域。不進行指定中介系統的
選擇過程(electionprocess)
d)在等待ISISHelloTime×2秒,根據中介系統類型,運行第1層和(或)第2層指定中
介系統選擇過程。無論何時一個IIHPDU被接收或被傳輸,象8.4.3節所述的那樣,上
述過程都將隨之運行(此情況下,傳輸系統本身的IIHPDU相當與接收它)。如果自從
上次進行選擇過程以來,有關的信息沒有改變,以前的結果可被假定。相關的信息是:
1) 中介系統鄰域的設置,
2) 中介系統(包括本系統的)優先權的設置,以及
3) 網路上至少存在一個狀態為“Up”的終端系統(不包括ManualAduacencies)或中
介系統鄰域(Intermediatesystemadjacency)。
一個中介系統不能宣稱自己是一個任一類型的LAN指定中介系統,直到網路上有至少
一個“Up”終端系統(不包括ManualAdjacencies)或中介系統鄰域。(這有助于防止出現下
述情況:一個有缺陷(defective)而無能力接收任何PDU的中介系統錯誤地把自己選為LAN
指定中介系統。)
系統傳輸的LANIIHPDUs中的LANID字段將被設為一值,此值是從本系統所知的指
定中介系統接收到的LANIIHPDU(對適當的層)報告的LANID值。此值也將被傳送到更
新過程(UpdateProcess),作為偽網點ID,以使LinkStatePDUs被系統發布以表明與偽網點
的連通性。
作為指定中介系統選舉過程的結果,如果此系統把自己當作指定中介系統,LANID
字段將被設為此系統自己ID與本地制定的一字節LocalCircuitID的串連(concatenation)。
8.4.5懇求終端系統配置(SolicitingtheESconfiguration)
當LAN的配置或拓撲結構改變(例如一個LAN被失效的中繼器或網橋劃分成兩部分),
就需要(新的)DesignatedIntermediateSystem來盡可能快的獲得新Endsystem配置以使其產
生正確反映實際配置的LinkStatePDUs。此功能由下述方法實現:
當網路可用或Intermediatesystem偵測到LAN上Intermeidatesystems設置或the
DesignatedIntermediateSystemID的改變,IS將用以下動作發動對ES配置的輪詢。
a)在0和PollESHelloRate時間中延遲一個隨機時間間隔。(這是為了避免與其它偵測到此
變化的中介系統的同步性)
b)當且僅當一個中介系統已刪除LAN上的中介系統設置,重設此網路上的所有鄰域的
endsystemIDs鄰域數據庫記錄中的entryRemainingTime字段的值為:
(ISISHelloTimer+PollESHelloRate)×HoldingMultiplier
或現存的任一個較低的值。(這導致任一不再存在于LAN上的Endsystems很快超時,
但不會再它們有機會回答輪詢之前。)
c)在ISISHelloTimer和保持時間helloTimer×HoldingMultiplier的時間間隔內,傳輸每個由
中介系統支配的NET的HoldingMultiplierISHPDUs,此中介系統由的SuggestedES
ConfigurationTimer的值為PollESHelloRate。
d)在helloTimer時間間隔內重新發送ISHPDUs,DefaultESHelloTimer的值為SuggestedES
ConfigurationTimer。
8.4.6收到ESHPDUs—終端系統數據庫(ReceiptofESHPDUs-Databaseof
EndSystems)
當從新的數據鏈接地址收到一個ESHPDU,一個IS將把一個Endsystem錄入鄰域數據
庫。如果收到一個有相同數據鏈接地址,但NSAP地址不同的ESHPDU作為當前鄰域,新
的地址將被加入到鄰域數據庫,并有一個單獨的定時器。一個單獨的ESHPDU可能包含多
于一個的NSAP地址。當一個新的數據鏈接地址或NSAP地址被加入到鄰域數據庫,IS將在
那個鄰域上產生一個“鄰域狀態改變(Up)”事件。
IS將以接收到的ESHPDU中的“HoldingTime”的值設置一個定時器。如果在此定時
器終止前沒有接收到另一個ESHPDU,倘若與正初始化鄰域相關的子網獨立功能已完成,
ES將被清除出數據庫。除非那些功能一完成,IS就清除鄰域。
當鄰域被清除,子網獨立功能將被通知一個“鄰域變化(Down)”事件,在與降低鄰域
有關的子網獨立功能完成后,鄰域能被重新使用。