-
二層和三層環路有什麼特色和區別?
環路的緣由:
二層環路是因爲物理拓撲出現環路,如3臺交換機三角形鏈接。
三層環路通常物理拓撲有環路,而且設置之間路由表造成互指。
算法 - 二層交換機工做行爲?
收到的數據幀查看2層頭部,根據目的Mac地址轉發,目的Mac分廣播、組播、單播。
廣播
目的Mac全爲F。收到廣播報文,除了接收的端口外,向其他全部端口轉發-(泛洪)。
網絡
組播
目的Mac的第8位爲1。收到組播報文,首先判斷目的MAC是否本機要接受,如收到STP的BPDU,而自身也運行STP,此報文上送CPU處理,不作轉發。假如此報文自身不須要接受,則處理方式爲泛洪。
ide
單播
目的MAC的第8位位0。收到單播報文,若是目的MAC在自身MAC表中不存在,則稱爲未知單播,處理方式爲泛洪。假如目的MAC在自身MAC表中存在,則稱爲已知單播,把報文向MAC表中的接口轉發(如該接口等於報文的接收端口,則丟棄報文)。
設計
- 三層設備的工做行爲
收到數據包查看三層目的IP,根據目的IP地址轉發,分爲廣播,組播,單播。
廣播
目的IP全爲1。收到廣播包,上送CPU處理(注意不是丟棄報文),三層設備是隔離廣播域,不是丟棄廣播報文。
code
組播
目的IP爲224.0.0.0-239.0.0.0。開啓組播路由協議則轉發,不然丟棄。
接口
單播
目的IP在路由表中存在則按出端口轉發,目的IP在路由表中不存在則丟棄。
資源
- 環路的影響
二層環路
廣播風暴和數據幀複製,MAC地址震盪;假設交換機收到廣播幀或者組播幀或者未知單播幀,會採用泛洪形式處理,數據幀在轉發時產生了拷貝複製,數據幀無休止被轉發,如此往復,最終致使整個網絡帶寬資源被耗盡,設備負載過大,網絡癱瘓不可用。
路由
三層環路
數據包會在設備之間有限的互相轉發,由於在三層IP頭部存在TTL字段,因此報文不會無休止轉發。
it
- 防環機制
二層防環
STP、SMART-LINK等技術,或使用LACP鏈路捆綁和設備堆疊等技術,使得物理拓撲上沒有環路。
class
三層防環
只要依靠路由協議自身的防環機制。
靜態路由
依靠人工預防。
RIP
RIP防環機制,16跳,水平分割,毒性逆轉,觸發更新。
OSPF
區域內依靠SPF算法,區域間依靠區域結構設計和ABR的水平分割原則。
ISIS
區域內依靠SPF算法,區域間依靠路由泄露的DOWN位。
BGP
AS之間依靠AS號,AS內部只傳一跳,如使用路由反射依靠簇LIST和起源ID,使用聯盟,依靠聯盟的私有AS號。
組播
依靠PRF檢查。
轉發層面:二層環路無防環機制,三層環路有TTL機制。
- 總結:
二層環路較易產生,須要運行破壞機制,通過計算阻塞某些端口實現預防,且因爲二層設備的處理行爲致使了後果特別嚴重。
三層環路不容易產生,因爲三層設備的處理行爲和TTL機制,因此後果並不十分嚴重,且每種路由協議都有比較完整的防環機制,三層環路比較容易發生在特殊的場景下,如雙點雙向路由發佈。
補充:
TTL:Time to live,在IP報文中,TTL字段佔8個bit,因此最大255,設備接收到報文都須要減1,減到0則丟棄報文,並向報文的源IP發送ICMP消息type爲1,code爲0的錯誤消息。