原理
對於簡單性要求來說,只要將SWAP置於可靠性TCP傳輸層之上,將SWAP與可靠性傳輸和重用協定等問題進行剝離,從而達到簡化協定的目的。節點上的SWAP功能塊,通過運行TCP協定就能夠在其與鄰居節點之間建立起傳送信令的連線。SWAP組件只負責建立相鄰的TCP連線,並在其上傳送信令報文。這種相鄰連線使得節點可以確定自身是一個特定流的第一跳、最後一跳還是中間跳數(即使得該節點可以確定其是靠近流的發起端、還是靠近目的端或者位於中間),這樣就可以簡化信令結構、簡化失效檢測處理和簡化恢復過程。交換機的每一條鏈路都至少用一跳連線來保持與鄰居節點的連線關係(每一條鏈路都有一跳連線被保持)。基於相鄰連線關係的信令協定並不是最佳選擇,因為它有點瑣碎且與許多常規路由協定相似。
對於建立儘可能連續的光通路要求來說,要求SWAP選擇一個所有跳數的波長都相同的空閒的流通道。這樣SWAP必須收集每一跳的空閒波長列表。如果具有一個所有跳數的波長都相同的空閒光路,則該光路可以被選用;如果沒有這樣的空閒光路存在,如果SWAP還具有足夠的波長轉換能力,則swAP將選擇建立一條非連續的光通路。這一特性如果與一般的標籤交換技術相對比,則是swAP所特有的,因為SwAP決定選擇一個“標籤”(這裡一個波長即作為一個標籤)則具有全球意義。SWAP試圖減少或消除不同“標籤”之間的交換次數,這樣往往要轉完整個網路才能做出最終選擇哪一路波長的決定。而在整個信令傳輸過程中資源(一系列的空閒波長)必須被鎖定,以防止其它的信息流量來獲得相同的資源。
設計思想
(1)SWAP構建於可靠的上層傳輸協定,如TCP協定之上;
(2)第一跳節點定義為沒有上游鄰居的點,或有上游鄰居但進入的流量不足以真正形成一個需要交換的流。最後一跳定義為沒有下游鄰居的節點;
(3)如果目前各節點都沒有交換通路,SWAP使用最後一跳發起建立信息(SETUP)方式;如果匯聚點目前已存在一個流交換通道,則新的交換支路的建立採用匯聚點發起方式(即該匯聚點這時是現有交換通路將要被擴展的一條交換通道的最後一跳):
(4)SWAP使用第一跳發起拆線(TEARDOWN)訊息,如果匯聚點仍然有另外進入的交換通路的話,則該拆線訊息就終止於該匯聚點;
(5)每條進入鏈路都需要獨立地保持和鎖定其資源(空閒波長)信息;
(6)業務整合點應為每條進入分支保持流交換的狀態,並為每條未交換的進入分支進行流分組的計數;
(7)一個節點是第一跳,中間節點或最後一跳由鄰接協定來決定;
(8)鄰接協定假定是可用的或由路由協定來提供;
(9)如果鄰接協定向一個節點報告說既沒有上游節點也沒有下游節點,SWAP將不可用,因為SWAP的設定假定了至少有兩個POW節點(實際上,只在至少有三個交換節點時才有用);
(10)SWAP使用6個簡單的訊息:COMMIT、COMMIT_OK和TEARDOWN。SETUP、SETUP_CONFLICT、SETUP_FALL。
套用
SWAP信令協定主要用於在入口和出口節點之間建立光通路(假定是面向粗粒度的流)。只要有足夠的信息流存在,而且可以為其分配一個專用波長,則該光通路就會保持下去。數據太少的一個流將會激發某一跳斷開並向光通路的其它跳路由器發出拆除連線訊息。
這裡對路由器所使用的信令協定有幾項高級要求。首先,它必須儘可能地簡單(只使用少量的簡短的訊息)。第二,信令協定應該能夠建立儘可能連續的光通路,而不連續的光通路將迫使信息流再一次進行選路或執行波長轉換。第三,該信令協定必須支持波長合併技術。