網(wǎng)絡(luò)基本功(二):細(xì)說(shuō)交換機(jī)

介紹

本節(jié)介紹交換機(jī)的幀轉(zhuǎn)發(fā)技術(shù),MAC地址表的維護(hù)方式,三種幀轉(zhuǎn)發(fā)模式,以及沖突域和廣播域。

更多信息

幀轉(zhuǎn)發(fā):

網(wǎng)絡(luò)及電信中的交換概念

以太網(wǎng)上的幀包含源MAC地址與目的MAC地址。交換機(jī)從源設(shè)備接收到幀并快速發(fā)往目的地址。交換的基本概念指基于以下兩條準(zhǔn)則做出決策的設(shè)備:

·進(jìn)入(ingress)端口

·目的地址

術(shù)語(yǔ)ingress用于描述幀通過(guò)特定端口進(jìn)入設(shè)備,egress用于描述設(shè)備通過(guò)特定端口離開(kāi)設(shè)備。交換機(jī)做出轉(zhuǎn)發(fā)決定的時(shí)候,是基于進(jìn)入端口以及消息的目的地址的。

LAN交換機(jī)維護(hù)一張表,通過(guò)這張表決定如何轉(zhuǎn)發(fā)數(shù)據(jù)流。LAN交換機(jī)唯一智能部分是利用這張表基于消息的進(jìn)入端口和目的地址來(lái)轉(zhuǎn)發(fā)。一個(gè)LAN交換機(jī)中只有一張定義了地址和端口的主交換表;因此,無(wú)論進(jìn)入端口如何,同一目的地址的消息永遠(yuǎn)從同一出口離開(kāi)。

MAC地址表的動(dòng)態(tài)更新

一個(gè)交換機(jī)要知道使用哪一個(gè)端口傳送幀,首先必須學(xué)習(xí)各端口有哪些設(shè)備。隨著交換機(jī)學(xué)習(xí)到端口與設(shè)備的關(guān)系,它建立起一張MAC地址表,或內(nèi)容可尋址寄存表(CAM)。CAM是一種應(yīng)用于高速查找應(yīng)用的特定類型的memory。交換機(jī)將連接到它的端口的設(shè)備的MAC地址記錄到MAC表中,然后利用表中信息將幀發(fā)送至輸出端口設(shè)備,該端口已指定給該設(shè)備。

記住交換機(jī)操作模式的一句簡(jiǎn)單的話是:交換機(jī)學(xué)習(xí)“源地址”,基于“目的地址”轉(zhuǎn)發(fā)。幀進(jìn)入交換機(jī)時(shí),交換機(jī)“學(xué)習(xí)”接收幀的源MAC地址,并將此地址添加到MAC地址表中,或刷新已存在的MAC地址表項(xiàng)的老化寄存器;后續(xù)報(bào)文如果去往該MAC地址,則可以根據(jù)此表項(xiàng)轉(zhuǎn)發(fā)。幀轉(zhuǎn)發(fā)時(shí),交換機(jī)檢查目的MAC地址并與MAC地址表中地址進(jìn)行比較。如果地址在表中,則轉(zhuǎn)發(fā)至表中與MAC地址相對(duì)應(yīng)的端口。如果沒(méi)有在表中找到目的MAC地址,交換機(jī)會(huì)轉(zhuǎn)發(fā)到除了進(jìn)入端口以外的所有端口泛洪(flooding)。有多個(gè)互連交換機(jī)的網(wǎng)絡(luò)中,MAC地址表對(duì)于一個(gè)連接至其他交換機(jī)的端口記錄多個(gè)MAC地址。

以下步驟描述了更新MAC地址表的方法:

1.交換機(jī)在port 1接收到來(lái)自PC 1的幀。


2.交換機(jī)檢查源MAC地址并與MAC地址表相比較。

·如果地址不在表中,則交換機(jī)在MAC地址表中將PC 1的源MAC地址關(guān)聯(lián)到進(jìn)入端口(port 1)。


·如果已經(jīng)存在該源地址的MAC地址表項(xiàng),則交換機(jī)重置老化計(jì)時(shí)器。通常一個(gè)表項(xiàng)會(huì)保持5分鐘。

3.交換機(jī)記錄源地址信息之后,檢查目的地址

