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