如何控製P2P的下載流量
當前,以BitTorrent(以下簡(jiǎn)稱BT)為代表的P2P下載軟(ruǎn)件流(liú)量占用了寬帶接入的大量帶寬,據統計已經超過了50%。這對於以太網接入等共享帶寬的寬帶接(jiē)入方式提出了很大的挑戰,大(dà)量的(de)使接(jiē)入層交換機的(de)端(duān)口長期工作在線速狀態,嚴重影響了用戶使用正常的Web、E-mail以及視頻點播等(děng)業(yè)務(wù)。因此,運營商、企業用戶以及教(jiāo)育等行業的用戶都有對這類流量進行限製的要求。本文以BT為例,介紹了控製P2P下載流(liú)量的一般及(jí)特(tè)殊方法。
BT如何進行的(de)?
BT與傳統的下載方式最大的不同在於充分發揮了Internet主機對等的特(tè)點(diǎn),即每個運行TCP/IP棧(zhàn)的主(zhǔ)機都可以平(píng)等地(端到端)接收或發起請訪問請求。雖然隨著NAT、防火牆等技術的普及(jí),全(quán)網(Internet)端(duān)到端的時代已經遠去,但是目前仍有很(hěn)多主機仍然具有Interenet端到端能力,此外,即(jí)使在被防火牆隔離的園區(qū)網、企業內網中,主機間也具有端(duān)到端環境。
傳(chuán)統的下載方(fāng)式是C/S模式,或集中模(mó)式,即各(gè)個主機分別從服務器下載文(wén)件(jiàn),主機不提供(gòng)下載,而服務器通常隻提(tí)供下載(zǎi)。
而BT的下載機製是各主機既下載、又提供下載服務,而服務器隻是提(tí)供關於的(de)下載的主機和文件的目錄信息,如(rú)圖2所示。各主機(jī)下載時選擇的內容有一(yī)定的散列特征,因此,通常參與下載的各主機中都有其他主機(jī)尚未下(xià)載的內容,從而能夠為其他主機提供下(xià)載服務。在這種機製下,各主機能(néng)夠同時從多(duō)個地點下載,因(yīn)此下載(zǎi)的傳輸速率得以大幅(fú)度提高。
BT服務(wù)器起什麽作(zuò)用?
BT的(de)服務器提供了發布(bù)的(de)統一管理,BT客戶端需要連接服務器才(cái)能得到其他的(de)參與下載的主機節點。事實上,這也為我們限製BT流量提供了一個簡單可行的手段。
BT的.torrent文件中包括了服務器的地址、文件名、目錄(lù)名、文件長度等(děng)信息,BT客戶端軟(ruǎn)件在分析.torrent文(wén)件之後,向服務器(qì)發出下載請求(qiú),請求的URL中包括了自身的端口(kǒu)信息,下載進度和狀態信息(xī)等。
BT服務器使用track 程序來管理這些下載請求(qiú),得到URL後就會查(chá)找列表,找到(dào)提供相應的文件下載的主機。客戶(hù)端就可(kě)以(yǐ)進行下載,與此同時,如果該(gāi)客戶端具有接受連接請求的能力,track程序會把該主機的信息也加入列表中,使其他主(zhǔ)機(jī)能夠找到該主機並進行下載。
由於(yú)P2P的(de)客(kè)戶端通常可以指定自身所用來(lái)提供下載/上(shàng)傳的(de)端口,因此傳統的封(fēng)鎖端口的方式很難奏效。
如何控製P2P流(liú)量?
利用QoS 客觀地(dì)說,P2P技術是非常適(shì)合(hé)Internet結構,能夠將網絡資源的使用最(zuì)大化的一種機製,在(zài)很多情況下,P2P能夠節省網絡基礎資源,例如,在一個寬帶接入網絡中,如果有100個用戶要下載外(wài)網的同一個文件,傳統的方式是同樣的流量要經過運營商出口100次(cì)。除(chú)非運營商提(tí)供緩存或分發服務。但在BT的模式下,經過出口的流量會顯著減少,因為內網的用戶可以相互下(xià)載。而P2P應用已經成為一種趨勢,單靠封堵是很難阻擋P2P的發展的(de)。
但是,由於機製的(de)優越性,P2P這種模式在現階段難免會對傳統的應用造成衝擊,影(yǐng)響正常業務流量。 因(yīn)此,一種合理的出發點(diǎn)是利用QoS機製,在保障正常業務(wù)的運行的情況下(xià),允許(xǔ)用戶使用P2P應用。 這種方式的難點較多,首先在(zài)於如何界定正常業務流(liú)量,如何規劃帶寬。
現階段,語音、視頻流量、企業用戶的電子商務交易流量,以及寬帶(dài)接入用戶的Web流(liú)量、E-mail流量和即時通信流量都可以被(bèi)列入正常業務(wù),被劃分不同的優(yōu)先級。此後,運營商可以根據用戶的使用(yòng)情(qíng)況和應用的發(fā)展情況,修(xiū)改和優化QoS配置。
對於(yú)這種方式,從流量分析的角度來看,現有的MRTG和其他基(jī)於SNMP的流量檢測手段已經很(hěn)難滿足要求。為此(cǐ),Cisco開發了Netflow技術,能夠提供按照業務(wù)類型區分的實時流(liú)量報告。其他廠商也陸(lù)續提供了(le)對Netflow的支持,例如華為-3Com推出(chū)了NetStrean,即兼容Netflow。Netflow由(yóu)交換機完成對流(liú)量(包括業務類型、源/目的地址等信(xìn)息)的(de)統計,並將統計數據提交至專用(yòng)服務器供分析。
第二個難點在於如(rú)何實現貫穿全網的(de)QoS,由於現有的交換機類型眾多,支持的QoS機製不同(tóng),使(shǐ)得全網QoS很難實施。因此,運營商在設備選型(xíng)時需要考慮到QoS策略實施的可行性(xìng)。
流(liú)量感知技術 流量感知(zhī)是交換機發展的主流趨(qū)勢(shì)之一,也是現在交換機廠商所(suǒ)吹捧(pěng)的“網絡智(zhì)能化”的基礎。目前,不少網絡廠(chǎng)商都實現了基於流量(liàng)感知的(de)P2P流量控製功能。流量感(gǎn)知功能使交換(huàn)機能夠對流量進行分析(xī),識別出其中的P2P流量,並實施相應的策略。分析的過程類似於狀態檢測防(fáng)火牆,即將流量與已知的P2P協議特征進行模式匹配,匹配成功即可(kě)識別出(chū)BT、EDonkey等協議。通常,這種(zhǒng)方式對於可任意修改端口的P2P軟件依然有效。
使用流量感知功能來控製BT流量非常簡單。事實上,除了(le)交換機/路由器外,防火牆等設備也在逐漸加入對於各種(zhǒng)主流P2P協議的感(gǎn)知功能。甚至Linux核心中也已經提供了對於P2P流量感知的模塊,可以結合iptables防火牆以及tc帶寬限製功能來識別、控製BT、EDonkey等協議流量。
端口及帶寬限製 在網關、防火(huǒ)牆上(shàng)進行端口封堵是當前最(zuì)為普遍的做法,成本較低,但是效果往往差強人意。因為BT等應用允許用戶修改下載、上傳端口,因此(cǐ)依靠限(xiàn)製傳(chuán)輸端口很容易被繞開,但如前所(suǒ)述,如果限(xiàn)製(zhì)通常不(bú)會被修(xiū)改的tracker端口(通常是6969)則相對更容易達到目的。
在常規方法難以奏效的(de)情況下,可以(yǐ)采用封堵6600-7900之間所有TCP/UDP端口的方法,這通(tōng)常可以較好地禁止BT流量,但同時難免對少數正常業(yè)務(wù)造成影響。
此外,在已經鎖定(dìng)BT用(yòng)戶的情況下,可以使用帶寬限製的方法來控製BT流量。
對於P2P流量的控製(zhì),從長遠(yuǎn)來看可以通過QoS和網(wǎng)絡設備流量感知技術的結合,實現對業務透明的智能控製。從目前來看,QoS和網絡設備流量感(gǎn)知都已經具有一定的可實施性,但尚缺(quē)乏有效整合的機製。此外,使用端(duān)口限製和帶(dài)寬限製等基礎手段,可以在一(yī)定程度上抑製BT流量。
關鍵詞:P2P,下載流量
閱讀本文後您有什(shí)麽感想? 已有 人(rén)給出評價!
- 1
- 1
- 1
- 1
- 1
- 1