0x01 端口映射
什么是端口映射呢?端口映射就是將外網(wǎng)IP映射到內(nèi)網(wǎng)IP,使得外網(wǎng)用戶通過訪問這個(gè)外網(wǎng)IP就能夠獲得對應(yīng)的內(nèi)網(wǎng)服務(wù)器的服務(wù),這么說可能比較抽象,下面會(huì)說的更詳細(xì)一些。
如上面我畫的圖片,這里假設(shè)內(nèi)網(wǎng)用戶訪問百度。那么這里正常來說內(nèi)網(wǎng)用戶是無法訪問處于外網(wǎng)的百度服務(wù)器的,但是譬如校園網(wǎng),明明是在局域網(wǎng)內(nèi),但是為什么還是可以訪問百度呢?這里就用到了端口映射了。
實(shí)際上,我們所處的內(nèi)網(wǎng)中,通常有一個(gè)“出口”,就是網(wǎng)關(guān),它可能是路由器,或者交換機(jī)之類的東西,而他通過端口映射來讓我們訪問外網(wǎng)。具體地說:
拿路由器為例,路由器至少有兩種類型的插口,一個(gè)LAN口,一個(gè)WAN口,大家可以那一個(gè)路由器看一看,這里L(fēng)AN口是連我們自己的電腦的,而WAN口,在家里的話就是連寬帶的那根線,那么我們的電腦就是在內(nèi)網(wǎng)中了——一個(gè)由路由器形成的內(nèi)網(wǎng)環(huán)境。當(dāng)我們要訪問百度的時(shí)候,實(shí)際上路由器中會(huì)形成一個(gè)端口映射關(guān)系,就像圖中那樣,我們的內(nèi)網(wǎng)IP對應(yīng)外網(wǎng)IP的一個(gè)端口,不同的端口可以使得很多內(nèi)網(wǎng)用戶與外網(wǎng)做映射,這樣就形成了一一對應(yīng)的關(guān)系了,因此訪問百度的時(shí)候,百度也就可以知道誰訪問了它,然后將響應(yīng)返回給內(nèi)網(wǎng)用戶。
而當(dāng)外網(wǎng)用戶想要訪問內(nèi)網(wǎng)服務(wù)器的時(shí)候,也是用過端口映射關(guān)系,通過訪問外網(wǎng)IP加特定的端口,就可以直接訪問到跟那個(gè)端口有映射關(guān)系的內(nèi)網(wǎng)IP了。
0x02 端口映射分類
端口映射可以分為兩類,動(dòng)態(tài)映射、靜態(tài)映射。感覺關(guān)系有點(diǎn)像DHCP分配IP地址一樣,動(dòng)態(tài)的就是當(dāng)映射關(guān)系會(huì)在一方關(guān)機(jī)之后,下次再連接的時(shí)候,映射關(guān)系會(huì)改變。
而靜態(tài)端口映射就是綁定了映射關(guān)系,就算關(guān)機(jī)重啟之后綁定的關(guān)系還是不會(huì)變的。