一圖搞懂路由器的工作原理
大家好,我是IT售前工程師Bernie。
路由器是最常見的網(wǎng)絡(luò)設(shè)備了,小到十幾塊錢的消費(fèi)級路由器,大到幾十萬的企業(yè)級路由器,不一而足。本文將用一張流程圖,詳細(xì)介紹路由器的工作原理。
我們知道路由器有兩種接口,一種是LA口,一種是WAN口。
LAN口可以有多個用來接家庭網(wǎng)絡(luò)設(shè)備,比如臺式機(jī)、手機(jī)、筆記本,其中手機(jī)和筆記本是通過WiFi連接到路由器的設(shè)備也相當(dāng)于連接到了LAN口上。
WAN口只有一個用來接入運(yùn)營商網(wǎng)絡(luò),已連接到互聯(lián)網(wǎng)中。如果把路由器的WAN口忽略,只用LAN口,其實(shí)路由器就是一臺交換機(jī)。
路由器的原理
TCP/IP協(xié)議規(guī)定:在計(jì)算機(jī)網(wǎng)絡(luò)中,同一個子網(wǎng)中的設(shè)備,是可以通過該子網(wǎng)的網(wǎng)關(guān)直接通信的。但是,不同子網(wǎng)之間是不可以直接通信的!如果要通信,需要通過網(wǎng)關(guān)來進(jìn)行轉(zhuǎn)達(dá)。每個網(wǎng)關(guān)上都有兩張網(wǎng)卡,分別配置了屬于兩個子網(wǎng)的IP地址,可以在兩個網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)數(shù)據(jù)包,這樣我們就擁有了一個連接了兩個子網(wǎng)的網(wǎng)絡(luò)。
我們來舉一個簡單的例子,來說明數(shù)據(jù)在路由轉(zhuǎn)發(fā)中的步驟。
第1步:子網(wǎng)一中的一臺計(jì)算機(jī)a發(fā)送數(shù)據(jù)包,數(shù)據(jù)包中包含了源ip1目標(biāo)ip2;
第2步:計(jì)算機(jī)a會根據(jù)目標(biāo)IP判斷是否跟自己屬于同一個子網(wǎng),如果是同一個子網(wǎng),則直接從網(wǎng)卡發(fā)出。
第3步:如果不是同一個子網(wǎng),則需要把數(shù)據(jù)包的目標(biāo)mac地址改為網(wǎng)關(guān)mac,然后發(fā)送給網(wǎng)關(guān)。
第4步:網(wǎng)關(guān)拿到這一包數(shù)據(jù)后,再通過路由表查詢到這一包數(shù)據(jù)屬于子網(wǎng)二。
第5步:網(wǎng)關(guān)修改目標(biāo)Mac地址為計(jì)算機(jī)b的Mac地址,修改源mac為自己的Mac,
第6步:數(shù)據(jù)從子網(wǎng)二的網(wǎng)卡發(fā)出,到ip2所對應(yīng)的計(jì)算機(jī)b。
以上出現(xiàn)了多次根據(jù)目標(biāo)IP判斷數(shù)據(jù)包應(yīng)該如何發(fā)送的行為,我們就稱之為路由行為。
路由器有一個wan口接入互聯(lián)網(wǎng),多個LAN口接入本地網(wǎng)絡(luò),他們就分別屬于兩個不同的子網(wǎng),所以從內(nèi)網(wǎng)訪問互聯(lián)網(wǎng)就是跨網(wǎng)絡(luò)的行為,這時候就需要路由器來擔(dān)任網(wǎng)關(guān)的角色,他的行為就叫路由。