當前位置:IP語音技術專區 → 正文

TRIP及其應用(三)

責任編輯:企業網 |來源:企業網D1Net  2010-08-05 18:09:46 原創文章 企業網D1Net

三、TRIP的實現

  1. TRIB的構成

  TRIP協議交換的路由信息由外部路由(External routes)、內部路由(Internal routes)和本地路由(Local routes)三種類型組成,為了直觀的描述TRIB的構成關系,TRIP協議從路由選擇的角度把LS中的TRIB分成以下四個構成部分,這四個部分實際上是由以上三種類型的路由內容構成:

  ● Adj-TRIBs-In:稱為臨近可選TRIB,其內容是從UPDATE消息中獲取的域內、域外LS上的路由信息,這些路由信息是當前路由選擇中的可以使用的輸入路由信息,
  ● Ext-TRIB:稱為外部TRIB,其內容是LS根據一定的路由選擇運算法則,從外部路由(存儲在外部LS的Adj-TRIBs-In中)和本地路由(存儲在本地LS的Adj-TRIBs-In中),為一個給定目的地址選擇的最佳的路由,每個LS只有一個Ext-TRIB。
  ● Loc-TRIB:稱為本地TRIB,其內容是LS運用其內部策略從內部LS的Adj-TRIBs-In和Ext-TRIB中選擇出來的TRIP路由信息。
  ● Adj-TRIBs-Out:稱為臨近輸出TRIB,其內容是LS準備廣播給外部LS的路由信息,它的內容將攜帶在UPDATE消息中對外廣播。

  這幾部分的關系如下圖7:

  圖7 四種TRIB的關系圖

  雖然TRIB由以上的四個部分構成,但這并不意味也并不要求一個路由選擇過程的完成必須要保留這四個每一個的單獨備份,其選擇并不拘泥于協議的劃分,有些路由選擇過程可能要用到一個TRIB,有時可能要用到多個,甚至在TRIP-MIB庫設計中大家并不一定能意識其的單獨存在,這根據具體需要而定。 關于TRIB標準定義的RFC至今還沒有出臺,只有討論性的草案,因此TRIB內容的具體表示只能暫時參考這些草案(draft-ietf-iptel-trip-mib-01.txt)。

  2. 路由消息的格式

  TRIP的消息必須建立在可靠傳輸協議的連接上,即只能是TCP/IP連接,且使用的TCP連接端口為6069,一個消息必須而且只能在全部接收結束后才能開始進行處理,TRIP消息的最大長度是4K(4096)個字節,最短長度是只包含消息頭部分的3個字節,大于4K個字節和小于3個字節長度的消息都屬于無效的TRIP消息。

  2.1 消息頭格式

  TRIP消息有固定的頭格式(共3個字節長),它決定了TRIP消息的類型,如圖8:

如圖8 TRIP的消息頭格式

  前兩個字節標明了這個TRIP消息的總長度,這個長度也包括消息頭的長度,最大值為4096,最小值為3;消息類別標明了本次TRIP消息的類型,取值范圍是1~4,表示的意義如下:

  1 – 當前消息是OPEN消息,用于建立LS之間的對等連接關系。
  2 – 當前消息是UPDATE消息,用于傳輸LS之間的網關路由信息。
  3 – 當前消息是 NOTIFICATION消息,用于通知運行中出現的錯誤、故障狀態。
  4 – 當前消息是KEEPALIVE消息,用于維護對等LS之間的連接關系處于活動狀態。 下面分別介紹OPEN、UPDATE、NOTIFICATION、KEEPALIVE四種TRIP消息和其所完成的TRIP、操作功能。

  2.2 OPEN(打開)消息

  對等的LS之間的TCP連接建立起來后,雙方發送的第一個消息就是OPEN消息,雙方在收到對方的OPEN消息后就返回一個KEEPALIVE消息,以確認OPEN消息發送和對等的LS之間TRIP會話建立成功,然后UPDATE、NOTIFICATION消息才可以進行發送。

  OPEN消息的最短長度為17個字節(包括消息頭的三個字節),除去固定的消息頭外,OPEN消息格式和域內容如圖9:

