端口轉(zhuǎn)發(fā)什么原理?WAN,LAN區(qū)別?私有IP和公有IP區(qū)別?

2021-02-05    分類: 網(wǎng)站建設(shè)

對(duì)于我們網(wǎng)絡(luò)開發(fā)的人員來說,經(jīng)常會(huì)用到TCP,UDP協(xié)議,但是通常情況下,是在局域網(wǎng)內(nèi)的協(xié)議交互通信??赡銈冇邢脒^嗎?如果是涉及到內(nèi)網(wǎng)和外網(wǎng)的交互呢?也就是說局域網(wǎng)和公網(wǎng)是怎么 交互呢?

假設(shè)有兩臺(tái)主機(jī)A和B,他們分別處于不同的局域網(wǎng)下,他們的局域網(wǎng)IP都是192.168.1.2。在同一個(gè)時(shí)刻,他們都訪問百度服務(wù)器,那作為百度服務(wù)器是怎么分別回復(fù)這兩臺(tái)主機(jī)的呢?或者是服務(wù)器怎么區(qū)分A和B呢?


公有地址(Public address):由 Inter NIC(因特網(wǎng)信息中心)負(fù)責(zé)。這些 IP 地址分配給注冊并向Inter NIC提出申請的組織機(jī)構(gòu),公有 IP 全球唯一,通過它直接訪問因特網(wǎng)(直接能上網(wǎng))。主要有A、B、C、D、E五類地址:

  1. A類:地址范圍是1.0.0.0 到 127.255.255.255,主要分配 給大量主機(jī)而局域網(wǎng)網(wǎng)絡(luò)數(shù)量較少的大型網(wǎng)絡(luò);
  2. B類:地址范圍是128.0.0.0 到191.255.255.255,一般用于國際性大公司和政府機(jī)構(gòu);
  3. C類:地址范圍是192.0.0.0 到223.255.255.255,用于一般小公司校園網(wǎng)研究機(jī)構(gòu)等;
  4. D類:地址范圍是224.0.0.0 到 239.255.255.255,用于特殊用途,又稱做廣播地址;
  5. E類:地址范圍是240.0.0.0 到255.255.255.255,暫時(shí)保留。

私有地址(Private address):屬于非注冊地址,專門為組織機(jī)構(gòu)內(nèi)部使用,說白了,私有 IP 不能直接上網(wǎng)。主要有A、B、C三類,A類地址范圍是10.0.0.0-10.255.255.255 ,B類地址范圍是172.16.0.0-172.31.255.255,C類地址范圍是192.168.0.0-192.168.255.255。

127.0.0.0 到127.255.255.255 為系統(tǒng)環(huán)回地址。

而我們平時(shí)通過運(yùn)營商(主要是電信、移動(dòng)、聯(lián)通寬帶等)上網(wǎng),通過家用路由器之后,就會(huì)變成私有IP,大家可能會(huì)疑問,我們可以上網(wǎng)啊,怎么會(huì)是私有 IP 呢?

其實(shí)我們不是通過私有IP上網(wǎng)的,是通過公有IP。通俗的講,運(yùn)營商有公有IP,但是IPV4下IP資源有限,所以這些IP不能每個(gè)人分配單獨(dú)分配一個(gè)IP,所以需要?jiǎng)討B(tài)給上網(wǎng)的用戶。 這個(gè)過程有點(diǎn)類似于,我們買了一些筆,然后將這些筆分給全班學(xué)生使用,當(dāng)然運(yùn)行商動(dòng)態(tài)分配公有IP的過程比這個(gè)復(fù)雜多了。

所以A和B的IP相同是很正常的一件事情,但是對(duì)于百度服務(wù)器來說,它并不關(guān)心對(duì)方的私有IP是什么,它也不知道,它只知道訪問它的肯定是公有IP。

