NAT、代理服務、內網穿透

NAT、代理服務、內網穿透

  • 1、NAT
    • 1.1、NAT過程
    • 1.2、NAPT
  • 2、內網穿透
  • 3、內網打洞
  • 3、代理服務器
    • 3.1、正向代理
    • 3.2、反向代理

1、NAT

1.1、NAT過程

之前我們討論了IPv4協議中IP地址數量不充足的問題。NAT技術是當前解決IP地址不夠用的主要手段,是路由器的一個重要功能。
NAT能夠將私有IP對外通信時轉為全局IP。也就是就是一種將私有IP和全局IP相互轉化的技術方法。
很多學校,家庭,公司內部采用每個終端設置私有IP,而在路由器或必要的服務器上設置全局IP。
全局IP要求唯一,但是私有IP不需要。在不同的局域網中出現相同的私有IP是完全不影響的。

在這里插入圖片描述
如圖,客戶端A要給服務器發送消息,源地址就是客戶端A的IP地址10.0.0.10,目標地址為163.221.120.9,然后客戶端A拿著目標地址與自己所在子網的子網掩碼進行按位與,客戶端A也不知道這個IP地址是哪的,但是可以肯定的是絕對不在當前子網中,所以轉發給路由器。路由器再轉發給服務器,但是內網IP是不能出現在公網上的,所以將源地址替換成路由器的WAN口地址202.244.174.37,而路由器的10.0.0.1稱為LAN口地址。替換后轉發給服務器,將來服務器應答的時候,源地址為163.221.120.0,目標地址為202.244.174.37。但是應答到了路由器之后怎么再轉發給客戶端A我們還不知道。
對原始報文中的源IP地址進行替換,替換成途徑路由器的WAN口IP的過程,我們稱之為NAT(Network Address Translation)網絡地址轉換。


1.2、NAPT

在這里插入圖片描述
客戶端A給服務器發數據,源IP+端口為10.0.0.10:1025,目的IP+端口為163.221.120.9:80,首先判斷目標IP不在當前子網,轉發給路由器,路由器在進行源IP替換的時候,還會構建一張NAPT轉換表。左邊是源IP+源端口和目的IP+目的端口。右邊也是如此,只不過第一行的源IP+源端口替換成路由器的了。所以路由器對報文中的源IP+端口進行替換,還會形成如圖所示的映射關系,然后轉發給服務器。而由于第一次建立了映射關系,之后主機A再發送給服務器到達路由器這里直接進行查表替換源IP地址即可。

左側源IP標識了客戶端A所在子網中唯一一臺主機,源端口標識了該主機上的唯一一個進程。然后目的IP標識了全網唯一一臺主機,目的端口標識了目的主機上的唯一一個進程。所以左側整個部分是唯一的。右側源IP+源端口也是具有唯一性,目的IP+目的端口同樣如此,所以右側整個部分也是唯一的。左側和右側都是一個四元組,并且都具有唯一性。左側和右側是互為鍵值的一組映射關系。

服務器收到后要做響應,源IP地址+端口為163.221.120.8:80,目的IP地址+端口為202.244.174.37:1025,所以服務器先轉發給路由器,路由器收到后根據這四元組反向再查NAPT,將目的IP地址+端口替換為10.0.0.10:1025,然后進行內網轉發,轉發給客戶端A。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901813.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901813.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901813.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

利用互斥鎖或者利用邏輯過期解決緩存擊穿問題

緩存擊穿問題概述 緩存擊穿是指某個 熱點數據緩存過期 時,大量并發請求直接穿透緩存,同時訪問數據庫,導致數據庫壓力驟增甚至崩潰。以下是基于 互斥鎖 和 邏輯過期 的解決方案: 一、緩存擊穿的核心原因 熱點數據失效&#xff1a…

Vue3組合式API內核解析:從原子狀態到企業級架構

