在闡述這幾張表之前涧尿,有必要先說(shuō)明一下:
1、交換機(jī)工作在數(shù)據(jù)鏈路層
說(shuō)明:本文出現(xiàn)的交換機(jī)指的都是二層交換機(jī)檬贰,帶路由功能的三層交換機(jī)不在討論范圍
2姑廉、路由器工作在網(wǎng)絡(luò)層
3、交換機(jī)有MAC地址表翁涤,無(wú)ARP表桥言,MAC地址表一般存在在交換機(jī)中
4、一般情況下葵礼,計(jì)算機(jī)和路由器既有ARP表号阿,也有路由表
MAC地址表詳解
? ? ? MAC地址表:在交換機(jī)中,存有一張記錄局域網(wǎng)主機(jī)MAC地址與交換機(jī)接口的對(duì)應(yīng)關(guān)系的表鸳粉,交換機(jī)就是依據(jù)這張表將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定的目標(biāo)主機(jī)上扔涧。通過(guò)下面的闡述,你會(huì)對(duì)mac地址表有所了解届谈。
上面是交換機(jī)枯夜、主機(jī)A以及主機(jī)B的連接圖,主機(jī)A向主機(jī)B發(fā)送數(shù)據(jù)幀的詳細(xì)過(guò)程如下:
1艰山、主機(jī)A將一個(gè)數(shù)據(jù)幀發(fā)送給交換機(jī)湖雹,其中源MAC地址為MAC_A,目標(biāo)MAC地址為MAC_B曙搬。
2摔吏、交換機(jī)收到此數(shù)據(jù)幀后,首先將數(shù)據(jù)幀中的源MAC地址MAC_A和對(duì)應(yīng)的接口(接口1)?記錄到MAC地址表中纵装。
3舔腾、然后,交換機(jī)會(huì)檢查自己的MAC地址表中是否有MAC_B的信息搂擦。如果有稳诚,則從MAC地址表記錄的接口2發(fā)送出去;如果沒(méi)有瀑踢,則會(huì)將此數(shù)據(jù)幀從非接收接口(接口1)的所有接口發(fā)送出去扳还。
4、這時(shí)橱夭,局域網(wǎng)中所有主機(jī)都會(huì)收到此數(shù)據(jù)幀氨距,但是只有主機(jī)B收到此數(shù)據(jù)幀時(shí)會(huì)響應(yīng)這個(gè)廣播,并回應(yīng)一個(gè)數(shù)據(jù)幀棘劣,此數(shù)據(jù)幀中包含主機(jī)B的MAC地址MAC_B俏让。
5、當(dāng)交換機(jī)收到主機(jī)B回應(yīng)的數(shù)據(jù)幀后,也會(huì)記錄數(shù)據(jù)幀中的源MAC地址(也就是MAC_B)和對(duì)應(yīng)接口到MAC表中首昔,此時(shí)寡喝,交換機(jī)就可以把主機(jī)A發(fā)過(guò)來(lái)的數(shù)據(jù)幀發(fā)送給主機(jī)B了。數(shù)據(jù)幀的源MAC地址為交換機(jī)的MAC地址勒奇,目標(biāo)MAC地址是MAC_B预鬓。
ARP緩存表詳解
? ? ? 上面我們講解了交換機(jī)的工作原理,知道交換機(jī)是通過(guò)MAC地址通信的赊颠,但是我們是如何獲得目標(biāo)主機(jī)的MAC地址呢格二?這時(shí)我們就需要使用ARP協(xié)議了。ARP協(xié)議是工作在網(wǎng)絡(luò)層的協(xié)議竣蹦,它負(fù)責(zé)將IP地址解析為MAC地址顶猜。在每臺(tái)主機(jī)中都有一張ARP表,它記錄著主機(jī)的IP地址和MAC地址的對(duì)應(yīng)關(guān)系痘括。還是利用上面的圖來(lái)進(jìn)行闡述长窄。
1、如果主機(jī)A想發(fā)送數(shù)據(jù)給主機(jī)B远寸,主機(jī)A首先會(huì)檢查自己的ARP緩存表抄淑,查看是否有主機(jī)B的IP地址和MAC地址的對(duì)應(yīng)關(guān)系屠凶。如果有驰后,則會(huì)將主機(jī)B的MAC地址作為源MAC地址封裝到數(shù)據(jù)幀中。如果沒(méi)有矗愧,主機(jī)A則會(huì)發(fā)送一個(gè)ARP請(qǐng)求信息灶芝,請(qǐng)求的目標(biāo)IP地址是IP_B,目標(biāo)MAC地址是MAC地址的廣播幀(即FF-FF-FF-FF-FF-FF)唉韭,源IP地址為IP_A夜涕,源MAC地址是MAC_A。
2属愤、當(dāng)交換機(jī)收到此數(shù)據(jù)幀之后女器,發(fā)現(xiàn)此數(shù)據(jù)幀是廣播幀,因此住诸,會(huì)將此數(shù)據(jù)幀從非接收接口的所有接口發(fā)送出去驾胆。
3、當(dāng)主機(jī)B收到此數(shù)據(jù)幀后贱呐,會(huì)校對(duì)目標(biāo)IP地址是否是自己丧诺,當(dāng)發(fā)現(xiàn)是目標(biāo)地址是自己,會(huì)將主機(jī)A的IP地址和MAC地址的對(duì)應(yīng)關(guān)系記錄到自己的ARP緩存表中奄薇,同時(shí)會(huì)發(fā)送一個(gè)ARP應(yīng)答驳阎,其中包括自己的MAC地址。
4、主機(jī)A在收到這個(gè)回應(yīng)的數(shù)據(jù)幀之后呵晚,在自己的ARP緩存表中記錄主機(jī)B的IP地址和MAC地址的對(duì)應(yīng)關(guān)系蜘腌。而此時(shí)交換機(jī)已經(jīng)學(xué)習(xí)到了主機(jī)A和主機(jī)B的MAC地址了。
路由表詳解
? ? ? ?路由器負(fù)責(zé)不同網(wǎng)絡(luò)之間的通信劣纲,它是當(dāng)今網(wǎng)絡(luò)中的重要設(shè)備逢捺,可以說(shuō)沒(méi)有路由器就沒(méi)有當(dāng)今的互聯(lián)網(wǎng)。在路由器中有一張路由表癞季,記錄著到不同網(wǎng)段的信息劫瞳。路由表中的信息分為直連路由和非直連路由。
直連路由:是直接連接在路由器接口的網(wǎng)段绷柒,由路由器自動(dòng)生成志于。
非直連路由:不是直接連接在路由器接口上的網(wǎng)段,此記錄需要手動(dòng)添加或者是使用動(dòng)態(tài)路由生成废睦。
? ? ? ?路由表中記錄的條目有的需要手動(dòng)添加(稱為靜態(tài)路由)伺绽,有的需要?jiǎng)討B(tài)獲取的(稱為動(dòng)態(tài)路由)。直連路由屬于靜態(tài)路由嗜湃。
? ? ? ?路由器是工作在網(wǎng)絡(luò)層的奈应,在網(wǎng)絡(luò)層可以識(shí)別邏輯地址。當(dāng)路由器的某個(gè)接口收到一個(gè)包時(shí)购披,路由器會(huì)讀取包中相應(yīng)的目標(biāo)的邏輯地址的網(wǎng)絡(luò)部分杖挣,然后在路由表中進(jìn)行查找。如果在路由表中找到目標(biāo)地址的路由條目刚陡,則把包轉(zhuǎn)發(fā)到路由器的相應(yīng)接口惩妇,如果在路由表中沒(méi)有找到目標(biāo)地址的路由條目,那么筐乳,如果路由配置默認(rèn)路由歌殃,就科舉默認(rèn)路由的配置轉(zhuǎn)發(fā)到路由器的相應(yīng)接口;如果沒(méi)有配置默認(rèn)路由蝙云,則將該包丟棄氓皱,并返回不可到達(dá)的信息。這就是數(shù)據(jù)路由的過(guò)程勃刨。
如下圖:詳細(xì)介紹路由器的工作原理
1波材、HostA在網(wǎng)絡(luò)層將來(lái)自上層的報(bào)文封裝成IP數(shù)據(jù)包,其中源IP地址為自己朵你,目標(biāo)IP地址是HostB各聘,HostA會(huì)用本機(jī)配置的24位子網(wǎng)掩碼與目標(biāo)地址進(jìn)行“與”運(yùn)算,得出目標(biāo)地址與本機(jī)不是同一網(wǎng)段抡医,因此發(fā)送HostB的數(shù)據(jù)包需要經(jīng)過(guò)網(wǎng)關(guān)路由A的轉(zhuǎn)發(fā)躲因。
2早敬、HostA通過(guò)ARP請(qǐng)求獲取網(wǎng)關(guān)路由A的E0口的MAC地址,并在鏈路層將路由器E0接口的MAC地址封裝成目標(biāo)MAC地址大脉,源MAC地址是自己搞监。
3、路由器A從E0可接收到數(shù)據(jù)幀镰矿,把數(shù)據(jù)鏈路層的封裝去掉琐驴,并檢查路由表中是否有目標(biāo)IP地址網(wǎng)段(即192.168.2.2的網(wǎng)段)相匹配的的項(xiàng),根據(jù)路由表中記錄到192.168.2.0網(wǎng)段的數(shù)據(jù)請(qǐng)發(fā)送給下一跳地址10.1.1.2秤标,因此數(shù)據(jù)在路由器A的E1口重新封裝绝淡,此時(shí),源MAC地址是路由器A的E1接口的MAC地址苍姜,封裝的目標(biāo)MAC地址則是路由器2的E1接口的MAC地址牢酵。
4、路由B從E1口接收到數(shù)據(jù)幀衙猪,同樣會(huì)把數(shù)據(jù)鏈路層的封裝去掉馍乙,對(duì)目標(biāo)IP地址進(jìn)行檢測(cè),并與路由表進(jìn)行匹配垫释,此時(shí)發(fā)現(xiàn)目標(biāo)地址的網(wǎng)段正好是自己E0口的直連網(wǎng)段砌些,路由器B通過(guò)ARP廣播朴下,獲知HostB的MAC地址柒昏,此時(shí)數(shù)據(jù)包在路由器B的E0接口再次封裝末购,源MAC地址是路由器B的E0接口的MAC地址,目標(biāo)MAC地址是HostB的MAC地址茫船。封裝完成后直接從路由器的E0接口發(fā)送給HostB琅束。
5扭屁、此時(shí)HostB才會(huì)收到來(lái)自HostA發(fā)送的數(shù)據(jù)算谈。
總結(jié):路由表負(fù)責(zé)記錄一個(gè)網(wǎng)絡(luò)到另一個(gè)網(wǎng)絡(luò)的路徑,因此路由器是根據(jù)路由表工作的料滥。
至此然眼,三張表介紹完畢。