二層/三層交換機(jī)基礎(chǔ)

關(guān)于沖突域和廣播域

  • 沖突域:主要是指的物理上的沖突,同一個(gè)物理介質(zhì)(導(dǎo)線)上面多個(gè)節(jié)點(diǎn)的集合就是一個(gè)沖突域;比如說使用HUB連接的主機(jī)就是一個(gè)沖突域,他們共享帶寬;
  • 廣播域:目的MAC為FFFF-FFFF-FFFF的地址為廣播地址,一個(gè)節(jié)點(diǎn)發(fā)送,其余節(jié)點(diǎn)都能收到的節(jié)點(diǎn)集合稱之為廣播域;

傳統(tǒng)的二層交換機(jī)的所有端口都屬于一個(gè)廣播域,每個(gè)端口屬于一個(gè)單獨(dú)的沖突域。

1.1. 二層交換

工作在OSI模型的第二層,數(shù)據(jù)鏈路層;對(duì)數(shù)據(jù)包的轉(zhuǎn)發(fā)建立在數(shù)據(jù)鏈路層信息 - MAC地址的基礎(chǔ)之上;使用ASIC進(jìn)來實(shí)現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā)。
基本流程

  • 二層交換機(jī)收到以太網(wǎng)幀,把源MAC地址與接收端口的映射關(guān)系寫入MAC表;MAC表表項(xiàng)采取一定的老化更新機(jī)制,超時(shí)不更新就會(huì)刪除這條記錄;
  • 依據(jù)目的MAC地址去查找MAC地址表:如果找到匹配項(xiàng),則往對(duì)應(yīng)端口轉(zhuǎn)發(fā);如果MAC地址是廣播地址,則向所有端口轉(zhuǎn)發(fā);如果沒有找到匹配項(xiàng),則向所有端口轉(zhuǎn)發(fā);

二層交換機(jī)可以隔離沖突域但是無法隔離廣播域,所以就出現(xiàn)了二層交換中VLAN技術(shù)

1.2. 支持VLAN的二層交換機(jī)

IEEE802.1Q標(biāo)準(zhǔn)在原來的以太網(wǎng)源MAC地址的后面加入了4個(gè)字節(jié)的VLAN Tag,里面包含了如下內(nèi)容

  • Type:固定值為0x8100,用來表示VLAN Tag;
  • User Priority(3 bit):用戶優(yōu)先級(jí),用于流量等級(jí)劃分;
  • Flag(1 bit):以太網(wǎng)中固定取0;
  • VLAN-ID:取值為0 ~ 4095,用于標(biāo)識(shí)不同的VLAN.

通常情況下主機(jī)發(fā)出的報(bào)文都是不帶VLAN Tag的(untagged),這個(gè)時(shí)候就需要把這個(gè)報(bào)文劃分到某個(gè)VLAN中去:

  • 基于端口劃分,最為常用,通過收到的報(bào)文端口來決定這個(gè)untagged 報(bào)文屬于哪個(gè)VLAN;交換機(jī)負(fù)責(zé)添加VLAN Tag,然后進(jìn)行轉(zhuǎn)發(fā);
  • 基于MAC劃分;
  • 基于IP劃分;

如果報(bào)文本身帶VLAN Tag,那就依據(jù)VLAN ID來決定怎么轉(zhuǎn)發(fā)。一個(gè)可能的組網(wǎng)結(jié)構(gòu)


兩個(gè)交換機(jī)之間的連接稱為一個(gè)Trunk,Trunk上傳遞的報(bào)文都是攜帶了VLAN tag的,這樣接收端的交換就知道該往哪個(gè)VLAN進(jìn)行轉(zhuǎn)發(fā)

1.3. 三層交換機(jī)

1.3.1. 不同網(wǎng)絡(luò)的主機(jī)之間如何互訪

這里的不同網(wǎng)絡(luò),指的是處于不同網(wǎng)段的兩個(gè)主機(jī)(利用網(wǎng)絡(luò)掩碼計(jì)算之后具有相同的網(wǎng)絡(luò)段號(hào));舉個(gè)例子來說一下,網(wǎng)絡(luò)掩碼設(shè)置成255.255.255.0,這個(gè)時(shí)候假設(shè)A主機(jī)是192.168.1.100,B主機(jī)是192.168.1.101,C主機(jī)是192.168.2.100。那么A主機(jī)和B主機(jī)屬于同一個(gè)網(wǎng)絡(luò)段(局域網(wǎng)),C主機(jī)則屬于另一個(gè)網(wǎng)絡(luò)段。

  • A主機(jī)要往B主機(jī)發(fā)起通信時(shí),發(fā)現(xiàn)和B在同一網(wǎng)絡(luò)端;那么A主機(jī)會(huì)直接向目的主機(jī)發(fā)送ARP請(qǐng)求,收到對(duì)端的ARP應(yīng)答后獲取對(duì)方的物理層MAC地址;然后填寫對(duì)方的MAC地址到報(bào)文的目的地址中進(jìn)行發(fā)送,這個(gè)時(shí)候用于互聯(lián)的交換機(jī)作為二層轉(zhuǎn)發(fā)。
  • A主機(jī)要往C主機(jī)發(fā)起通信時(shí),發(fā)現(xiàn)和C不在一個(gè)網(wǎng)絡(luò)段;首先會(huì)通過網(wǎng)關(guān)來遞交報(bào)文,發(fā)送ARP請(qǐng)求來獲取網(wǎng)關(guān)(比如說192.168.1.1)的MAC地址進(jìn)行報(bào)文發(fā)送