那問題來了,還是老問題,既然最終訪問百度服務(wù)器是公有IP,那A和B私有IP到公有IP的轉(zhuǎn)換怎么完成的呢?當(dāng)他們同時(shí)訪問百度服務(wù)器的時(shí)候,百度服務(wù)器如何區(qū)分哪個(gè)是 A,哪個(gè)是 B 呢?


  • 端口映射是將一臺(tái)主機(jī)的內(nèi)網(wǎng)(LAN)IP地址映射成一個(gè)公網(wǎng)(WAN)IP地址,當(dāng)用戶訪問提供映射端口主機(jī)的某個(gè)端口時(shí),服務(wù)器將請求轉(zhuǎn)移到本地局域網(wǎng)內(nèi)部提供這種特定服務(wù)的主機(jī)
  • 利用端口映射功能還可以將一臺(tái)外網(wǎng)IP地址機(jī)器的多個(gè)端口映射到內(nèi)網(wǎng)不同機(jī)器上的不同端口。
  • 端口映射功能還可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等協(xié)議。理論上可以提供65535(總端口數(shù))-1024(保留端口數(shù))=64511個(gè)端口的映射。
    • 思路:既然端口映射可以將一臺(tái)外網(wǎng) IP 地址機(jī)器多個(gè)端口映射到內(nèi)網(wǎng)中不同機(jī)器上的不同端口。那當(dāng)用戶訪問外網(wǎng) IP 的這個(gè)端口時(shí),服務(wù)器自動(dòng)將請求映射到對(duì)應(yīng)局域網(wǎng)內(nèi)部的機(jī)器上。

      比如,我們在內(nèi)網(wǎng)中有一臺(tái)主機(jī),但是外網(wǎng)中的用戶是沒有辦法直接訪問該服務(wù)器的。于是我們可以在路由器上設(shè)置一個(gè)端口映射,只要外網(wǎng)用戶訪問路由器ip的80端口,那么路由器會(huì)把自動(dòng)把流量轉(zhuǎn)到內(nèi)網(wǎng)主機(jī)的80端口上。并且,在路由器上還存在一個(gè)Session,當(dāng)內(nèi)網(wǎng)服務(wù)器返回?cái)?shù)據(jù)給路由器時(shí),路由器能準(zhǔn)確的將消息發(fā)送給外網(wǎng)請求用戶的主機(jī)。在這過程中,路由器充當(dāng)了一個(gè)反向代理的作用,他保護(hù)了內(nèi)網(wǎng)中主機(jī)的安全。


      我們平時(shí)上網(wǎng)的過程就是先經(jīng)過路由器,然后通過寬帶,最終通過運(yùn)營商的轉(zhuǎn)換最終到web服務(wù)器的,返回的數(shù)據(jù)先到運(yùn)營商那邊,然后再把數(shù)據(jù)發(fā)送到用戶的主機(jī)上。

      我們都知道路由器有兩個(gè)端口: LAN 口,WAN 口。

      WAN:接外部 IP 地址用,通常指的是出口,轉(zhuǎn)發(fā)來自內(nèi)部 LAN 接口的 IP 數(shù)據(jù)包。

      LAN:接內(nèi)部 IP 地址用,LAN 內(nèi)部是交換機(jī)。我們可以不連接 WAN 口,把路由器當(dāng)做普通交換機(jī)來使用。

      下面我們來看看到底怎么通信的。為了便于理解,我們把運(yùn)營商當(dāng)做一個(gè) NAT 設(shè)備。


      為了方便大家理解,我們把 IP 的轉(zhuǎn)化方向反過來分析(準(zhǔn)確來說,公網(wǎng)轉(zhuǎn)局域網(wǎng))。

      A 主機(jī)IP 是私有 IP(192.168.1.2),該IP是從路由器的 LAN口分配的。暫不討論是如何獲取的,這涉及到自動(dòng)獲取還是手動(dòng)分配的。

      當(dāng)我們訪問百度服務(wù)器的時(shí)候,經(jīng)過路由器的 wan口,進(jìn)行相應(yīng)的IP、端口轉(zhuǎn)化:192.168.1.2:80 -> 10.221.0.24:8080,所以,從 wan口出去的地址為:10.221.0.24:8080。


      通過10.221.0.24:8080能訪問外網(wǎng)嗎?顯然不行,因?yàn)檫€是私有IP。還需要一個(gè)步驟:轉(zhuǎn)換為公網(wǎng)IP。

      經(jīng)過運(yùn)營商,運(yùn)營商那邊會(huì)做相應(yīng)的端口映射(而且是動(dòng)態(tài)端口映射),子網(wǎng) IP(10.221.0.24:8080)轉(zhuǎn)化為公網(wǎng) IP(128.0.0.1:9999),通過這個(gè)公網(wǎng) IP 去訪問百度服務(wù)器。


      同理,B 也是一樣的過程。通過這樣的層層端口映射,最終保證地址(IP + 端口)的唯一性。A 和 B 訪問百度服務(wù)器,盡管它們的局域網(wǎng) IP 是一樣的,但是最終它們訪問百度的地址(IP + 端口)是唯一的,所以,百度服務(wù)器回復(fù)時(shí),原路返回時(shí)能夠區(qū)分到底給誰回。

      當(dāng)前文章:端口轉(zhuǎn)發(fā)什么原理?WAN,LAN區(qū)別?私有IP和公有IP區(qū)別?
      網(wǎng)頁路徑:http://www.muchs.cn/news26/99376.html

      成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序企業(yè)建站、手機(jī)網(wǎng)站建設(shè)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)

      廣告

      聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

      網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司