1、MAC定義
MAC稱為硬體位址,是網路中裝置的唯一標識符,共48 bit。例如,我無線MAC位址是8C-A9-82-96-F7-66
在系統裡的展現形式是由16進位組成的6組數位組合。例如開頭位的8C 為 8__c 換成2進位位數為 4X2=8位, 8X6=48位。 擴充內容:該位址是全球唯一的,沒有重複的MAC位址,如果有重複的MAC位址出現在交換網路中,那是必定有環路,環路現象則會造成時通是不通或根本不通。
2、區域網路內PC通訊(IP與MAC)
世界上有一個東西叫電腦,電腦上有LOL,CF,哈哈。 IT世界是多麼偉大能讓你玩上一種叫遊戲的東西。 PC之間的通訊方式主要取決於硬體的存在和MAC位址和IP位址的使用。
範例:我們擁有一台交換器、2台PC、如何讓這兩台PC進行通訊?那就很簡單,PC配兩個同一網段的位址
lap0: 192.168.1.1/24 lap1:192.168.1.2/24
1>拓樸單獨兩台PC掛到同一交換器VLAN1
2>lap0與lap1互ping
3>lap0為什麼能跟lap1通信?
(1)兩台lap在同一網段內 (2)在同一VLAN內 (3)PC端透過ARP協定解析到IP與MAC之間的關係。在lap0上已經過arp -a 查詢到lap1 192.168.1.2 的MAC與IP映射關係,所以他們之間才能通訊。那麼反之lap1上也必然能學到lap0的MAC與IP位址。
3、ARP協定介紹
上面所說的挺熱鬧,現在介紹下ARP,即普通但又非常重要的協定。 ARP 英文全名為:Address resolution protocol ,位址解析協議,ARP為IP與MAC提供動態映射,過程自動完成。當PC發出通訊請求時,根據協定規定,它的目的位址必然是48bit的MAC位址的。 MAC並不能和IP直接去通訊。那就需我們的ARP協定來做對應的轉換工作。 如下摘自TCP/IP卷1僅供參考
#如上在乙太網路內環境:
1>lap0要想和lap1進行通信,則需要把32位元的IP位址轉換為48位元的MAC位址。
2>ARP協定屬於廣播網絡,ARP會把自身的請求訊息以廣播形式廣播到以網中。
3>lap1收到廣播要求後,回覆lap0自身的IP與MAC位址。雙方都建立起對應關係
4、交換器MAC對應關係
PC之間的通訊需要透過2層交換器來實現,除了使用ARP協定以外。另外,交換器每個連接埠本身都有一個MAC位址。當lap0 去ping lap1時,lap0的請求訊框到達交換器後會對其進行一個記錄,記錄下MAC位址,再把該請求轉送到lap1。這樣一個來回的請求,就把MAC對應表關係建立起來了。二層交換器只記錄MAC與連接埠對應關係,一般情況下2層交換器只是做高速交換,當然如果有特殊需求也可根據MAC做一系列的限制類別、綁定類別的操作。
MAC與連接埠對應:
5、網關下MAC、ARP資訊
1>在接取交換器再上連一台核心,加入閘道|192.168.1.254/24。
2>我們先來分析一下:
#1、先交換器之間互聯,連接埠之間彼此學習彼此之間的埠位址
2、lap0 與lap1 ping請求包到達網關,核心交換器建立MAC位址表(動態)
3、同時,建立起ARP表項,因為網關是不同網段之間通訊的介面
4、檢視核心、核心交換器的MAC位址表。
在核心學習中,lap0和lap1的MAC位址,以及存取交換器互聯埠的MAC位址都被學習到了。接取交換器MAC位址表:MAC學習到兩台PC的MAC,同時也學習到核心交換器板載MAC位址以及連網埠位址表。如下圖:
核心交換器show mad add
存取交換器show mac add
核心交換器show arp,含有IP列、逾時時間、MAC位址、所屬VLAN,這些資訊對我們排錯來說特別有幫助。 H3C和華為的ARP資訊表與思科的基本相似,雖然存在一些微小差異,但整體內容並不會有太大差別。
6、實作篇ARP欺騙問題處理
#如果乙太網路採用DHCP自動取得IP位址,那麼啟用dhcp snooping會對安全性進行監測,問題不會太多。如果使用靜態IP,那麼就很容易出現ARP***、ARP欺騙等麻煩的問題。一旦了解了它的工作原理,解決這類問題就會變得特別容易。
我遇到的狀況比較簡單,某一網段下的伺服器,時通時不通。經過溝通,排除了可能是網路結構問題,並確認了服務單網卡沒有進行網卡綁定,核心實行HSRP來接入雙上行冗餘。首先對環路進行排除、查看核心生成樹狀態正常、交換器CPU使用率正常、與伺服器所在接取交換器互聯埠廣播包並無突發大流量的包,環路排除。其次在伺服器下方查看ARP表項,發現伺服器網關ARP條目異常,MAC位址並不是網關的的MAC。
這是一種ARP詐欺行為,即電腦中存在病毒,它將偽裝成網關並不斷發送廣播包,聲稱是網關,要求將所有資料包轉發到它這裡。這樣就會有時斷時通的情況。接下來我們就要揪出這台中毒的機器,
1>網關下show mac-add | in mac 看其從哪個互聯端口過來並找到該端口下的接入交換機
2>找到該台接入交換機,繼續查找具體到哪個連接埠 show mac-add | in mac
3>找到該機器,斷網、殺毒或重半系統,並可啟用360的ARP防火牆,避免類似事件發生。
但最主要的還是防毒。
4>如果遇到類似傻HUB的那種老的3COM交換機,則需要手工來排除了。
說這麼多,其實就是ARP欺騙解決就是中毒機器定位。
以上是怎麼深入學習ARP協議的詳細內容。更多資訊請關注PHP中文網其他相關文章!