以下文章來(lái)源于網(wǎng)絡(luò)工程師筆記 ,作者網(wǎng)工阿成
網(wǎng)絡(luò)工程師筆記.
【網(wǎng)絡(luò)工程師筆記】致力于分享關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)與通信相關(guān)技術(shù),包括計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ),路由交換、VPN、安全、linux、云計(jì)算、路由器、交換機(jī)等網(wǎng)絡(luò)工程師技術(shù)知識(shí);還包括計(jì)算機(jī)網(wǎng)絡(luò)工程師相關(guān)考試知識(shí)。
來(lái)自公眾號(hào):網(wǎng)絡(luò)工程師筆記前言
在一個(gè)網(wǎng)絡(luò)中,最常見(jiàn)的網(wǎng)絡(luò)設(shè)備就是交換機(jī)、路由器、防火墻(如下圖)。
那么這些網(wǎng)絡(luò)設(shè)備是如何工作的,如何處理數(shù)據(jù)報(bào)文的呢?今天我們就以交換機(jī)、路由器為例,給大家介紹下。
網(wǎng)絡(luò)設(shè)備介紹
1、框式網(wǎng)絡(luò)設(shè)備
如下圖所示,是華為的一款框式交換機(jī) S12708。
這款交換機(jī)的硬件滿配組成如下:2個(gè)主控板、4個(gè)交換網(wǎng)板、8個(gè)接口板卡、2個(gè)集中監(jiān)控板、6個(gè)電源模塊、4個(gè)風(fēng)扇模塊等。
那么這些硬件組成的作用是什么呢?
(1)主控板
主控板其實(shí)就是設(shè)備的“大腦”,對(duì)設(shè)備進(jìn)行整體的管理和控制。
主控板提供了整個(gè)系統(tǒng)的管理平面和控制平面。
(2)接口板卡
接口板卡就是我們常說(shuō)的業(yè)務(wù)板卡,提供豐富的端口類(lèi)型和端口數(shù)量,不同的板卡類(lèi)型提供的端口數(shù)量和端口類(lèi)型(光口、電口)也不一樣,端口的速率也不一樣(10G/25G/40G/100G等)。
(3)交換網(wǎng)板
交換網(wǎng)板從字面上理解就是用作數(shù)據(jù)交換的,可以理解成是整個(gè)設(shè)備的通信總線,業(yè)務(wù)板之間通信都需要經(jīng)過(guò)交換網(wǎng)板。
例如下圖:不同槽位的接口板卡通信都需要通過(guò)交換網(wǎng)板。(這個(gè)大家記住,后面講轉(zhuǎn)發(fā)流程會(huì)涉及)
2、盒式網(wǎng)絡(luò)設(shè)備
盒式網(wǎng)絡(luò)設(shè)備相對(duì)于框式設(shè)備而言,不具備擴(kuò)展性,端口數(shù)量固定,將各個(gè)模塊集成在一起了。但是價(jià)格相對(duì)框式設(shè)備便宜。
3、網(wǎng)絡(luò)設(shè)備的邏輯平面
網(wǎng)絡(luò)設(shè)備從邏輯上可以分為:控制平面、數(shù)據(jù)平面、監(jiān)控平面;
(1)控制平面:用于控制和管理所有網(wǎng)絡(luò)協(xié)議的運(yùn)行。控制平面由設(shè)備的主控板和業(yè)務(wù)板卡中的管理單元組成。
例如:交換機(jī)是基于mac地址表轉(zhuǎn)發(fā)的,那么這個(gè)表項(xiàng)就是控制平面干的活;路由器是基于路由表轉(zhuǎn)發(fā)的,那么這個(gè)表項(xiàng)就是控制平面干的活;
(2)數(shù)據(jù)平面:實(shí)現(xiàn)各個(gè)業(yè)務(wù)模塊之間的業(yè)務(wù)交換功能。
轉(zhuǎn)發(fā)平面有接口板和交換網(wǎng)板組成。
其實(shí)網(wǎng)絡(luò)設(shè)備簡(jiǎn)單來(lái)看就是接受數(shù)據(jù),處理數(shù)據(jù),轉(zhuǎn)發(fā)數(shù)據(jù)。
(3)監(jiān)控平面:完成系統(tǒng)的運(yùn)行狀態(tài)監(jiān)控、環(huán)境監(jiān)控、日志和告警信息處理、系統(tǒng)加載、系統(tǒng)升級(jí)等功能。
監(jiān)控平面由主控板、接口板監(jiān)控單元組成,框式設(shè)備還會(huì)有集中監(jiān)控板。
大家都應(yīng)該通過(guò)TE.NET、SSH、SNMP等方式來(lái)登錄管理設(shè)備,那么這些其實(shí)就是和監(jiān)控管理平面相關(guān)的。
網(wǎng)絡(luò)設(shè)備報(bào)文處理流程
1、什么是上行、下行?
上行:設(shè)備從LPU接口板收到報(bào)文轉(zhuǎn)發(fā)到交換網(wǎng)板的過(guò)程;
下行:設(shè)備從交換網(wǎng)板發(fā)給LPU接口板的過(guò)程;
2、什么是協(xié)議報(bào)文、業(yè)務(wù)報(bào)文?
網(wǎng)絡(luò)設(shè)備處理的報(bào)文可以分為業(yè)務(wù)報(bào)文和協(xié)議報(bào)文;
(1)業(yè)務(wù)報(bào)文:服務(wù)、應(yīng)用在交互過(guò)程中涉及的報(bào)文;
設(shè)備收到業(yè)務(wù)報(bào)文只會(huì)進(jìn)行轉(zhuǎn)發(fā),從接口板的一個(gè)端口進(jìn)入之后根據(jù)轉(zhuǎn)發(fā)表項(xiàng)從另一個(gè)接口轉(zhuǎn)發(fā)出去;
(2)協(xié)議報(bào)文:
設(shè)備收到協(xié)議報(bào)文(如BGP、OSPF、ARP等協(xié)議報(bào)文),會(huì)上送給控制平面處理;
如ARP報(bào)文交由控制層面處理、判斷之后決定是否回應(yīng),是否學(xué)習(xí)ARP報(bào)文中的源MAC、源IP。
3、業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)流程
(1)業(yè)務(wù)報(bào)文從接口板進(jìn)來(lái)后,首先通過(guò)PFE(包轉(zhuǎn)發(fā)引擎)對(duì)報(bào)文進(jìn)行處理;
A、解封裝:對(duì)報(bào)文進(jìn)行解封裝,獲取二層或者三層報(bào)文頭信息;
B、查表轉(zhuǎn)發(fā):如果是二層轉(zhuǎn)發(fā),就查找MAC地址表,確認(rèn)報(bào)文的出接口;如果是三層轉(zhuǎn)發(fā),就查找路由表,確認(rèn)報(bào)文的出接口;
如果報(bào)文送往交換網(wǎng)板之前,需要進(jìn)行切片處理,就把報(bào)文按一定粒度進(jìn)行切片,切成固定長(zhǎng)度。
(2)入接口板通過(guò)數(shù)據(jù)總線交給交換機(jī)網(wǎng)板,交換網(wǎng)板交由下行接口板。
(3)下行接口板對(duì)分片后的報(bào)文進(jìn)行重組,并通過(guò)PFE(包轉(zhuǎn)發(fā)引擎)對(duì)報(bào)文進(jìn)行處理,獲取封裝信息,對(duì)報(bào)文進(jìn)行封裝,并通過(guò)出接口轉(zhuǎn)發(fā)出去。
硬件轉(zhuǎn)發(fā):
1、框式設(shè)備的業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)一般不經(jīng)過(guò)主控板CPU,直接由接口板查詢(xún)表項(xiàng)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。這種直接由接口板完成數(shù)據(jù)轉(zhuǎn)發(fā),沒(méi)有主控板參與的轉(zhuǎn)發(fā)方式就是硬件轉(zhuǎn)發(fā)。
2、接口板上的轉(zhuǎn)發(fā)信息(例如:FIB表項(xiàng))是由主控板根據(jù)生成的路由表下發(fā)到接口板上的。
4、協(xié)議報(bào)文轉(zhuǎn)發(fā)流程
(1)設(shè)備收到協(xié)議報(bào)文(ospf、bgp、ARP等)后,需要上送到主控板進(jìn)行處理。
(2)主控板CPU收到協(xié)議報(bào)文之后進(jìn)行相應(yīng)的處理,如果需要回應(yīng)報(bào)文,則主控板會(huì)構(gòu)造協(xié)議報(bào)文進(jìn)行回應(yīng)。
如收到發(fā)往自身的ARP Request、ICMP Echo Request報(bào)文,主控板處理之后構(gòu)造ARP Reply、ICMP Echo Reply進(jìn)行回應(yīng)。