写给非网工的CCNA教程(7)通过VLAN连接实现同网段通信
? ? 上文中,我們詳細介紹了在LAN上啟用VLAN后,LAN內(nèi)部交換機的處理機制有何不同,本文就以一個例子來詳細分析下。
? ? 如上圖所示,我們分析下PC-A通過SW-A、SW-B和SW-C發(fā)數(shù)據(jù)到PC-F,中間各臺交換機是如何處理數(shù)據(jù)的。
1 PC-A ---> SW-A
? ? PC-A準備發(fā)送數(shù)據(jù)給PC-F,根據(jù)PC-F的目的IP地址查找路由表,發(fā)現(xiàn)Gateway為On-link,說明PC-F與自己在同一個網(wǎng)段。
? ? 于是查找ARP表,但是沒有找到PC-F對應(yīng)的MAC地址,因此發(fā)送ARP廣播,詢問整個網(wǎng)絡(luò)中PC-F的IP地址對應(yīng)的MAC地址是多少。
2 SW-A ---> SW-B? ?
? ? SW-A從Gi0/1口收到PC-A發(fā)來的ARP廣播請求,注意此時的ARP廣播沒有帶vlan tag,一般情況下我們的終端設(shè)備發(fā)出來的數(shù)據(jù)都不會帶有vlan tag,除非特殊配置。
? ? SW-A的Gi0/1口收到此untag的ARP廣播后,根據(jù)自己端口配置【Access口,Access VLAN為10】判斷,接收此數(shù)據(jù),并且給此ARP廣播請求打上vlan tag 10,然后交給轉(zhuǎn)發(fā)引擎。同時根據(jù)數(shù)據(jù)的源MAC【PC-A的MAC地址】、來源端口【Gi0/1】和來源端口所屬的VLAN【VLAN 10】,在MAC表中新增PC-A對應(yīng)的表項。
? ? SW-A轉(zhuǎn)發(fā)引擎收到帶有vlan tag 10的ARP廣播,并且識別出目的MAC是廣播地址,于是從加入到vlan 10的所有端口上轉(zhuǎn)發(fā)此廣播。沒有加入到vlan 10的端口Gi0/2,不會收到此廣播,連在此端口上的PC-B也就不會受到此廣播的影響。
? ? 加入到vlan 10的端口除了數(shù)據(jù)來源端口Gi0/1以外,還有Gi0/21。Gi0/21口除了加入了vlan 10以外,還加入了vlan 20,因此也可以收到vlan tag 20的ARP廣播。
? ? SW-A的Gi0/21口收到帶有vlan tag 10的ARP廣播后,根據(jù)端口配置【Trunk口,allowed vlan為10和20,port vlan為默認的1】,判斷出此廣播的vlan tag在allowded vlan列表里,且不同于port vlan,因此直接把帶有vlan tag 10的ARP廣播請求轉(zhuǎn)發(fā)出去。
3 SW-B ---> SW-C
? ? SW-B的Gi0/21口收到帶有vlan tag 10的ARP廣播后,根據(jù)端口配置【Trunk口,allowed vlan為10和20,port vlan為默認的1】,判斷出此廣播的vlan tag在allowded vlan列表里,接收此廣播并給轉(zhuǎn)發(fā)引擎。同時根據(jù)數(shù)據(jù)的源MAC【PC-A的MAC地址】、來源端口【Gi0/21】和數(shù)據(jù)的vlan tag【vlan 10】,在MAC表中新增PC-A對應(yīng)的表項。
? ? SW-B的轉(zhuǎn)發(fā)引擎收到帶有vlan tag 10的ARP廣播,并且識別出目的MAC是廣播地址,于是從加入到vlan 10的所有端口上轉(zhuǎn)發(fā)此廣播。沒有加入到vlan 10的端口Gi0/1和Gi0/2,不會收到此廣播,連在此端口上的PC-C和PC-D也就不會受到此廣播的影響。
? ? 加入到vlan 10的端口除了數(shù)據(jù)來源端口Gi0/21以外,還有Gi0/22。Gi0/22口除了加入了vlan 10以外,還加入了vlan 30,因此也可以收到vlan tag 30的ARP廣播。
? ? SW-B的Gi0/22口收到帶有vlan tag 10的ARP廣播后,根據(jù)端口配置【Trunk口,allowed vlan為10和30,port vlan為默認的1】,判斷出此廣播的vlan tag在allowded vlan列表里,且不同于port vlan,因此直接把帶有vlan tag 10的ARP廣播請求轉(zhuǎn)發(fā)出去。
4 SW-C ---> PC-F? ??
? ? SW-C的Gi0/22口收到帶有vlan tag 10的ARP廣播后,根據(jù)端口配置【Trunk口,allowed vlan為10和30,port vlan為默認的1】,判斷出此廣播的vlan tag在allowded vlan列表里,接收此廣播并給轉(zhuǎn)發(fā)引擎。同時根據(jù)數(shù)據(jù)的源MAC【PC-A的MAC地址】、來源端口【Gi0/22】和數(shù)據(jù)的vlan tag【vlan 10】,在MAC表中新增PC-A對應(yīng)的表項。
? ? SW-C的轉(zhuǎn)發(fā)引擎收到帶有vlan tag 10的ARP廣播,并且識別出目的MAC是廣播地址,于是從加入到vlan 10的所有端口上轉(zhuǎn)發(fā)此廣播。沒有加入到vlan 10的端口Gi0/2,不會收到此廣播,連在此端口上的PC-E也就不會受到此廣播的影響。
? ? 加入到vlan 10的端口除了數(shù)據(jù)來源端口Gi0/22以外,還有Gi0/2。
? ? SW-C的Gi0/2口收到帶有vlan tag 10的ARP廣播后,根據(jù)端口配置【Access口,Access VLAN為10】,發(fā)現(xiàn)此廣播的vlan tag與access vlan id一樣,于是剝掉此數(shù)據(jù)的vlan tag,再轉(zhuǎn)發(fā)出去。
5 PC-F ---> SW-C ---> SW-B ---> SW-A ---> PC-A
? ? 連到SW-C的Gi0/2口的PC-F會收到的ARP廣播,并且是untag的ARP廣播。解封裝后,發(fā)現(xiàn)ARP廣播載荷里面的Target IP Address為自己的IP地址,因此會回復(fù)此ARP廣播,即回復(fù)ARP Reply包。
? ? ARP Reply包是單播報文,源MAC是PC-F的MAC地址,目的MAC地址為PC-A的MAC地址。
? ? ARP Reply報文沿途會經(jīng)過SW-C、SW-B、SW-A直到最終目的地PC-A。沿途中的三臺交換機一旦收到PC-F的ARP Reply報文,就會把PC-F的MAC表項加到自己的MAC表。
? ? 同時三臺交換機會根據(jù)報文的目的MAC【PC-A的MAC地址】、報文所帶的vlan tag【vlan 10】,查找自己MAC表,找到剛剛生產(chǎn)的PC-A的表項,把數(shù)據(jù)從指定的端口轉(zhuǎn)發(fā)出去,此時不用廣播,因在MAC表中可以找到PC-A對應(yīng)的表項。
總結(jié)
以上是生活随笔為你收集整理的写给非网工的CCNA教程(7)通过VLAN连接实现同网段通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1238):Vue调试工具使用
- 下一篇: 将PDG文件转化为PDF文件