日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个报文的路由器之旅_【NE探秘】一个报文的路由器之旅

發(fā)布時(shí)間:2024/10/12 编程问答 160 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个报文的路由器之旅_【NE探秘】一个报文的路由器之旅 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是二層橋接轉(zhuǎn)發(fā)?

二層所指的是數(shù)據(jù)鏈路層。二層橋接轉(zhuǎn)發(fā),是指數(shù)據(jù)幀在數(shù)據(jù)鏈路層是怎樣被轉(zhuǎn)發(fā)的。

數(shù)據(jù)鏈路層有很多不同的網(wǎng)絡(luò)類型,Token ring(令牌環(huán)網(wǎng))、Ethernet、FDDI(光纖網(wǎng)絡(luò))等等,其中用得最廣泛的就是以太網(wǎng)Ethernet,本帖要介紹的是以太網(wǎng)的轉(zhuǎn)發(fā)原理。

以太網(wǎng)是根據(jù)二層幀頭信息,切確的說是根據(jù)MAC地址,進(jìn)行轉(zhuǎn)發(fā)的。MAC地址對于二層轉(zhuǎn)發(fā)而言,是相當(dāng)?shù)闹匾?/p>

?

MAC地址簡介MAC地址是48bit二進(jìn)制的地址,如:00-e0-fc-00-00-06,MAC地址是全球唯一的,由IEEE統(tǒng)一管理和分配。MAC地址可以分為單播地址、多播地址和廣播地址:

-? 單播地址:第一字節(jié)最低位為0,如:00-e0-fc-00-00-06。

-? 多播地址:第一字節(jié)最低位為1,如:01-e0-fc-00-00-06。

-? 廣播地址:48位全1,如:ff-ff-ff-ff-ff-ff。

?

二層橋接單播轉(zhuǎn)發(fā)過程

下圖是個(gè)最簡單的二層橋接轉(zhuǎn)發(fā)場景,某局域網(wǎng)的主機(jī)PC-A發(fā)送報(bào)文給主機(jī)PC-B,中間經(jīng)過一臺二層交換機(jī)的交換。由主機(jī)PC-A向主機(jī)PC-B發(fā)送以太幀,那么該以太幀的目的MAC地址就是MAC2,源MAC就是MAC1。

???????二層交換機(jī)轉(zhuǎn)發(fā)過程:交換機(jī)收到這個(gè)以太幀,解析發(fā)現(xiàn)其目的MAC為MAC2,查MAC表,發(fā)現(xiàn)對應(yīng)的出端口為Port2,于是將這個(gè)以太幀從Port2發(fā)送出去。這樣,PC-B就收到了這個(gè)以太幀。

?

二層橋接廣播幀轉(zhuǎn)發(fā)過程如果上圖中,PC-A初始的時(shí)候并不知道PC-B的MAC,怎么辦呢?這時(shí),PC-A會(huì)發(fā)ARP請求,這個(gè)ARP請求的目的MAC為廣播地址,源MAC為自己的MAC,交換機(jī)收到這個(gè)廣播幀,會(huì)發(fā)給除了Port1以外的所有端口。這樣,局域網(wǎng)內(nèi)所有主機(jī)都能收到這個(gè)廣播幀。

PC-B發(fā)現(xiàn)請求的是咨詢自己MAC,于是返回ARP響應(yīng)報(bào)文,交換機(jī)對ARP響應(yīng)報(bào)文進(jìn)行單播轉(zhuǎn)發(fā)給PC-A。

?

MAC地址學(xué)習(xí)機(jī)制

上圖中,二層交換機(jī)上的MAC地址表是MAC地址和端口的映射表,那么這個(gè)映射表是怎么得到的呢?上一貼“一個(gè)報(bào)文的路由器之旅-(8)“中介紹過,路由器通過ARP機(jī)制學(xué)習(xí)到IP和MAC的映射關(guān)系,那么,MAC表是怎么得到的呢?

下面舉個(gè)例子說明MAC地址的學(xué)習(xí)過程:

仍然以上圖為例,當(dāng)二層交換機(jī)剛上電啟動(dòng)時(shí),其MAC地址表是空的。假設(shè)此時(shí)PC-A要發(fā)數(shù)據(jù)給PC-B,當(dāng)交換機(jī)收到PC-A發(fā)給PC-B的數(shù)據(jù)幀時(shí):

1、交換機(jī)首先是讀取該數(shù)據(jù)幀的源MAC地址,并且映射該地址和收到數(shù)據(jù)幀的端口,加入到MAC地址表。

2、接著,交換機(jī)讀取數(shù)據(jù)幀中的目的MAC地址,并且在MAC地址表中查詢該MAC地址對應(yīng)的端口,因?yàn)榇藭r(shí)交換機(jī)的MAC表還沒有PC-B的MAC,所以交換機(jī)會(huì)向所有的端口“洪泛”該數(shù)據(jù)幀,這樣PC-B就能收到這個(gè)數(shù)據(jù)幀了。