·如果目的MAC地址不在表項(xiàng)中或如果它是一個(gè)廣播MAC地址,則交換機(jī)把該幀泛洪(flood)至除了進(jìn)入端口以外的所有端口。


4.目標(biāo)設(shè)備(PC 3)返回目的地址為PC 1的單播幀。


5.交換機(jī)地址表中輸入PC 3的源MAC地址以及進(jìn)入端口的端口號(hào)。在表項(xiàng)中找到該幀的目的地址及關(guān)聯(lián)的輸出端口。


6.交換機(jī)現(xiàn)在可以在源和目標(biāo)設(shè)備之間傳送幀而無(wú)需泛洪,因?yàn)榈刂繁碇幸延兄付P(guān)聯(lián)端口的表項(xiàng)。


交換機(jī)轉(zhuǎn)發(fā)方式:

存儲(chǔ)轉(zhuǎn)發(fā)交換(Store-and-Forward)

運(yùn)行在存儲(chǔ)轉(zhuǎn)發(fā)模式下的交換機(jī)在發(fā)送信息前要把整幀數(shù)據(jù)讀入內(nèi)存并檢查其正確性。盡管采用這種方式比采用直通方式更花時(shí)間,但采用這種方式可以存儲(chǔ)轉(zhuǎn)發(fā)數(shù)據(jù),從而保證其準(zhǔn)確性。由于運(yùn)行在存儲(chǔ)轉(zhuǎn)發(fā)模式下的交換機(jī)不傳播錯(cuò)誤數(shù)據(jù),因而更適合大型局域網(wǎng)。存儲(chǔ)轉(zhuǎn)發(fā)模式有兩大主要特征區(qū)別于直通轉(zhuǎn)發(fā)模式:

差錯(cuò)控制:

使用存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)的交換機(jī)對(duì)進(jìn)入幀進(jìn)行差錯(cuò)控制。在進(jìn)入端口接收完整一幀之后,交換機(jī)將數(shù)據(jù)報(bào)最后一個(gè)字段的幀校驗(yàn)序列(frame check sequence, FCS)與自己的FCS進(jìn)行比較。FCS校驗(yàn)過(guò)程用以幫助確保幀沒(méi)有物理及數(shù)據(jù)鏈路錯(cuò)誤,如果該幀校驗(yàn)正確,則交換機(jī)轉(zhuǎn)發(fā)。否則,丟棄。


自動(dòng)緩存:

存儲(chǔ)轉(zhuǎn)發(fā)交換機(jī)通過(guò)進(jìn)入端口緩存,支持不同速率以太網(wǎng)的混合連接。例如,接收到一個(gè)以1Gb/s速率發(fā)出的幀,轉(zhuǎn)發(fā)至百兆以太網(wǎng)端口,就需要使用存儲(chǔ)轉(zhuǎn)發(fā)方式。當(dāng)進(jìn)入與輸出端口速率不匹配時(shí),交換機(jī)將整幀內(nèi)容放入緩存中,計(jì)算FCS校驗(yàn),轉(zhuǎn)發(fā)至輸出緩存之后將幀發(fā)出。

Cisco的主要交換方式是存儲(chǔ)轉(zhuǎn)發(fā)交換。

直通交換(Cut-Through)

直通交換的一個(gè)優(yōu)勢(shì)是比存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)更為快速。采用直通模式的交換機(jī)會(huì)在接收完整個(gè)數(shù)據(jù)包之前就讀取幀頭,并決定把數(shù)據(jù)發(fā)往哪個(gè)端口。不用緩存數(shù)據(jù)也不用檢查數(shù)據(jù)的完整性。這種交換方式有兩大特點(diǎn):快速幀轉(zhuǎn)發(fā)以及無(wú)效幀處理。

快速幀轉(zhuǎn)發(fā):

如下圖所示,一旦交換機(jī)在MAC地址表中查找到目的MAC地址,就立刻做出轉(zhuǎn)發(fā)決定。而無(wú)需等待幀的剩余部分進(jìn)入端口再做出轉(zhuǎn)發(fā)決定。


使用直通方式的交換機(jī)能夠快速?zèng)Q定是否有必要檢查幀頭的更多部分,以針對(duì)額外的過(guò)濾目的。例如,交換機(jī)可以檢查前14個(gè)字節(jié)(源MAC地址,目的MAC,以太網(wǎng)類型字段),以及對(duì)之后的40字節(jié)進(jìn)行檢查,以實(shí)現(xiàn)IPv4三層和四層相關(guān)功能。

