當一個STUN服務器收到來自兩個具有相同事務ID的不同STUN代理的請求時,它應該如何表現?當STUN服務器從不同的STUN代理接收到具有相同事務ID的請求時,STUN服務器如何工作?
1
A
回答
1
來自STUN綁定請求的事務ID僅在STUN綁定響應中回顯。除了可能的日誌記錄以外,服務器不會嘗試解釋此值。它也不會嘗試管理或處理重複的請求或重複的事務ID。如果兩個不同的客戶端發送具有相同交易ID的綁定請求,則兩者將在其相應的響應中獲得相同的交易ID。
交易ID僅僅是爲了客戶的利益。如果客戶端從服務器接收到具有與請求中使用的交易ID不同的響應,則應該忽略它。因爲這個數據包可能是來自之前STUN會議的遲到。
可能存在重複轉換ID的唯一時間是客戶端超時等待響應並再次發送綁定請求。 RFC 5389在此提及section 6:Resends of the same request reuse the same transaction ID
。
0
我不認爲你應該準備你的軟件來處理這種奇怪的情況。事務ID是由客戶端生成的隨機值,您很可能在昏迷客戶端看到這樣的錯誤。
交易ID是一個96位的標識符,用於唯一標識 STUN交易。對於請求/響應事務,由STUN客戶端爲請求選擇 事務ID,並在響應中由服務器響應 。
如果不是隨機的,那麼最有可能的是將一個單一的虛假客戶端軟件造成的,最終你剛剛結束了發送壞的答案是客戶端,直到它的開發者發現這一點,並解決他們的軟件。
1
這不應該發生,但如果服務器應該檢查5元組(客戶端IP地址和端口,服務器IP地址和端口以及傳輸協議(目前是UDP,TCP或TLS之一)的組合)) 。如果五元組不匹配,那麼服務器應該繼續考慮作爲一個有效的事務,否則它應該按照RFC-5766進行操作。
相關問題
- 1. 有條件地使用STUN服務器
- 2. STUN TURN服務器不可靠
- 3. STUN/TURN服務器的Kurento問題
- 4. 用於TCP流的STUN服務器
- 5. WebRTC中的STUN/TURN服務器
- 6. Sipdroid文檔安卓 - STUN服務器
- 7. TURN服務器Nat遍歷ICE STUN
- 8. 從WEB中的STUN服務器連接到特定用戶RTC
- 9. 在3G/4G網絡下工作的STUN和TURN服務器
- 10. 爲什麼STUN服務器需要兩個不同的公網IP地址
- 11. WebRTC的LAN內是否需要STUN服務器?
- 12. WebRTC - 當防火牆阻止p2p連接時使用中繼服務器(TURN/STUN)
- 13. webRTC檢查stun服務器是否正在使用
- 14. 我們如何知道TURN或STUN服務器是否已連接?
- 15. 是否有任何openource npm包來部署自定義STUN/TURN服務器?
- 16. 的WebRTC,STUN/TURN不工作LAN
- 17. 如何使用JavaScript查詢STUN服務器以獲取公共IP和端口?
- 18. STUN,TURN和ICE
- 19. IIS反向代理服務器到不同的服務器
- 20. 如何檢查來自同一服務器或不同服務器的請求?
- 21. STUN UDP請求數據包問題
- 22. 爲WebRTC應用程序實現我們自己的STUN/TURN服務器
- 23. 兩臺具有相同Time.zone,相同服務器時區的Rails服務器,但從Date.to_time獲得不同結果
- 24. 當很多請求同時到達Web服務器時如何工作? NODEJS
- 25. 服務器到服務器請求沒有服務帳戶
- 26. peerjs與STUN for webrtc
- 27. 牧場主服務器沒有找到相同的服務器
- 28. 從不同目錄服務內容到不同的服務器
- 29. Rails本地服務器同時發送和接收請求
- 30. 具有相同服務的多個服務器