470 likes | 753 Views
NTCIP 專用通訊協定簡介. 交通大學 運輸研究中心. NTCIP 專用之通訊協定或規範. Subnetwork Level- PMPP Application Level- STMF:SNMP, STMP Information Level- Dynamic Object. PMPP 簡述 (Point to Multi-Point Protocol). PMPP 可看成由中心到現場間資料傳送的通訊協定 跟 【 以前 】 網路上 常用的 PPP 類似, 增加支援一對多 的傳送 使用 HDLC ( High-Level
E N D
NTCIP專用通訊協定簡介 交通大學 運輸研究中心
NTCIP專用之通訊協定或規範 • Subnetwork Level- PMPP • Application Level- STMF:SNMP, STMP • Information Level- Dynamic Object
PMPP簡述 (Point to Multi-Point Protocol) • PMPP 可看成由中心到現場間資料傳送的通訊協定 • 跟【以前】網路上 常用的PPP類似, 增加支援一對多 的傳送 • 使用HDLC(High-Level Data Link Control) 格式
Flag=01111110 • 若所傳送的資料具有連續6個1,使用位元填塞( bit-stuffing)來區別 • 在連續5個1以後插入一個0
Address:使用1 或 2 個Bytes • 至少使用1個Byte • 必須能夠自動辨認兩個bytes的位址
Single byte G = 0, address stations 1 to 63G = 1, for a group of stations 位址0 不能夠使用 位址 63 代表 “all stations address”
Double bytes 在第一個byte中E= 0 ,第二個byte中E= 1;
Control • 用來表示框架的型式(frame type) • 長度為8 bits
有兩種型式 • Information Frame:在兩個設施間傳送資料 • Unnumbered Frame:為一控制之資料格式,可作為開始或是結束之資料封包 • UI: Unnumbered Information • UP: Unnumbered Poll
對於管理端而言 • P bit =1 :表示一定要回答(Poll) • P bit =0 :其他狀況 • 對於接收端而言 • F bit = 1 :代表回應結束 0: UI 1: UP
Information: IPI+ Information • IPI(Initial Protocol Identifier),用來表示上一層的通訊協定為何 • 0x21表示IP,0xc1表示STMF • Information就是所要傳送的資料 • FCS(Frame Check Sequence)用來檢查 所傳遞資料的數量是否正確。為一檢查機制,其產生之值會隨傳遞資料不同而有所不同。
PMPP PPP PMPP與PPP之差異 節省網路頻寬的使用,減輕主站的工作負擔
Simple TransportationManagement Framework(STMF) • 可以看成是一種網管機制 • STMF包含以下四項 • SMI(Structure and Identification of Management Information) • MIB(Management Information Base) • SNMP(Simple Network Management Protocol) • STMP(Simple Transportation Management Protocol)
SMI, MIB以及ASN.1之關係 • MIB可視為存放物件之資料庫 • SMI即是用以定義資料庫中各項欄位之屬性以及每項欄位所要記載之物件資料 • 而資料庫中每一欄位中所存放的資料值皆是利用ASN.1的語法所寫成
ASN.1程式語言 MIB 以SMI定義 利用BER或OER編碼方式將 所需之MIB ASN.1訊息重新編碼 SNMP STMP Manager
SMI • 主要用以定義ISO Naming Tree的結構 • 利用ASN.1的語法來描述 所記錄的物件屬性 以及位置
ASN.1(Abstract Syntax Notation One) • ASN.1設計宗旨是以不會混淆的、與機器種類無關的形式來表達任何型別的資料 • 以ASN.1語言標達的資料,在所有機器上都享有相同的意義與關連
以ASN.1定義一物件之範例 eventLogTime OBJECT-TYPE SYNTAX INTEGER (0..4228250625) ACCESS read-only STATUS mandatory DESCRIPTION“The time that the event occurred…….” ::= {eventLogEntry 4}
MIB(Management Information Base) • 採用ASN.1語法寫作的ASCII文字檔 • 網管利用MIB中定義的物件(object)來存取裝置(device)之資料
編碼方式 • 在實際運作時,必須將使用ASN.1所寫成的資料庫予以編碼,然後才能透過網管送出去 • 編碼方式之於ASN.1像是機器碼之於程式碼 • 編碼完成後可將訊息處理成適合網路傳輸格式 • 將ASN.1之資料編譯成更小、二進位並且不會混淆的表示方式 • SNMP使用BER編碼方式 • STMP使用OER編碼方式
T(Type) L(Length) V(Value) BER(Basic Encoding Rules) Ex:Value=12 BER編碼:[02][01][0C] [02]: 表示整數 [01]: 表示Length, 1byte [0C]: 表示value=12的16進位碼
Ex: IP address 128.1.1.1 BER編碼:[40][04][80][01][01][01] [40]: 表示IpAddress [04]: 表示Length, 4bytes [80][01][01][01]: 表示128.1.1.1的16進位碼
OER(Octet Encoding Rules) • OER(Octet Encoding Rules) • 基本上而言OER與BER之編碼方式是相同,只是對於各部分定義不同 • TYPEIDENTIFER OCTETS • LENGTHLENGTH OCTETS • VALUECONTENT OCTETS
EX:Integer 12 • IDENTIFER OCTETS: • LENGTH OCTETS & CONTENT OCTETS:
Network MIB and Transportation MIB • TMIB即是從原有之MIB多出一分支,此分支包含有 • Dynamic Object Group • Dynamic Object Data Group • NTCIP Security Group
SNMP(Simple Network Management Protocol) • 主要用於兩個或多個網路實體或節點間網路管理資訊的傳輸 • 架設在TCP/IP 與UDP/IP上 • 為目前網路上已知且常用
SNMP訊息格式 • PDU Header • Application Header:檔頭 • Version: 檢查SNMP的版本 • Community:用來區別使用者所屬的group
PDU本體資料格式 Variable Bindings資料格式
SNMP訊息格式 • PDU 本體: • PDU TYPE:有GetRequest, GetNextRequest, GetResponse, SetRequest, Trap五種 • Request ID:要求的ID • Error Status:錯誤狀態 • Error Index:錯誤種類
SNMP訊息格式 • PDU 本體: • Variable Bindings • SEQUENCE:資料種類 • Identity:物件的OID • Value:所要傳遞之值
STMP(Simple Transportation Management Protocol) • 是以SNMP為基礎所開發出之通訊協定 • 支援NTCIP中之動態物件 • 支援NTCIP在Subnetwork層中定義之PMPP
STMP的資料框架(Data Frame) • STMP訊息格式 • PDU Header: • STMP所傳送之命令 • Value: • 所要傳遞之資料
STMP與SNMP之比較 • SNMP • 因為每筆資料量較大,因此必須使頻寬大的網路 • 或是適用在所需要傳輸的總資訊量較少的場合 • STMP • 採用動態複合物件(Dynamic Composite Objects)的方式,在傳輸上較SNMP來得有效率 • 因為每筆資料量小,所以低頻寬的網路也可以適用 • 或是適用在所需要傳輸的總資訊量較大的場合
動態物件(Dynamic Object) • 動態物件是設計在run time中被定義,以提供管理站一個有效率的方式來與其他的設施(agent)傳遞資料 • 也可以使用事先已經被定義好的動態物件 • 目的在於盡量減少頻寬的需求(傳輸量) • 著眼在於減少對一些常常在管理站與遠端設施間所使用物件的表示方法
dynObj Number dynObj Index dynObj Variable dynObj Owner dynObj Status 1 1 1.3.6.1.4.1. 1206.4.2.6.3. 4.3 NTCIP Guide Example 1(Valid) • 動態物件表格
動態物件皆是定義在NEMA之下 • NEMA視為動態物件的根 • 使用動態物件只要直接使用NEMA之後的OID即可
產生動態物件的步驟 • 將相關的物件整合成一個群組 • 在定義表格中描述該動態物件 • 檢查該物件是否存在 • 若通過,回傳dynObjStatus 的值為1(valid)
使用動態物件的好處 • 可以減少傳輸時的overhead • 對常常使用的物件而言,在取得時效果特別顯著 (例如 交通號誌控制器) • 當動態物件被建立完成後,可以在最少overhead的情況下來取得該物件的相關資料
小結 • 本節介紹NTCIP專用之通訊協定或規範 • Subnetwork Level- PMPP • Application Level- STMF:SNMP, STMP • Information Level- Dynamic Object • 以一個範例來說明,這些專用協定以及規範所能夠帶來的好處