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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

交换机开发(二)—— 三层交换机报文转发过程

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交换机开发(二)—— 三层交换机报文转发过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


如圖所示,假如主機A想訪問主機B,首先主機A會將自己的IP地址和子網掩碼做與操作,得出網路地址(:Host-AIP地址100.1.1.2與自身掩碼255.255.255.0做與操作后,得到的網絡號是100.1.1.0).然后判斷目的IP地址(Host-BIP地址)與自己的網絡地址是不是在同一個子網.因為圖中主機A和主機B不在同一子網內,所以需要進行三層轉發.


1、主機A發送ARP廣播獲取網關MAC地址

主機A想訪問主機B首先要有主機BMAC地址,由于主機A和主機B不在同一子網,所以主機A首先會向缺省網關發送ARP廣播報文來獲取網關的MAC地址。ARP報文格式如下:

Ethernet

ARP

D-MAC

S-MAC

S-MAC

S-IP

D-MAC

D-IP

ff:ff:ff:ff:ff:ff

00e0-d26b-8121

00e0-d26b-8121

100.1.1.2

00:00:00:00:00:00

100.1.1.1



2、交換機形成主機AMAC表項,并用網關MAC地址回應主機AARP請求

交換機收到ARP廣播報文后,首先學習ARP報文Ethernet頭部的源MAC地址,交換機芯片將自動記錄主機AMAC地址(00e0-d26b-8121)、接收該ARP報文的交換機接口號(E1/0/0)及此接口所屬的VLAN(VLAN 10)等信息,并形成一條MAC表項放入交換機MAC表中.同時,交換機也會通過軟件把主機AIPMAC、上連到交換機的接口等信息保存到交換機的硬件轉發表里(三層硬件表項,MAC表是沒有IP的)。

由于主機A發送的ARP廣播報文中的目的IP地址(100.1.1.1)就是交換機上接收該ARP廣播報文的接口(E1/0/0)所屬VLAN(VLAN 10)IP地址,所以交換機將使用vlan10MAC地址回復主機AARP請求。ARP回復報文如下:

Ethernet

ARP

D-MAC

S-MAC

S-MAC

S-IP

D-MAC

D-IP

00e0-d26b-8121

00e0-d26b-8111

00e0-d26b-8111

100.1.1.1

00e0-d26b-8121

100.1.1.2



3、主機A把網關MAC當作主機BMAC訪問主機B

主機A收到網關的ARP回應報文后,會把網關的MAC地址當成是主機BMAC地址,這樣主機A發送數據給主機B時就會使用網關MAC作為目的MAC來封裝數據偵,偵格式如下:

Ethernet

IP

數據

D-MAC

S-MAC

S-IP

D-IP

DATA

00e0-d26b-8111

00e0-d26b-8121

100.1.1.2

200.1.1.2

……



4、交換機查找硬件轉發表/路由表進行三層轉發

交換機收到主機A發來的數據報文后,仍然會首先學習數據報文Ethernet頭部的源MAC地址,然后根據Ethernet頭部的目的MAC查找交換機的MAC表,此時發現目的MAC地址就是本地VLANMAC地址,這種情況下交換機會把該報文上送到交換芯片的三層引擎處理。三層引擎將首先查找硬件轉發表。

?如果硬件轉發表中有匹配項,則根據報文目的IP地址作相應處理:

①、目的IP地址就是本地的IP地址,則交相應模塊處理。

②、目的IP是其他設備IP地址,本地只是轉發,則根據硬件轉發表項使用出接口MAC替換報文的源MAC地址,用下一跳MAC替換報文的目的MAC地址,同時TTL值減1,繼續轉發。(此處與二層的區別在于需要對報文進行源、目的MAC進行替換)

??如果不匹配則查找路由表,有匹配項則按照上面(2)中的操作進行,同時把相應的目的IP、下一跳MAC、出接口等信息存儲到硬件轉發表項中,下次就不需要查路由表了,這就是所謂的一次路由多次交換。

??如果路由表也沒有匹配項,則丟棄報文。

此處,由于主機A數據報文的目的IP是主機B的地址,并且主機B和交換機直連,交換機的硬件轉發表/路由表已經有主機B的路由表項,所以交換機將主機A發來的報文中的源、目的MAC地址作替換,同時TTL值減1,然后發給主機B。經過MAC替換后的報文格式如下:

Ethernet

IP

數據

D-MAC

S-MAC

S-IP

D-IP

DATA

00e0-d26b-8212

00e0-d26b-8222

100.1.1.2

200.1.1.2

……

這樣主機A就把數據報文發到了不同網段的主機B。同時交換機上也保存了關于主機A和主機B的硬件轉發表項,以后主機A和主機B互訪,以及其他網段主機訪問主機A或主機B交換機就可以根據硬件轉發表項直接轉發,而不需要查找路由表。