一、組合邏輯原子化設計 1.1 狀態管理層級拓撲 1.2 組合單元類型對照表 類型典型實現適用場景復用維度UI邏輯單元useForm/useTable表單/列表交互100%跨項目復用業務邏輯單元useOrderFlow訂單流程控制同項目跨模塊設備能力單元useGeolocation地理位置獲取跨技術棧復用狀態管理…

新生宿舍管理系統

收藏關注不迷路!! 🌟文末獲取源碼數據庫🌟 感興趣的可以先收藏起來,還有大家在畢設選題(免費咨詢指導選題),項目以及論文編寫等相關問題都可以給我留言咨詢,希望幫助更多…

從零上手GUI Guider學習LVGL——Button

視頻教程請關注我b站:同學_好好學習,這里只是做相應的筆記文稿 從零上手GUI Guider學習LVGL——Buttton 前言: 首先我們為什么要學習LVGL設計工具呢? 1 降低開發難度 2 提高開發效率 所以我們需要學習一款合適的設計工具 在b站很少…

【AAOS】【源碼分析】Car UX Restrictions

AAOS UX的核心理念:安全駕駛是駕駛員的首要責任。汽車制造商和應用程序開發人員的所有設計都必須反映這一優先事項。 AAOS平臺允許設備制造商(OEM)對不同駕駛狀態下的限制進行定制。 駕駛員分心指南 只有符合Driver Distraction Guidelines的應用才可以在駕駛過程中運行。…

jvm調優工具arthas(阿爾薩斯)安裝與使用---實踐

jvm調優工具arthas(阿爾薩斯)安裝與使用—實踐 Arthas 是Alibaba開源的Java診斷工具,深受開發者喜愛。 當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決: 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception…

機器學習期末

選擇題 以下哪項不是機器學習的類型? A. 監督學習 B.無監督學習 C.半監督學習 D.全監督學習 D 哪一個是機器學習的合理定義? A、機器學習是計算機編程的科學 B、機器學習從標記的數據中學習 C、機器學習是允許機器人智能行動的領域 D、機器學習能使計算機能夠在…

3DMAX粒子流樣條線生成器PFSpliner使用方法詳解

3DMAX粒子流樣條線生成器,是一款功能強大且富有創意的工具。它能夠為“粒子流源”的每一個粒子生成專屬的動畫樣條線,這些樣條線描繪出粒子在空間中的運動軌跡,就如同為粒子繪制出了一條條獨特的“運動地圖”。更為出色的是,這些樣…

Maven中clean、compil等操作介紹和Pom.xml中各個標簽介紹

文章目錄 前言Maven常用命令1.clean2.vaildate3.compile4.test5.package6.verify7.install8.site9.deploy pom.xml標簽詳解格式<?xml version"1.0" encoding"UTF-8"?>(xml版本和編碼)modelVersion&#xff08;xml版本&#xff09;groupId&#xff…

Centos7.6安裝JDK 1.8教程

前提&#xff1a;先把jdk1.8文件上傳到usr/local目錄下&#xff0c;文件名如&#xff1a;jdk-8u151-linux-x64.tar.gz 1. 解壓 JDK 壓縮包 假設 jdk-8u151-linux-x64.tar.gz 文件位于 /usr/local 目錄下。 進入 /usr/local 目錄&#xff1a; cd /usr/local 解壓文件&#…

EuroCropsML:首個面向少樣本時間序列作物分類的多國基準數據集

2025-04-15&#xff0c;由慕尼黑工業大學等機構創建的 EuroCropsML 數據集&#xff0c;這是一個結合了農民報告的作物數據與 Sentinel-2 衛星觀測的時間序列數據集&#xff0c;覆蓋了愛沙尼亞、拉脫維亞和葡萄牙。該數據集為解決遙感應用中作物類型數據空間不平衡問題提供了新的…

將python項目打包成Windows后臺服務