1.3.2. 三層交換的原理

  1. 先看一張組網(wǎng)圖


A要向B發(fā)起通信,流程如下

  • A首先檢查出目的IP和自己不在同一網(wǎng)段,發(fā)出請(qǐng)求網(wǎng)關(guān)地址192.168.1.1的MAC地址的ARP請(qǐng)求;
  • 交換機(jī)收到請(qǐng)求后,發(fā)現(xiàn)被請(qǐng)求的IP是自己的三層接口的IP,因此發(fā)送ARP應(yīng)答返回自己的MAC地址(C.C.C)給主機(jī)A;同時(shí)記錄主機(jī)A的IP和MAC的映射表到自己的ARP表項(xiàng)中;
  • 主機(jī)A收到應(yīng)答之后,組裝ICMP請(qǐng)求報(bào)文并發(fā)送;報(bào)文的目的MAC地址是交換機(jī)的MAC地址,目的IP還是192.168.2.100;
  • 交換機(jī)收到報(bào)文后,首先更新MAC地址表(依據(jù)源MAC地址);然后查找MAC地址表(依據(jù)目的MAC地址),會(huì)發(fā)現(xiàn)匹配MAC地址的表項(xiàng)(三層交換機(jī)為VLAN配置了三層接口IP后會(huì)在地址表中添加三層接口的MAC+VID表項(xiàng)),表明需要進(jìn)行三層轉(zhuǎn)發(fā);
  • 交換芯片(ASIC)依據(jù)報(bào)文的目的IP去查找其三層表項(xiàng),這個(gè)時(shí)候會(huì)查找失??;報(bào)文送到CPU去進(jìn)行軟件處理;
  • CPU依據(jù)報(bào)文的目的IP去查找軟件路由表,發(fā)現(xiàn)匹配了一個(gè)直連網(wǎng)段(主機(jī)B的網(wǎng)段);于是繼續(xù)查找軟件ARP表(IP和MAC的映射),依舊失??;
  • 交換機(jī)會(huì)在目的網(wǎng)段對(duì)應(yīng)的VLAN 3的所有端口發(fā)送請(qǐng)求地址192.168.2.100的ARP請(qǐng)求;收到PC B的回復(fù)后,更新ARP表;
  • 這個(gè)時(shí)候交換機(jī)會(huì)修改報(bào)文,把目的MAC地址修改成PC B的MAC地址;同時(shí)更新交換芯片的三層表項(xiàng)(IP、MAC、出口VLAN、出口端),這樣,后續(xù)的PC A到PC B的報(bào)文就可以直接通過硬件轉(zhuǎn)發(fā)了。

整個(gè)流程就是一次路由(建立三層硬件表項(xiàng)),多次交換的原理實(shí)現(xiàn)了轉(zhuǎn)發(fā)性能與三層交換的結(jié)合。

  1. 再看另一張組網(wǎng)圖



    假設(shè)交換機(jī)1上配置了靜態(tài)路由:ip route 192.168.2.0 255.255.255.0 10.0.0.2;同時(shí)交換機(jī)2上也配置了靜態(tài)路由ip route 192.168.1.0 255.255.255.0 10.0.0.1
    數(shù)據(jù)轉(zhuǎn)發(fā)的流程和之前組網(wǎng)的類似,區(qū)別如下:

  • 交換機(jī)1把報(bào)文發(fā)送到CPU處理的時(shí)候,會(huì)查找軟件路由表,發(fā)現(xiàn)匹配路由192.168.2.0/24,下一跳的IP是10.0.0.2;
  • 由于這個(gè)時(shí)候還沒有對(duì)應(yīng)的10.0.0.2的ARP信息,所以會(huì)在VLAN4內(nèi)發(fā)送ARP請(qǐng)求,得到回應(yīng)后更新ARP信息;
  • 接著數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給交換機(jī)2;

1.4. ARP廣播

ARP是address resolution protocol的縮寫,是通過解析IP地址來獲取MAC地址的一個(gè)網(wǎng)絡(luò)傳輸協(xié)議。

1.5. 橋接(Network Bridge)

功能上和集線器類似,用于連接網(wǎng)段的設(shè)備;但是集線器工作與物理層,橋接器工作與數(shù)據(jù)鏈路層,功能和網(wǎng)絡(luò)交換機(jī)類似。網(wǎng)橋可以看作是一個(gè)端口較少的交換機(jī)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容