如圖所示,假如主機A想訪問主機B,首先主機A會將自己的IP地址和子網掩碼做與操作,得出網路地址(:Host-AIP地址100.1.1.2與自身掩碼255.255.255.0做與操作后,得到的網絡號是100.1.1.0).然后判斷目的IP地址(Host-BIP地址)與自己的網絡地址是不是在同一個子網.因為圖中主機A和主機B不在同一子網內,所以需要進行三層轉發.


1、主機A發送ARP廣播獲取網關MAC地址

主機A想訪問主機B首先要有主機BMAC地址,由于主機A和主機B不在同一子網,所以主機A首先會向缺省網關發送ARP廣播報文來獲取網關的MAC地址。ARP報文格式如下:

Ethernet

ARP

D-MAC

S-MAC

S-MAC

S-IP

D-MAC

D-IP

ff:ff:ff:ff:ff:ff

00e0-d26b-8121

00e0-d26b-8121

100.1.1.2

00:00:00:00:00:00

100.1.1.1



2、交換機形成主機AMAC表項,并用網關MAC地址回應主機AARP請求

交換機收到ARP廣播報文后,首先學習ARP報文Ethernet頭部的源MAC地址,交換機芯片將自動記錄主機AMAC地址(00e0-d26b-8121)、接收該ARP報文的交換機接口號(E1/0/0)及此接口所屬的VLAN(VLAN 10)等信息,并形成一條MAC表項放入交換機MAC表中.同時,交換機也會通過軟件把主機AIPMAC、上連到交換機的接口等信息保存到交換機的硬件轉發表里(三層硬件表項,MAC表是沒有IP的)。

由于主機A發送的ARP廣播報文中的目的IP地址(100.1.1.1)就是交換機上接收該ARP廣播報文的接口(E1/0/0)所屬VLAN(VLAN 10)IP地址,所以交換機將使用vlan10MAC地址回復主機AARP請求。ARP回復報文如下:

Ethernet

ARP

D-MAC

S-MAC

S-MAC

S-IP

D-MAC

D-IP

00e0-d26b-8121

00e0-d26b-8111

00e0-d26b-8111

100.1.1.1

00e0-d26b-8121

100.1.1.2



3、主機A把網關MAC當作主機BMAC訪問主機B

主機A收到網關的ARP回應報文后,會把網關的MAC地址當成是主機BMAC地址,這樣主機A發送數據給主機B時就會使用網關MAC作為目的MAC來封裝數據偵,偵格式如下:

Ethernet

IP

數據

D-MAC

S-MAC

S-IP

D-IP

DATA

00e0-d26b-8111

00e0-d26b-8121

100.1.1.2

200.1.1.2

……



4、交換機查找硬件轉發表/路由表進行三層轉發

交換機收到主機A發來的數據報文后,仍然會首先學習數據報文Ethernet頭部的源MAC地址,然后根據Ethernet頭部的目的MAC查找交換機的MAC表,此時發現目的MAC地址就是本地VLANMAC地址,這種情況下交換機會把該報文上送到交換芯片的三層引擎處理。三層引擎將首先查找硬件轉發表。

?如果硬件轉發表中有匹配項,則根據報文目的IP地址作相應處理:

①、目的IP地址就是本地的IP地址,則交相應模塊處理。

②、目的IP是其他設備IP地址,本地只是轉發,則根據硬件轉發表項使用出接口MAC替換報文的源MAC地址,用下一跳MAC替換報文的目的MAC地址,同時TTL值減1,繼續轉發。(此處與二層的區別在于需要對報文進行源、目的MAC進行替換)

??如果不匹配則查找路由表,有匹配項則按照上面(2)中的操作進行,同時把相應的目的IP、下一跳MAC、出接口等信息存儲到硬件轉發表項中,下次就不需要查路由表了,這就是所謂的一次路由多次交換。

??如果路由表也沒有匹配項,則丟棄報文。

此處,由于主機A數據報文的目的IP是主機B的地址,并且主機B和交換機直連,交換機的硬件轉發表/路由表已經有主機B的路由表項,所以交換機將主機A發來的報文中的源、目的MAC地址作替換,同時TTL值減1,然后發給主機B。經過MAC替換后的報文格式如下:

Ethernet

IP

數據

D-MAC

S-MAC

S-IP

D-IP

DATA

00e0-d26b-8212

00e0-d26b-8222

100.1.1.2

200.1.1.2

……

這樣主機A就把數據報文發到了不同網段的主機B。同時交換機上也保存了關于主機A和主機B的硬件轉發表項,以后主機A和主機B互訪,以及其他網段主機訪問主機A或主機B交換機就可以根據硬件轉發表項直接轉發,而不需要查找路由表。

總結

以上是生活随笔為你收集整理的交换机开发(二)—— 三层交换机报文转发过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。