一、網(wǎng)絡(luò)模型
萬年不變,先從模型結(jié)構(gòu)分析,現(xiàn)在大家熟知的網(wǎng)絡(luò)模型有兩種。第一種是,OSI七層模型,第二種是TCP/IP模型。在實(shí)際運(yùn)用中,參考更多的是TCP/IP模型。
OSI七層模型
TCP/IP模型
不需要全部理解,只需要明白兩點(diǎn):1、數(shù)據(jù)包發(fā)送數(shù)據(jù)的過程是從上到下打包,接收數(shù)據(jù)是從下至上拆包。2、在二層數(shù)據(jù)鏈路層我們的數(shù)據(jù)已經(jīng)被層層封裝為以太網(wǎng)幀結(jié)構(gòu)?,F(xiàn)在有了下一個(gè)問題,以太網(wǎng)幀結(jié)構(gòu)是什么?
二、以太網(wǎng)幀結(jié)構(gòu)
以太網(wǎng)幀結(jié)構(gòu)里有:DMAC、SMAC、Type、用戶數(shù)據(jù)、FSC幀校驗(yàn)序列,我們挨個(gè)解釋一下:
DMAC:目的MAC地址,被訪問的MAC地址;
SMAC:源MAC地址,發(fā)起方的MAC地址;
Type:在數(shù)據(jù)中有一個(gè)type字段,是為了讓交換機(jī)收到一個(gè)幀,拆開幀頭,不用再進(jìn)一步拆包就知道packet中類型,比如:
1、type=0X0800 代表的就是包內(nèi)容是ipv4;
2、type=0X86DD 代表的就是IPv6;
3、type=0X0806 代表的就是ARP包;
4、type=0X8847 代表的就是MPLS unicast;
5、type=0X8848 代表的就是MPLS multicast;
用戶數(shù)據(jù):數(shù)據(jù)內(nèi)容;
FSC幀校驗(yàn)序列:讓接收幀的網(wǎng)卡或者網(wǎng)口判斷是否有錯(cuò)誤;
這里主要了解一下以太網(wǎng)幀頭中有源MAC地址和目的MAC地址。
三、MAC地址
MAC地址(Media Access Control Address)也稱為硬件地址或物理地址(Physical Address),它是一個(gè)用來確認(rèn)網(wǎng)絡(luò)設(shè)備位置的位址。在OSI模型中,第二層數(shù)據(jù)鏈路層則負(fù)責(zé)MAC位址 。MAC地址用于在網(wǎng)絡(luò)中唯一標(biāo)示一個(gè)網(wǎng)卡,一臺(tái)設(shè)備若有一或多個(gè)網(wǎng)卡,則每個(gè)網(wǎng)卡都需要并會(huì)有一個(gè)唯一的MAC地址。
四、數(shù)據(jù)鏈路層>二層交換機(jī)
二層交換機(jī)能夠基于數(shù)據(jù)鏈路層的 MAC 地址,進(jìn)行數(shù)據(jù)幀或 VLAN 的傳輸功能。二層交換機(jī)內(nèi)置MAC地址表,為二層設(shè)備提供了唯一的地址,用于標(biāo)識(shí)數(shù)據(jù)下發(fā)的終端設(shè)備和節(jié)點(diǎn)。
優(yōu)點(diǎn):數(shù)據(jù)交換是靠硬件來實(shí)現(xiàn)的,其非常快速且有效地將數(shù)據(jù)從源端傳輸?shù)侥繕?biāo)端。
簡(jiǎn)單的說,MAC地址表是交換機(jī)等網(wǎng)絡(luò)設(shè)備記錄MAC地址和設(shè)備端口的映射關(guān)系,代表了交換機(jī)從哪個(gè)端口學(xué)習(xí)到了某個(gè)MAC地址,后續(xù)交換機(jī)需要轉(zhuǎn)發(fā)數(shù)據(jù)的時(shí)候就可以根據(jù)報(bào)文中目的MAC地址去 對(duì)照設(shè)備中的MAC地址表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。如果MAC地址表中已經(jīng)存在該MAC地址表項(xiàng),設(shè)備將通過重置該表項(xiàng)的老化時(shí)間,對(duì)該表項(xiàng)進(jìn)行更新。
五、二層交換機(jī)MAC地址學(xué)習(xí)
實(shí)例解析:
主機(jī) PC1向主機(jī) PC2 發(fā)送數(shù)據(jù),PC1不知道PC2的MAC地址,PC1就像所有端口發(fā)說ARP廣播請(qǐng)求包說:誰告訴我IP地址為192.168.1.4的MAC地址是多少?
PC1發(fā)送時(shí),交換機(jī)把PC1的端口0/0/1、 MAC地址更新記錄到MAC地址表中。但是此時(shí)交換機(jī)不知道目的 PC2MAC地址在哪個(gè)端口,于是將數(shù)據(jù)幀進(jìn)行ARP廣播包請(qǐng)求泛洪,即轉(zhuǎn)發(fā)到除端口 1 之外的所有端口。
PC3收到數(shù)據(jù)幀發(fā)現(xiàn)目的IP地址不是自己,將丟棄數(shù)據(jù)幀。PC2收到數(shù)據(jù)幀發(fā)現(xiàn)是源IP是自己請(qǐng)求自己的MAC地址,于是發(fā)送應(yīng)答數(shù)據(jù)幀,交換機(jī)端口 0/0/2 收到數(shù)據(jù)幀,記錄PC2 對(duì)應(yīng)的端口、 MAC
地址表項(xiàng)。
于是交換機(jī)知道了主機(jī)PC1 和主機(jī) PC2 的 端口、MAC 地址信息,之后會(huì)根據(jù) MAC 地址表進(jìn)行轉(zhuǎn)發(fā)。
上面的描述看不懂的話這里我們可以抓包看一下:
設(shè)置PC1訪問PC2,抓包抓取交換機(jī)G0/0/1端口流量,抓包設(shè)置顯示1.4的IP流量信息:
PC1開始ping 192.168.1.4,抓包內(nèi)容顯示如下:
打開一個(gè)廣播包,內(nèi)容為:
交換機(jī)ARP廣播包問誰是192.168.1.4,告訴192.168.1.2,數(shù)據(jù)包里有發(fā)送的MAC地址和IP、目標(biāo)的IP地址、MAC地址為廣播因?yàn)椴恢朗墙粨Q機(jī)向所有端口問。
ARP回包:
包含源為192.168.1.4和MAC地址、以及回應(yīng)給請(qǐng)求的目標(biāo)192.168.1.2和MAC地址信息。
1、同一個(gè)MAC可以在同一臺(tái)交換機(jī)的不同接口上出現(xiàn)嗎 ?
不能。因?yàn)檫@樣的交換機(jī)就不知道如何轉(zhuǎn)發(fā)了
2、同一個(gè)MAC地址可以在不同交換機(jī)上的接口出現(xiàn)嗎?
可以。
3、不同MAC地址可以在同一臺(tái)交換機(jī)的相同接口出現(xiàn)嗎?
可以。
4、既然通過ARP廣播包發(fā)送請(qǐng)求是不是二層交換機(jī)也有ARP表?
沒有,二層交換機(jī)有且只有一個(gè)關(guān)系表:MAC地址表
大白話翻譯:
二層交換機(jī)只工作在二層數(shù)據(jù)鏈路層,所以咱們ping 192.168.1.4的時(shí)候二層交換機(jī)理解不了這個(gè)是什么意思,因?yàn)镮P地址是三層網(wǎng)絡(luò)層協(xié)議。而二層交換機(jī)通訊主要依靠ARP廣播包識(shí)別各自交換機(jī)端口所接設(shè)備的MAC地址更新維護(hù)MAC地址表,又因數(shù)據(jù)最終轉(zhuǎn)換成比特流通過物理介質(zhì)發(fā)送出去,所以他要做一個(gè)轉(zhuǎn)換就是從上往下打包發(fā)送(應(yīng)用-傳輸-網(wǎng)絡(luò)-數(shù)據(jù)鏈路),每上一層的信息逐步打包好了添加到下一層中,此時(shí)再來理解這一張圖可能會(huì)稍微清晰一點(diǎn)。
六、ARP廣播
ARP 協(xié)議的全稱是 Address Resolution Protocol(地址解析協(xié)議),它是一個(gè)通過用于實(shí)現(xiàn)從 IP 地址到 MAC 地址的映射,即詢問目標(biāo) IP 對(duì)應(yīng)的 MAC 地址 的一種協(xié)議。ARP 協(xié)議在 IPv4 中極其重要。
以五中實(shí)驗(yàn)為例:
在PC1給PC1的發(fā)送數(shù)據(jù)的時(shí)候,是以數(shù)據(jù)幀的形式發(fā)送的,數(shù)據(jù)幀被網(wǎng)卡解析成電信號(hào)或者光信號(hào)傳遞到對(duì)端。數(shù)據(jù)幀里太網(wǎng)幀頭由源MAC地址和目的MAC地址組成的,如果發(fā)送者只知道目的主機(jī)的IP地址,不知道目的主機(jī)的MAC地址,就不能把這個(gè)數(shù)據(jù)包轉(zhuǎn)化成數(shù)據(jù)幀發(fā)走。而ARP 協(xié)議就是負(fù)責(zé)地址解析的,使用目的主機(jī)IP地址來解析對(duì)方的MAC地址。
七、不通網(wǎng)段如何通訊?
同網(wǎng)段可以依靠二層交換機(jī)通訊,當(dāng)網(wǎng)絡(luò)中存在多個(gè)網(wǎng)段192.168.1.1/24 172.16.1.1/24 173.73.1.1/24情況下交換機(jī)該如何互相通訊?請(qǐng)關(guān)注下一章
知識(shí)擴(kuò)展:
沖突與沖突域
1、交換機(jī)每一個(gè)端口都是一個(gè)獨(dú)立的沖突域,因此在其獨(dú)立的沖突域中是不會(huì)發(fā)生任何通訊沖突的。
2、交換機(jī)通過分割沖突域來避免沖突的發(fā)生,同時(shí)提高傳輸效率。文章來源:http://www.zghlxwxcb.cn/news/detail-437513.html
沖突域與廣播域
1、交換機(jī)每一個(gè)端口都是一個(gè)獨(dú)立的沖突域,但交換機(jī)默認(rèn)情況下,所有端口都工作在同一個(gè)廣播域中。
2、所有端口都處于同一個(gè)廣播域?qū)?huì)造成較大的安全隱患,因此交換機(jī)可通過額外的配置來分割廣播域,該配置稱之為VLAN【Virtual Local Area Network | 虛擬局域網(wǎng)】。文章來源地址http://www.zghlxwxcb.cn/news/detail-437513.html
到了這里,關(guān)于【數(shù)通網(wǎng)絡(luò)交換基礎(chǔ)梳理1】二層交換機(jī)、以太網(wǎng)幀、MAC地址數(shù)據(jù)幀轉(zhuǎn)發(fā)原理詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!