SAP協議的定義
網絡協議多種多樣。這里我們來介紹一下SAP協議。那么這個協議的主要功能是什么呢?我們來詳細看一下吧。會話通知協議(SAP)是一種通知協議,用于協助組播多媒體會議通告以及其它組播會話過程,并為會話參與者傳送相關設置信息。
SAP協議廣播員周期性地向已知的組播地址和端口傳送通知數據包。通知傳送范圍與會話范圍相同,以確保通知接收端即為會話接收端。這對于協議的可擴展性來說也是很重要的,即確保本地會話通知在本地傳送。
SAP 收聽方(通過組播范圍區域通知協議或其它協議)知道其所在的組播范圍,并監聽那些范圍內的 SAP協議地址和端口。如此,收聽方最終會知道所有被通知會話,并允許那些會話加入。
希望會話過程可以通過多種不同機制進行通知,而不僅僅是SAP協議。例如 ,會話的描述可以放置在一個 web 頁上,通過電子郵件或會話初始協議發送。為增強與其它機制間互操作性,需要提供應用層安全機制,而不是使用IPsec認證協議頭。
協議結構
3 | 4 | 5 | 6 | 7 | 8 | 16 | 32 bit | |
V=1 | A | R | T | E | C | Auth len | Msg ID hash | |
Originating Source (32 or 128 bits) | ||||||||
Optional Authentication Data | ||||||||
Optional Timeout | ||||||||
Optional Payload Type | ||||||||
0 | ||||||||
Payload |
V ― 3位版本號字段,該字段必須設置為1。
A ― 地址類型,值為0或1:
0:Originating Source字段包括一個32位的 IPv4 地址。
1:Originating Source字段包括一個128位的 IPv6 地址。
R ― 預留。SAP 廣播員將它設置為0。SAP 收聽方忽略該字段的內容。
T ― 信息類型,值為0或1:
0:會話通知數據包
1:會話刪除數據包
E ― 加密位,值為0或1:
1:對 SAP 數據包的有效載荷進行加密,并且 Timeout 字段必須被添加到數據包頭中。
0:不對數據包進行加密且當前不存在 Timeout 字段。
C ― 壓縮位。如果值為1,表示對有效載荷進行壓縮。
Authentication Length ― 8位無符號數,跟在主要 SAP協議的頭后面,包含認證數據。如果該值為0,表示當前沒有認證頭。
Message Identifier Hash ― 結合 Riginating Source,提供全球***標識符,說明該通知的精確版本。
Originating Source ― 該字段包含信息 Original Source 的 IP 地址。如果 A 字段值為0,該地址指 IPv4 地址;否則指 IPv6 地址。按照網絡字節順序存儲該地址。
Timeout ― 當會話有效載荷進行加密處理后,有效載荷中的詳細定時字段對不信任解密密鑰的收聽方而言已經不可利用。在這種情況下,當會話到指定時間時,頭就包含另外32位的Timestamp F 字段狀態。該值是無符號數,提供指定會話超時的 NTP 時間。按照網絡字節順序存儲。
Payload Type ― 有效載荷類型字段是關于 MIME 內容類型的說明,描述有效載荷的格式。這是一個可變長 ASCII 文本串,其后是單個零字節(ASCII NUL)。
Payload ― Payload 字段包括各種子字段。