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