上面是交換機(jī)學(xué)習(xí)PC-A的MAC地址的過程。按此方法,當(dāng)PC-B、PC-C、PC-D都向交換機(jī)發(fā)送了數(shù)據(jù)幀后,交換機(jī)就學(xué)到了所有端口所連接的設(shè)備的MAC地址。

MAC地址表的老化機(jī)制假設(shè)上圖的PC-D被搬走,或者交換機(jī)連接PC-D和鏈接PC-C的端口互換了如果不及時(shí)更正過來,交換機(jī)可能會(huì)把數(shù)據(jù)幀發(fā)錯(cuò)地方怎么辦呢?交換機(jī)的處理方式是:對每條MAC地址都設(shè)置一個(gè)計(jì)時(shí)器,如果一臺主機(jī)在指定的老化時(shí)間之內(nèi)沒有發(fā)送數(shù)據(jù)幀到交換機(jī),交換機(jī)就會(huì)認(rèn)為它超時(shí),把它的MAC地址從MAC地址表中清除,下次它要發(fā)數(shù)據(jù)幀,交換機(jī)再重新學(xué)習(xí)MAC。

?

VLAN基礎(chǔ)上面過程中可知,交換機(jī)對廣播幀、未知單播都進(jìn)行廣播泛洪,這樣,局域網(wǎng)內(nèi)就存在很多廣播幀,消耗很多鏈路資源,還會(huì)占用主機(jī)處理廣播幀的時(shí)間。實(shí)際上,廣播幀是經(jīng)常出現(xiàn)的,比如上面的未知單播的泛洪、還有ARP請求;此外,還有DHCP、RIP協(xié)議也會(huì)頻繁發(fā)送廣播幀。

為了減少廣播幀,VLAN(Virtual Area Network,虛擬局域網(wǎng))誕生了。VLAN將一個(gè)局域網(wǎng)在邏輯上劃分成多個(gè)廣播域,所有同一個(gè)VLAN的主機(jī)可以互相通信。那么VLAN是如何實(shí)現(xiàn)廣播隔離的呢?

首先,交換機(jī)每個(gè)端口都指定了所屬VLAN。交換機(jī)和交換機(jī)之間的接口可以屬于多個(gè)VLAN。如下圖,交換機(jī)收到VLAN10的PC-A發(fā)的廣播幀,只轉(zhuǎn)發(fā)給含有VLAN10的接口,這樣,同一個(gè)VLAN的廣播幀只有VLAN的成員才能收到,不會(huì)傳輸?shù)狡渌鸙LAN中去。

VLAN內(nèi)如何實(shí)現(xiàn)互通?

由于交換機(jī)端口配了所屬VLAN,交換機(jī)的每條轉(zhuǎn)發(fā)表項(xiàng)指示了所屬VLAN。

交換機(jī)收到報(bào)文時(shí),根據(jù)入接口給報(bào)文加上對應(yīng)VLAN,并根據(jù)VLAN和目的MAC轉(zhuǎn)發(fā)。打上VLAN的以太幀格式如下:

對端交換機(jī)收到報(bào)文后,剝除其攜帶的VLAN,并根據(jù)VLAN和目的MAC轉(zhuǎn)發(fā)。

注意:VLAN間是無法直接互通的,除非通過路由器中轉(zhuǎn)。

上述例子中,有的交換機(jī)端口只允許一個(gè)VLAN通過,有的允許多個(gè)VLAN通過。它們的處理有什么區(qū)別嗎?

實(shí)際上,VLAN端口可分為三類型:

-? Access端口:只屬于一個(gè)VLAN,用于連接不支持802.1Q封裝的設(shè)備,如用戶計(jì)算機(jī)。

-? Trunk端口:可以屬于多個(gè)VLAN,允許接收和發(fā)送多個(gè)VLAN的報(bào)文。用于網(wǎng)絡(luò)設(shè)備之間互聯(lián)。

-? Hybrid端口:可以屬于多個(gè)VLAN,允許接收和發(fā)送多個(gè)VLAN的報(bào)文。可以用于網(wǎng)絡(luò)設(shè)備之間互聯(lián),也可以用于連接不支持802.1Q封裝的設(shè)備。

報(bào)文處理機(jī)制

為了快速高效的處理,交換機(jī)內(nèi)部,報(bào)文都是帶VLAN轉(zhuǎn)發(fā)的,而且,交換機(jī)在處理VLAN報(bào)文時(shí),在報(bào)文入方向和出方向是分別處理的,不同類型的接口處理方式各不相同,而且不同設(shè)備處理方式也會(huì)不同。在華為高端路由器上的處理方式如下表所示:

入方向

出方向

?端口類型

收到不帶VLAN的報(bào)文

收到帶VLAN的報(bào)文

