• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 60  文章 - 5  trackbacks - 0
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(2)

            隨筆分類(42)

            隨筆檔案(60)

            文章檔案(2)

            我收藏的博客

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            資料來源:http://www.cnpaf.net/Class/Ethernet/200408/403.html,中國協(xié)議分析網(wǎng)
            一、什么是網(wǎng)橋?


            網(wǎng)橋工作在數(shù)據(jù)鏈路層,將兩個(gè)LAN連起來,根據(jù)MAC地址來轉(zhuǎn)發(fā)幀,可以看作一個(gè)“低層的路由器”(路由器工作在網(wǎng)絡(luò)層,根據(jù)網(wǎng)絡(luò)地址如IP地址進(jìn)行轉(zhuǎn)發(fā))。


             

            遠(yuǎn)程網(wǎng)橋通過一個(gè)通常較慢的鏈路(如電話線)連接兩個(gè)遠(yuǎn)程LAN,對(duì)本地網(wǎng)橋而言,性能比較重要,而對(duì)遠(yuǎn)程網(wǎng)橋而言,在長距離上可正常運(yùn)行是更重要的。

            網(wǎng)橋與路由器的比較

            網(wǎng)橋并不了解其轉(zhuǎn)發(fā)幀中高層協(xié)議的信息,這使它可以同時(shí)以同種凡是處理IP、IPX等協(xié)議,它還提供了將無路由協(xié)議的網(wǎng)絡(luò)(如NetBEUI)分段的功能。

            由于路由器處理網(wǎng)絡(luò)層的數(shù)據(jù),因此它們更容易互連不同的數(shù)據(jù)鏈路層,如令牌環(huán)網(wǎng)段和以太網(wǎng)段。網(wǎng)橋通常比路由器難控制。象IP等協(xié)議有復(fù)雜的路由協(xié)議,使網(wǎng)管易于管理路由;IP等協(xié)議還提供了較多的網(wǎng)絡(luò)如何分段的信息(即使其地址也提供了此類信息)。而網(wǎng)橋則只用MAC地址和物理拓?fù)溥M(jìn)行工作。因此網(wǎng)橋一般適于小型較簡單的網(wǎng)絡(luò)。

            二、使用原因


            許多單位都有多個(gè)局域網(wǎng),并且希望能夠?qū)⑺鼈冞B接起來。之所以一個(gè)單位有多個(gè)局域網(wǎng),有以下6個(gè)原因:

            首先,許多大學(xué)的系或公司的部門都有各自的局域網(wǎng),主要用于連接他們自己的個(gè)人計(jì)算機(jī)、工作站以及服務(wù)器。由于各系(或部門)的工作性質(zhì)不同,因此選用了不同的局域網(wǎng),這些系(或部門)之間早晚需相互交往,因而需要網(wǎng)橋。

            其次,一個(gè)單位在地理位置上較分散,并且相距較遠(yuǎn),與其安裝一個(gè)遍布所有地點(diǎn)的同軸電纜網(wǎng),不如在各個(gè)地點(diǎn)建立一個(gè)局域網(wǎng),并用網(wǎng)橋和紅外鏈路連接起來,這樣費(fèi)用可能會(huì)低一些。

            第3,可能有必要將一個(gè)邏輯上單一的LAN分成多個(gè)局域網(wǎng),以調(diào)節(jié)載荷。例如采用由網(wǎng)橋連接的多個(gè)局域網(wǎng),每個(gè)局域網(wǎng)有一組工作站,并且有自己的文件服務(wù)器,因此大部分通信限于單個(gè)局域網(wǎng)內(nèi),減輕了主干網(wǎng)的負(fù)擔(dān)。

            第 4,在有些情況下,從載荷上看單個(gè)局域網(wǎng)是毫無問題的,但是相距最遠(yuǎn)的機(jī)器之間的物理距離太遠(yuǎn)(比如超過802.3所規(guī)定的2.5km)。即使電纜鋪設(shè)不成問題,但由于來回時(shí)延過長,網(wǎng)絡(luò)仍將不能正常工作。唯一的辦法是將局域網(wǎng)分段,在各段之間放置網(wǎng)橋。通過使用網(wǎng)橋,可以增加工作的總物理距離。

            第5,可靠性問題。在一個(gè)單獨(dú)的局域網(wǎng)中,一個(gè)有缺陷的節(jié)點(diǎn)不斷地輸出無用的信息流會(huì)嚴(yán)重地破壞局域網(wǎng)的運(yùn)行。網(wǎng)橋可以設(shè)置在局域網(wǎng)中的關(guān)鍵部位,就像建筑物內(nèi)的放火門一樣,防止因單個(gè)節(jié)點(diǎn)失常而破壞整個(gè)系統(tǒng)。

            第6,網(wǎng)橋有助于安全保密。大多數(shù)LAN接口都有一種混雜工作方式(promiscuousmode),在這種方式下,計(jì)算機(jī)接收所有的幀,包括那些并不是編址發(fā)送給它的幀。如果網(wǎng)中多處設(shè)置網(wǎng)橋并謹(jǐn)慎地?cái)r截?zé)o須轉(zhuǎn)發(fā)的重要信息,那么就可以把網(wǎng)絡(luò)分隔以防止信息被竊。

            三、兼容性問題


            有人可能會(huì)天真地認(rèn)為從一個(gè)802局域網(wǎng)到另一個(gè)802局域網(wǎng)的網(wǎng)橋非常簡單,但實(shí)際上并非如此。在802.x到802.y的九種組合中,每一種都有它自己的特殊問題要解決。在討論這些特殊問題之前,先來看一看這些網(wǎng)橋共同面臨的一般性問題。

            首先,各種局域網(wǎng)采用了不同的幀格式。這種不兼容性并不是由技術(shù)上的原因造成的,而僅僅是由于支持三種標(biāo)準(zhǔn)的公司(Xerox,GM和IBM),沒有一家愿意改變自己所支持的標(biāo)準(zhǔn)。其結(jié)果是:在不同的局域網(wǎng)間復(fù)制幀要重排格式,這需要占用CPU時(shí)間,重新計(jì)算校驗(yàn)和,而且還有可能產(chǎn)生因網(wǎng)橋存儲(chǔ)錯(cuò)誤而造成的無法檢測的錯(cuò)誤。

            第二個(gè)問題是互聯(lián)的局域網(wǎng)并非必須按相同的數(shù)據(jù)傳輸速率運(yùn)行。當(dāng)快速的局域網(wǎng)向慢速的局域網(wǎng)發(fā)送一長串連續(xù)幀時(shí),網(wǎng)橋處理幀的速度要比幀進(jìn)入的速度慢。網(wǎng)橋必須用緩沖區(qū)存儲(chǔ)來不及處理的幀,同時(shí)還得提防耗盡存儲(chǔ)器。即使是10Mb/s的802.4到10Mb/s的 802.3的網(wǎng)橋,在某種程度上也存在這樣的問題。因?yàn)?02.3的部分帶寬耗費(fèi)于沖突。802.3實(shí)際上并不是真的10Mb/s,而802.4(幾乎) 確實(shí)為10Mb/s。

            與網(wǎng)橋瓶頸問題相關(guān)的一個(gè)細(xì)微而重要的問題是其上各層的計(jì)時(shí)器值。假如802.4局域網(wǎng)上的網(wǎng)絡(luò)層想發(fā)送一段很長的報(bào)文(幀序列)。在發(fā)出最后一幀之后,它開啟一個(gè)計(jì)時(shí)器,等待確認(rèn)。如果此報(bào)文必須通過網(wǎng)橋轉(zhuǎn)到慢速的802.5網(wǎng)絡(luò),那么在最后一幀被轉(zhuǎn)發(fā)到低速局域網(wǎng)之前,計(jì)時(shí)器就有可能時(shí)間到。網(wǎng)絡(luò)層可能會(huì)以為幀丟失而重新發(fā)送整個(gè)報(bào)文。幾次傳送失敗后,網(wǎng)絡(luò)層就會(huì)放棄傳輸并告訴傳輸層目的站點(diǎn)已經(jīng)關(guān)機(jī)。

            第三,在所有的問題中,可能最為嚴(yán)重的問題是三種802LAN有不同的最大幀長度。對(duì)于802.3,最大幀長度取決于配置參數(shù),但對(duì)標(biāo)準(zhǔn)的10M/bs系統(tǒng)最大有效載荷為1500字節(jié)。802.4的最大幀長度固定為8191字節(jié)。802.5沒有上限,只要站點(diǎn)的傳輸時(shí)間不超過令牌持有時(shí)間。如果令牌時(shí)間缺省為10ms,則最大幀長度為5000字節(jié)。一個(gè)顯而易見的問題出現(xiàn)了:當(dāng)必須把一個(gè)長幀轉(zhuǎn)發(fā)給不能接收長幀的局域網(wǎng)時(shí),將會(huì)怎么樣?在本層中不考慮把幀分成小段。所有的協(xié)議都假定幀要么到達(dá)要么沒有到達(dá),沒有條款規(guī)定把更小的單位重組成幀。這并不是說不能設(shè)計(jì)這樣的協(xié)議,可以設(shè)計(jì)并已有這種協(xié)議,只是 802不提供這種功能。這個(gè)問題基本上無法解決,必須丟棄因太長而無法轉(zhuǎn)發(fā)的幀。其透明程度也就這樣了。

            由于各種802LAN的特殊性,如:802.4幀帶有優(yōu)先權(quán)位、802.5幀字節(jié)中有A和C位等,九種網(wǎng)橋都有其特殊的問題,見下表:

              目的LAN
              802.3(CSMA/CD)802.4(令牌總線)802.5(令牌環(huán))
            源LAN802.3 1,41,2,4,8
            802.41,5,8,9,1091,2,3,8,9,10
            802.51,2,5,6,7,101,2,3,6,76,7

            1、重新格式化幀,并計(jì)算新的校驗(yàn)和。
            2、反轉(zhuǎn)比特順序。
            3、復(fù)制優(yōu)先權(quán)值,不管有無意義。
            4、產(chǎn)生一個(gè)假想的優(yōu)先權(quán)。
            5、丟棄優(yōu)先權(quán)。
            6、流向環(huán)(某種程度上)。
            7、設(shè)置A位和C位。
            8、擔(dān)心擁塞(快速LAN至慢速LAN)。
            9、擔(dān)心令牌因?yàn)榻粨QACK延遲或不可能而脫手。
            10、如果幀對(duì)目的LAN太長,則將其丟棄。

            設(shè)定的參數(shù):
            802.3:1500字節(jié)幀10Mb/s(減去碰撞次數(shù))
            802.4:8191字節(jié)幀10Mb/s
            802.5:5000字節(jié)幀4Mb/s

            當(dāng) IEEE802委員會(huì)開始制訂LAN標(biāo)準(zhǔn)時(shí),未能商定一個(gè)統(tǒng)一的標(biāo)準(zhǔn),卻產(chǎn)生了3個(gè)互不兼容的標(biāo)準(zhǔn),這一失策已受到了嚴(yán)厲的抨擊。后來,在制定互聯(lián)這3種 LAN的網(wǎng)橋的標(biāo)準(zhǔn)時(shí),該委員會(huì)決心干得好一些。這一次確實(shí)較為成功,他們提出了2種互不兼容的網(wǎng)橋方案。直到目前為止,還無人要求該委員會(huì)制訂連接它的 2個(gè)不兼容網(wǎng)橋的網(wǎng)關(guān)標(biāo)準(zhǔn)。

            四、兩種網(wǎng)橋

            1、透明網(wǎng)橋


            第一種802網(wǎng)橋是透明網(wǎng)橋 (transparentbridge)或生成樹網(wǎng)橋(spanningtreebridge)。支持這種設(shè)計(jì)的人首要關(guān)心的是完全透明。按照他們的觀點(diǎn),裝有多個(gè)LAN的單位在買回IEEE標(biāo)準(zhǔn)網(wǎng)橋之后,只需把連接插頭插入網(wǎng)橋,就萬事大吉。不需要改動(dòng)硬件和軟件,無需設(shè)置地址開關(guān),無需裝入路由表或參數(shù)。總之什么也不干,只須插入電纜就完事,現(xiàn)有LAN的運(yùn)行完全不受網(wǎng)橋的任何影響。這真是不可思議,他們最終成功了。

            透明網(wǎng)橋以混雜方式工作,它接收與之連接的所有LAN傳送的每一幀。當(dāng)一幀到達(dá)時(shí),網(wǎng)橋必須決定將其丟棄還是轉(zhuǎn)發(fā)。如果要轉(zhuǎn)發(fā),則必須決定發(fā)往哪個(gè)LAN。這需要通過查詢網(wǎng)橋中一張大型散列表里的目的地址而作出決定。該表可列出每個(gè)可能的目的地,以及它屬于哪一條輸出線路(LAN)。在插入網(wǎng)橋之初,所有的散列表均為空。由于網(wǎng)橋不知道任何目的地的位置,因而采用擴(kuò)散算法(floodingalgorithm):把每個(gè)到來的、目的地不明的幀輸出到連在此網(wǎng)橋的所有 LAN中(除了發(fā)送該幀的LAN)。隨著時(shí)間的推移,網(wǎng)橋?qū)⒘私饷總€(gè)目的地的位置。一旦知道了目的地位置,發(fā)往該處的幀就只放到適當(dāng)?shù)腖AN上,而不再散發(fā)。

            透明網(wǎng)橋采用的算法是逆向?qū)W習(xí)法(backwardlearning)。網(wǎng)橋按混雜的方式工作,故它能看見所連接的任一LAN上傳送的幀。查看源地址即可知道在哪個(gè)LAN上可訪問哪臺(tái)機(jī)器,于是在散列表中添上一項(xiàng)。

            當(dāng)計(jì)算機(jī)和網(wǎng)橋加電、斷電或遷移時(shí),網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)會(huì)隨之改變。為了處理動(dòng)態(tài)拓?fù)鋯栴},每當(dāng)增加散列表項(xiàng)時(shí),均在該項(xiàng)中注明幀的到達(dá)時(shí)間。每當(dāng)目的地已在表中的幀到達(dá)時(shí),將以當(dāng)前時(shí)間更新該項(xiàng)。這樣,從表中每項(xiàng)的時(shí)間即可知道該機(jī)器最后幀到來的時(shí)間。網(wǎng)橋中有一個(gè)進(jìn)程定期地掃描散列表,清除時(shí)間早于當(dāng)前時(shí)間若干分鐘的全部表項(xiàng)。于是,如果從LAN上取下一臺(tái)計(jì)算機(jī),并在別處重新連到LAN上的話,那么在幾分鐘內(nèi),它即可重新開始正常工作而無須人工干預(yù)。這個(gè)算法同時(shí)也意味著,如果機(jī)器在幾分鐘內(nèi)無動(dòng)作,那么發(fā)給它的幀將不得不散發(fā),一直到它自己發(fā)送出一幀為止。

            到達(dá)幀的路由選擇過程取決于發(fā)送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:

            1、如果源LAN和目的LAN相同,則丟棄該幀。
            2、如果源LAN和目的LAN不同,則轉(zhuǎn)發(fā)該幀。
            3、如果目的LAN未知,則進(jìn)行擴(kuò)散。

            為了提高可靠性,有人在LAN之間設(shè)置了并行的兩個(gè)或多個(gè)網(wǎng)橋,但是,這種配置引起了另外一些問題,因?yàn)樵谕負(fù)浣Y(jié)構(gòu)中產(chǎn)生了回路,可能引發(fā)無限循環(huán)。其解決方法就是下面要講的生成樹(spanningtree)算法。

            生成樹網(wǎng)橋

            解決上面所說的無限循環(huán)問題的方法是讓網(wǎng)橋相互通信,并用一棵到達(dá)每個(gè)LAN的生成樹覆蓋實(shí)際的拓?fù)浣Y(jié)構(gòu)。使用生成樹,可以確保任兩個(gè)LAN之間只有唯一一條路徑。一旦網(wǎng)橋商定好生成樹,LAN間的所有傳送都遵從此生成樹。由于從每個(gè)源到每個(gè)目的地只有唯一的路徑,故不可能再有循環(huán)。

            為了建造生成樹,首先必須選出一個(gè)網(wǎng)橋作為生成樹的根。實(shí)現(xiàn)的方法是每個(gè)網(wǎng)橋廣播其序列號(hào)(該序列號(hào)由廠家設(shè)置并保證全球唯一),選序列號(hào)最小的網(wǎng)橋作為根。接著,按根到每個(gè)網(wǎng)橋的最短路徑來構(gòu)造生成樹。如果某個(gè)網(wǎng)橋或LAN故障,則重新計(jì)算。

            網(wǎng)橋通過BPDU(BridgeProtocolDataUnit)互相通信,在網(wǎng)橋做出配置自己的決定前,每個(gè)網(wǎng)橋和每個(gè)端口需要下列配置數(shù)據(jù):

            網(wǎng)橋:ID(唯一的標(biāo)識(shí))
            端口:端口ID(唯一的標(biāo)識(shí))
            端口相對(duì)優(yōu)先權(quán)
            各端口的花費(fèi)(高帶寬=低花費(fèi))


            配置好各個(gè)網(wǎng)橋后,網(wǎng)橋?qū)⒏鶕?jù)配置參數(shù)自動(dòng)確定生成樹,這一過程有三個(gè)階段:

            1、選擇根網(wǎng)橋
            具有最小網(wǎng)橋ID的網(wǎng)橋被選作根網(wǎng)橋。網(wǎng)橋ID應(yīng)為唯一的,但若兩個(gè)網(wǎng)橋具有相同的最小ID,則MAC地址小的網(wǎng)橋被選作根。

            2、在其它所有網(wǎng)橋上選擇根端口
            除根網(wǎng)橋外的各個(gè)網(wǎng)橋需要選一個(gè)根端口,這應(yīng)該是最適合與根網(wǎng)橋通信的端口。通過計(jì)算各個(gè)端口到根網(wǎng)橋的花費(fèi),取最小者作為根端口。

            3、選擇每個(gè)LAN的“指定(designated)網(wǎng)橋”和“指定端口”
            如果只有一個(gè)網(wǎng)橋連到某LAN,它必然是該LAN的指定網(wǎng)橋,如果多于一個(gè),則到根網(wǎng)橋花費(fèi)最小的被選為該LAN的指定網(wǎng)橋。指定端口連接指定網(wǎng)橋和相應(yīng)的LAN(如果這樣的端口多于一個(gè),則低優(yōu)先權(quán)的被選)。

            一個(gè)端口必須為下列之一:

            1、根端口
            2、某LAN的指定端口
            3、阻塞端口

            當(dāng)一個(gè)網(wǎng)橋加電后,它假定自己是根網(wǎng)橋,發(fā)送出一個(gè)CBPDU(ConfigurationBridgeProtocolDataUnit),告知它認(rèn)為的根網(wǎng)橋ID。一個(gè)網(wǎng)橋收到一個(gè)根網(wǎng)橋ID小于其所知ID的CBPDU,它將更新自己的表,如果該幀從根端口(上傳)到達(dá),則向所有指定端口(下傳)分發(fā)。當(dāng)一個(gè)網(wǎng)橋收到一個(gè)根網(wǎng)橋ID大于其所知ID的CBPDU,該信息被丟棄,如果該幀從指定端口到達(dá),則回送一個(gè)幀告知真實(shí)根網(wǎng)橋的較低ID。

            當(dāng)有意地或由于線路故障引起網(wǎng)絡(luò)重新配置,上述過程將重復(fù),產(chǎn)生一個(gè)新的生成樹。

            2、源路由選擇網(wǎng)橋


            透明網(wǎng)橋的優(yōu)點(diǎn)是易于安裝,只需插進(jìn)電纜即大功告成。但是從另一方面來說,這種網(wǎng)橋并沒有最佳地利用帶寬,因?yàn)樗鼈儍H僅用到了拓?fù)浣Y(jié)構(gòu)的一個(gè)子集(生成樹)。這兩個(gè)(或其他)因素的相對(duì)重要性導(dǎo)致了802委員會(huì)內(nèi)部的分裂。支持CSMA/CD和令牌總線的人選擇了透明網(wǎng)橋,而令牌環(huán)的支持者則偏愛一種稱為源路由選擇(sourcerouting)的網(wǎng)橋(受到IBM的鼓勵(lì))。

            源路由選擇的核心思想是假定每個(gè)幀的發(fā)送者都知道接收者是否在同一LAN上。當(dāng)發(fā)送一幀到另外的LAN時(shí),源機(jī)器將目的地址的高位設(shè)置成1作為標(biāo)記。另外,它還在幀頭加進(jìn)此幀應(yīng)走的實(shí)際路徑。

            源路由選擇網(wǎng)橋只關(guān)心那些目的地址高位為1的幀,當(dāng)見到這樣的幀時(shí),它掃描幀頭中的路由,尋找發(fā)來此幀的那個(gè)LAN的編號(hào)。如果發(fā)來此幀的那個(gè)LAN編號(hào)后跟的是本網(wǎng)橋的編號(hào),則將此幀轉(zhuǎn)發(fā)到路由表中自己后面的那個(gè)LAN。如果該LAN編號(hào)后跟的不是本網(wǎng)橋,則不轉(zhuǎn)發(fā)此幀。這一算法有3種可能的具體實(shí)現(xiàn):軟件、硬件、混合。這三種具體實(shí)現(xiàn)的價(jià)格和性能各不相同。第一種沒有接口硬件開銷,但需要速度很快的CPU處理所有到來的幀。最后一種實(shí)現(xiàn)需要特殊的 VLSI芯片,該芯片分擔(dān)了網(wǎng)橋的許多工作,因此,網(wǎng)橋可以采用速度較慢的CPU,或者可以連接更多的LAN。

            源路由選擇的前提是互聯(lián)網(wǎng)中的每臺(tái)機(jī)器都知道所有其他機(jī)器的最佳路徑。如何得到這些路由是源路由選擇算法的重要部分。獲取路由算法的基本思想是:如果不知道目的地地址的位置,源機(jī)器就發(fā)布一廣播幀,詢問它在哪里。每個(gè)網(wǎng)橋都轉(zhuǎn)發(fā)該查找?guī)?discoveryframe),這樣該幀就可到達(dá)互聯(lián)網(wǎng)中的每一個(gè)LAN。當(dāng)答復(fù)回來時(shí),途經(jīng)的網(wǎng)橋?qū)⑺鼈冏约旱臉?biāo)識(shí)記錄在答復(fù)幀中,于是,廣播幀的發(fā)送者就可以得到確切的路由,并可從中選取最佳路由。

            雖然此算法可以找到最佳路由(它找到了所有的路由),但同時(shí)也面臨著幀爆炸的問題。透明網(wǎng)橋也會(huì)發(fā)生有點(diǎn)類似的狀況,但是沒有這么嚴(yán)重。其擴(kuò)散是按生成樹進(jìn)行,所以傳送的總幀數(shù)是網(wǎng)絡(luò)大小的線性函數(shù),而不象源路由選擇是指數(shù)函數(shù)。一旦主機(jī)找到至某目的地的一條路由,它就將其存入到高速緩沖器之中,無需再作查找。雖然這種方法大大遏制了幀爆炸,但它給所有的主機(jī)增加了事務(wù)性負(fù)擔(dān),而且整個(gè)算法肯定是不透明的。

            3、兩種網(wǎng)橋的比較





            透明網(wǎng)橋一般用于連接以太網(wǎng)段,而源路由選擇網(wǎng)橋則一般用于連接令牌環(huán)網(wǎng)段。

            五、遠(yuǎn)程網(wǎng)橋


            網(wǎng)橋有時(shí)也被用來連接兩個(gè)或多個(gè)相距較遠(yuǎn)的LAN。比如,某個(gè)公司分布在多個(gè)城市中,該公司在每個(gè)城市中均有一個(gè)本地的LAN,最理想的情況就是所有的LAN均連接起來,整個(gè)系統(tǒng)就像一個(gè)大型的LAN一樣。

            該目標(biāo)可通過下述方法實(shí)現(xiàn):每個(gè)LAN中均設(shè)置一個(gè)網(wǎng)橋,并且用點(diǎn)到點(diǎn)的連接(比如租用電話公司的電話線)將它們兩個(gè)兩個(gè)地連接起來。點(diǎn)到點(diǎn)連線可采用各種不同的協(xié)議。辦法之一就是選用某種標(biāo)準(zhǔn)的點(diǎn)到點(diǎn)數(shù)據(jù)鏈路協(xié)議,將完整的MAC幀加到有效載荷中。如果所有的LAN均相同,這種辦法的效果最好,它的唯一問題就是必須將幀送到正確的LAN中。另一種辦法是在源網(wǎng)橋中去掉MAC的頭部和尾部,并把剩下的部分加到點(diǎn)到點(diǎn)協(xié)議的有效載荷中,然后在目的網(wǎng)橋中產(chǎn)生新的頭部和尾部。它的缺點(diǎn)是到達(dá)目的主機(jī)的校驗(yàn)和并非是源主機(jī)所計(jì)算的校驗(yàn)和,因此網(wǎng)橋存儲(chǔ)器中某位損壞所產(chǎn)生的錯(cuò)誤可能不會(huì)被檢測到。
            posted @ 2009-06-10 15:44 黃劍父 閱讀(312) | 評(píng)論 (0)編輯 收藏
            資料來源:http://www.cnpaf.net/Class/Ethernet/200512/10646.html,中國協(xié)議分析網(wǎng)

            用過NetXray之類的抓包軟件的人,可能經(jīng)常會(huì)被一些  不同的Frame Header搞糊涂,為何用的Frame的Header
             是這樣的,而另外的又不一樣。這是因?yàn)樵贓thernet  中存在幾種不同的幀格式,下面我就簡單介紹一下幾種
             不同的幀格式及他們的差異。

             一。Ethernet幀格式的發(fā)展

             1980 DEC,Intel,Xerox制訂了Ethernet I的標(biāo)準(zhǔn)
             1982 DEC,Intel,Xerox又制訂了Ehternet II的標(biāo)準(zhǔn)
             1982 IEEE開始研究Ethernet的國際標(biāo)準(zhǔn)802.3
             1983 迫不及待的Novell基于IEEE的802.3的原始版開發(fā)了專用的Ethernet幀格式
             1985 IEEE推出IEEE 802.3規(guī)范
                  后來為解決EthernetII與802.3幀格式的兼容問題推出折衷的Ethernet SNAP格式

             (其中早期的Ethernet I已經(jīng)完全被其他幀格式取代了所以現(xiàn)在Ethernet只能見到后面幾種Ethernet的幀格式現(xiàn)在大部分的網(wǎng)絡(luò)設(shè)備都支持這幾種Ethernet的幀格式如:cisco的路由器再設(shè)定Ethernet接口時(shí)可以指定不同的以太網(wǎng)的幀格式:arpa,sap,snap,novell-ether)

             二.各種不同的幀格式
             下面介紹一下各個(gè)幀格式  

            •  Ethernet II
                 就是DIX以太網(wǎng)聯(lián)盟推出的,它由6個(gè)字節(jié)的目的MAC地址,6個(gè)字節(jié)的源MAC地址,2個(gè)字節(jié)的類型域(用于標(biāo)示封裝在這個(gè)Frame、里面數(shù)據(jù)的類型)以上為Frame Header,接下來是46--1500 字節(jié)的數(shù)據(jù),和4字節(jié)的幀校驗(yàn))
            • Novell Ethernet
                 它的幀頭與Ethernet有所不同其中EthernetII幀頭中的類型域變成了長度域,后面接著的兩個(gè)字節(jié)為0xFFFF
                 用于標(biāo)示這個(gè)幀是Novell Ether類型的Frame 由于前面的0xFFFF站掉了兩個(gè)字節(jié)所以數(shù)據(jù)域縮小為44-1498個(gè)字節(jié),幀校驗(yàn)不變。
            • IEEE 802.3/802.2
                 802.3的Frame Header和Ethernet II的幀頭有所不同EthernetII類型域變成了長度域。其中又引入802.2協(xié)議(LLC)在802.3幀頭后面添加了一個(gè)LLC首部,由 DSAP(Destination Service Access Point)
                 1 byte,SSAP(Source SAP),一個(gè)控制域--1 byte!
                 SAP用于標(biāo)示幀的上層協(xié)議
            • Ethernet SNAP
                 SNAP Frame與802.3/802.2 Frame的最大區(qū)別是增加了一個(gè)5 Bytes的SNAP ID其中前面3個(gè)byte通常與源mac地址的前三個(gè)bytes相同為廠商代碼!有時(shí)也可設(shè)為0,后2 bytes 與Ethernet II的類型域相同。。。

             
             三.如何區(qū)分不同的幀格式
              
               Ethernet中存在這四種Frame那些網(wǎng)絡(luò)設(shè)備又是如何識(shí)別的呢? 如何區(qū)分EthernetII與其他三種格式的Frame 如果幀頭跟隨source mac地址的2 bytes的值大于1500 則此Frame為EthernetII格式的。
               
               接著比較緊接著的兩bytes如果為0xFFFF則為Novell Ether 類型的Frame
               如果為0xAAAA則為Ethernet SNAP格式的Frame ,如果都不是則為Ethernet 802.3/802.2格式的幀

            posted @ 2009-06-10 15:35 黃劍父 閱讀(303) | 評(píng)論 (0)編輯 收藏
            資料來源:http://baike.baidu.com/view/750250.htm
            1.UAC(User Account Control : 用戶帳戶控制)是微軟為提高系統(tǒng)安全而在Windows Vista中引入的新技術(shù),它要求用戶在執(zhí)行可能會(huì)影響計(jì)算機(jī)運(yùn)行的操作或執(zhí)行更改影響其他用戶的設(shè)置的操作之前,提供權(quán)限或管理員‌密碼。
              通過在這些操作啟動(dòng)前對(duì)其進(jìn)行驗(yàn)證,UAC 可以幫助防止惡意軟件和間諜軟件在未經(jīng)許可的情況下在計(jì)算機(jī)上進(jìn)行安裝或?qū)τ?jì)算機(jī)進(jìn)行更改。
              當(dāng)需要權(quán)限或密碼才能完成任務(wù)時(shí),UAC 會(huì)用下列消息之一警告用戶:
            Windows 需要您的許可才能繼續(xù)
              可能會(huì)影響本計(jì)算機(jī)其他用戶的 Windows 功能或程序需要您的許可才能啟動(dòng)。請(qǐng)檢查操作的名稱以確保它正是您要運(yùn)行的功能或程序。
              程序需要您的許可才能繼續(xù)
              不屬于 Windows 的一部分的程序需要您的許可才能啟動(dòng)。它具有指明其名稱和發(fā)行者的有效的數(shù)字簽名,該數(shù)字簽名可以幫助確保該程序正是其所聲明的程序。確保該程序正是您要運(yùn)行的程序。
              一個(gè)未能識(shí)別的程序要訪問您的計(jì)算機(jī)
              未能識(shí)別的程序是指沒有其發(fā)行者所提供用于確保該程序正是其所聲明程序的有效數(shù)字簽名的程序。這不一定表明有危險(xiǎn),因?yàn)樵S多舊的合法程序缺少簽名。但是,應(yīng)該特別注意并且僅當(dāng)其獲取自可信任的來源(例如原裝 CD 或發(fā)行者網(wǎng)站)時(shí)允許此程序運(yùn)行。
              此程序已被阻止
              這是管理員專門阻止在您的計(jì)算機(jī)上運(yùn)行的程序。若要運(yùn)行此程序,必須與管理員聯(lián)系并且要求解除阻止此程序。
              建議您大多數(shù)情況下使用標(biāo)準(zhǔn)用戶帳戶登錄計(jì)算機(jī)。可以瀏覽 Internet,發(fā)送電子郵件,使用字處理器,所有這些都不需要管理員帳戶。當(dāng)您要執(zhí)行管理任務(wù)(如安裝新程序或更改會(huì)影響其他用戶的設(shè)置)時(shí),不必切換到管理員帳戶。在執(zhí)行該任務(wù)之前,Windows 會(huì)提示您進(jìn)行許可或提供管理員密碼。
              為了幫助保護(hù)計(jì)算機(jī),可以為共享該計(jì)算機(jī)的所有用戶創(chuàng)建標(biāo)準(zhǔn)用戶帳戶。當(dāng)擁有標(biāo)準(zhǔn)帳戶的人試圖安裝軟件時(shí),Windows 會(huì)要求輸入管理員帳戶的密碼,以便在您不知情和未經(jīng)您許可的情況下無法安裝軟件。
              2.UAC(User Agent Client) 用戶代理客戶端
            posted @ 2009-06-04 11:08 黃劍父 閱讀(238) | 評(píng)論 (0)編輯 收藏

            資料來源:http://blog.chinaunix.net/u1/38576/showart_367985.html
            內(nèi)核同步措施

                為了避免并發(fā),防止競爭。內(nèi)核提供了一組同步方法來提供對(duì)共享數(shù)據(jù)的保護(hù)。 我們的重點(diǎn)不是介紹這些方法的詳細(xì)用法,而是強(qiáng)調(diào)為什么使用這些方法和它們之間的差別。
                Linux 使用的同步機(jī)制可以說從2.0到2.6以來不斷發(fā)展完善。從最初的原子操作,到后來的信號(hào)量,從大內(nèi)核鎖到今天的自旋鎖。這些同步機(jī)制的發(fā)展伴隨 Linux從單處理器到對(duì)稱多處理器的過度;伴隨著從非搶占內(nèi)核到搶占內(nèi)核的過度。鎖機(jī)制越來越有效,也越來越復(fù)雜。
                目前來說內(nèi)核中原子操作多用來做計(jì)數(shù)使用,其它情況最常用的是兩種鎖以及它們的變種:一個(gè)是自旋鎖,另一個(gè)是信號(hào)量。我們下面就來著重介紹一下這兩種鎖機(jī)制。


            自旋鎖
            ------------------------------------------------------
                自旋鎖是專為防止多處理器并發(fā)而引入的一種鎖,它在內(nèi)核中大量應(yīng)用于中斷處理等部分(對(duì)于單處理器來說,防止中斷處理中的并發(fā)可簡單采用關(guān)閉中斷的方式,不需要自旋鎖)。
                自旋鎖最多只能被一個(gè)內(nèi)核任務(wù)持有,如果一個(gè)內(nèi)核任務(wù)試圖請(qǐng)求一個(gè)已被爭用(已經(jīng)被持有)的自旋鎖,那么這個(gè)任務(wù)就會(huì)一直進(jìn)行忙循環(huán)——旋轉(zhuǎn)——等待鎖重新可用。
            要是鎖未被爭用,請(qǐng)求它的內(nèi)核任務(wù)便能立刻得到它并且繼續(xù)進(jìn)行。自旋鎖可以在任何時(shí)刻防止多于一個(gè)的內(nèi)核任務(wù)同時(shí)進(jìn)入臨界區(qū),因此這種鎖可有效地避免多處理器上并發(fā)運(yùn)行的內(nèi)核任務(wù)競爭共享資源。
                事實(shí)上,自旋鎖的初衷就是:在短期間內(nèi)進(jìn)行輕量級(jí)的鎖定。一個(gè)被爭用的自旋鎖使得請(qǐng)求它的線程在等待鎖重新可用的期間進(jìn)行自旋(特別浪費(fèi)處理器時(shí)間),所以自旋鎖不應(yīng)該被持有時(shí)間過長。如果需要長時(shí)間鎖定的話, 最好使用信號(hào)量。
            自旋鎖的基本形式如下:
                spin_lock(&mr_lock);
                //臨界區(qū)
                spin_unlock(&mr_lock);

                因?yàn)樽孕i在同一時(shí)刻只能被最多一個(gè)內(nèi)核任務(wù)持有,所以一個(gè)時(shí)刻只有一個(gè)線程允許存在于臨界區(qū)中。這點(diǎn)很好地滿足了對(duì)稱多處理機(jī)器需要的鎖定服務(wù)。在單處理器上,自旋鎖僅僅當(dāng)作一個(gè)設(shè)置內(nèi)核搶占的開關(guān)。如果內(nèi)核搶占也不存在,那么自旋鎖會(huì)在編譯時(shí)被完全剔除出內(nèi)核。
                簡單的說,自旋鎖在內(nèi)核中主要用來防止多處理器中并發(fā)訪問臨界區(qū),防止內(nèi)核搶占造成的競爭。另外自旋鎖不允許任務(wù)睡眠(持有自旋鎖的任務(wù)睡眠會(huì)造成自死鎖——因?yàn)樗哂锌赡茉斐沙钟墟i的內(nèi)核任務(wù)被重新調(diào)度,而再次申請(qǐng)自己已持有的鎖),它能夠在中斷上下文中使用
                死鎖:假設(shè)有一個(gè)或多個(gè)內(nèi)核任務(wù)和一個(gè)或多個(gè)資源,每個(gè)內(nèi)核都在等待其中的一個(gè)資源,但所有的資源都已經(jīng)被占用了。這便會(huì)發(fā)生所有內(nèi)核任務(wù)都在相互等待,但它們永遠(yuǎn)不會(huì)釋放已經(jīng)占有的資源,于是任何內(nèi)核任務(wù)都無法獲得所需要的資源,無法繼續(xù)運(yùn)行,這便意味著死鎖發(fā)生了。自死瑣是說自己占有了某個(gè)資源,然后自己又申請(qǐng)自己已占有的資源,顯然不可能再獲得該資源,因此就自縛手腳了。


            信號(hào)量
            ------------------------------------------------------
                Linux中的信號(hào)量是一種睡眠鎖。如果有一個(gè)任務(wù)試圖獲得一個(gè)已被持有的信號(hào)量時(shí),信號(hào)量會(huì)將其推入等待隊(duì)列,然后讓其睡眠。這時(shí)處理器獲得自由去執(zhí)行其它代碼。當(dāng)持有信號(hào)量的進(jìn)程將信號(hào)量釋放后,在等待隊(duì)列中的一個(gè)任務(wù)將被喚醒,從而便可以獲得這個(gè)信號(hào)量。
                信號(hào)量的睡眠特性,使得信號(hào)量適用于鎖會(huì)被長時(shí)間持有的情況;只能在進(jìn)程上下文中使用,因?yàn)橹袛嗌舷挛闹惺遣荒鼙徽{(diào)度的;另外當(dāng)代碼持有信號(hào)量時(shí),不可以再持有自旋鎖。

            信號(hào)量基本使用形式為:
            static DECLARE_MUTEX(mr_sem);//聲明互斥信號(hào)量
            if(down_interruptible(&mr_sem))
                //可被中斷的睡眠,當(dāng)信號(hào)來到,睡眠的任務(wù)被喚醒
                //臨界區(qū)
            up(&mr_sem);


            信號(hào)量和自旋鎖區(qū)別
            ------------------------------------------------------
                雖然聽起來兩者之間的使用條件復(fù)雜,其實(shí)在實(shí)際使用中信號(hào)量和自旋鎖并不易混淆。注意以下原則:
                如果代碼需要睡眠——這往往是發(fā)生在和用戶空間同步時(shí)——使用信號(hào)量是唯一的選擇。由于不受睡眠的限制,使用信號(hào)量通常來說更加簡單一些。如果需要在自旋鎖和信號(hào)量中作選擇,應(yīng)該取決于鎖被持有的時(shí)間長短。理想情況是所有的鎖都應(yīng)該盡可能短的被持有,但是如果鎖的持有時(shí)間較長的話,使用信號(hào)量是更好的選擇。另外,信號(hào)量不同于自旋鎖,它不會(huì)關(guān)閉內(nèi)核搶占,所以持有信號(hào)量的代碼可以被搶占。這意味者信號(hào)量不會(huì)對(duì)影響調(diào)度反應(yīng)時(shí)間帶來負(fù)面影響。


            自旋鎖對(duì)信號(hào)量
            ------------------------------------------------------
            需求                     建議的加鎖方法

            低開銷加鎖               優(yōu)先使用自旋鎖
            短期鎖定                 優(yōu)先使用自旋鎖
            長期加鎖                 優(yōu)先使用信號(hào)量
            中斷上下文中加鎖          使用自旋鎖
            持有鎖是需要睡眠、調(diào)度     使用信號(hào)量

            posted @ 2009-06-02 11:49 黃劍父 閱讀(359) | 評(píng)論 (0)編輯 收藏
            資料來源:http://cisco.chinaitlab.com/Cisco/38689.html
              網(wǎng)絡(luò)互連設(shè)備可以將網(wǎng)絡(luò)劃分為不同的沖突域、廣播域。但是,由于不同的網(wǎng)絡(luò)互連設(shè)備可能工作在OSI模型的不同層次上。因此,它們劃分沖突域、廣播域的效果也就各不相同。如中繼器工作在物理層,網(wǎng)橋和交換機(jī)工作在數(shù)據(jù)鏈路層,路由器工作在網(wǎng)絡(luò)層,而網(wǎng)關(guān)工作在OSI模型的上三層。而每一層的網(wǎng)絡(luò)互連設(shè)備要根據(jù)不同層次的特點(diǎn)完成各自不同的任務(wù)。
              
              下面我們討論常見的網(wǎng)絡(luò)互連設(shè)備的工作原理以及它們在劃分沖突域、廣播域時(shí)各自的特點(diǎn)。
              
              1、傳統(tǒng)以太網(wǎng)操作
              
              傳統(tǒng)共享式以太網(wǎng)的典型代表是總線型以太網(wǎng)。在這種類型的以太網(wǎng)中,通信信道只有一個(gè),采用介質(zhì)共享(介質(zhì)爭用)的訪問方法(第1章中介紹的 CSMA/CD介質(zhì)訪問方法)。每個(gè)站點(diǎn)在發(fā)送數(shù)據(jù)之前首先要偵聽網(wǎng)絡(luò)是否空閑,如果空閑就發(fā)送數(shù)據(jù)。否則,繼續(xù)偵聽直到網(wǎng)絡(luò)空閑。如果兩個(gè)站點(diǎn)同時(shí)檢測到介質(zhì)空閑并同時(shí)發(fā)送出一幀數(shù)據(jù),則會(huì)導(dǎo)致數(shù)據(jù)幀的沖突,雙方的數(shù)據(jù)幀均被破壞。這時(shí),兩個(gè)站點(diǎn)將采用"二進(jìn)制指數(shù)退避"的方法各自等待一段隨機(jī)的時(shí)間再偵聽、發(fā)送。
              
              在圖1中,主機(jī)A只是想要發(fā)送一個(gè)單播數(shù)據(jù)包給主機(jī)B。但由于傳統(tǒng)共享式以太網(wǎng)的廣播性質(zhì),接入到總線上的所有主機(jī)都將收到此單播數(shù)據(jù)包。同時(shí),此時(shí)如果任何第二方,包括主機(jī)B也要發(fā)送數(shù)據(jù)到總線上都將沖突,導(dǎo)致雙方數(shù)據(jù)發(fā)送失敗。我們稱連接在總線上的所有主機(jī)共同構(gòu)成了一個(gè)沖突域。
              
              當(dāng)主機(jī)A發(fā)送一個(gè)目標(biāo)是所有主機(jī)的廣播類型數(shù)據(jù)包時(shí),總線上的所有主機(jī)都要接收該廣播數(shù)據(jù)包,并檢查廣播數(shù)據(jù)包的內(nèi)容,如果需要的話加以進(jìn)一步的處理。我們稱連接在總線上的所有主機(jī)共同構(gòu)成了一個(gè)廣播域。
              
              
             
              圖1  傳統(tǒng)以太網(wǎng)

              
              2、中繼器(Repeater)
              
              中繼器(Repeater)作為一個(gè)實(shí)際產(chǎn)品出現(xiàn)主要有兩個(gè)原因:
              
              第一,擴(kuò)展網(wǎng)絡(luò)距離,將衰減信號(hào)經(jīng)過再生。
              
              第二,實(shí)現(xiàn)粗同軸電纜以太網(wǎng)和細(xì)同軸電纜以太網(wǎng)的互連。
              
              通過中繼器雖然可以延長信號(hào)傳輸?shù)木嚯x、實(shí)現(xiàn)兩個(gè)網(wǎng)段的互連。但并沒有增加網(wǎng)絡(luò)的可用帶寬。如圖2所示,網(wǎng)段1和網(wǎng)段2經(jīng)過中繼器連接后構(gòu)成了一個(gè)單個(gè)的沖突域和廣播域。
              
              
             
              圖2  中繼器連接的網(wǎng)絡(luò)

              
              3、集線器(HUB)
              
              集線器實(shí)際上相當(dāng)于多端口(在本章,我們常用"端口"一詞代替"接口"這個(gè)術(shù)語)的中繼器。集線器通常有8個(gè)、16個(gè)或24個(gè)等數(shù)量不等的接口。
              
              集線器同樣可以延長網(wǎng)絡(luò)的通信距離,或連接物理結(jié)構(gòu)不同的網(wǎng)絡(luò),但主要還是作為一個(gè)主機(jī)站點(diǎn)的匯聚點(diǎn),將連接在集線器上各個(gè)接口上的主機(jī)聯(lián)系起來使之可以互相通信。
              
              如圖3所示,所有主機(jī)都連接到中心節(jié)點(diǎn)的集線器上構(gòu)成一個(gè)物理上的星型連接。但實(shí)際上,在集線器內(nèi)部,各接口都是通過背板總線連接在一起的,在邏輯上仍構(gòu)成一個(gè)共享的總線。因此,集線器和其所有接口所接的主機(jī)共同構(gòu)成了一個(gè)沖突域和一個(gè)廣播域。
              
              
             
              圖3  集線器連接的網(wǎng)絡(luò)

              
              4、網(wǎng)橋(Bridge)
              
              網(wǎng)橋(Bridge)又稱為橋接器。和中繼器類似,傳統(tǒng)的網(wǎng)橋只有兩個(gè)端口,用于連接不同的網(wǎng)段。和中繼器不同的是,網(wǎng)橋具有一定的"智能"性,可以"學(xué)習(xí)"網(wǎng)絡(luò)上主機(jī)的地址,同時(shí)具有信號(hào)過濾的功能。
              
              如圖4所示,網(wǎng)段1的主機(jī)A發(fā)給主機(jī)B的數(shù)據(jù)包不會(huì)被網(wǎng)橋轉(zhuǎn)發(fā)到網(wǎng)段2。因?yàn)椋W(wǎng)橋可以識(shí)別這是網(wǎng)段1內(nèi)部的通信數(shù)據(jù)流。同樣,網(wǎng)段2的主機(jī)X發(fā)給主機(jī) Y的數(shù)據(jù)包也不會(huì)被網(wǎng)橋轉(zhuǎn)發(fā)到網(wǎng)段1。可見,網(wǎng)橋可以將一個(gè)沖突域分割為兩個(gè)。其中,每個(gè)沖突域共享自己的總線信道帶寬。
              
              
             
              圖4  網(wǎng)橋連接的網(wǎng)絡(luò)

              
              但是,如果主機(jī)C發(fā)送了一個(gè)目標(biāo)是所有主機(jī)的廣播類型數(shù)據(jù)包時(shí),網(wǎng)橋要轉(zhuǎn)發(fā)這樣的數(shù)據(jù)包。網(wǎng)橋兩側(cè)的兩個(gè)網(wǎng)段總線上的所有主機(jī)都要接收該廣播數(shù)據(jù)包。因此,網(wǎng)段1和網(wǎng)段2仍屬于同一個(gè)廣播域。
              
              5、交換機(jī)(Switch)
              
              交換機(jī)(Switch)也被稱為交換式集線器。它的出現(xiàn)是為了解決連接在集線器上的所有主機(jī)共享可用帶寬的缺陷。
              
              交換機(jī)是通過為需要通信的兩臺(tái)主機(jī)直接建立專用的通信信道來增加可用帶寬的。從這個(gè)角度上來講,交換機(jī)相當(dāng)于多端口網(wǎng)橋。
              
              如圖5所示,交換機(jī)為主機(jī)A和主機(jī)B建立一條專用的信道,也為主機(jī)C和主機(jī)D建立一條專用的信道。只有當(dāng)某個(gè)接口直接連接了一個(gè)集線器,而集線器又連接了多臺(tái)主機(jī)時(shí),交換機(jī)上的該接口和集線器上所連的所有主機(jī)才可能產(chǎn)生沖突,形成沖突域。換句話說,交換機(jī)上的每個(gè)接口都是自己的一個(gè)沖突域。
              
              
             
              圖5  交換機(jī)連接的網(wǎng)絡(luò)

              
              但是,交換機(jī)同樣沒有過濾廣播通信的功能。如果交換機(jī)收到一個(gè)廣播數(shù)據(jù)包后,它會(huì)向其所有的端口轉(zhuǎn)發(fā)此廣播數(shù)據(jù)包。因此,交換機(jī)和其所有接口所連接的主機(jī)共同構(gòu)成了一個(gè)廣播域。
              
              我們將使用交換機(jī)作為互連設(shè)備的局域網(wǎng)稱為交換式局域網(wǎng)。
              
              6、路由器(Router)
              
              路由器工作在網(wǎng)絡(luò)層,可以識(shí)別網(wǎng)絡(luò)層的地址-IP地址,有能力過濾第3層的廣播消息。實(shí)際上,除非做特殊配置,否則路由器從不轉(zhuǎn)發(fā)廣播類型的數(shù)據(jù)包。因此,路由器的每個(gè)端口所連接的網(wǎng)絡(luò)都獨(dú)自構(gòu)成一個(gè)廣播域。如圖6所示,如果各網(wǎng)段都是共享式局域網(wǎng),則每網(wǎng)段自己構(gòu)成一個(gè)獨(dú)立的沖突域。
              
              
             
              圖6  路由器連接的網(wǎng)絡(luò)

              
              7、網(wǎng)關(guān)(Gateway)
              
              網(wǎng)關(guān)工作在OSI參考模型的高三層,因此,并不使用沖突域、廣播域的概念。網(wǎng)關(guān)主要用來進(jìn)行高層協(xié)議之間的轉(zhuǎn)換。例如,充當(dāng)LOTUS 1-2-3郵件服務(wù)和Microsoft Exchange郵件服務(wù)之間的郵件網(wǎng)關(guān)。
              
              注意,這里網(wǎng)關(guān)的概念完全不同于PC主機(jī)以及路由器上配置的默認(rèn)網(wǎng)關(guān)(default gateway)。
            posted @ 2009-06-02 10:56 黃劍父 閱讀(217) | 評(píng)論 (0)編輯 收藏

            集線器--集線器也叫Hub,工作在物理層(最底層),沒有相匹配的軟件系統(tǒng),是純硬件設(shè)備。集線器主要用來連接計(jì)算機(jī)等網(wǎng)絡(luò)終端。集線器為共享式帶寬,連接在集線器上的任何一個(gè)設(shè)備發(fā)送數(shù)據(jù)時(shí),其他所有設(shè)備必須等待,此設(shè)備享有全部帶寬,通訊完畢,再由其他設(shè)備使用帶寬。正因此,集線器連接了一個(gè)沖突域的網(wǎng)絡(luò)。所有設(shè)備相互交替使用,就好象大家一起過一根獨(dú)木橋一樣。
              集線器不能判斷數(shù)據(jù)包的目的地和類型,所以如果是廣播數(shù)據(jù)包也依然轉(zhuǎn)發(fā),而且所有設(shè)備發(fā)出數(shù)據(jù)以廣播方式發(fā)送到每個(gè)接口,這樣集線器也連接了一個(gè)廣播域的網(wǎng)絡(luò)。

              交換機(jī)-- 交換機(jī)Switch,工作在數(shù)據(jù)鏈路層(第二層),稍微高端一點(diǎn)的交換機(jī)都有一個(gè)操作系統(tǒng)來支持。和集線器一樣主要用于連接計(jì)算機(jī)等網(wǎng)絡(luò)終端設(shè)備。交換機(jī)比集線器更加先進(jìn),允許連接在交換機(jī)上的設(shè)備并行通訊,好比高速公路上的汽車并行行使一般,設(shè)備間通訊不會(huì)再發(fā)生沖突,因此交換機(jī)打破了沖突域,交換機(jī)每個(gè)接口是一個(gè)沖突域,不會(huì)與其他接口發(fā)生通訊沖突。并且有系統(tǒng)的交換機(jī)可以記錄MAC地址表,發(fā)送的數(shù)據(jù)不會(huì)再以廣播方式發(fā)送到每個(gè)接口,而是直接到達(dá)目的接口,節(jié)省了接口帶寬。但是交換機(jī)和集線器一樣不能判斷廣播數(shù)據(jù)包,會(huì)把廣播發(fā)送到全部接口,所以交換機(jī)和集線器一樣連接了一個(gè)廣播域網(wǎng)絡(luò)。  字串2
              高端一點(diǎn)的交換機(jī)不僅可以記錄MAC地址表,還可以劃分VLAN(虛擬局域網(wǎng))來隔離廣播,但是VLAN間也同樣不能通訊。要使VLAN間能夠通訊,必須有三層設(shè)備介入。

              路由器--路由器Router,工作在網(wǎng)絡(luò)層(第三層),所有的路由器都有自己的操作系統(tǒng)來維持,并且需要人員調(diào)試,否則不能工作。路由器沒有那么多接口,主要用來進(jìn)行網(wǎng)絡(luò)與網(wǎng)絡(luò)的連接。
              簡單的說路由器把數(shù)據(jù)從一個(gè)網(wǎng)絡(luò)發(fā)送到另一個(gè)網(wǎng)絡(luò),這個(gè)過程就叫路由。路由器不僅能像交換機(jī)一樣隔離沖突域,而且還能檢測廣播數(shù)據(jù)包,并丟棄廣播包來隔離廣播域,有效的擴(kuò)大了網(wǎng)絡(luò)的規(guī)模。在路由器中記錄著路由表,路由器以此來轉(zhuǎn)發(fā)數(shù)據(jù),以實(shí)現(xiàn)網(wǎng)絡(luò)間的通訊。路由器的介入可以使交換機(jī)劃分的VLAN實(shí)現(xiàn)互相通訊。

             

            總結(jié)


            集線器:純硬件、用于連接網(wǎng)絡(luò)終端、不能打破沖突域和廣播域。

            交換機(jī):擁有軟件系統(tǒng)、用于連接網(wǎng)絡(luò)終端、能夠打破沖突域,但是不能分割廣播域。

            路由器:擁有軟件系統(tǒng)、用于連接網(wǎng)絡(luò)、可以打破沖突域也可以分割廣播域,是連接大型網(wǎng)絡(luò)的必備設(shè)備

            posted @ 2009-06-02 10:49 黃劍父 閱讀(156) | 評(píng)論 (0)編輯 收藏

            文章來源:http://xyzhao.javaeye.com/blog/218372

            1.排他鎖和共享鎖有什么區(qū)別?

             

            共享鎖(S鎖) :如果事務(wù)T對(duì)數(shù)據(jù)A加上共享鎖后,則其他事務(wù)只能對(duì)A再加共享鎖,不能加排他鎖。獲準(zhǔn)共享鎖的事務(wù)只能讀數(shù)據(jù),不能修改數(shù)據(jù)。
            排他鎖(X鎖) :如果事務(wù)T對(duì)數(shù)據(jù)A加上排他鎖后,則其他事務(wù)不能再對(duì)A加任任何類型的封鎖。獲準(zhǔn)排他鎖的事務(wù)既能讀數(shù)據(jù),又能修改數(shù)據(jù)。


            2.Windows是不是只有排他鎖?

             

            Windows中可以有共享鎖


            3.共享鎖有什么用?

             

            其它用戶可以并發(fā)讀取,查詢數(shù)據(jù)。但不能修改,增加,刪除數(shù)據(jù)。資源共享.

            posted @ 2009-06-02 10:36 黃劍父 閱讀(724) | 評(píng)論 (0)編輯 收藏
            前兩天看到一個(gè)故事——
            有一天,一位其貌不揚(yáng)的男士,帶著一位十分艷麗的OL,來到Causeway Bay一家LV店。他為OL選了一價(jià)值6萬5元的LV handbag。
              付款時(shí),男士掏出支票本,十分瀟灑地簽了一張支票。店員有些為難,因?yàn)檫@對(duì)夫婦是第一次來店購物。
              男士看穿了店員的心思,十分冷靜地對(duì)店員說: "我感覺到,您擔(dān)心這是一張是空頭支票,對(duì)嗎?今天是周六,銀行關(guān)門。我建議您把支票和handbag都留下。等到星期一支票兌現(xiàn)之后,再請(qǐng)你們把 handbag 送到這位小姐的府上。您看這樣行不行?"
              店員放了下心來,欣然地接受了這個(gè)建議,并且大方的承諾,遞送handbag的費(fèi)用由該店承擔(dān),他本人將會(huì)親自把這件事情給辦妥。
              星期一,店員拿著支票去銀行入賬,支票果真是張空頭支票!憤怒的店員打電話給那位顧客,客戶對(duì)他說: "這沒有什么要緊啊!你和我都沒有損失。上星期六的晚上我已經(jīng)同那個(gè)女孩上床了!哦,多謝您的合作。"


            這 個(gè)故事揭示了次貸危機(jī)的本質(zhì)。人們在對(duì)未來收益充滿良好預(yù)期的時(shí)候,對(duì)于可能加大風(fēng)險(xiǎn)缺乏防范意識(shí)。美女認(rèn)為周一六萬多LV就到家了,自然也就放松了警 惕,認(rèn)為ONS的投資是值得的,對(duì)于投入產(chǎn)出的預(yù)期是建立在一個(gè)具有巨大不確定風(fēng)險(xiǎn)的情況下的。而對(duì)未來收益預(yù)期的包裝則是這些投資機(jī)構(gòu)最擅長的事情。中 國的股民大多跟這個(gè)美女一樣,所以虧錢基本上是活該,沒有這些人,股市賺誰的錢呢。而媒體和分析家們,往往在其中扮演了LV店員的配合角色。
            posted @ 2009-06-01 20:46 黃劍父 閱讀(101) | 評(píng)論 (0)編輯 收藏
            QoS
                    QoS的英文全稱為"Quality of Service",中文名為"服務(wù)質(zhì)量"。QoS是網(wǎng)絡(luò)的一種安全機(jī)制, 是用來解決網(wǎng)絡(luò)延遲和阻塞等問題的一種技術(shù)。
              在正常情況下,如果網(wǎng)絡(luò)只用于特定的無時(shí)間限制的應(yīng)用系統(tǒng),并不需要QoS,比如Web應(yīng)用,或E-mail設(shè)置等。但是對(duì)關(guān)鍵應(yīng)用和多媒體應(yīng)用就十分必要。當(dāng)網(wǎng)絡(luò)過載或擁塞時(shí),QoS 能確保重要業(yè)務(wù)量不受延遲或丟棄,同時(shí)保證網(wǎng)絡(luò)的高效運(yùn)行。
            資料來源:http://baike.baidu.com/view/20897.htm
            posted @ 2009-06-01 14:41 黃劍父 閱讀(1147) | 評(píng)論 (0)編輯 收藏

            朋友帖了如下一段代碼:
              #pragma pack(4)
              class TestB
              {
              public:
                int aa;
                char a;
                short b;
                char c;
              };
              int nSize = sizeof(TestB);
              這里nSize結(jié)果為12,在預(yù)料之中。

              現(xiàn)在去掉第一個(gè)成員變量為如下代碼:
              #pragma pack(4)
              class TestC
              {
              public:
                char a;
                short b;
                char c;
              };
              int nSize = sizeof(TestC);
              按照正常的填充方式nSize的結(jié)果應(yīng)該是8,為什么結(jié)果顯示nSize為6呢?

            事實(shí)上,很多人對(duì)#pragma pack的理解是錯(cuò)誤的。
            #pragma pack規(guī)定的對(duì)齊長度,實(shí)際使用的規(guī)則是:
            結(jié)構(gòu),聯(lián)合,或者類的數(shù)據(jù)成員,第一個(gè)放在偏移為0的地方,以后每個(gè)數(shù)據(jù)成員的對(duì)齊,按照#pragma pack指定的數(shù)值和這個(gè)數(shù)據(jù)成員自身長度中,比較小的那個(gè)進(jìn)行。
            也就是說,當(dāng)#pragma pack的值等于或超過所有數(shù)據(jù)成員長度的時(shí)候,這個(gè)值的大小將不產(chǎn)生任何效果。
            而結(jié)構(gòu)整體的對(duì)齊,則按照結(jié)構(gòu)體中最大的數(shù)據(jù)成員 和 #pragma pack指定值 之間,較小的那個(gè)進(jìn)行。

            具體解釋
            #pragma pack(4)
              class TestB
              {
              public:
                int aa; //第一個(gè)成員,放在[0,3]偏移的位置,
                char a; //第二個(gè)成員,自身長為1,#pragma pack(4),取小值,也就是1,所以這個(gè)成員按一字節(jié)對(duì)齊,放在偏移[4]的位置。
                short b; //第三個(gè)成員,自身長2,#pragma pack(4),取2,按2字節(jié)對(duì)齊,所以放在偏移[6,7]的位置。
                char c; //第四個(gè),自身長為1,放在[8]的位置。
              };
            這個(gè)類實(shí)際占據(jù)的內(nèi)存空間是9字節(jié)
            類之間的對(duì)齊,是按照類內(nèi)部最大的成員的長度,和#pragma pack規(guī)定的值之中較小的一個(gè)對(duì)齊的。
            所以這個(gè)例子中,類之間對(duì)齊的長度是min(sizeof(int),4),也就是4。
            9按照4字節(jié)圓整的結(jié)果是12,所以sizeof(TestB)是12。


            如果
            #pragma pack(2)
                class TestB
              {
              public:
                int aa; //第一個(gè)成員,放在[0,3]偏移的位置,
                char a; //第二個(gè)成員,自身長為1,#pragma pack(4),取小值,也就是1,所以這個(gè)成員按一字節(jié)對(duì)齊,放在偏移[4]的位置。
                short b; //第三個(gè)成員,自身長2,#pragma pack(4),取2,按2字節(jié)對(duì)齊,所以放在偏移[6,7]的位置。
                char c; //第四個(gè),自身長為1,放在[8]的位置。
              };
            //可以看出,上面的位置完全沒有變化,只是類之間改為按2字節(jié)對(duì)齊,9按2圓整的結(jié)果是10。
            //所以 sizeof(TestB)是10。

            最后看原貼:
            現(xiàn)在去掉第一個(gè)成員變量為如下代碼:
              #pragma pack(4)
              class TestC
              {
              public:
                char a;//第一個(gè)成員,放在[0]偏移的位置,
                short b;//第二個(gè)成員,自身長2,#pragma pack(4),取2,按2字節(jié)對(duì)齊,所以放在偏移[2,3]的位置。
                char c;//第三個(gè),自身長為1,放在[4]的位置。
              };
            //整個(gè)類的大小是5字節(jié),按照min(sizeof(short),4)字節(jié)對(duì)齊,也就是2字節(jié)對(duì)齊,結(jié)果是6
            //所以sizeof(TestC)是6。

            感謝Michael 提出疑問,在此補(bǔ)充:

            當(dāng)數(shù)據(jù)定義中出現(xiàn)__declspec( align() )時(shí),指定類型的對(duì)齊長度還要用自身長度和這里指定的數(shù)值比較,然后取其中較大的。最終類/結(jié)構(gòu)的對(duì)齊長度也需要和這個(gè)數(shù)值比較,然后取其中較大的。

            可以這樣理解, __declspec( align() ) 和 #pragma pack是一對(duì)兄弟,前者規(guī)定了對(duì)齊的最小值,后者規(guī)定了對(duì)齊的最大值,兩者同時(shí)出現(xiàn)時(shí),前者擁有更高的優(yōu)先級(jí)。
            __declspec( align() ) 的一個(gè)特點(diǎn)是,它僅僅規(guī)定了數(shù)據(jù)對(duì)齊的位置,而沒有規(guī)定數(shù)據(jù)實(shí)際占用的內(nèi)存長度,當(dāng)指定的數(shù)據(jù)被放置在確定的位置之后,其后的數(shù)據(jù)填充仍然是按照#pragma pack規(guī)定的方式填充的,這時(shí)候類/結(jié)構(gòu)的實(shí)際大小和內(nèi)存格局的規(guī)則是這樣的:
            在 __declspec( align() )之前,數(shù)據(jù)按照#pragma pack規(guī)定的方式填充,如前所述。當(dāng)遇到__declspec( align() )的時(shí)候,首先尋找距離當(dāng)前偏移向后最近的對(duì)齊點(diǎn)(滿足對(duì)齊長度為 max(數(shù)據(jù)自身長度,指定值) ),然后把被指定的數(shù)據(jù)類型從這個(gè)點(diǎn)開始填充,其后的數(shù)據(jù)類型從它的后面開始,仍然按照#pragma pack填充,直到遇到下一個(gè)__declspec( align() )。
            當(dāng)所有數(shù)據(jù)填充完畢,把結(jié)構(gòu)的整體對(duì)齊數(shù)值和__declspec( align() )規(guī)定的值做比較,取其中較大的作為整個(gè)結(jié)構(gòu)的對(duì)齊長度。
            特別的,當(dāng)__declspec( align() )指定的數(shù)值比對(duì)應(yīng)類型長度小的時(shí)候,這個(gè)指定不起作用。

            posted @ 2009-05-31 17:51 黃劍父 閱讀(143) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題
            共6頁: 1 2 3 4 5 6 
            国产精品久久久久久久人人看 | 久久久久久国产a免费观看黄色大片 | 婷婷伊人久久大香线蕉AV | 久久久噜噜噜久久| 久久精品国产日本波多野结衣| 久久精品人妻中文系列| 久久久久亚洲av无码专区喷水| 日本免费一区二区久久人人澡| 亚洲国产精品成人AV无码久久综合影院| 欧美午夜A∨大片久久| 久久亚洲精精品中文字幕| 九九精品99久久久香蕉| 欧美激情精品久久久久久久| 色欲av伊人久久大香线蕉影院| 国产国产成人久久精品| 无码超乳爆乳中文字幕久久| 国产精品熟女福利久久AV| 亚洲AV无码1区2区久久| 色综合久久天天综线观看| 久久久久四虎国产精品| 久久亚洲日韩看片无码| 26uuu久久五月天| 亚洲va久久久噜噜噜久久天堂| 久久免费视频6| 久久久久国产视频电影| 国产欧美久久久精品| 亚洲狠狠婷婷综合久久蜜芽| 一本久道久久综合狠狠躁AV| 99久久免费国产精品| 国产成人无码久久久精品一| 婷婷久久五月天| 欧美伊人久久大香线蕉综合69| 欧美精品一本久久男人的天堂| 国产亚洲色婷婷久久99精品| 久久精品中文无码资源站| 波多野结衣久久精品| 一本色道久久88精品综合 | 国产精品美女久久久免费| 久久精品人人做人人爽电影蜜月| 99久久综合国产精品免费| 亚洲国产日韩欧美久久|