天天看點

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

概述

本文主要介紹SRv6 OAM和資料平面Telemetry關鍵技術(随路網絡測量)

OAM:基于已有的IPv6 OAM機制進行簡單擴充,實作故障管理和性能測量

随路網絡測量:基于IFIT(In-situ Flow Information Telemetry)架構實作,不引入額外的測量封包,提升了檢測的準确度;支援多種随路網絡測量技術的資料平面封裝,可大規模部署在IP網絡中

第一部分:OAM

參照我的部落格:

《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(1/2:OAM)

第二部分:随路網絡測量

2.1. 随路網絡測量概述

網絡Telemetry可分為管理平面,控制平面和資料平面的Telemetry。随路網絡測量時資料平面的Telemetry所使用的一種關鍵技術

差別于主動的性能測量方法,随路網絡測量并不會發送主動探測封包,而是在使用者封包中攜帶OAM的指令

随路網絡測量是一種混合測量方法

随路網絡測量的優點:

  • 測量的是真實的使用者流量
  • 可實作逐封包的監控
  • 可以獲得更多的資料平面資訊
  • 可獲得封包在網絡轉發中所經過的路徑,包括裝置和出入接口
  • 封包在每一個網絡裝置的轉發過程中命中的規則
  • 封包在每一個網絡裝置中緩存所消耗的時間(納秒級)
  • 封包在排隊過程中和哪些其他的流同時競争隊列

2.2. 随路網絡測量模式

業界随路網絡測量的技術方案包括:IOAM,PBT(Postcard-Based Telemetry)和EAM(Enhanced Alternate Marking, 增強交替染色)

随路網絡測量分為兩種模式:passport和postcard模式

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

兩種模式下,測量域的入節點會為被測量封包添加一個TIH(Telemetry Information Header),差別在于每經過一台裝置時對采集資料的處理

Passport模式:

就好像一個周遊世界的遊客,每到一個國家就在護照上蓋一個出入境的戳

Postcard模式:

就好比遊客到了一個景點,就一張明信片回家

兩者的優劣對比:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

2.3. IFIT的架構與功能

随路網絡測量在網絡部署中存在的諸多挑戰:

  • 隻能監控有限規模的流對象
  • 可能影響正常的轉發性能
  • 海量的資料接收,存儲和分析将給伺服器造成極大的沖擊
  • 需要一種方式,能夠實作靈活可擴充的資料定義,并将所需的資料傳遞給資料分析的應用

IFIT架構

IFIT應用給網絡裝置下發監控和測量任務,包括但不限于指定測量的流對象和收集的資料,并且選擇随路網絡測量的資料平面封裝

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

IFIT功能

  • 智能選流:對一部分流進行識别和重點監控
  • 高效資料上送:采用二進制編碼;僅上送新發現的流路徑或者發生變更的流路徑,進而減少資料傳輸量
  • 動态網絡探針:按需加載網絡測量功能,進而利用有限的資源滿足多張業務需求

2.4. IFIT的封裝模式

一緻模式:将IFIT指令頭封裝在隧道外,使封包在途徑的每一個節點都被相同地處理

管道模式:将IFIT指令頭封裝在隧道内,無論隧道由多少中間節點,IFIT都将隧道當成一跳來處理

2.5. SRv6支援的IFIT功能

Passport模式

IOAM支援Passport和Postcard兩種模式,本節先來介紹Passport模式

IOAM定義的Trace Option(跟蹤模式)實作了一種Passport模式的随路

Trace Option的指令格式如圖:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

Trace Option中每個字段的含義:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

着重關注其中的IOAM-Trace-Type字段:

封包每經過一個IOAM域的節點時都會根據IOAM-Trace-Type收集相應類型的資料并依次添加在IOAM指令頭後面

Postcard模式

EAM

EAM屬于Postcard模式的随路網絡測量

EAM指令格式:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

EAM各字段的含義:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

L比特通過周期性的交替設定為0或1的形式(交替染色),以Postcard模式逐跳上送FlowMonID,周期号,周期内的計數值上送到分析器,得到丢包術和丢包位置等資訊

D比特位會為需要檢測的資料包置位為1,并對其打上時間戳,用以計算出标記封包的單向時延

IOAM

IOAM支援PBT-I(Postcard-Based Telemetry with Instruction Header)

IOAM新增了一種IOAMDEX(Directly EXport)的選項實作了PBT-I,指令頭格式如圖:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

對比IOAM Passport模式中的Trace Option,該封包中新增加了如下表的兩個字段:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

SRv6 IFIT封裝

封裝方式主要分為兩種:

  • 封裝在IPv6的逐跳選項擴充封包頭中
  • 封裝在SRH的Optional TLV中
[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

封裝在IPv6的逐跳選項擴充封包頭中:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量
[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

這種封裝方式中的IFIT指令會被所有IPv6轉發節點蘇處理

在SR-BE或者松散SR-TE場景下,可以讓運維人員知道封包是如何逐跳轉發的

封裝在SRH的Optional TLV中:

[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量
[SRv6]《SRv6網絡程式設計》SRv6 OAM與随路網絡測量(2/2:IFIT)概述第一部分:OAM第二部分:随路網絡測量

這種封裝方式的IFIT指令隻會有指定的Endpoint節點處理

在SRv6 TE嚴格路徑的場景下,該封裝效果等同于IFIT在逐跳選項擴充封包頭中的封裝

總結

與傳統OAM相比較,随路網絡測量是很有前景的資料平面Telemetry技術

SRv6的資料面可程式設計特性也極大地促進了随路網絡測量技術的發展和應用

IFIT架構支援多種随路網絡測量技術的資料平面封裝,可以結合控制器,提供智能選流,高效資料上送和動态探針等多種功能