桥接相关概念
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
?中繼器、網(wǎng)橋以及路由器
中繼器通常配有兩個(gè)端口,只是簡(jiǎn)單地把在一個(gè)端口所接收的東西復(fù)制到另一個(gè)端口,反之亦然。它復(fù)制數(shù)據(jù)時(shí)是按位復(fù)制,并且對(duì)協(xié)議毫不關(guān)心,因此它無(wú)法區(qū)分不同的幀或封包。
網(wǎng)橋和中繼器不同,它了解鏈路層協(xié)議,因此可以按幀復(fù)制復(fù)制數(shù)據(jù),而非按位復(fù)制。也就是說(shuō),網(wǎng)橋在每個(gè)端口上至少可以緩存一個(gè)幀。
路由器是了解l3網(wǎng)絡(luò)層協(xié)議的設(shè)備,它可以根據(jù)路由表轉(zhuǎn)發(fā)入口封包。
當(dāng)網(wǎng)橋不知道該用哪個(gè)接口來(lái)連接特定的L2地址時(shí),就會(huì)把幀復(fù)制到所有接口上(接收該幀的接口除外),這種行為就成為擴(kuò)散。當(dāng)網(wǎng)橋接收到一個(gè)目的地址是鏈路層廣播地址或L2多播地址的幀時(shí),會(huì)將該幀復(fù)制給每個(gè)端口(接收該幀的端口除外)。多播地址和廣播地址不能在幀中作為源地址。網(wǎng)橋不關(guān)心主機(jī)究竟在何處,它只需知道該用哪個(gè)端口連接該主機(jī)。透明網(wǎng)橋不能用在環(huán)路拓?fù)渖稀>W(wǎng)橋用于找出最佳無(wú)環(huán)路拓?fù)涞乃惴ㄊ巧蓸?shù)協(xié)議。
網(wǎng)橋地址學(xué)習(xí)的老化
橋接:生成樹(shù)協(xié)議
使用多臺(tái)網(wǎng)橋有一下優(yōu)點(diǎn):有助于分離流量,出于同一子層的以太網(wǎng)幀只處于該子層中;很容易管理大量的主機(jī)。
STP協(xié)議是一種分布式協(xié)議,網(wǎng)絡(luò)中所有網(wǎng)橋都必須執(zhí)行這個(gè)協(xié)議。執(zhí)行此協(xié)議后,網(wǎng)橋就可以開(kāi)啟他們的某些端口并關(guān)閉其他端口,此時(shí)得到的整體拓?fù)浣Y(jié)構(gòu)就是最佳有根生成樹(shù)。根節(jié)點(diǎn)的選擇也是該協(xié)議的一部分:主機(jī)都同意誰(shuí)是根節(jié)點(diǎn),然后決定要開(kāi)啟和關(guān)閉哪些鏈路。
STP通過(guò)讓各個(gè)網(wǎng)橋之間交換稱(chēng)為網(wǎng)橋協(xié)議數(shù)據(jù)單元(BPDU)的特殊幀來(lái)達(dá)到其目標(biāo),用BPDU交換的信息可讓:
- 為每個(gè)網(wǎng)橋端口指定一個(gè)明確的狀態(tài),例如轉(zhuǎn)發(fā)或阻塞,以定義該端口可否接收數(shù)據(jù)流量
- 通過(guò)對(duì)端口狀態(tài)的設(shè)定,從環(huán)路拓?fù)渲羞x擇或丟棄適當(dāng)?shù)逆溌?#xff0c;以這種方式最終生成無(wú)環(huán)路拓?fù)?
根網(wǎng)橋:
指定網(wǎng)橋:
生成樹(shù)端口:
端口狀態(tài):
網(wǎng)橋協(xié)議數(shù)據(jù)單元(BPDU):
配置BPDU:用于定義無(wú)環(huán)路拓?fù)洹?/p>
TCN,當(dāng)檢測(cè)到拓?fù)渥兓瘯r(shí),網(wǎng)橋用于通知根網(wǎng)橋
傳輸配置BPDU的時(shí)機(jī)
根網(wǎng)橋會(huì)運(yùn)行一個(gè)定時(shí)器(Hello定時(shí)器),該定時(shí)器到期后就觸發(fā)配置BPDU的傳輸。同一個(gè)BPDU從根網(wǎng)橋的每一個(gè)指定端口傳輸出去。只有根網(wǎng)橋能產(chǎn)生新的BPDU,但是當(dāng)一個(gè)網(wǎng)橋加電啟動(dòng)時(shí),它會(huì)以為自己就是根網(wǎng)橋(因?yàn)闆](méi)有其他優(yōu)先級(jí)向量可以比較)。所以,該網(wǎng)橋會(huì)將其他所有端口都設(shè)定為指定角色。啟動(dòng)Hello定時(shí)器,然后開(kāi)始產(chǎn)生BPDU。
非根網(wǎng)橋只有在應(yīng)答其根端口收到的BPDU才會(huì)產(chǎn)生BPDU,也就是說(shuō),非根網(wǎng)橋會(huì)傳遞BPDU。由非根網(wǎng)橋傳輸?shù)腂PDU,其所攜帶的信息和他們所接受的BPDU出下列字段之外都是相同的,非根網(wǎng)橋會(huì)更新這些字段:
- 傳輸者的網(wǎng)橋ID和端口ID會(huì)被該網(wǎng)橋自己的信息替換
- 該網(wǎng)橋會(huì)把開(kāi)銷(xiāo)更新為其所接受的開(kāi)銷(xiāo)加上其本地網(wǎng)橋中接受BPDU的端口(根端口)的開(kāi)銷(xiāo)之和
- 消息生存期會(huì)按照“BPDU老化”一節(jié)所講述的邏輯進(jìn)行更新。
無(wú)論網(wǎng)橋是否為根網(wǎng)橋,在下列情況下也會(huì)傳輸一個(gè)配置BPDU:
- 當(dāng)一臺(tái)網(wǎng)橋接收到一個(gè)BPDU,如果其優(yōu)先級(jí)向量低于該網(wǎng)橋在其端口上所用的,那么,網(wǎng)橋就會(huì)以其自己(較高級(jí))的信息應(yīng)答
- 當(dāng)一臺(tái)網(wǎng)橋接收到一個(gè)TCN BPDU時(shí),會(huì)立刻發(fā)出一個(gè)設(shè)有特殊標(biāo)識(shí)的配置BPDU作為應(yīng)答。
不管是因何種原因從某一給定的端口發(fā)送出一個(gè)配置BPDU,STP都會(huì)對(duì)其速率進(jìn)行限制:網(wǎng)橋從其任何端口中每秒只能最多傳輸一個(gè)配置BPDU。
每臺(tái)網(wǎng)橋按照本地配置信息和接收到的入口配置BPDU中的信息,可完成下列工作:
- 選出根網(wǎng)橋
- 從其幾個(gè)端口中選出一個(gè)作為根端口
- 對(duì)每個(gè)端口,為該端口所屬的LAN分配指定的網(wǎng)橋和指定端口
每當(dāng)網(wǎng)絡(luò)發(fā)生變化時(shí),就可產(chǎn)生配置更新:
- 開(kāi)啟或關(guān)閉一個(gè)端口
- 如果一個(gè)端口的Message Age定時(shí)器到期了。此端口會(huì)重新啟動(dòng)
- 一臺(tái)網(wǎng)橋的本地配置信息發(fā)生變化
- 一個(gè)網(wǎng)橋端口接收的一個(gè)配置BPDU,其優(yōu)先級(jí)向量比該端口先前收到的BPDU的優(yōu)先級(jí)向量高級(jí)。
轉(zhuǎn)載于:https://my.oschina.net/longscu/blog/58967
總結(jié)
- 上一篇: 我爱你,与你无关——登录系统的逻辑与结构
- 下一篇: 用 jQuery 获取 iframe 父