快速理解NAT技術的使用

2021-09-03 01:39:15 字數 1461 閱讀 1644

答案:不是。

我們都知道,ipv4中的ip位址的數量是有限的(

所以現在都在搞ipv6嘛

),每次把一部分位址分配出去,那麼就意味著能夠用來分配的ip位址就更少了,而且隨著現在手機,電腦等的快速發展,如果每個手機或者電腦都要求乙個ip位址,那麼顯然ip位址是不夠用的。

為了解決這個問題,我們可以採取這樣的策略:例如對於乙個公司來說,每個公司都會有乙個屬於自己公司的內網(也可以稱之為區域網)。

內網(學名應叫區域網(local area network,lan))是在乙個區域性的地理範圍內,一般可以是是幾公尺內(比如家庭內網),也可以是方圓幾千公尺以內(比如乙個大學內網),將各種計算機、外部裝置和資料庫等互相聯接起來組成的計算機通訊網。

內網主要作用有:

2)傳輸速率高:內網之間的電腦因為沒有外網網路拓撲的複雜性,所以互相通訊的網路可以很快,比如從乙個臺電腦向另一台電腦複製乙個幾g的檔案可能只需要數十秒時間。

3)誤位元速率低:因為通訊距離很近,所以誤位元速率很低,換句話說就是網路很穩定(老一點的程式設計師都知道,讀大學的時候同乙個宿舍內網聯網玩c/s遊戲,幾乎不會遇到斷網或卡頓的事情,除非有人下毛片或者把網路給拔了,哈哈)。

假如我們給這個公司a分配了乙個ip=192.168.1.1。我們把這個ip作為這個公司內網的閘道器吧。

在公司a的內網裡面有3臺電腦,如果這三颱電腦要上網的話,我們需要給他分配乙個ip,那麼就像上一節提到的:我們一定需要去申請3個ip位址來使用嗎?

答否。我們不一定需要去申請3個ip的,在我們這個內網裡,我們可以指定自己的規則,例如,我們可以給這三颱電腦隨便分配三個ip(請注意,這三個ip不是去申請的,而且我自己隨意給它分配的)。分別分配電腦a = 192.168.1.2   電腦b = 192.168.1.3 電腦c = 192.168.1.4。

而這個規則可以由我們的內網閘道器來管理,就像下面這樣:

這種方法位址的對映轉換,我們也稱之為網路位址轉換,英文為 network address translation,簡稱nat。

所以,乙個典型的內網訪問公網的原理,就像下圖這樣就可以實現了:

《快速理解nat技術的使用》

《快速理解p2p技術中的 nat穿透》

《快速理解p2p技術中的 stun協議》

《p2p技術:nat穿越(打洞)方案詳解》

使用TCP協議的NAT穿透技術

要了解如何使用tcp穿透nat,就要首先看看如何使用udp穿透nat。假設,我們在兩個不同的區域網後面分別有2臺客戶機a和 b,ab所在的區域網都分別通過乙個路由器接入網際網路。網際網路上有一台伺服器s。現在a b是無法直接和對方傳送資訊的,a b都不知道對方在網際網路上真正的ip和埠,ab所在的區...

使用TCP協議的NAT穿透技術

其實很早我就已經實現了使用tcp協議穿透nat了,但是苦於一直沒有時間,所以沒有寫出來,現在終於放假有一點空閒,於是寫出來共享之。一直以來,說起nat穿透,很多人都會被告知使用udp打孔這個技術,基本上沒有人會告訴你如何使用tcp協議去穿透 甚至有的人會直接告訴你tcp協議是無法實現穿透的 但是,眾...

使用TCP協議的NAT穿透技術

實很早我就已經實現了使用tcp協議穿透nat了,但是苦於一直沒有時間,所以沒有寫出來,現在終於放假有一點空閒,於是寫出來共享之。一直以來,說起nat穿透,很多人都會被告知使用udp打孔這個技術,基本上沒有人會告訴你如何使用tcp協議去穿透 甚至有的人會直接告訴你tcp協議是無法實現穿透的 但是,眾所...