原創做品,轉載請註明出處,嚴禁非法轉載。若有錯誤,請留言!html
email:40879506@qq.comtcp
參考:spa
http://www.cnblogs.com/myblesh/p/6259765.html.net
http://www.cnblogs.com/myblesh/p/6225651.htmlserver
開篇我就計劃stun的高級部分,如今終於理清楚實現的原理和CPE側代碼實現。要作一個言而有信的人。htm
一. 協議規範blog
TR069 TR111事件
二. 執行流程
get
在TR111中,CPE設備穿透NAT的策略是STUN,可是STUN是基於UDP的,而TR069中CPE和ACS之間創建的鏈接是TCP的,那麼ACS是如何主動發起鏈接的呢?實際上ACS主動發起的並非TCP鏈接,而是能夠不須要響應的無鏈接的。ACS可以自動檢測到位於NAT設備或者gateway後面的設備(與STUN bind成功),而後發送UDP connection Request到STUN server,經過STUN server進行轉發到與STUN server關聯的內部CPE設備,進而CPE發起tr069規範中定義的6 connection request事件(TCP鏈接成功),在tcp鏈接超時時間範圍內可進行設備管理操做。若是超時,ACS再次主動發送UDP connection Request,而後對設備進行管理操做。io
三. CPE側實現
下面的流程圖是目前CPE側實現的stun功能,如需高清PDF版,請留言郵箱地址。或者到csdn下載:http://download.csdn.net/detail/eryunyong/9809748