炸了,为什么某高速网络总是二层通三层不通?
一、背景介紹
?
某高速收費站網絡拓撲如下圖所示:?
?
每個站點使用不同的IP地址段,站點A是一臺三層交換機,站點B通過一臺二層交換與站點A相連,且站點A,B的網關位于三層交換機的vlanif接口上,R3,R4通過vlanif出口訪問外網。?
此時現場新增一個需求:要求R3增加一個172.16.107.0/24網段地址與R4之間能夠通過二層通信,且R3上新增的IP地址也能通過網關訪問外網
?
二、需求分析
?
首先想到在R3的g/0/1接口上增加一個Secondary地址
[R3-GigabitEthernet0/0/1]display this
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 192.168.174.1 255.255.255.0
ip address 172.16.107.1 255.255.255.0 sub
#
return
此時R3上的192.168.174.1與172.16.107.1的IP使用相同的MAC地址?
由于又要讓172.16.107.0/24網段間二層通信,就想到了使用hybrid端口,此時網絡配置如下圖所示:?
?
配置完后,進行ping測試,結果如下:?
192.168.174.1/24能ping通vlanif174?
172.16.107.1/24能ping通172.16.107.2/24?
172.16.107.1/24不能ping通vlanif107?
172.16.107.2/24能ping通vlanif107?
通過上述結果能發現新增的讓172.16.107.1地址二層通信正常,但三層不通
?
三、問題定位
1.為什么172.16.107.1能ping通172.16.107.2卻無法ping通172.16.107.254,這就要從通信過程說起,當用172.16.107.1 ping 172.16.107.254時發生如下:
Ping 172.16.107.254時,根據路由表最長匹配原則,將會使用172.16.107.1 做為源IP地址
用目的IP地址(172.16.107.254)與自己的掩碼做與運算,得出目的IP與自己在同一網段,進行ARP廣播
由于路由器上的三層接口沒有配置802.1Q,此時ARP廣播包以純以太網幀形式發送
ARP廣播包進入SW1時,打上接口PVID,并在vlan 174中進行廣播,而vlanif 107屬于vlan 107,所以ARP廣播無法被接收,自然也不會回復,通信失敗?
那為什么172.16.107.1能ping通172.16.107.2,繼續往下看(前4步一樣,不做贅述):
由于在SW1內沒有查到172.16.107.2的mac地址,SW1進行泛洪,ARP廣播通過trunk到達SW2
SW2此時也沒有172.16.107.2的mac地址,同樣在所有接口進行泛洪
數據包離開SW2時,由于hybrid口設置的untag 174,所以脫掉tag后R4能夠正常接收并響應
四、解決方法
從g0/0/1接口刪除172.16.107.1,將其添加到子接口,并進行dot1q封裝
[R3]int g0/0/1
[R3]undo ip address 172.16.107.1 255.255.255.0 sub
[R3]int g0/0/1.107
[R3-GigabitEthernet0/0/1.107]dot1q termination vid 107
華為設備子接口默認抑制ARP廣播,需要手動開啟
[R3-GigabitEthernet0/0/1.107]arp?broadcast?enable
在SW1的入方向,允許vlan 107通過
[SW1-Ethernet0/0/1]port?hybrid?tagged?vlan?107
至此所有操作完成
總結
以上是生活随笔為你收集整理的炸了,为什么某高速网络总是二层通三层不通?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不会还有人不会配置LLDP链路层发现协议
- 下一篇: 这些 Linux 的 “自动化” 技巧,