發(fā)送報(bào)文的方式

Access端口

接收并打上缺省VLAN后轉(zhuǎn)發(fā)

報(bào)文帶的VLAN與端口缺省VLAN相等,則轉(zhuǎn)發(fā),否則丟棄。

剝離VLAN后發(fā)送。

Trunk端口

丟棄該報(bào)文

報(bào)文帶的VLAN在允許的VLAN列表中則轉(zhuǎn)發(fā);否則丟棄。

直接發(fā)送報(bào)文。

Hybrid端口

接收并打上缺省VLAN,如果缺省VLAN在允許的VLAN列表中則轉(zhuǎn)發(fā);否則丟棄。

報(bào)文帶的VLAN在允許的VLAN列表中則轉(zhuǎn)發(fā);否則丟棄。

報(bào)文帶的VLAN與端口缺省VLAN相等,則剝離VLAN后轉(zhuǎn)發(fā),否則直接轉(zhuǎn)發(fā)。

?

?

?

二層破環(huán)技術(shù)――生成樹協(xié)議以太網(wǎng)絡(luò)環(huán)形組網(wǎng)是一種常見的組網(wǎng)方式,如下圖所示。然而這樣組網(wǎng)有環(huán)路,容易造成廣播風(fēng)暴。

廣播風(fēng)暴如何產(chǎn)生的?舉個(gè)例子,假設(shè)A要與D通訊,但A不知道D的MAC地址,于是發(fā)ARP請求。由于ARP請求是MAC廣播幀,SW1收到該廣播幀,進(jìn)行泛洪;接著,SW3和SW2也都收到了該廣播幀,也進(jìn)行泛洪,于是SW1和SW2收到了SW3泛洪的廣播幀,同時(shí)SW1和SW3收到了SW2泛洪的廣播幀;如此無限循環(huán),造成廣播風(fēng)暴。

為了檢測和消除二層環(huán)路,誕生了STP(Spanning-Tree Protocol,生成樹協(xié)議)及其改進(jìn)的技術(shù)RSTP(Rapid Spanning-Tree Protocol,快速生成樹協(xié)議)和MSTP(Multiple Spanning-Tree Protocol,多生成樹協(xié)議)。這些生成樹協(xié)議都是用于探知鏈路層拓?fù)?#xff0c;并對交換機(jī)的鏈路層轉(zhuǎn)發(fā)行為進(jìn)行控制。如果發(fā)現(xiàn)網(wǎng)絡(luò)中存在環(huán)路,會(huì)在環(huán)路上選擇一個(gè)恰當(dāng)?shù)奈恢米枞溌飞系亩丝讪D―阻止端口轉(zhuǎn)發(fā)或接收以太網(wǎng)幀,通過這種方式消除二層網(wǎng)絡(luò)中可能產(chǎn)生的廣播風(fēng)暴。

本帖關(guān)注的是數(shù)據(jù)幀的轉(zhuǎn)發(fā),因此不討論這三種生成樹協(xié)議的細(xì)節(jié),需要關(guān)注的是生成樹協(xié)議設(shè)置的端口狀態(tài)及其定義的轉(zhuǎn)發(fā)行為。

STP定義了5種端口狀態(tài):

- Forwarding:端口既轉(zhuǎn)發(fā)用戶流量也轉(zhuǎn)發(fā)BPDU報(bào)文(生成樹協(xié)議報(bào)文被稱為BPDU報(bào)文)。

- Learning:設(shè)備會(huì)根據(jù)收到的用戶流量構(gòu)建MAC地址表,但不轉(zhuǎn)發(fā)用戶流量。

- Listening:確定端口角色,將選舉出根橋、根端口和指定端口,不轉(zhuǎn)發(fā)用戶流量。

- Blocking:端口僅僅接收并處理BPDU報(bào)文,不轉(zhuǎn)發(fā)用戶流量。

- Disabled:端口不僅不轉(zhuǎn)發(fā)BPDU報(bào)文,也不轉(zhuǎn)發(fā)用戶流量,接口狀態(tài)為Down。

MSTP和RSTP中,將STP的5種端口狀態(tài)精簡為3種:

- Forwarding:端口既轉(zhuǎn)發(fā)用戶流量也轉(zhuǎn)發(fā)BPDU報(bào)文。

- Listening:僅接收并處理BPDU報(bào)文,不轉(zhuǎn)發(fā)用戶流量。

- Discarding:不轉(zhuǎn)發(fā)BPDU報(bào)文,也不轉(zhuǎn)發(fā)用戶流量。

綜上可知,只有Forwarding狀態(tài)的端口才轉(zhuǎn)發(fā)用戶流量。下面介紹用戶以太幀的轉(zhuǎn)發(fā)流程。

總結(jié)

以上是生活随笔為你收集整理的一个报文的路由器之旅_【NE探秘】一个报文的路由器之旅的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。