前文,我開發了一個基于windows11與本地deepseek實現的語音助手,之前是通過CMD直接執行項目的main.py文件。但是這樣不適合移植,現在想將其生成一個exe文件,以及部署成windows的后臺服務。 關于語音助手的開發與發布,可以看的CSDN文章:一個基于windows11與本地deepseek實…

yolov8復現

Yolov8的復現流程主要包含環境配置、下載源碼和驗證環境三大步驟&#xff1a; 環境配置 查看電腦狀況&#xff1a;通過任務管理器查看電腦是否有獨立顯卡&#xff08;NVIDIA卡&#xff09;。若有&#xff0c;后續可安裝GPU版本的pytorch以加速訓練&#xff1b;若沒有&#xff0…

Yocto項目實戰教程 · 第4章:4.1小節元數據

&#x1f50d; B站相應的視頻教程&#xff1a; &#x1f4cc; Yocto項目實戰教程-第4章-4.1小節-元數據 記得三連&#xff0c;標為原始粉絲。 在嵌入式Linux系統構建中&#xff0c;Yocto項目憑借其高度模塊化、可配置的特性成為主流工具。而其背后的關鍵支撐之一&#xff0c;便…

《AI大模型應知應會100篇》第23篇:角色扮演技巧:讓AI成為你需要的專家

第23篇&#xff1a;角色扮演技巧&#xff1a;讓AI成為你需要的專家 摘要 在當今人工智能快速發展的時代&#xff0c;大模型已經不僅僅是簡單的問答工具&#xff0c;它們可以通過角色扮演技巧模擬各類專家身份&#xff0c;從而為用戶提供更專業、更有針對性的服務。本文將深入探…

Windows系統安裝RustDesk Server的詳細步驟和客戶端設置

Windows系統安裝RustDesk Server的詳細步驟 在Windows系統上安裝RustDesk Server涉及幾個關鍵步驟,包括安裝必要的依賴、下載RustDesk Server程序、配置并啟動服務。以下是詳細的步驟: 1. 安裝Node.js和PM2 RustDesk Server的某些版本可能需要Node.js環境來運行,而PM2是一…

如何實現一個構造函數繼承另一個構造函數的屬性和方法?給出ES5和ES6兩種方式

在 JavaScript 中&#xff0c;構造函數繼承可以通過 原型鏈 和 構造函數調用 實現。以下是 ES5 和 ES6 的實現方式&#xff1a; ES5 實現方式 關鍵步驟 繼承實例屬性&#xff1a;在子構造函數中調用父構造函數的 call/apply&#xff0c;綁定 this。繼承原型方法&#xff1a;將…

AWS Redshift的使用場景及一些常見問題

Redshift 不是關系型數據庫, 提供了Amazon Redshift Serverless 和 Amazon Redshift 都是構建于 Redshift 數倉引擎之上的&#xff0c;但它們適用的場景不同。Redshift和Dynamodb都可以存儲數據, 分別怎么選擇? 這里記錄一些常見的問題和場景。 1. 如何選擇用Amazon Redshift…

十五種光電器件綜合對比——《器件手冊--光電器件》

十五、光電器件 名稱 原理 特點 應用 發光二極管&#xff08;LED&#xff09; 基于半導體材料的電致發光效應&#xff0c;當電流通過時&#xff0c;電子與空穴復合&#xff0c;釋放出光子。 高效、節能、壽命長、響應速度快、體積小。 廣泛用于指示燈、照明、顯示&#…

Electricity Market Optimization(VI) - 機組組合模型以及 Gurobi 求解

本文參考鏈接&#xff1a;link \hspace{1.6em} 機組組合問題在電力系統中非常重要&#xff0c;這個問題也是一個優化問題&#xff0c;研究的就是如何調度現有的機組&#xff0c;調度的對象是以煤炭、石油、天然氣為燃料的火力發電機以及水力發電機等可預測處理的發電機組&#…