#
前幾天完成了新了mvc架構,今天用這個new framework完成了“系統管理”部分,
等于是測試這個framework。感覺還不錯,至少代碼可以少寫很多,而且層次結構更
加清晰。
之前我對新產品(SourceView2.0)的設計是有三個部分:mvc、nms和distributed,
今天算是完成了mvc這部分。對于另外兩部分,想法還不成熟,還有很多需要考慮的。
如果來得及的話,我希望把新的產品用在新的項目中。
但目前最要趕的事還是把PLN這個項目先搞定。
http://www.infoq.com
http://www.theserverside.com
http://www.javablogs.com
http://www.java.net
http://www.javasoft.com
http://blogs.sun.com
http://blogs.sun.com/roumen/
http://blogs.sun.com/geertjan/
http://blogs.sun.com/theaquarium/
http://www.ibm.com/developerworks
http://www.onjava.com/
http://www.developer.com/java/
http://www.javaworld.com/
http://www.java.com/
http://www.netbeans.org/kb/index.html
http://www.eclipse.org
http://www.oracle.com/technology/tech/java/index.html
http://www.javaranch.com
http://www.javablackbelt.com
http://www.jugcologne.org
http://www.dzone.com
Interesting Resources For Java SE/EE Developers
Some interesting links for (motivated) Java developers, programmers, architects and leaders:
http://www.infoq.com
http://www.theserverside.com
http://www.javablogs.com
http://www.java.net
http://www.javasoft.com
http://blogs.sun.com especially http://blogs.sun.com/roumen/, http://blogs.sun.com/geertjan/, http://blogs.sun.com/theaquarium/
http://www.ibm.com/developerworks
http://www.onjava.com/
http://www.developer.com/java/
http://www.javaworld.com/
http://www.java.com/
http://www.netbeans.org/kb/index.html
http://www.eclipse.org
http://www.oracle.com/technology/tech/java/index.html
http://www.javaranch.com
http://www.javablackbelt.com
http://www.jugcologne.org
http://www.dzone.com
Enjoy! ...but don't forget programming :-)
EasyTouch
不足之處:
1. 用java做的c/s系統,界面肯定很難看。
2. 做了好些沒意義的,或者用戶基本不會去關心的東西,比如
“接收/發送SNMP包流量統計”。
可取之處:
1. 監視網絡事件,比較人性化。
2. 后臺任務輪詢控制,有點像“再發現”的功能,如果真能實現,
就算是一個亮點了。
1. 重新整理了PVC相關程序,分頁列出PVC信息,包括兩端的單位名(IP地址),
流量、利用率、類型和狀態。
2. 列出PVC時,按VPI和VCI排序,原來數據全在內存中,排序有困難,所以今天
把VPI-VCI存入數據庫,這樣方便排序和查找。
3. 把與PVC有關事件加入“告警平臺”,比如PVC寬帶變化、PVC利用率過高和PVC
狀態改變(從active變成inactive)。
4. 每15分鐘掃描一次所有PVC,然后把流量和帶寬利用率存入數據庫,以便形成報表。
1. Discovered the routers in PL network.The following map is the result:

2. Completed the program about PVC traffic and bandwidth utilization.
However,"Bandwidth for UBR conns will not be accounted for"(acmib.mib)
So,bandwidth utilization for ubr PVC is unavailable.
雖然SpringJdbc中很多東西我看不太明白,但學習Spring源碼仍然給我很大收獲,
讓我思考很多問題并努力去尋找答案。
為什么需要JTA?Jdbc不就能處理事務了嗎?
JDBC事務的一個缺點是事務的范圍局限于一個數據庫連接。一個JDBC事務不
能跨越多個數據庫。
而JTA(Java Transaction API) 事務為J2EE平臺提供了分布式事務服務,即可實現
多個數據庫的事務處理。
因為目前的項目不會遇到跨越多個數據庫的操作,所以在以后設計中,我暫時
不會考慮用JTA。
對于UNIX類主機之間記錄日志,由于協議、軟件和日志信息格式等都大同小異,
因此實現起來比較簡單,但是windows的系統日志格式不同,日志記錄軟件,方式等都
不同。因此,我們需要第三方的軟件來將windows的日志轉換成syslog類型的日志后,
轉發給syslog服務器。
這里我們用第三方軟件evtsys (全稱是evntlog to syslog),這是一個非常小巧而且免費
的第三方日志記錄軟件,文件才幾十K大小,非常小巧,解壓后是兩個文件evtsys.dll和
evtsys.exe。
把這兩個文件拷貝到 c:\windows\system32目錄下。
C:\>evtsys –i –h 192.168.2.155
-i 表示安裝成系統服務
-h 指定log服務器的IP地址
如果要卸載evtsys,則:
net stop evtsys
evtsys -u
關于PVC的一些常用信息都記錄在atmPvcVccTable中
(1)
pvc類型:atmPvcVccServiceTypeA2B
atmPvcVccServiceTypeA2B OBJECT-TYPE
SYNTAX INTEGER {
ubr(1),
vbr-nrt2(2),
vbr-nrt1(3),
vbr-rt2(4),
vbr-rt1(5),
vbr-express(6),
cbr4(7),
cbr3(8),
cbr2(9),
cbr1(10),
gfr2(11)
}
通過對比前后兩次掃描結果,如果atmPvcVccServiceTypeA2B有變化,
則應該給出報警,告知用戶PVC類型有變化。
(2)
pvc當前狀態(active/inactive):atmPvcVccConnectionStatus
atmPvcVccConnectionStatus OBJECT-TYPE
SYNTAX INTEGER {
active(1),
inactive(2),
inactiveA2B-B2A(3),
inactiveA2B(4),
inactiveB2A(5)
}
如果atmPvcVccConnectionStatus != 1,
應該給出報警,告知用戶PVC狀態為inactive。
(3) PVC帶寬 (單位:cell/s)
atmPvcVccPeakCellRateA2B(也可能是atmPvcVccSusCellRateA2B,目前來看兩者的值一樣)
通過對比前后兩次掃描結果,如果atmPvcVccPeakCellRateA2B有變化,
則應該給出報警,告知用戶PVC帶寬有變化。
關于atm pvc帶寬利用率如何計算,網上找不到任何資料,這也是我研究了好久才搞出來的,
至于是否正確,還得看程序的運行結果。
AtmPvcVccStatsTable中有PVC兩端的數據。以前計算IP網鏈路流量時只計算鏈路一端端口的
流量即可,據此,我也只計算PVC一端的數據,即A端。
atmPvcVccStatsInCellCountHiA
atmPvcVccStatsInCellCountLoA
A端“進”的數據。經觀察發現HiA不會變化,所以我選擇LoA
atmPvcVccStatsOutCellCountHiA
atmPvcVccStatsOutCellCountLoA
同時,A端“出”的數據。經觀察發現HiA不會變化,所以我選擇LoA
atmPvcVccPeakCellRateA2B
A端最大流量,我想就是帶寬了。
atmPvcVccSusCellRateA2B
A端持續流量,如果atmPvcVccPeakCellRateA2B不是帶寬,那就是這個了。
反正這兩個總有一個是,我暫時選atmPvcVccPeakCellRateA2B。
而且我看到的是兩者的值都是一樣。
atmPvcVccStatsTimer
秒數
另:一個pvc cell(信元)是53個字節。
根據以上分析,得到計算PVC流量的公式:(單位:kpbs)
pvcInTraffic = (△atmPvcVccStatsInCellCountLoA * 53) / △atmPvcVccStatsTimer / 1024
pvcOutTraffic = (△atmPvcVccStatsOutCellCountLoA * 53) / △atmPvcVccStatsTimer / 1024
PVC利用率的公式:(單位:%)
pvcInUtilization = (△atmPvcVccStatsInCellCountLoA / △atmPvcVccStatsTimer / atmPvcVccPeakCellRateA2B ) * 100
pvcOutUtilization = (△atmPvcVccStatsOutCellCountLoA / △atmPvcVccStatsTimer / atmPvcVccPeakCellRateA2B ) * 100
與PVC關系最大的兩張表
T1:我稱它為PVC基本信息表。
AtmPvcVccEntry ::= SEQUENCE {
atmPvcVccIfA IntfIndex,
atmPvcVccVpiA INTEGER,
atmPvcVccVciA INTEGER,
atmPvcVccIfB IntfIndex,
atmPvcVccVpiB INTEGER,
atmPvcVccVciB INTEGER,
atmPvcVccServiceTypeA2B INTEGER,
atmPvcVccSarTypeA2B INTEGER,
atmPvcVccPeakCellRateA2B Integer32,
atmPvcVccSusCellRateA2B Integer32,
atmPvcVccMaxBurstSizeA2B Integer32,
atmPvcVccServiceTypeB2A INTEGER,
atmPvcVccSarTypeB2A INTEGER,
atmPvcVccPeakCellRateB2A Integer32,
atmPvcVccSusCellRateB2A Integer32,
atmPvcVccMaxBurstSizeB2A Integer32,
atmPvcVccType INTEGER,
atmPvcVccFlow INTEGER,
atmPvcVccRowStatus RowStatus,
atmPvcVccFrwdErrCorrectionA2B INTEGER,
atmPvcVccFrwdErrCorrectionB2A INTEGER,
atmPvcVccConnectionStatus INTEGER,
atmPvcVccOamStatus INTEGER,
atmPvcVccDualHomed INTEGER,
atmPvcVccViA INTEGER,
atmPvcVccViB INTEGER,
atmPvcVccCnfrmTypeA2B INTEGER,
atmPvcVccCnfrmTypeB2A INTEGER,
atmPvcVccVUNIA INTEGER,
atmPvcVccVUNIB INTEGER,
atmPvcVccOamStatusB INTEGER,
atmPvcVccOAMConnEndPtStatusA INTEGER,
atmPvcVccOAMConnEndPtStatusB INTEGER,
atmPvcVccOAMConnSegEndPtStatusA INTEGER,
atmPvcVccOAMConnSegEndPtStatusB INTEGER,
atmPvcVccMfsA2B INTEGER,
atmPvcVccMfsB2A INTEGER,
atmPvcVccConnFailureCauseA AtmConnFailureCause,
atmPvcVccConnFailureCauseB AtmConnFailureCause,
atmPvcVccTrafficShapingA2B INTEGER,
atmPvcVccTrafficShapingB2A INTEGER
}
T2:PVC狀態表。
AtmPvcVccStatsEntry ::= SEQUENCE {
atmPvcVccStatsIfA IntfIndex,
atmPvcVccStatsVpiA INTEGER,
atmPvcVccStatsVciA INTEGER,
atmPvcVccStatsIfB IntfIndex,
atmPvcVccStatsVpiB INTEGER,
atmPvcVccStatsVciB INTEGER,
atmPvcVccStatsInCellCountHiA Integer32,
atmPvcVccStatsInCellCountLoA Integer32,
atmPvcVccStatsOutCellCountHiA Integer32,
atmPvcVccStatsOutCellCountLoA Integer32,
atmPvcVccStatsInCellCountHiB Integer32,
atmPvcVccStatsInCellCountLoB Integer32,
atmPvcVccStatsOutCellCountHiB Integer32,
atmPvcVccStatsOutCellCountLoB Integer32,
atmPvcVccStatsTimer Integer32,
atmPvcVccStatsFrwdErrCrrctnRateA2B INTEGER,
atmPvcVccStatsFrwdErrCrrctnRateB2A INTEGER,
atmPvcVccStatsInOdometerCellCountHiA Integer32,
atmPvcVccStatsInOdometerCellCountLoA Integer32,
atmPvcVccStatsOutOdometerCellCountHiA Integer32,
atmPvcVccStatsOutOdometerCellCountLoA Integer32,
atmPvcVccStatsInOdometerCellCountHiB Integer32,
atmPvcVccStatsInOdometerCellCountLoB Integer32,
atmPvcVccStatsOutOdometerCellCountHiB Integer32,
atmPvcVccStatsOutOdometerCellCountLoB Integer32,
atmPvcVccStatsOdometerTimer Integer32,
atmPvcVccStatsOdometerReset INTEGER,
atmPvcVccStatsOamAisTxA Integer32,
atmPvcVccStatsOamAisRxA Integer32,
atmPvcVccStatsOamRdiTxA Integer32,
atmPvcVccStatsOamRdiRxA Integer32,
atmPvcVccStatsOamAisTxB Integer32,
atmPvcVccStatsOamAisRxB Integer32,
atmPvcVccStatsOamRdiTxB Integer32,
atmPvcVccStatsOamRdiRxB Integer32,
atmPvcVccStatsCellsDroppedA Integer32,
atmPvcVccStatsCellsTaggedA Integer32,
atmPvcVccStatsCellsDroppedB Integer32,
atmPvcVccStatsCellsTaggedB Integer32
}
今天簽了購房合同,終于把房子買下了,算是完成人生一大事。
明年7月就能入住新房,真的很高興。
與ATM PVC有關的就三個表:
atmPvcVccTable,atmPvcVccStatsTable(T1)
cirEmPvcVccTable,cirEmPvcVccStatsTable(T2)
ipAtmAppPvcVccTable,ipAtmAppPvcVccStatsTable(T3)
對于Lucent4500有T1,對于Lucent1000有T2。
對于Lucent1250有T1也有T2(整個網絡只有一臺1250,即172.16.1.82)。
對于有些Lucent2300,有T1。
以前想用T1和T2結合的方法找出所有PVC,然后根據PVC再找出物理鏈路,
后來發現好些2300既沒有T1也沒有T2,這意味著這些設備是孤立點,沒有物理連線。
如果是一兩臺設備這樣,還有可能,可是至少有15臺設備是這樣,我認為就有問題。
所以后來選擇T3來找出物理鏈路,根據結果(畫出的拓撲圖)來看,這些物理是正
確的。
但T3中所帶的PVC信息與T1或T2都不同,以用戶提供的excel文件為依據,判斷
T3中所帶的PVC信息是不正確的(至于為什么,我也不知道),而T1或T2中所帶PVC
信息與excel文件比較接近。
結論:要找物理鏈路用T3;要找PVC用T1或T2。
另外,PVC active/inactive這個重要參數,在表cirEmPvcVccTable中。
cirEmAtmPvcVccConnectionStatus OBJECT-TYPE
SYNTAX INTEGER {
active(1),
inactive(2),
inactiveA2B-B2A(3),
inactiveA2B(4),
inactiveB2A(5)
}
以及表atmPvcVccTable中。
atmPvcVccConnectionStatus OBJECT-TYPE
SYNTAX INTEGER {
active(1),
inactive(2),
inactiveA2B-B2A(3),
inactiveA2B(4),
inactiveB2A(5)
}
東京
在人流不息的銀座廣場,一男子不小心刮開了一單身女人的超短裙。
男人還沒有開口,那單身女人一個90度的大鞠躬:不好意思,給您添麻煩了!都怪裙子的質量不好......說完,取出一個別針別好,又匆匆走掉。
美國紐約
在人來人往的時代廣場,一美國男子不小心刮開了一美國單身女人的超短裙。
美國男人還沒開口,那美國單身女人立刻從身上摸出一張名片來:這是我律師的電話,
他會找你詳細談關于你性騷擾我的事情,你可以做好準備,我們法庭上見.....
說完記下美國男子的姓名電話,揚頭走掉。
法國巴黎
在聞名于世的凱旋門廣場上,一法國男子不小心刮開了一法國單身女人的超短裙。
法國男人還沒開口,那法國單身女人咯咯一笑,然後細手搭肩的說道:如果你不介意的話,送我一枝玫瑰來向我道歉......說完。法國男人從花店買了一枝玫瑰,還請她去酒吧喝上一杯,然後兩人一起去一家小旅館再研究一下超短裙以內的事情了......
英國倫敦
b泰晤士河邊的教堂廣場上,一英國男子不小心刮開了一英國單身女人的超短裙。
英國男人還沒開口,那英國單身女人忙用手里的報紙遮住裙子開了的部分,
紅著臉說:先生,可以先送我回家嗎?我家就在前面不遠......說完。
英國男人把自己的上衣脫下來,披在她上。
叫了一輛Taix,安全的把她送到家,又換了一件裙子。
中國重慶
在人頭簇動的解放碑前,一重慶男子不小心刮開了一重慶單身女人的超短裙。
重慶男人還沒開口,那重慶單身女人揚手一記響亮的耳光,還抓住重慶男人的脖領子不放:你這個寶器!敢吃老**豆腐,跟我去見110去......
臺灣西門町
在臺灣的西門町里,一臺客不小心刮開了一女學生的超短學生裙。
臺客還沒開口,那個女學生咯咯一笑,對著你說:價錢還沒談隆就要先看貨了啊!
香港銅鑼灣
在人山人海的時代廣場,一中年男子不小心刮開了一年約18女生的超短裙。
中年男人還沒有開口,那女生就開口 : 我x你**呀!你當我流架?你咪x走呀!
我依家拖馬來收你皮
韓國斧山
在斧山的街上,一中年男子不小心刮開了一年約18女生的超短裙。中年男人還沒有開口,那女生二話不說便踢出一個turning kick,然後冷冷地說: 你不知道我可是跆拳道黑帶2段的嗎?
泰國曼谷
在曼谷的街上,一中年男子不小心刮開了一年約18女生的超短裙。中年男人忙亂地道歉,那女生優雅地雙手合十於面前,緩慢地作一姿勢優美的敬禮,以嬌人欲滴的聲音說:先生…唔緊要,其實我系男人
看貼不回的你就是那泰國人...
http://network.ccidnet.com/art/3723/20071114/1275025_1.html
1.1 共享技術
所謂共享技術即在一個邏輯網絡上的每一個工作站都處于一個相同的網段上。
以太網采用CSMA/CD 機制,這種沖突檢測方法保證了只能有一個站點在總線上傳輸。如果有兩個站點試圖同時訪問總線并傳輸數據,這就意味著“沖突”發生了,兩站點都將被告知出錯。然后它們都被拒發,并等待一段時間以備重發。
這種機制就如同許多汽車搶過一座窄橋,當兩輛車同時試圖上橋時,就發生了“沖突”,兩輛車都必須退出,然后再重新開始搶行。當汽車較多時,這種無序的爭搶會極大地降低效率,造成交通擁堵。
網絡也是一樣,當網絡上的用戶量較少時,網絡上的交通流量較輕,沖突也就較少發生,在這種情況下沖突檢測法效果較好。當網絡上的交通流量增大時,沖突也增多,同進網絡的吞吐量也將顯著下降。在交通流量很大時,工作站可能會被一而再再而三地拒發。
1.2 交換技術
局域網交換技術是作為對共享式局域網提供有效的網段劃分的解決方案而出現的,它可以使每個用戶盡可能地分享到最大帶寬。交換技術是在OSI 七層網絡模型中的第二層,即數據鏈路層進行操作的,因此交換機對數據包的轉發是建立在MAC(Media Access Control )地址--物理地址基礎之上的,對于IP 網絡協議來說,它是透明的,即交換機在轉發數據包時,不知道也無須知道信源機和信宿機的IP 地址,只需知其物理地址即MAC 地址。交換機在操作過程當中會不斷的收集資料去建立它本身的一個地址表,這個表相當簡單,它說明了某個MAC 地址是在哪個端口上被發現的,所以當交換機收到一個TCP /IP 封包時,它便會看一下該數據包的目的MAC 地址,核對一下自己的地址表以確認應該從哪個端口把數據包發出去。由于這個過程比較簡單,加上這功能由一嶄新硬件進行--ASIC(Application Specific Integrated Circuit),因此速度相當快,一般只需幾十微秒,交換機便可決定一個IP 封包該往那里送。值得一提的是:萬一交換機收到一個不認識的封包,就是說如果目的地MAC 地址不能在地址表中找到時,交換機會把IP 封包"擴散"出去,即把它從每一個端口中送出去,就如交換機在處理一個收到的廣播封包時一樣。二層交換機的弱點正是它處理廣播封包的手法不太有效,比方說,當一個交換機收到一個從TCP/IP 工作站上發出來的廣播封包時,他便會把該封包傳到所有其他端口去,哪怕有些端口上連的是IPX 或DECnet 工作站。這樣一來,非TCP/IP 節點的帶寬便會受到負面的影響,就算同樣的TCP/IP 節點,如果他們的子網跟發送那個廣播封包的工作站的子網相同,那么他們也會無原無故地收到一些與他們毫不相干的網絡廣播,整個網絡的效率因此會大打折扣。從90 年代開始,出現了局域網交換設備。從網絡交換產品的形態來看,交換產品大致有三種:端口交換、幀交換和信元交換。
(1)端口交換
端口交換技術最早出現于插槽式集線器中。這類集線器的背板通常劃分有多個以太網段(每個網段為一個廣播域)、各網段通過網橋或路由器相連。以太網模塊插入后通常被分配到某個背板網段上,端口交換適用于將以太模塊的端口在背板的多個網段之間進行分配。這樣網管人員可根據網絡的負載情況,將用戶在不同網段之間進行分配。這種交換技術是基于OSI第一層(物理層)上完成的,它并沒有改變共享傳輸介質的特點,因此并不是真正意義上的交換。
(2)幀交換
幀交換是目前應用的最廣的局域網交換技術,它通過對傳統傳輸媒介進行分段,提供并行傳送的機制,減少了網絡的碰撞沖突域,從而獲得較高的帶寬。不同廠商產品實現幀交換的技術均有差異,但對網絡幀的處理方式一般有:存儲轉發式和直通式兩種。存儲轉發式(Store-and-Forward :當一個數據包以這種技術進入一個交換機時,交換機將讀取足夠的信息,以便不僅能決定哪個端口將被用來發送該數據包,而且還能決定是否發送該數據包。這樣就能有效地排除了那些有缺陷的網絡段。雖然這種方式不及使用直通式產品的交換速度,但是它們卻能排除由破壞的數據包所引起的經常性的有害后果。直通式Cut-Through :當一個數據包使用這種技術進入一個交換機時,它的地址將被讀取。然后不管該數據包是否為錯誤的格式,它都將被發送。由于數據包只有開頭幾個字節被讀取,所以這種方法提供了較多的交換次數。然而所有的數據包即使是那些可能已被破壞的都將被發送。直到接收站才能測出這些被破壞的包,并要求發送方重發。但是如果網絡接口卡失效,或電纜存在缺陷;或有一個能引起數據包遭破壞的外部信號源,則出錯將十分頻繁。隨著技術的發展,直通式交換將逐步被淘汰。在“直通式”交換方式中,交換機只讀出網絡幀的前幾個字節,便將網絡幀傳到相應的端口上,雖然交換速度很快,但缺乏對網絡幀的高級控制,無智能性和安全性可言,同時也無法支持具有不同速率端口的交換;而“存儲轉發”交換方式則通過對網絡幀的讀取進行驗錯和控制。聯想網絡的產品都采用“存儲轉發”交換方式。
(3)信元交換
信元交換的基本思想是采用固定長度的信元進行交換,這樣就可以用硬件實現交換,從而大大提高交換速度,尤其適合語音、視頻等多媒體信號的有效傳輸。目前,信元交換的實際應用標準是ATM (異步傳輸模式),但是ATM 設備的造價較為昂貴,在局域網中的應用已經逐步被以太網的幀交換技術所取代。
1.2.1 第二層交換技術
第二層的網絡交換機依據第二層的地址傳送網絡幀。第二層的地址又稱硬件地址(MAC 地址),第二層交換機通常提供很高的吞吐量(線速)、低延時(10 微秒左右),每端口的價格比較經濟。第二層的交換機對于路由器和主機是“透明的”,主要遵從802.1d 標準。該標準規定交換機通過觀察每個端口的數據幀獲得源MAC 地址,交換機在內部的高速緩存中建立MAC 地址與端口的映射表。當交換機接受的數據幀的目的地址在該映射表中被查到,交換機便將該數據幀送往對應的端口。如果它查不到,便將該數據幀廣播到該端口所屬虛擬局域網(VLAN )的所有端口,如果有回應數據包,交換機便將在映射表中增加新的對應關系。當交換機初次加入網絡中時,由于映射表是空的,所以,所有的數據幀將發往虛擬局域網內的全部端口直到交換機“學習”到各個MAC 地址為止。這樣看來,交換機剛剛啟動時與傳統的共享式集線器作用相似的,直到映射表建立起來后,才能真正發揮它的性能。這種方式改變了共享式以太網搶行的方式,如同在不同的行駛方向上鋪架了立交橋,去往不同方向的車可以同時通行,因此大大提高了流量。從虛擬局域網(VLAN )角度來看,由于只有子網內部的節點競爭帶寬,所以性能得到提高。主機1 訪問主機2 同時,主機3 可以訪問主機4 。當各個部門具有自己獨立的服務器時,這一優勢更加明顯。但是這種環境正發生巨大的變化,因為服務器趨向于集中管理,另外,這一模式也不適合Internet 的應用。不同虛擬局域網(VLAN )之間的通訊需要通過路由器來完成,另外為了實現不同的網段之間通訊也需要路由器進行互連。
路由器處理能力是有限的,相對于局域網的交換速度來說路由器的數據路由速度也是較緩慢的。路由器的低效率和長時延使之成為整個網絡的瓶頸。虛擬局域網(VLAN )之間的訪問速度是加快整個網絡速度的關鍵,某些情況下(特別是Intranet ),劃定虛擬局域網本身是一件困難的事情。第三層交換機的目的正在于此,它可以完成Intranet 中虛擬局域網(VLAN )之間的數據包以高速率進行轉發。
1.2.2 VLAN 技術
在傳統的局域網中,各站點共享傳輸信道所造成的信道沖突和廣播風暴是影響網絡性能的重要因素。通常一個IP 子網或者IPX 子網屬于一個廣播域,因此網絡中的廣播域是根據物理網絡來劃分的。這樣的網絡結構無論從效率和安全性角度來考慮都有所欠缺。同時,由于網絡中的站點被束縛在所處的物理網絡中,而不能夠根據需要將其劃分至相應的邏輯子網,因此網絡的結構缺乏靈活性。為解決這一問題,從而引發了虛擬局域網(VLAN )的概念,所謂VLAN 是指網絡中的站點不拘泥于所處的物理位置,而可以根據需要靈活地加入不同的邏輯子網中的一種網絡技術。
VLAN 技術的基礎
基于交換式以太網的VLAN
在交換式以太網中,利用VLAN 技術,可以將由交換機連接成的物理網絡劃分成多個邏輯子網。也就是說,一個VLAN中的站點所發送的廣播數據包將僅轉發至屬于同一VLAN 的站點。而在傳統局域網中,由于物理網絡和邏輯子網的對應關系,因此任何一個站點所發送的廣播數據包都將被轉發至網絡中的所有站點。在交換式以太網中,各站點可以分別屬于不同的VLAN 。構成VLAN 的站點不拘泥于所處的物理位置,它們既可以掛接在同一個交換機中,也可以掛接在不同的交換機中。VLAN 技術使得網絡的拓撲結構變得非常靈活,例如位于不同樓層的用戶或者不同部門的用戶可以根據需要加入不同的VLAN 。到目前為止,基于交換式以太網實現VLAN 主要有三種途徑:基于端口的VLAN 、基于MAC 地址的VLAN 和基于IP 地址的VLAN 。
1、基于端口的VLAN
基于端口的VLAN 就是將交換機中的若干個端口定義為一個VLAN ,同一個VLAN 中的站點具有相同的網絡地址,不同的VLAN 之間進行通信需要通過路由器。采用這種方式的VLAN 其不足之處是靈活性不好,例如當一個網絡站點從一個端口移動到另外一個新的端口時,如果新端口與舊端口不屬于同一個VLAN ,則用戶必須對該站點重新進行網絡地址配置,否則,該站點將無法進行網絡通信。
2、基于MAC 地址的VLAN
在基于MAC 地址的VLAN 中,交換機對站點的MAC 地址和交換機端口進行跟蹤,在新站點入網時根據需要將其劃歸至某一個VLAN ,而無論該站點在網絡中怎樣移動,由于其MAC 地址保持不變,因此用戶不需要進行網絡地址的重新配置。這種VLAN 技術的不足之處是在站點入網時,需要對交換機進行比較復雜的手工配置,以確定該站點屬于哪一個VLAN 。
3、基于IP 地址的VLAN
在基于IP 地址的VLAN 中,新站點在入網時無需進行太多配置,交換機則根據各站點網絡地址自動將其劃分成不同的VLAN 。在三種VLAN 的實現技術中,基于IP 地址的VLAN 智能化程度最高,實現起來也最復雜。VLAN 作為一種新一代的網絡技術,它的出現為解決網絡站點的靈活配置和網絡安全性等問題提供了良好的手段。雖然VLAN 技術目前還有許多問題有待解決,例如技術標準的統一問題、VLAN 管理的開銷問題和VALN 配置的自動化問題等等。然而,隨著技術的不斷進步,上述問題將逐步加以解決,VLAN 技術也將在網絡建設中得到更加廣泛的應用,從而為提高網絡的工作效率發揮更大的作用。事實上一個VLAN(虛擬局域網)就是一個廣播域。為了避免在大型交換機上進行的廣播所引起的廣播風暴,可將連接到大型交換機上的網絡劃分為多個VLAN(虛擬局域網)。在一個VLAN(虛擬局域網)內,由一個工作站發出的信息只能發送到具有相同VLAN(虛擬局域網)號的其他站點。其它VLAN(虛擬局域網)的成員收不到這些信息或廣播幀。
采用VLAN 有如下優勢:
1. 抑制網絡上的廣播風暴;
2. 增加網絡的安全性;
3. 集中化的管理控制。
這就是在局域網交換機上采用VLAN(虛擬局域網)技術的初衷,也確實解決了一些問題。但這種技術也引發出一些新的問題:隨著應用的升級,網絡規劃/實施者可根據情況在交換式局域網環境下將用戶劃分在不同VLAN(虛擬局域網)上。但是VLAN(虛擬局域網)之間通信是不允許的,這也包括地址解析(ARP)封包。要想通信就需要用路由器橋接這些VLAN(虛擬局域網)。這就是VLAN(虛擬局域網)的問題:不用路由器是嫌它慢,用交換機速度快但不能解決廣播風暴問題,在交換機中采用VLAN(虛擬局域網)技術可以解決廣播風暴問題,但又必須放置路由器來實現VLAN(虛擬局域網)之間的互通。形成了一個不可逾越的怪圈。這就是網絡的核心和樞紐路由器的問題。在這種網絡系統集成模式中,路由器是核心。
路由器所起的作用是:
1.網段微化(網段之間通過路由器進行連接):
2. 網絡的安全控制;
3. VLAN(虛擬局域網)間互連;
4. 異構網間的互連。
1.2.3 局域網瓶頸
1、 采用路由器作為網絡的核心將產生的問題:
● 路由器增加了3 層路由選擇的時間,數據的傳輸效率低;
● 增加、移動和改變節點的復雜性有增無減;
● 路由器價格昂貴、結構復雜;
● 增加子網/ VLAN(虛擬局域網)的互連意味著要增加路由器端口,投資也增大。
相比之下,路由器是在OSI 七層網絡模型中的第三層--網絡層操作的,它在網絡中,收到任何一個數據包(包括廣播包在內),都要將該數據包第二層(數據鏈路層)的信息去掉(稱為"拆包"),查看第三層信息(IP 地址)。然后,根據路由表確定數據包的路由,再檢查安全訪問表;若被通過,則再進行第二層信息的封裝(稱為"打包"),最后將該數據包轉發。如果在路由表中查不到對應MAC 地址的網絡地址,則路由器將向源地址的站點返回一個信息,并把這個數據包丟掉。與交換機相比,路由器顯然能夠提供構成企業網安全控制策略的一系列存取控制機制。由于路由器對任何數據包都要有一個"拆打"過程,即使是同一源地址向同一目的地址發出的所有數據包,也要重復相同的過程。這導致路由器不可能具有很高的吞吐量,也是路由器成為網絡瓶頸的原因之一。如果路由器的工作僅僅是在子網與子網間、網絡與網絡間交換數據包的話,我們可能會買到比今天便宜得多的路由器。實際上路由器的工作遠不止這些,它還要完成數據包過濾、數據包壓縮、協議轉換、維護路由表、計算路由、甚至防火墻等許多工作。而所有這些都需要大量CPU 資源,因此使得路由器一方面價格昂貴,另一方面越來越成為網絡瓶頸。
昨天還在考慮怎么能把Class限制在某個類型上,而且一直以來都不理解 Class<? extends XXX> extends XXX>是什么意思。
今天終于理解了Class<? extends XXX>的用法,并把昨天那個問題解決了。
所以,有些東西就是只有當真正需要時才會去認真考慮它,呵。