網(wǎng)絡(luò)中數(shù)據(jù)包及路由表是怎么轉(zhuǎn)發(fā)數(shù)據(jù)的,一分鐘了解下
一、路由表
當(dāng)frame到達(dá)路由器的接口以后,路由器檢查frame中的目標(biāo)地址,如果目標(biāo)地址為路由器的接口的地址或廣播地址的時(shí)候,路由器把、packet從frame中剝離出來(lái),傳遞給Network Layer,然后packet中的目標(biāo)地址將被檢查,接下來(lái)還要檢查protocol字段,最后再發(fā)送給合適的進(jìn)程。如果packet是可路由的,路由器會(huì)查找自己的路由表尋找相應(yīng)的路由條目。
1. 路由表中的兩個(gè)重要要素:
- 目標(biāo)地址,這個(gè)地址是路由器能夠到達(dá)的地址,
- 到達(dá)目標(biāo)地址的指向,這個(gè)指向也就是所謂的next hop(下一跳)
2. 路由器在地址匹配過(guò)程中按最大程度進(jìn)行匹配,地址按精確程度遞減的排列
- 主機(jī)地址
- 子網(wǎng)
- 匯總(summary)地址
- 主網(wǎng)絡(luò)號(hào)
- 超網(wǎng)(supernet)
- 默認(rèn)(default)地址
如果在地址匹配過(guò)程中,不能和路由表中任何條目所匹配,packet將被丟棄。
【一個(gè)名為 Destination Unreachable(目標(biāo)不可達(dá))的ICMP信息將發(fā)回給源地址】
二、靜態(tài)路由配置
- 為每條鏈路確定地址(包括子網(wǎng)地址和網(wǎng)絡(luò)地址)
- 為每個(gè)路由器,標(biāo)識(shí)非直連的鏈路地址
- 為每個(gè)路由器寫出未直連的地址的路由語(yǔ)句(寫出直連地址的語(yǔ)句是沒(méi)必要的)
- Piglet(config)#ip route 192.168.1.0 255.255.255.224 192.168.1.193
- Piglet(config)#ip route 192.168.1.64 255.255.255.224 192.168.1.193
- Piglet(config)#ip route 10.4.6.0 255.255.255.0 192.168.1.193
- Piglet(config)#ip route 10.4.7.0 255.255.255.0 192.168.1.193
設(shè)置一條管理距離稍大于正常使用的一條靜態(tài)路由,如下,將一條路由的管理距離設(shè)置為 50,這樣正常使用的這條鏈路 down 掉后,被設(shè)置為浮動(dòng)路由的備份鏈路啟用
- Piglet(config)#ip route 10.4.7.0 255.255.255.0 192.168.1.193 50
均衡負(fù)載可以是基于目標(biāo)地址或者是基于每個(gè)packet的所謂機(jī)遇目標(biāo)地址的均衡負(fù)載,是說(shuō)假如有兩條到達(dá)目標(biāo)地址的路徑,那么第一個(gè)packet將通過(guò)第一條鏈路到達(dá)第一個(gè)目標(biāo)設(shè)備,第二個(gè)packet將通過(guò)第二條鏈路到達(dá)第二個(gè)目標(biāo)設(shè)備,第三個(gè)packet又將通過(guò)第一條鏈路到達(dá)第三個(gè)目標(biāo)設(shè)備等等,以次類推.當(dāng) Cisco 路由器工作在默認(rèn)的交換模式,Fast Switching(快速交換)模式下,就使用這種類型的均衡負(fù)載
4. Fast Switching 的工作原理:
當(dāng)路由器對(duì)第一個(gè) packet 進(jìn)行發(fā)往目標(biāo)地址的處理的時(shí)候,先查看路由表和選擇出口接口,然后獲取組成frame的信息(比如ARP表的查詢)并進(jìn)行封裝,然后傳輸。之前獲取的這些路由和數(shù)據(jù)鏈路信息將被保存在快速交換的 cache 中。
接下來(lái),當(dāng)有要到達(dá)和第一個(gè)包相同的目標(biāo)地址的包的時(shí)候,就可以不進(jìn)行路由表和 ARP 表的查詢,直接對(duì) packet 進(jìn)行交換。
快速交換降低了 CPU 的占用和處理時(shí)間,并意味著去往某個(gè)目標(biāo)地址的 packet 都從相同的路由器接口被路由出去。當(dāng)有到達(dá)同一網(wǎng)絡(luò)不同主機(jī)的 packet,路由器可能會(huì)把這些 packet 通過(guò)另外一條鏈路進(jìn)行路由。
因此,路由器能做的最好的就是給予目標(biāo)地址的均衡負(fù)載所謂基于基于 packet 的均衡負(fù)載,是說(shuō)假如有 2 條到達(dá)目標(biāo)地址的路徑,那么第一個(gè) packet 將通過(guò)第一條鏈路到達(dá)目標(biāo)設(shè)備,第二個(gè)packet將通過(guò)第二條鏈路到達(dá)目標(biāo)設(shè)備,第三個(gè)packet又將通過(guò)第一條鏈路到達(dá)目標(biāo)設(shè)備等等,以次類推(這里考慮的是等價(jià)的均衡負(fù)載)。