本文翻譯取自TR-069_Amendment-5.pdf section 3.2.2
ACS 可以在任意時間利用連接請求機制發起連接,CPE支持該機制,ACS建議支持該機制。
該機制依賴於ACS擁有可到達CPE的IP,如果CPE在防火牆後面,或者在ACS與CPE之間有NAT設備,ACS 便不能訪問CPE,Annex k 定義了一種機制,該機制允許ACS訪問CPE 但是不是直接訪問。
這種機制依賴於之前至少有一次是由CPE發起的互動。在這個互動中,如果ACS希望以後利用ACS發起互動,則會讀取ManagementServer.ConnectionRequestURL的值,如果這個用於管理的URL發生改變,CPE必須通過Inform信息通知ACS。
7547端口被IANA分配用於CPE廣域網控制協議,CPE可以在該端口使用連接請求URL。
3.2.2.1 通用連接請求要求
連接請求機制有如下通用要求(意思是這些要求運用於任何連接請求通信中,與使用的傳輸協議獨立):
1)CPE必須接受任何來源的連接請求,只要該來源對於目標CPE來說有正確的認證參數。
2)CPE 應該限制連接請求的數目,可以在特定的CWMP終端在給定的一段時間內接受連接,這個可以減少可能的攻擊。如果因爲一些原因CPE選擇拒絕連接請求,CPE必須用明確的傳輸錯誤來回應連接請求。
3)如果CPE成功認證和迴應連接請求,如果它沒有完成會話,它必須在30秒內發送迴應,嘗試用事先確定的ACS地址建立會話,該回應是在Inform中包含‘6 CONNECTION REQUEST’。
注意:實際情況下也會有例外,在滿足這個要求的情況下也會引起CPE的失敗。
4)如果CPE得到了連接請求的成功迴應,但是至少在30s後沒有成功建立會話,ACS可以重新對CPE發起連接請求。
5)如果一旦CPE成功認證並且迴應連接請求,在與ACS建立會話之前,會在同一CWMP終端收到一個或多個成功認證的,CPE必須爲每一個連接請求返回一個成功迴應,但是,不管在這段時間裏收到了多少個連接請求,CPE不能在同一CWMP終端發起額外的會話作爲額外連接請求的迴應。
6)當CPE接收一個或多個連接請求,它會與至少一個CWMP終端與ACS建立會話,它不能終止任何會話。CPE必須選擇用其他傳輸行爲代替。
This requirement holds for Connection Requests received any time during the interval that the CPE considers itself in a Session with at least one CWMP Endpoint, including the period in which the CPE is in the process of establishing the Session.(此段不知道怎麼翻譯)
7)CPE不能因爲一些原因拒絕認證的連接請求,如果CPE因爲一些原因拒絕了連接請求,不能作爲連接請求的結果發起會話。
3.2.2.2 HTTP特定連接請求的要求
當通過HTTP傳輸時,連接請求機制也有以下要求:
1)連接請求必須使用HTTP 獲得由CPE指定的特定的URL,在CPE端URL的值是隻讀的參數,URL的路徑應該由CPE隨機產生以便於對於每一個CPE是唯一的。
2)連接請求必須利用HTTP,而不是HTTPS。相關的URL必須是一個HTTP URL。
3)在HTTP get連接請求中不能有數據傳輸,其中包含的任何數據應該別CPE忽略。
4)由於一個非成功認證的請求不能對ACS發起連接,所以在進行之前,CPE必須用HTTP數據認證來認證ACS 。
5)CPE必須用‘200(OK)’或者‘204(No Content)’HTTP狀態碼來作爲成功認證連接請求的迴應。在發起結果會話之前,CPE必須根據成功的認證及時迴應。HTTP迴應的實體長度必須爲0.
6)CPE 應該限制連接請求的數目,可以在特定的CWMP終端在給定的一段時間內接受連接,這個可以減少可能的攻擊。如果CPE因爲一些原因選擇拒絕連接請求,它必須用HTTP 503 狀態碼迴應連接請求。進一步,在迴應中,CPE不應該包括HTTP重試頭。
7)當CPE接收一個或多個連接請求,它會與至少一個CWMP終端與ACS建立會話,它不能終止任何會話。CPE必須選擇用其他傳輸行爲代替。
8)通過迴應HTTP 503狀態碼去拒絕每一個連接請求,在這種情況下,CPE不能在迴應中包含充實頭。
9)