使用DSCP來標記和優先化WebRTC資料報

2021-08-03 06:17:14 字數 895 閱讀 3769

想要知道如何將webrtc資料從網路中其他資料中區分開來,是webrtc開發者和使用者們的乙個常見需求。通常,目標是將rtc資料流的優先順序設定高於其他不重要的通訊量。

通過在邊界路由器對webrtc通訊進行優先話,有可能在某些網路情景中改進通訊質量。標記這個方法能夠在這些最平常的情況中起到幫助作用

# 在擁擠的寬頻上行鏈路中,當佇列滿了的時候,路由器可以丟掉其他型別的通訊量而保留webrtc

# 擁擠的本地無線網路

乙個很明顯的方法是使所有通訊穿過turn或者sfu伺服器傳輸,並且將優先順序設為基於ip位址的。這是乙個簡單易行的方法,但問題是如果你的基礎結構經常改變的話這種方法很難保持。

另乙個方法是使用差分服務**點(dscp)進行標記。使用dscp你可以在ip報頭中用特定的6位來標記不同類別的通訊。這幾位可以攜帶任何數值,你可以將其在路由器中與不同的優先順序相關聯。

甚至任何值都可以在dscp域中使用,這裡寫了一些經常使用的dscp值,在這篇ietf文章中還有一些在webrtc端點中使用的推薦值。

現在,chrome也支援了這些,可以通過專屬限制傳輸到peerconnection:

如果你想親自測試一下的話,這個是完整demo的網頁:

乙個問題是為什麼這些特徵沒有預設就啟用呢,而且為什麼不是所有的包都使用推薦的dscp值標記的呢?主要原因是因為一些路由器可以使用這裡解釋的特定dscp值阻擋資料報,所以它應該只會在當你知道哪些不應該阻擋資料,其中你的使用者應該至少在瀏覽器實現機制發現這些被阻擋的包並且自動禁用他們的時候被啟用。

1 查分伺服器:

2 對webrtc qos使用dscp包標記: 

3 dsp傳輸注意事項:

4 測試頁:

什麼是DSCP,如何使用DSCP標記搭配ROS策略

一 什麼是dscp dscp 差分服務 點 differentiated services code point ietf於1998年12月發布了diff serv differentiated service 的qos分類標準。它在每個資料報ip頭部的服務類別tos標識位元組中,利用已使用的6位元...

使用Python和OpenCV檢測和標記湖面輪廓

我和小冬瓜 2018 08 04 17 00 opencv是乙個跨平台的計算機視覺庫,廣泛的被應用於物體識別,機器視覺和影象處理等領域。這篇文章裡我們將使用opencv探測地圖中湖面的輪廓,並標記面積最大的湖面。下面示例中來至於goolge地圖截圖。我們需要做的第一件事情就是在我們的python環境...

使用arpwatch和arping來排查ARP攻擊

arpwatch監聽廣播域內的arp通訊,記錄每台裝置的ip與mac的對應關係,當發生變化時,發郵件通知。arp攻擊的常見跡象就是發現閘道器的mac位址變生變化。當然,arpwatch不是萬能的。因為一般情況下,你的安裝arpwatch的伺服器不可能總是能接收到整個網路的arp事件。想要完全監聽,不...