無(wú)效幀處理:

對(duì)于大多數(shù)無(wú)效幀,直通方式交換機(jī)并不將其丟棄。錯(cuò)誤幀被轉(zhuǎn)發(fā)至其他網(wǎng)段。如果網(wǎng)絡(luò)中出現(xiàn)高差錯(cuò)率(無(wú)效幀),直通交換可能會(huì)對(duì)帶寬造成不利影響,損壞以及無(wú)效幀會(huì)造成帶寬擁塞。在擁塞情況下,這種交換機(jī)必須像存儲(chǔ)轉(zhuǎn)發(fā)交換機(jī)那樣緩存。

無(wú)碎片轉(zhuǎn)發(fā)(Fragment Free)

無(wú)碎片轉(zhuǎn)發(fā)是直通方式的一種改進(jìn)模式。交換機(jī)轉(zhuǎn)發(fā)之前檢查幀是否大于64字節(jié)(小于則丟棄),以保證沒(méi)有碎片幀。無(wú)碎片方式比直通方式擁有更好的差錯(cuò)檢測(cè),而實(shí)際上沒(méi)有增加延時(shí)。它比較適合于高性能計(jì)算應(yīng)用,即進(jìn)程到進(jìn)程延時(shí)小于10毫秒的應(yīng)用場(chǎng)景。

交換機(jī)域:

交換機(jī)比較容易混淆的兩個(gè)術(shù)語(yǔ)是沖突域和廣播域。這一段講述這兩個(gè)影響LAN性能的重要概念。

沖突域

設(shè)備間共享同一網(wǎng)段稱為沖突域。因?yàn)樵摼W(wǎng)段內(nèi)兩個(gè)以上設(shè)備同時(shí)嘗試通訊時(shí),可能發(fā)生沖突。使用工作在數(shù)據(jù)鏈路層的交換機(jī)可將各個(gè)網(wǎng)段的沖突域隔離,并減少競(jìng)爭(zhēng)帶寬的設(shè)備數(shù)量。交換機(jī)的每一個(gè)端口就是一個(gè)新的網(wǎng)段,因?yàn)椴迦攵丝诘脑O(shè)備之間無(wú)需競(jìng)爭(zhēng)。結(jié)果是每一個(gè)端口都代表一個(gè)新的沖突域。網(wǎng)段上的設(shè)備可以使用更多帶寬,沖突域內(nèi)的沖突不會(huì)影響到其他網(wǎng)段,這也成為微網(wǎng)段

如下圖所示,每一個(gè)交換機(jī)端口連接到一臺(tái)主機(jī),每一個(gè)交換機(jī)端口代表一個(gè)隔離的沖突域。


廣播域

盡管交換機(jī)按照MAC地址過(guò)濾大多數(shù)幀,它們并不能過(guò)濾廣播幀。LAN上的交換機(jī)接收到廣播包后,必須對(duì)所有端口泛洪。互連的交換機(jī)集合形成了一個(gè)廣播域。網(wǎng)絡(luò)層設(shè)備如路由器,可隔離二層廣播域。路由器可同時(shí)隔離沖突和廣播域。

當(dāng)設(shè)備發(fā)出二層廣播包,幀中的目的MAC地址被設(shè)置為全二進(jìn)制數(shù),廣播域中的所有設(shè)備都會(huì)接收到該幀。二層廣播域也稱為MAC廣播域。MAC廣播域包含LAN上所有接收到廣播幀的設(shè)備。廣播通信比較多時(shí),可能會(huì)帶來(lái)廣播風(fēng)暴。特別是在包含不同速率的網(wǎng)段,高速網(wǎng)段產(chǎn)生的廣播流量可能導(dǎo)致低速網(wǎng)段嚴(yán)重?fù)頂D,乃至崩潰。


轉(zhuǎn)自https://community.emc.com/thread/197851 【好文章,收藏】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,460評(píng)論 6 538
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,067評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 177,467評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 63,468評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,184評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 55,582評(píng)論 1 325
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,616評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 42,794評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,343評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,096評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,291評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,863評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,513評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 34,941評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 36,190評(píng)論 1 291
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,026評(píng)論 3 396
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,253評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容