克服P2P封鎖…

學校從上學期末開始明顯的限制P2P軟體的使用,上下傳的速度各不會跑超過30KB/s。可現今有很多的應用都是用P2P的架構來完成,因此在這樣的限制下上網其實已經有點半殘…。小弟雖學藝不精,但還粗略了解網路的運作苦,思不得其解的是在我總頻寬上並沒有限制,如果開其他服務還是可以達到原本的速率,因此不太像是對特定IP封鎖或限制總流量,僅有對P2P的封包作限制。而由於目前的P2P軟體都使用隨機port因此,不太可能是用傳統的所謂「鎖port」去block該port傳出傳入的封包。實在是不了解到底是用什麼辦法限制的。

原來是這樣的(文章眾多已經不知道原始作者是誰了,文章內容也是大同小異)…!透過檢查封包中Layer 7的表頭(header)來檢查是由何種軟體傳出的封包,並針對被鎖定的軟體加以封鎖/限制。所謂Layer 7即是OSI 7層中的應用層(Application Layer),router屬於第三層也就是網路層(Network Layer)的設備因此以往不會檢查到Layer 7的表頭(header)。而為了限制P2P最後也不得不開發出所謂的Layer 7 filter來過濾P2P的封包。

所謂上有對策下有政策,當初鎖port,那所有的P2P軟體都改用隨機port(總不能封鎖鎖有的port吧!)。如今你檢查我Application Layer的header,那我就表頭加密讓你看不懂!(你總不能把你看不懂的表頭的封包全部都丟棄吧!)。不過限於P2P軟體對表頭加密的支援,若軟體有提供此功能則可以將表頭加密。如果軟體沒有支援加密的話,可能就沒辦法了。目前還沒有看到什麼中介軟體可以提供封包加密的,不過由於表頭加密時必須兩邊都支援加解密才可以運作,因此要兩端同時安裝這個中介軟體才可能運作,所以這可能是比較難實現的。

詳細的解決辦法請參考其它的文章,已經有詳細的說明了==>壓這裡(和上面"原來是這樣的"相同的連結)。