專利名稱:一種對(duì)用戶進(jìn)行限速的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)通信技術(shù)領(lǐng)域,尤其涉及一種對(duì)用戶進(jìn)行限速的方法和裝置。
背景技術(shù):
由于網(wǎng)絡(luò)的不斷發(fā)展,在以太網(wǎng)環(huán)境下,為了提高鏈路的通信能力,路由器設(shè)備需要將多個(gè)以太接口捆綁為一個(gè)接口,稱為鏈路聚合接口。鏈路聚合接口的總帶寬是各成員帶寬之和,通過(guò)這種方式,可以增加接口的帶寬。鏈路聚合接口可以提高鏈路的通信能力和節(jié)省IP地址。鏈路聚合接口將流量分散到不同的鏈路上,最后到達(dá)統(tǒng)一的目的地。這樣可以避免流量都走同一條路徑造成的流量阻塞,這就是所謂的逐包屬性。對(duì)于路由器上接入一個(gè)鏈路聚合接口的多個(gè)物理接口,如果不對(duì)鏈路聚合接口接入的用戶進(jìn)行限速,那么接入到鏈路聚合接口上的所有用戶都會(huì)共享鏈路聚合接口的帶寬,導(dǎo)致用戶之間互相搶占帶寬,無(wú)法保證用戶利益,而且容易造成安全隱患(如DOS攻擊) 等。同時(shí),在接入鏈路聚合接口的多個(gè)物理接口屬于多個(gè)不同的接口板時(shí),在逐包發(fā)流的環(huán)境下,如果不對(duì)跨板用戶(接入鏈路聚合接口的用戶)進(jìn)行處理,會(huì)導(dǎo)致鏈路聚合接口的成員所在接口板上的各個(gè)網(wǎng)絡(luò)處理器均處理與用戶限速值一樣大的流量,這樣用戶的出流量就會(huì)超過(guò)用戶的限速值,導(dǎo)致用戶限速不準(zhǔn)確,而且用戶的最大帶寬為(網(wǎng)絡(luò)處理器個(gè)數(shù))*(用戶限速值),導(dǎo)致為用戶分配了超過(guò)應(yīng)該提供給用戶的實(shí)際帶寬,因此,如何在鏈路聚合接口上對(duì)接入的用戶進(jìn)行限速成為了路由器設(shè)備開(kāi)發(fā)商關(guān)心的問(wèn)題之一。在現(xiàn)網(wǎng)中,路由器上會(huì)插入幾種不同端口速率的接口板,對(duì)鏈路聚合接口在用戶跨板上線時(shí),需要根據(jù)鏈路聚合接口捆綁的物理端口的速率和端口數(shù)量來(lái)對(duì)每個(gè)用戶設(shè)定限速值,這就涉及到跨板限速的問(wèn)題,而當(dāng)前路由器中并沒(méi)有對(duì)用戶進(jìn)行跨板限速的管理。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種對(duì)用戶進(jìn)行限速的方法和裝置,能夠?qū)︽溌肪酆辖涌谙碌挠脩舾鶕?jù)鏈路聚合接口捆綁的物理端口的速率和端口數(shù)量進(jìn)行限速。為解決上述技術(shù)問(wèn)題,本發(fā)明的一種對(duì)用戶進(jìn)行限速的方法,包括根據(jù)鏈路聚合接口綁定的接口成員所屬的接口板的端口速率和所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目,確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)根據(jù)用戶的限速速率值、所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重為鏈路聚合接口的各接口成員配置用戶速率;根據(jù)鏈路聚合接口的各接口成員的用戶速率,在接口成員所屬的接口板上按相應(yīng)的用戶速率對(duì)接口成員進(jìn)行轉(zhuǎn)發(fā)限速。進(jìn)一步地,所述根據(jù)用戶的限速速率值、所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重為鏈路聚合接口的各接口成員配置用戶速率,包括
所述鏈路聚合接口的各接口成員的用戶速率為各接口成員的權(quán)重/總權(quán)重*用戶的限速速率值。進(jìn)一步地,還包括在確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重前,獲得所述鏈路聚合接口的各接口成員的信息,得到所述鏈路聚合接口綁定的接口成員所屬的接口板的端口速率,并根據(jù)所述鏈路聚合接口綁定的接口成員,得到所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目。進(jìn)一步地,還包括在獲得所述鏈路聚合接口的各接口成員的信息后,為所述鏈路聚合接口建立成員雙向鏈表,將所述鏈路聚合接口的各接口成員的信息記錄到所述成員雙向鏈表中,并在確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重后,將所述總權(quán)重和各接口成員的權(quán)重記錄到所述成員雙向鏈表中。進(jìn)一步地,所述成員雙向鏈表以所述鏈路聚合接口的標(biāo)識(shí)作為鏈表頭,在鏈表頭結(jié)點(diǎn)中記錄所述總權(quán)重,鏈表結(jié)點(diǎn)以所述鏈路聚合接口各接口成員的端口標(biāo)識(shí)為索弓I,記錄接口成員的息和權(quán)重。進(jìn)一步地,還包括在為鏈路聚合接口的各接口成員配置用戶速率前,從所述鏈路聚合接口的接入用戶的用戶配置中獲取配置數(shù)據(jù),根據(jù)所述配置數(shù)據(jù)得到所述用戶的限速速率值。進(jìn)一步地,一種對(duì)用戶進(jìn)行限速的裝置,包括用戶速率處理模塊,其中所述用戶速率處理模塊,用于根據(jù)鏈路聚合接口綁定的接口成員所屬的接口板的端口速率和所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目,確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重;根據(jù)用戶的限速速率值、所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重為鏈路聚合接口的各接口成員配置用戶速率;根據(jù)鏈路聚合接口的各接口成員的用戶速率,在接口成員所屬的接口板上按相應(yīng)的用戶速率對(duì)接口成員進(jìn)行轉(zhuǎn)發(fā)限速。 進(jìn)一步地,所述用戶速率處理模塊,具體用于按照各接口成員的權(quán)重/總權(quán)重*用戶的限速速率值確定所述鏈路聚合接口的各接口成員的用戶速率。進(jìn)一步地,還包括配置管理模塊,其中所述配置管理模塊,用于獲得所述鏈路聚合接口的各接口成員的信息,并從所述鏈路聚合接口的接入用戶的用戶配置中獲取配置數(shù)據(jù),根據(jù)所述配置數(shù)據(jù)得到所述用戶的限速速率值;所述用戶速率處理模塊,具體用于根據(jù)所述鏈路聚合接口的接口成員的信息,得到所述鏈路聚合接口綁定的接口成員所屬的接口板的端口速率,根據(jù)所述鏈路聚合接口綁定的接口成員,得到所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目。進(jìn)一步地,還包括鏈路聚合接口成員管理模塊,其中所述鏈路聚合接口成員管理模塊,用于為所述鏈路聚合接口建立成員雙向鏈表, 將所述鏈路聚合接口的各接口成員的信息記錄到所述成員雙向鏈表中;所述用戶速率處理模塊,還用于在確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重后,將所述總權(quán)重和各接口成員的權(quán)重記錄到所述成員雙向鏈表中。
綜上所述,本發(fā)明能夠更精確的對(duì)跨板鏈路聚合接口接入的用戶進(jìn)行限速,并且可以對(duì)不同速率的端口進(jìn)行權(quán)重處理,從而避免了對(duì)鏈路聚合接口每個(gè)成員不能均勻限速的問(wèn)題。
圖I為本實(shí)施方式的對(duì)用戶進(jìn)行限速的方法的流程圖;圖2為本實(shí)施方式的鏈路聚合接口的成員雙向鏈表的結(jié)構(gòu)示意圖;圖3為本實(shí)施方式的對(duì)用戶進(jìn)行限速的裝置的架構(gòu)圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本實(shí)施方式的對(duì)用戶進(jìn)行限速的方法進(jìn)行說(shuō)明。如圖I所示,對(duì)用戶進(jìn)行限速的方法,包括步驟101 :配置管理模塊對(duì)鏈路聚合接口進(jìn)行接口成員的綁定,得到該鏈路聚合接口下的各個(gè)接口成員的信息;本實(shí)施方式中綁定在鏈路聚合接口下接口成員屬于多個(gè)不同的接口板,鏈路聚合接口可稱為跨板鏈路聚合接口。接口成員的信息包括接口成員所屬的接口板的信息和接口成員的接口信息。步驟102 :配置管理模塊在用戶上線后,從鏈路聚合接口的接入用戶的用戶配置中獲取配置數(shù)據(jù),根據(jù)配置數(shù)據(jù)得到用戶的限速速率值;配置管理模塊根據(jù)CIR(承諾訪問(wèn)速率)、PIR(峰值信息速率)、令牌桶大小 CBS (承諾突發(fā)尺寸)和PBS (峰值突發(fā)尺寸)等配置數(shù)據(jù)得到用戶的限速速率值。步驟103 :鏈路聚合接口成員管理模塊接收配置管理模塊下發(fā)的跨板鏈路聚合接口的接口成員的信息,申請(qǐng)雙向鏈表內(nèi)存,建立成員雙向鏈表,將鏈路聚合接口的接口成員的信息記錄到唯一表示該鏈路聚合接口的成員雙向鏈表中;如圖2所示,為鏈路聚合接口成員管理模塊建立的成員雙向鏈表的結(jié)構(gòu),對(duì)鏈路聚合接口的接口成員進(jìn)行分配掛接,使得該鏈路聚合接口進(jìn)行接口成員掛接。 成員雙向鏈表是以鏈路聚合接口的標(biāo)識(shí)作為鏈表頭,鏈表頭結(jié)點(diǎn)中記錄總權(quán)重, 鏈表結(jié)點(diǎn)以各個(gè)接口成員的端口標(biāo)識(shí)為索引,記錄接口成員的信息和權(quán)重,在下面的步驟中會(huì)將權(quán)重寫入成員雙向鏈表中。步驟104 :用戶速率處理模塊根據(jù)配置管理模塊中的鏈路聚合接口的接口成員的信息,得到綁定的接口成員所屬的接口板的端口速率;用戶速率處理模塊根據(jù)鏈路聚合接口的接口成員的信息中的接口成員所屬的接口板的信息,獲取到各接口板的端口速率。步驟105 :用戶速率處理模塊根據(jù)鏈路聚合接口綁定的接口成員,得到每個(gè)接口板綁定在鏈路聚合接口下的端口的數(shù)目;步驟106 :用戶速率處理模塊根據(jù)鏈路聚合接口綁定的接口成員所屬的接口板的端口速率和每個(gè)接口板綁定在鏈路聚合接口下的端口的數(shù)目,計(jì)算鏈路聚合接口的總權(quán)重及各接口成員的權(quán)重,將總權(quán)重及各接口成員的權(quán)重寫入成員雙向鏈表;本實(shí)施方式中不對(duì)總權(quán)重及各接口成員的權(quán)重的計(jì)算方法進(jìn)行具體限定,例如,綁定在鏈路聚合接口下的接口板的端口速率分別為IOG和1G,IOG接口板綁定在鏈路聚合接口下的端口的數(shù)目為3,IG接口板綁定在鏈路聚合接口下的端口的數(shù)目為2,總權(quán)重可以為10X3+1X2 = 32,IOG接口板的綁定在鏈路聚合接口下的端口的權(quán)重均為10,IG接口板的綁定在鏈路聚合接口下的端口的權(quán)重均為I。同樣地,可以根據(jù)接口板的端口速率和接口板綁定在鏈路聚合接口下的端口的數(shù)目進(jìn)行一些其他運(yùn)輸,確定總權(quán)重及各接口成員的權(quán)重。步驟107 :用戶速率處理模塊根據(jù)用戶的限速速率值、總權(quán)重及接口成員的權(quán)重, 為鏈路聚合接口的各接口成員配置用戶速率;用戶速率處理模塊包含各個(gè)接口板上的網(wǎng)絡(luò)處理器,由接口板上的網(wǎng)絡(luò)處理器為自身綁定在鏈路聚合接口下的端口配置限速值。例如,鏈路聚合接口下接入一個(gè)用戶,限速速率值為32M,鏈路聚合接口下面綁定了兩個(gè)不同的端口速率的接口板,分別為IG的接口板和IOG的接口板,在IG的接口板上綁定兩個(gè)接口在這個(gè)鏈路聚合接口上,在IOG的接口板上綁定三個(gè)接口在這個(gè)鏈路聚合接口上,在鏈路聚合接口的總權(quán)重為32,IG接口板上的兩個(gè)端口的權(quán)重均為1,IOG接口板上的三個(gè)端口的權(quán)重均為10的情況下,根據(jù)權(quán)重/總權(quán)重*用戶的限速速率值,得到1G接口板的兩個(gè)端口的用戶速率為1M,IOG接口板的三個(gè)端口的用戶速率為10M,1M*2+10M*3 = 32M, 也就是用戶的限速速率值,達(dá)到了限速效果。步驟108 :用戶速率處理模塊根據(jù)鏈路聚合接口各接口成員的用戶速率,在各個(gè)接口板上按相應(yīng)用戶速率進(jìn)行轉(zhuǎn)發(fā)限速;由各個(gè)接口板上的網(wǎng)絡(luò)處理器根據(jù)自身綁定在鏈路聚合接口下的端口的用戶速率對(duì)接口成員進(jìn)行轉(zhuǎn)發(fā)限速。在鏈路聚合接口的接口成員發(fā)生變化時(shí),需要刷新鏈路聚合接口成員的信息,并對(duì)總權(quán)重、各接口成員的權(quán)重和各接口成員的用戶速率進(jìn)行重計(jì)算,再根據(jù)重新計(jì)算的各接口成員的用戶速率對(duì)用戶進(jìn)行限速處理。如圖3所示,本實(shí)施方式的對(duì)用戶進(jìn)行限速的裝置,包括配置管理模塊、鏈路聚合接口成員管理模塊和用戶速率處理模塊,其中配置管理模塊,用以配置鏈路聚合接口的標(biāo)識(shí),并對(duì)對(duì)鏈路聚合接口進(jìn)行接口成員的綁定,得到該鏈路聚合接口下的各個(gè)接口成員的信息,在用戶上線后,從鏈路聚合接口的接入用戶的用戶配置中獲取配置數(shù)據(jù),根據(jù)配置數(shù)據(jù)得到用戶的限速速率值,將各個(gè)接口成員的信息下發(fā)給鏈路聚合接口成員管理模塊和用戶速率處理模塊,將用戶的限速速率值下發(fā)給用戶速率處理模塊。鏈路聚合接口成員管理模塊,用以接收配置管理模塊下發(fā)的鏈路聚合接口的接口成員的信息,申請(qǐng)雙向鏈表內(nèi)存,建立成員雙向鏈表,將鏈路聚合接口的接口成員的信息記錄到唯一表示該鏈路聚合接口的成員雙向鏈表中。用戶速率處理模塊,用以根據(jù)配置管理模塊中的鏈路聚合接口的接口成員的信息,得到綁定的接口成員所屬的接口板的端口速率,根據(jù)鏈路聚合接口綁定的接口成員,得到每個(gè)接口板綁定在鏈路聚合接口下的端口的數(shù)目,根據(jù)鏈路聚合接口綁定的接口成員所屬的接口板的端口速率和每個(gè)接口板綁定在鏈路聚合接口下的端口的數(shù)目,計(jì)算鏈路聚合接口的總權(quán)重及各接口成員的權(quán)重,將總權(quán)重及各接口成員的權(quán)重寫入成員雙向鏈表;并且,根據(jù)用戶的限速速率值、總權(quán)重及接口成員的權(quán)重,為鏈路聚合接口的各接口成員配置用戶速率,根據(jù)鏈路聚合接口各接口成員的用戶速率,在各個(gè)接口板上按相應(yīng)用戶速率對(duì)接口成員進(jìn)行轉(zhuǎn)發(fā)限速。本實(shí)施方式中,根據(jù)接口成員的數(shù)量、接口成員所屬接口板的端口速率以及跨板情況作為基數(shù)來(lái)均衡分配用戶的流量,這樣既提高了網(wǎng)絡(luò)資源利用率,同時(shí)也避免了由于接口成員處理能力不同而導(dǎo)致的網(wǎng)絡(luò)流量擁塞。本實(shí)施方式能夠在路由器上的不同接口速率卡上,配置一個(gè)鏈路聚合接口,綁定接口板上的相關(guān)口進(jìn)行用戶的流量轉(zhuǎn)發(fā)時(shí),對(duì)鏈路聚合接口上的用戶,配置相應(yīng)的限速值,對(duì)用戶進(jìn)行轉(zhuǎn)發(fā)限速。
權(quán)利要求
1.一種對(duì)用戶進(jìn)行限速的方法,其特征在于,包括根據(jù)鏈路聚合接口綁定的接口成員所屬的接口板的端口速率和所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目,確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重;根據(jù)用戶的限速速率值、所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重為鏈路聚合接口的各接口成員配置用戶速率;根據(jù)鏈路聚合接口的各接口成員的用戶速率,在接口成員所屬的接口板上按相應(yīng)的用戶速率對(duì)接口成員進(jìn)行轉(zhuǎn)發(fā)限速。
2.如權(quán)利要求I所述的方法,其特征在于,所述根據(jù)用戶的限速速率值、所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重為鏈路聚合接口的各接口成員配置用戶速率,包括所述鏈路聚合接口的各接口成員的用戶速率為各接口成員的權(quán)重/總權(quán)重*用戶的限速速率值。
3.如權(quán)利要求I所述的方法,其特征在于,還包括在確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重前,獲得所述鏈路聚合接口的各接口成員的信息,得到所述鏈路聚合接口綁定的接口成員所屬的接口板的端口速率,并根據(jù)所述鏈路聚合接口綁定的接口成員,得到所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目。
4.如權(quán)利要求3所述的方法,其特征在于,還包括在獲得所述鏈路聚合接口的各接口成員的信息后,為所述鏈路聚合接口建立成員雙向鏈表,將所述鏈路聚合接口的各接口成員的信息記錄到所述成員雙向鏈表中,并在確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重后,將所述總權(quán)重和各接口成員的權(quán)重記錄到所述成員雙向鏈表中。
5.如權(quán)利要求4所述的方法,其特征在于所述成員雙向鏈表以所述鏈路聚合接口的標(biāo)識(shí)作為鏈表頭,在鏈表頭結(jié)點(diǎn)中記錄所述總權(quán)重,鏈表結(jié)點(diǎn)以所述鏈路聚合接口各接口成員的端口標(biāo)識(shí)為索引,記錄接口成員的信息和權(quán)重。
6.如權(quán)利要求I所述的方法,其特征在于,還包括在為鏈路聚合接口的各接口成員配置用戶速率前,從所述鏈路聚合接口的接入用戶的用戶配置中獲取配置數(shù)據(jù),根據(jù)所述配置數(shù)據(jù)得到所述用戶的限速速率值。
7.一種對(duì)用戶進(jìn)行限速的裝置,其特征在于,包括用戶速率處理模塊,其中所述用戶速率處理模塊,用于根據(jù)鏈路聚合接口綁定的接口成員所屬的接口板的端口速率和所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目,確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重;根據(jù)用戶的限速速率值、所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重為鏈路聚合接口的各接口成員配置用戶速率;根據(jù)鏈路聚合接口的各接口成員的用戶速率,在接口成員所屬的接口板上按相應(yīng)的用戶速率對(duì)接口成員進(jìn)行轉(zhuǎn)發(fā)限速。
8.如權(quán)利要求7所述的裝置,其特征在于所述用戶速率處理模塊,具體用于按照各接口成員的權(quán)重/總權(quán)重*用戶的限速速率值確定所述鏈路聚合接口的各接口成員的用戶速率。
9.如權(quán)利要求7所述的裝置,其特征在于,還包括配置管理模塊,其中所述配置管理模塊,用于獲得所述鏈路聚合接口的各接口成員的信息,并從所述鏈路聚合接口的接入用戶的用戶配置中獲取配置數(shù)據(jù),根據(jù)所述配置數(shù)據(jù)得到所述用戶的限速速率值;所述用戶速率處理模塊,具體用于根據(jù)所述鏈路聚合接口的接口成員的信息,得到所述鏈路聚合接口綁定的接口成員所屬的接口板的端口速率,根據(jù)所述鏈路聚合接口綁定的接口成員,得到所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目。
10.如權(quán)利要求7所述的裝置,其特征在于,還包括鏈路聚合接口成員管理模塊,其中 所述鏈路聚合接口成員管理模塊,用于為所述鏈路聚合接口建立成員雙向鏈表,將所述鏈路聚合接口的各接口成員的信息記錄到所述成員雙向鏈表中;所述用戶速率處理模塊,還用于在確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重后,將所述總權(quán)重和各接口成員的權(quán)重記錄到所述成員雙向鏈表中。
全文摘要
本發(fā)明公開(kāi)了一種對(duì)用戶進(jìn)行限速的方法和裝置,包括根據(jù)鏈路聚合接口綁定的接口成員所屬的接口板的端口速率和所述接口板綁定在所述鏈路聚合接口下的端口的數(shù)目,確定所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重;根據(jù)用戶的限速速率值、所述鏈路聚合接口的總權(quán)重和各接口成員的權(quán)重為鏈路聚合接口的各接口成員配置用戶速率;根據(jù)鏈路聚合接口的各接口成員的用戶速率,在接口成員所屬的接口板上按相應(yīng)的用戶速率對(duì)接口成員進(jìn)行轉(zhuǎn)發(fā)限速。本發(fā)明能夠更精確的對(duì)跨板鏈路聚合接口接入的用戶進(jìn)行限速,并且可以對(duì)不同速率的端口進(jìn)行權(quán)重處理,從而避免了對(duì)鏈路聚合接口每個(gè)成員不能均勻限速的問(wèn)題。
文檔編號(hào)H04L12/56GK102594671SQ201210027130
公開(kāi)日2012年7月18日 申請(qǐng)日期2012年2月8日 優(yōu)先權(quán)日2012年2月8日
發(fā)明者于波, 竇丹丹 申請(qǐng)人:中興通訊股份有限公司