網絡上行流量、下行流量、流量控制方法和裝置製造方法
2023-11-02 18:42:47 2
網絡上行流量、下行流量、流量控制方法和裝置製造方法
【專利摘要】一種網絡上行流量控制方法,包括以下步驟:截獲從路由器的區域網側接口進入路由器的上行數據包;將上行數據包打上與接收上行數據包的區域網側接口對應的標記;將打了標記的上行數據包導入位於路由器內網卡上的上行總隊列;將上行總隊列中的上行數據包按照上行數據包的標記導入到與區域網側接口對應的上行子隊列中,上行子隊列位於路由器內網卡上;按照上行子隊列的預設的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口。上述方法可實現對與路由器的區域網側接口連接的個人電腦的網絡數據傳輸控制。此外還提供一種網絡上行流量控制裝置、網絡下行流量控制方法和裝置、網絡流量控制方法和裝置和路由器。
【專利說明】網絡上行流量、下行流量、流量控制方法和裝置
【【技術領域】】
[0001]本發明涉及網絡【技術領域】,特別涉及一種網絡上行流量控制方法和裝置、網絡下行流量控制方法和裝置,以及涉及一種網絡流量控制方法和裝置,還涉及一種路由器。
【【背景技術】】
[0002]中小型企業及家庭中的多臺個人電腦一般可連接到一個路由器上,通過路由器接入到網際網路。其中,個人電腦與路由器的區域網側接口(LAN接口或無線LAN接口)通過有線或無線的方式連接,路由器的廣域網側接口(WAN接口)連接到網際網路。個人電腦經由路由器發送到網際網路的數據流稱為上行數據流,而網際網路經由路由器轉發到個人電腦上的數據流稱為下行數據流。
[0003]當多臺個人電腦共用一個路由器接入到網際網路,而總的接入帶寬固定時,數據的傳輸有可能發生擁堵,從而需要控制各臺個人電腦的數據傳輸
【
【發明內容】
】
[0004]基於此,有必要提供一種能控制與路由器連接的個人電腦的網絡數據傳輸的網絡流量控制方法。
[0005]一種網絡上行流量控制方法,包括以下步驟:
[0006]截獲從路由器的區域網側接口進入路由器的上行數據包;
[0007]將所述上行數據包打上與接收所述上行數據包的區域網側接口對應的標記;
[0008]將打了標記的上行數據包導入位於路由器內網卡上的上行總隊列;
[0009]將上行總隊列中的上行數據包按照上行數據包的標記導入到與區域網側接口對應的上行子隊列中,所述上行子隊列位於路由器內網卡上;
[0010]按照上行子隊列的預設的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口。
[0011]在一個實施例中,在截獲從路由器的區域網側接口進入的數據包之前,所述方法還包括:
[0012]在路由器內網卡上建立所述上行總隊列和所述上行子隊列,所述上行子隊列與路由器的區域網側接口一一對應;
[0013]設置所述上行子隊列的數據包傳輸速率和優先級。
[0014]一種網絡下行流量控制方法,包括以下步驟:
[0015]截獲從路由器的廣域網側接口進入路由器的下行數據包;
[0016]將所述下行數據包導入到位於路由器內網卡上的下行總隊列;
[0017]解析下行總隊列中的下行數據包,獲取下行數據包中標示區域網側接口的標記;
[0018]將下行數據包傳送到所述標記標示的區域網側接口對應的下行子隊列中,所述下行子隊列位於路由器內網卡上;
[0019]按照下行子隊列的預設的數據包傳輸速率和優先級將下行子隊列中的下行數據包傳送到下行子隊列對應的區域網側接口。
[0020]在一個實施例中,在截獲從路由器的廣域網側接口進入的數據包之前,所述方法還包括:
[0021]在路由器內網卡上建立所述下行總隊列和所述下行子隊列,所述下行子隊列與路由器的區域網側接口一一對應;
[0022]設置所述下行子隊列的數據包傳輸速率和優先級。
[0023]一種網絡流量控制方法,包括上述的網絡上行流量控制方法中的步驟,以及上述的網絡下行流量控制方法中的步驟。
[0024]此外,有必要提供一種能控制與路由器連接的個人電腦的網絡數據傳輸的網絡流
量控制裝置。
[0025]一種網絡上行流量控制裝置,包括:
[0026]上行數據包截獲模塊,用於截獲從路由器的區域網側接口進入路由器的上行數據包;
[0027]標記模塊,用於將所述上行數據包打上與接收所述上行數據包的區域網側接口對應的標記;
[0028]上行數據包導入模塊,用於將打了標記的上行數據包導入位於路由器內網卡上的上行總隊列;
[0029]上行數據包分類模塊,用於將上行總隊列中的上行數據包按照上行數據包的標記導入到與區域網側接口對應的上行子隊列中,所述上行子隊列位於路由器內網卡上;
[0030]上行數據包傳送模塊,用於按照上行子隊列的預設的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口。
[0031 ] 在一個實施例中,所述裝置還包括:
[0032]上行隊列構建模塊,用於在路由器內網卡上建立所述上行總隊列和所述上行子隊列,所述上行子隊列與路由器的區域網側接口 一一對應;
[0033]上行隊列設置模塊,用於設置所述上行子隊列的數據包傳輸速率和優先級。
[0034]一種網絡下行流量控制裝置,包括:
[0035]下行數據包截獲模塊,用於截獲從路由器的廣域網側接口進入路由器的下行數據包;
[0036]下行數據包導入模塊,將所述下行數據包導入到位於路由器內網卡上的下行總隊列;
[0037]下行數據包解析模塊,用於解析下行總隊列中的下行數據包,獲取下行數據包中標示區域網側接口的標記;
[0038]下行數據包分類模塊,用於將下行數據包傳送到所述標記標示的區域網側接口對應的下行子隊列中,所述下行子隊列位於路由器內網卡上;
[0039]下行數據包傳送模塊,用於按照下行子隊列的預設的數據包傳輸速率和優先級將下行子隊列中的下行數據包傳送到下行子隊列對應的區域網側接口。
[0040]在一個實施例中,所述裝置還包括:
[0041]下行隊列構建模塊,用於在路由器內網卡上建立所述下行總隊列和所述下行子隊列,所述下行子隊列與路由器的區域網側接口 一一對應;[0042]下行隊列設置模塊,用於設置所述下行子隊列的數據包傳輸速率和優先級。
[0043]一種網絡流量控制裝置,包括上述的網絡上行流量控制裝置中的模塊,以及包括上述的網絡下行流量控制裝置中的模塊。
[0044]上述網絡上行流量控制方法和裝置,預先設置與路由器的區域網側接口對應的上行子隊列的數據包傳輸速率和優先級,將從路由器的區域網側接口進入的上行數據包導入與路由器的區域網側接口對應的上行子隊列中,並根據上行子隊列的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口,從而實現了對從路由器的區域網側接口進入的上行數據包至網際網路的傳輸控制,而個人電腦是與路由器的區域網側接口連接的,對進入路由器的區域網側接口的上行數據包的傳輸控制,即實現了對與路由器的區域網側接口連接的個人電腦的網絡數據傳輸控制。
[0045]上述網絡下行流量控制方法和裝置,預先設置與路由器的區域網側接口對應的下行子隊列的數據包傳輸速率和優先級,將從路由器的廣域網側接口進入的下行數據包導入與路由器的區域網側接口對應的下行子隊列中,並根據下行子隊列的數據包傳輸速率和優先級傳送下行子隊列中的下行數據包,將下行數據包傳送到下行數據包中的標記標示的路由器的區域網側接口,從而實現了對從路由器的廣域網側接口進入的下行數據包至路由器的區域網側接口的傳輸控制,而個人電腦是與路由器的區域網側接口連接的,對進入路由器的廣域網側接口的下行數據包的傳輸控制,即實現了對與路由器的區域網側接口連接的個人電腦的網絡數據傳輸控制。
[0046]同理,上述網絡流量控制方法和裝置也實現了對與路由器的區域網側接口連接的個人電腦的網絡數據傳輸控制。 [0047]此外,還提供一種路由器,包括區域網側接口和廣域網側接口,還包括上述任一的網絡上行流量控制裝置、上述任一的網絡下行流量控制裝置或上述任一的網絡流量控制裝置。
【【專利附圖】
【附圖說明】】
[0048]圖1為一個實施例中的網絡上行流量控制方法的流程示意圖;
[0049]圖2為一個實施例中的網絡下行流量控制方法的流程示意圖;
[0050]圖3為一個實施例中的網絡上行流量控制裝置的結構示意圖;
[0051]圖4為另一實施例中的網絡上行流量控制裝置的結構示意圖;
[0052]圖5為一個實施例中的網絡下行流量控制裝置的結構示意圖;
[0053]圖6為另一實施例中的網絡下行流量控制裝置的結構示意圖;
[0054]圖7為一個實施例中的路由器的結構示意圖。
【【具體實施方式】】
[0055]如圖1所示,在一個實施例中,一種網絡上行流量控制方法,包括以下步驟:
[0056]步驟S101,截獲從路由器的區域網側接口進入路由器的上行數據包。
[0057]具體的,可通過netfilter的鉤子函數NF_IP_PRE_ROUTING截獲從路由器的區域網側接口進入路由器的上行數據包。
[0058]步驟S102,將上行數據包打上與接收該上行數據包的區域網側接口對應的標記。[0059]具體的,上行數據包打入的標記可包含該上行數據包的區域網側接口的標識或地址。
[0060]步驟S103,將打了標記的上行數據包導入位於路由器內網卡上的上行總隊列。
[0061]在一個實施例中,路由器內網卡為虛擬網卡,又可稱為中介隊列設備(Intermediate queueing device, IMQ)。
[0062]步驟S104,將上行總隊列中的上行數據包按照上行數據包的標記導入到與區域網側接口對應的上行子隊列中,上行子隊列位於路由器內網卡上。
[0063]在一個實施例中,可獲取上行數據包的標記,解析出標記中包含的區域網側接口的標識或地址,並獲取該標識或地址對應的區域網側接口對應的上行子隊列,將上行數據包導入到該上行子隊列。
[0064]步驟S105,按照上行子隊列的預設的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口。
[0065]具體的,可優先將優先級高的上行子隊列中的上行數據包傳送到路由器的廣域網側接口,並使得各個上行子隊列的數據包的傳輸速率不超過上行子隊列的預設的數據包傳
輸速率。
[0066]在一個實施例中,在步驟SlOl之前,可在路由器內網卡上建立上述上行總隊列和上述上行子隊列,建立的上行子隊列與路由器的區域網側接口一一對應,並設置上行子隊列的數據包傳輸速率和優先級。
[0067]建立的上行子隊列的數量與路由器的區域網側接口的數量一致。可建立上行子隊列的標識,並維護上行子隊列標識與路由器的區域網側接口標識的對應關係。
[0068]如圖2所示,在一個實施例中,一種網絡下行流量控制方法,包括以下步驟:
[0069]步驟S201,截獲從路由器的廣域網側接口進入路由器的下行數據包。
[0070]具體的,可通過netfilter的鉤子函數NF_IP_P0ST_R0UTING截獲從路由器的廣域網側接口進入路由器的下行數據包。
[0071]步驟S202,將下行數據包導入到位於路由器內網卡上的下行總隊列。
[0072]步驟S203,解析下行總隊列中的下行數據包,獲取下行數據包中標示區域網側接口的標記。
[0073]步驟S204,將下行數據包傳送到標記標示的區域網側接口對應的下行子隊列中,下行子隊列位於路由器內網卡上。
[0074]下行數據包中包含目的接口的IP位址,步驟S203可解析出下行數據包中包含的目的接口的IP位址。步驟S204查找下行數據包中包含的目的接口 IP位址對應的區域網側接口,將下行數據包傳送到該區域網側接口對應的子隊列中。
[0075]步驟S205,按照下行子隊列的預設的數據包傳輸速率和優先級將下行子隊列中的下行數據包傳送到下行子隊列對應的區域網側接口。
[0076]具體的,可優先將優先級高的下行子隊列中的下行數據包傳送到對應的區域網側接口,並使得各個下行子隊列的數據包的傳輸速率不超過下行子隊列的預設的數據包傳輸速率。
[0077]在一個實施例中,在步驟S201之前,可在路由器內網卡上建立上述下行總隊列和上述下行子隊列,建立的下行子隊列與路由器的區域網側接口一一對應;並設置下行子隊列的數據包傳輸速率和優先級。
[0078]建立的下行子隊列的數量與路由器的區域網側接口的數量一致。可建立下行子隊列的標識,並維護下行子隊列標識與路由器的區域網側接口標識的對應關係。
[0079]—種網絡流量控制方法,包括上述任一實施例中的網絡上行流量控制方法中的步驟,以及包括上述任一實施例中的網絡下行流量控制方法中的步驟。
[0080]如圖3所示,在一個實施例中,一種網絡上行流量控制裝置,包括上行數據包截獲模塊301、標記模塊302、上行數據包導入模塊303、上行數據包分類模塊304和上行數據包傳送模塊305,其中:
[0081]上行數據包截獲模塊301用於截獲從路由器的區域網側接口進入路由器的上行數據包。
[0082]具體的,上行數據包截獲模塊301可通過netfilter的鉤子函數NF_IP_PRE_ROUTING截獲從路由器的區域網側接口進入路由器的上行數據包。
[0083]標記模塊302用於將上行數據包打上與接收該上行數據包的區域網側接口對應的標記。
[0084]具體的,上行數據包打入的標記可包含該上行數據包的區域網側接口的標識或地址。
[0085]上行數據包導入模塊303用於將打了標記的上行數據包導入位於路由器內網卡上的上行總隊列。
[0086]在一個實施例中,路由器內網卡為虛擬網卡,又可稱為中介隊列設備(Intermediate queueing device, IMQ)。
[0087]上行數據包分類模塊304用於將上行總隊列中的上行數據包按照上行數據包的標記導入到與區域網側接口對應的上行子隊列中,上行子隊列位於路由器內網卡上。
[0088]在一個實施例中,上行數據包分類模塊304可獲取上行數據包的標記,解析出標記中包含的區域網側接口的標識或地址,並獲取該標識或地址對應的區域網側接口對應的上行子隊列,將上行數據包導入到該上行子隊列。
[0089]上行數據包傳送模塊305用於按照上行子隊列的預設的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口。
[0090]具體的,上行數據包傳送模塊305可優先將優先級高的上行子隊列中的上行數據包傳送到路由器的廣域網側接口,並使得各個上行子隊列的數據包的傳輸速率不超過上行子隊列的預設的數據包傳輸速率。
[0091]如圖4所示,在一個實施例中,上述網絡上行流量控制裝置還包括上行隊列構建模塊406和上行隊列設置模塊407,其中:
[0092]上行隊列構建模塊406用於在路由器內網卡上建立上述上行總隊列和上述上行子隊列,所述上行子隊列與路由器的區域網側接口一一對應。上行隊列構建模塊406建立的上行子隊列的數量與路由器的區域網側接口的數量一致。進一步的,上行隊列構建模塊406可建立上行子隊列的標識,並維護上行子隊列標識與路由器的區域網側接口標識的對應關係。
[0093]上行隊列設置模塊407用於設置所述上行子隊列的數據包傳輸速率和優先級。
[0094]如圖5所示,在一個實施例中,一種網絡下行流量控制裝置,包括下行數據包截獲,下行數據包解析模塊503可解析出下行數.分類模塊504可查找下行數據包中包含的數據包傳送到該區域網側接口對應的子隊
廳子隊列的預設的數據包傳輸速率和優先(列對應的區域網側接口。
先將優先級高的下行子隊列中的下行數據子隊列的數據包的傳輸速率不超過下行子
洛下行流量控制裝置還包括下行隊列構建
內網卡上建立所述下行總隊列和所述下行口 對應。下行隊列構建模塊606建立I勺數量一致。進一步的,下行隊列構建模塊列標識與路由器的區域網側接口標識的對和上行隊列設置模塊407,以及包括上述的下行隊列構建模塊606和下行隊列設置模塊607。其中,上行隊列構建模塊406和下行隊列構建模塊606可合併為一個模塊,上行隊列設置模塊407和下行隊列設置模塊607可合併為一個模塊。
[0109]上述的網絡上行流量控制裝置、網絡下行流量控制裝置和網絡流量控制裝置設置於路由器中。本發明還提供一種路由器,包括區域網側接口和廣域網側接口,以及包括上述任一實施例中的網絡上行流量控制裝置、上述任一實施例中的網絡下行流量控制裝置或上述任一實施例中的網絡流量控制裝置。圖7為包括區域網側接口、廣域網側接口和網絡流量控制裝置的路由器的結構示意圖。
[0110]以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對本發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。
【權利要求】
1.一種網絡上行流量控制方法,包括以下步驟: 截獲從路由器的區域網側接口進入路由器的上行數據包; 將所述上行數據包打上與接收所述上行數據包的區域網側接口對應的標記; 將打了標記的上行數據包導入位於路由器內網卡上的上行總隊列; 將上行總隊列中的上行數據包按照上行數據包的標記導入到與區域網側接口對應的上行子隊列中,所述上行子隊列位於路由器內網卡上; 按照上行子隊列的預設的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口。
2.根據權利要求1所述的網絡上行流量控制方法,其特徵在於,在截獲從路由器的區域網側接口進入的數據包之前,所述方法還包括: 在路由器內網卡上建立所述上行總隊列和所述上行子隊列,所述上行子隊列與路由器的區域網側接口一一對應; 設置所述上行子隊列的數據包傳輸速率和優先級。
3.—種網絡下行流量控制方法,包括以下步驟: 截獲從路由器的廣域網側接口進入路由器的下行數據包; 將所述下行數據包導入到位於路由器內網卡上的下行總隊列; 解析下行總隊列中的下行數據包,獲取下行數據包中標示區域網側接口的標記; 將下行數據包傳送到所述標記標示的區域網側接口對應的下行子隊列中,所述下行子隊列位於路由器內網卡上; 按照下行子隊列的預設的數據包傳輸速率和優先級將下行子隊列中的下行數據包傳送到下行子隊列對應的區域網側接口。
4.根據權利要求3所述的網絡上行流量控制方法,其特徵在於,在截獲從路由器的廣域網側接口進入的數據包之前,所述方法還包括: 在路由器內網卡上建立所述下行總隊列和所述下行子隊列,所述下行子隊列與路由器的區域網側接口一一對應; 設置所述下行子隊列的數據包傳輸速率和優先級。
5.一種網絡流量控制方法,包括權利要求1或2所述的網絡上行流量控制方法中的步驟,以及包括權利要求3或4所述的網絡下行流量控制方法中的步驟。
6.一種網絡上行流量控制裝置,其特徵在於,包括: 上行數據包截獲模塊,用於截獲從路由器的區域網側接口進入路由器的上行數據包;標記模塊,用於將所述上行數據包打上與接收所述上行數據包的區域網側接口對應的標記; 上行數據包導入模塊,用於將打了標記的上行數據包導入位於路由器內網卡上的上行總隊列; 上行數據包分類模塊,用於將上行總隊列中的上行數據包按照上行數據包的標記導入到與區域網側接口對應的上行子隊列中,所述上行子隊列位於路由器內網卡上; 上行數據包傳送模塊,用於按照上行子隊列的預設的數據包傳輸速率和優先級將上行子隊列中的上行數據包傳送到路由器的廣域網側接口。
7.根據權利要求6所述的網絡上行流量控制裝置,其特徵在於,所述裝置還包括:上行隊列構建模塊,用於在路由器內網卡上建立所述上行總隊列和所述上行子隊列,所述上行子隊列與路由器的區域網側接口一一對應; 上行隊列設置模塊,用於設置所述上行子隊列的數據包傳輸速率和優先級。
8.—種網絡下行流量控制裝置,其特徵在於,包括: 下行數據包截獲模塊,用於截獲從路由器的廣域網側接口進入路由器的下行數據包;下行數據包導入模塊,將所述下行數據包導入到位於路由器內網卡上的下行總隊列;下行數據包解析模塊,用於解析下行總隊列中的下行數據包,獲取下行數據包中標示區域網側接口的標記; 下行數據包分類模塊,用於將下行數據包傳送到所述標記標示的區域網側接口對應的下行子隊列中,所述下行子隊列位於路由器內網卡上; 下行數據包傳送模塊,用於按照下行子隊列的預設的數據包傳輸速率和優先級將下行子隊列中的下行數據包傳送到下行子隊列對應的區域網側接口。
9.根據權利要求8所述的網絡下行流量控制裝置,其特徵在於,所述裝置還包括: 下行隊列構建模塊,用於在路由器內網卡上建立所述下行總隊列和所述下行子隊列,所述下行子隊列與路由器的區域網側接口一一對應; 下行隊列設 置模塊,用於設置所述下行子隊列的數據包傳輸速率和優先級。
10.一種網絡流量控制裝置,包括權利要求6或7所述的網絡上行流量控制裝置中的模塊,以及包括權利要求8或9所述的網絡下行流量控制裝置中的模塊。
11.一種路由器,包括區域網側接口和廣域網側接口,其特徵在於,還包括權利要求6或7所述的網絡上行流量控制裝置、權利要求8或9所述的網絡下行流量控制裝置或權利要求10所述的網絡流量控制裝置。
【文檔編號】H04L12/861GK103841038SQ201210484381
【公開日】2014年6月4日 申請日期:2012年11月23日 優先權日:2012年11月23日
【發明者】王亞波, 劉立剛, 鄧達成 申請人:深圳市共進電子股份有限公司