三個(gè)月前寫過(guò)一篇文章,,討論主機(jī)與路由器接口是否可以配置為同一個(gè)網(wǎng)段??墒悄瞧恼掠懻摰母嗟氖秦?fù)載均衡的內(nèi)容,。今天文章的重點(diǎn)討論為何路由器(Router)與主機(jī)(Host)有題目中的差別。 假設(shè)Linux主機(jī)有兩個(gè)網(wǎng)卡:- Linux主機(jī)Ping 10.1.1.10,Linux主機(jī)會(huì)使用10.1.1.10為源IP地址,,10.1.1.10為源IP地址通信,,對(duì)應(yīng)網(wǎng)卡A。
- Linux主機(jī)Ping 10.1.1.20,,Linux主機(jī)會(huì)使用10.1.1.20為源IP地址,,10.1.1.20為源IP地址通信,對(duì)應(yīng)網(wǎng)卡B,。
- Linux主機(jī)Ping 10.1.1.1,,可能使用10.1.1.10為源IP地址,也可能使用10.1.1.20為源IP地址,,目的IP=10.1.1.1,。
- Linux主機(jī)Ping 8.8.8.8,可能使用10.1.1.10為源IP地址,,也可能使用10.1.1.20為源IP地址,,目的IP=8.8.8.8。
無(wú)論如何,,以上通信場(chǎng)景1,、2都可以正常通信,。關(guān)于場(chǎng)景3、4,,如果網(wǎng)卡A與網(wǎng)卡B雖然是一個(gè)網(wǎng)段,,但并不是一個(gè)網(wǎng)絡(luò)。采用負(fù)載均衡訪問(wèn)10.1.1.1 或者8.8.8.8,,可能也會(huì)有問(wèn)題,。即使有問(wèn)題,這也僅僅影響Linux這一臺(tái)主機(jī),,誰(shuí)讓你兩個(gè)網(wǎng)卡相同網(wǎng)段,,但是卻不在同一個(gè)網(wǎng)絡(luò)的?但是路由器就不同了,,如果路由器發(fā)生了以上歧義,就會(huì)影響過(guò)路的,、要去目的IP = 10.1.1.0/24的所有流量,。影響面太大,所以不能聽(tīng)之任之,。 當(dāng)Router收到一個(gè)IP報(bào)文,,源IP =X.X.X.X,目的IP = 10.1.1.10時(shí),,Router會(huì)怎么處理呢,?Router由于有兩條路由10.1.1.0/24 分別指向A接口、B接口,,而且它們的metric也是相同的,,所以依據(jù)默認(rèn)負(fù)載均衡的策略,可能會(huì)這么路由處理:如果A,、B接口連接的是相同的網(wǎng)絡(luò),,那么無(wú)論是以上三種情況中的哪一種,IP報(bào)文都會(huì)順利到達(dá)10.1.1.10,。如果A,、B接口連接的是不同的網(wǎng)絡(luò),IP報(bào)文都會(huì)順利到達(dá)10.1.1.10主機(jī)的概率為33%,。當(dāng)講到概率33%的時(shí)候,,如果我不解釋,有很多讀者會(huì)不理解這33%是怎么來(lái)的,,這可以看以前的文章,。專業(yè)的網(wǎng)絡(luò)設(shè)備生產(chǎn)商認(rèn)為33%概率是無(wú)法接受的。因?yàn)橛肋h(yuǎn)不要對(duì)使用網(wǎng)絡(luò)設(shè)備人員有過(guò)高的期望,。為了將概率提高到100%,,路由器設(shè)備商,,做了以下的硬性限制:路由器的接口不能使用同一個(gè)網(wǎng)段地址,以免造成歧義,。為了遵守這個(gè)硬性規(guī)定,,讓我們將路由器的接口修改一下:當(dāng)Router收到一個(gè)IP報(bào)文,源IP =X.X.X.X,,目的IP = 10.1.1.10時(shí),,Router會(huì)怎么處理呢?很簡(jiǎn)單,,走A接口,。路由器這樣的硬性規(guī)定,其實(shí)只是為了簡(jiǎn)化配置,,方便排錯(cuò),。并沒(méi)有太多的技術(shù)含量。
|