如圖9 OPEN消息格式和域內容

  其中: Version:表示當前消息所支持的TRIP版本,現在的版本是V1。
  Reserved:保留字。
  Hold Time:表示所建立會話的最長壽命,單位為秒,其值要么為0,表示永遠存在,要么就取最小值為3秒。
  My ITAD:當前發送者所在的ITAD的編號,這是由IANA組織分配的一個唯一值,1~255是協議的私有值,一般取值為從256 到 (2**32)-1中的一個,如SNMP中企業代碼一樣,不能隨便亂取。
  TRIP Identifier:發送者在所在ITAD域中的唯一TRIP標識(序號),可以理解為在ITAD中每個LS的編號,其一旦確定就不能再修改,除非整個系統重新啟動。
  Optional Parameters Len:表示了Optional Parameters (variable)List域的長度,單位為字節,如果為0,則表示本消息無操作參數。
  Optional Parameters (variable) List:是OPEN消息要發送數據或變量值的詳細列表,包括參數類型、參數長度、參數的值。

  在當前的TRIP協議中,OPEN消息主要用來告訴對方LS自己所具備的TRIP操作能力,這種能力包括兩個方面:

  ● 所支持的路由類型(Parameter Type=1),雙方LS只能處理都支持的路由類型,如果收到了不能支持的路由類型,則立即丟棄不做進一步處理。
  ● 發送接收的能力(Parameter Type=2),這都是針對UPDATE消息而言的,包括只發送模式(Send Only mode)、只接收(Receive Only mode)和發送接收模式( Send Receive mode),一個LS任何時候對所有的對等LS只能處于一種模式,默認的是發送接收模式。在只發送模式下,一個LS只向其對等的LS發送UPDATE消息,對等的LS不必返回UPDATE消息,即使收到了返回的UPDATE消息,它也必須無條件丟棄;在只接收模式下,LS只能作為消極的UPDATE消息監聽和接收者,不能向發送者返回和發送任何UPDATE消息;在發送接收模式中,一個LS具備接收和發送UPDATE消息的全雙工功能。

  2.3 UPDATE(更新)消息

  UPDATE消息包中的數據勾勒出了多個ITAD之間的關系連接圖,它不僅用來廣播新增路由信息,也用來刪除、修改已經廣播出去的一些路由信息,而且這兩種操作可以同時進行。

  除了TRIP消息固定的消息頭外,UPDATE消息體實際上是一個路由屬性列表,在屬性和屬性之間無其它的中間數據,其最短長度為三個字節,它的列表中屬性的數量可以為0,其消息的格式如圖10:

圖10 UPDATE消息格式

  ● Attribute Flags 路由屬性標志是在不斷被擴展的,其目前的取值與TRIP協議的路由選擇、路由分發、路由聚合和路由的封裝等操作有著密切的關系,這個域共一個字節(8位),目前只用到了前5位,每位有不同的功能:

  Bit 0, Well-Known Flag,是路由屬性是否可知標志。
  Bit 1, Transitive Flag,是路由屬性不可知時是否傳送標志。
  Bit 2, Dependent Flag,是路由屬性不可知時傳送依賴標志。
  Bit 3, Partial Flag,是Transitive Flag標志信息是否代表局部標志。
  Bit 4, Link-state Encapsulated Flag,連接狀態是否封裝標志。

  ● Attribute Type Code 發送的路由屬性類型碼也是由IANA控制的,屬性類型碼的值決定了當前消息中所發送的路由信息的操作類型,屬性碼、屬性表示和其意義如下:

  1:WithdrawnRoutes,給出要從當前服務中取消的路由。
  2:ReachableRoutes,給出向當前服務中增加新的可用路由。
  3:NextHopServer,給出消息發送所要經過的實體標識。
  4:AdvertisementPath,給出了路由消息在不同的ITAD域間廣播的先后順序。
  5:RoutedPath,給出了路由消息在不同的ITAD域間廣播的路徑。
  6:AtomicAggregate,給出了實際存在但沒包括在RoutedPath中的廣播路由。
  7:LocalPreference,向其它的LS告訴本地LS對給定路由的首選項。
  8:MultiExitDisc,相鄰

關鍵字:voip voip技術 voip資料

原創文章 企業網D1Net

TRIP及其應用(三) 掃一掃
分享本文到朋友圈

關于我們聯系我們版權聲明友情鏈接廣告服務會員服務投稿中心招賢納士

企業網版權所有©2010-2021 京ICP備09108050號-6

^
奇米网_80s手机电影网_日本极品a级片_欧美特级限制片2017