IP的基礎知識以及相關機制

?


IP地址

1.IP地址的概念

? ? ? ? IP地址是分配給連接到互聯網或局域網中的每一個設備的唯一標識符

? ? ? ? 也就是說IP地址是你設備在網絡中的定位~

2.IP版本~

IP版本分為IPv4和IPv6,目前我們最常用的還是IPv4~~但是IPv4有個缺點就是地址到現在為止,已經接近枯竭~~,但是又由于引入NAT機制,從而減緩了IP地址的損耗,至于NAT機制的原理~~先不著急,下面還是先解釋一下什么是IPv4和IPv6~

1).IPv4

IPv4是IP最常見的一種格式~

使用4組數字,每組0~255,期間用逗號隔開~例如:192.168.0.1(點分十進制)

那么為什么使用點分十進制表示~~

因為IP地址本質上是由32位二進制數構成的。由于這個數量偏大,人們不好進行觀察~

每8位數字換算成十進制數,兩個十進制數之間用.號來進行隔開~

IPv4地址的數量

又因為IPv4是由32位二進制構成~所以IP地址的數量為 2 ^ 32 =4,294, 967,296.也就是接近42.9億個地址~

對于我們來說這個地址數量是非常大的~~,但是對于全球這些地址數量就太少了~全球的人數遠超這個IP地址的數量~~~ (現在的全球人數估計約等于82億)?

IP地址是上網的通行證~,沒有IP地址你是上不了網的~~所以如果這樣說的話,將近40億人無法上網。為了解決這個問題,引入了NAT技術(治標不治本)和IPv6(直接治本)~。那我就說說什么是NAT技術~~


3.NAT機制

知識的引入:

局域網和廣域網的概念

局域網:

? ? ? ? 局域網是在相對較小的范圍內連接的計算機網絡

? ? ? ? 例如:家庭,校園,公司等~

特點:1.使用私有IP地址

? ? ? ? ? ? 2.網絡速度較快

? ? ? ? ? ? 3.范圍小


廣域網

? ? ? ? 廣域網是覆蓋較大的網絡,可以連接不同城市、國家、甚至全球的網絡~~

? ? ? ? 互聯網就是廣域網的一種~

特點:1.使用公有IP地址?

? ? ? ? ? ? 2.相對于局域網,速度較慢

? ? ? ? ? ? 3.范圍大g

公有IP地址和私有IP地址

公有IP地址:

? ? ? ? 在網絡上唯一,由網絡服務提供商來進行分配

私有IP地址:

? ? ? ? 用于局域網內的,不能再互聯網上直接使用~~

?

常見的私有IP地址:192.168.x.x 、10.x.x.x、172.16.0.0 ~ 172.31.255.255?~

特殊的IP地址


?

除了私有的IP地址和特殊的IP地址,剩下的就都是公網IP地址了~~

那么什么是NAT機制?

NAT通常是讓多臺設備(局域網)共享一個IP地址。它通常工作在路由器上,把局域網每臺設備的私有IP轉換成一個公有IP地址,共同使用這個IP地址來進行上網

?

畫了一張圖來幫你理解下!

這張圖是有問題的?

每臺局域網的設備都被轉換成了唯一的公網IP去訪問服務器,那這個服務器返回的響應應該怎么返回回到局域網發送請求的客戶端呢?

其實這時候路由器就發送了作用~~

路由器記錄了被替換前的IP,替換后的IP、服務器IP 、源端口號、目的端口號等~~

注意:端口號既可以區分同一臺主機中的不同進程,也可以區分不同主機的不同進程

?

正確的圖,我只是舉了一個簡單的例子~~👇

?

那么如果局域網中的端口號相同,應該怎么辦?

此時路由器也會對端口號來進行映射~

這就是基本的NAT機制~~

NAT只是改變了地址的利用率,并沒有實際增加了地址數量,因此我門引入了IPv6.


2)IPv6

為什么說IPv6增加了地址的數量

IPv6是由128位二進制組成~~換算下來

IP地址數量:2^128 約等于340萬億億億億個。可見這個地址數量是非常龐大~

IPv6的格式

用冒號分成 8 組,每組是 4 個十六進制數字

例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334


那你們是不是有個疑問?為什么IPv6沒有被全面推廣

推廣IPv6,從簡單地來說,就是增加了地址數量,而且推廣IPv6,硬件也要進行相應得更新(支持IPv6),這樣下來成本就會很高,但不會帶來實際得經濟效益~~~所以目前IPv6沒被全面推廣~~

我的觀點就是:未來IPv6會逐漸走向霸主地位哈哈哈哈哈~~

?


碼字不易,如果對你由幫助,點個咱再走把😍😍😍😍~謝謝大家

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?本文有任何錯誤,歡迎大佬指正!


?

?

?

?

?

?

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

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

相關文章

本地使用Ollama部署DeepSeek

以下是在本地使用Ollama部署DeepSeek的詳細教程,涵蓋安裝、修改安裝目錄、安裝大模型以及刪除大模型的操作步驟。 安裝Ollama 1. 系統要求 確保你的系統滿足以下條件: 操作系統:macOS、Linux或者Windows。足夠的磁盤空間和內存。 2. 安裝…

開源項目實戰學習之YOLO11:ultralytics-cfg-datasets-Objects365、open-images-v7.yaml文件(六)

👉 點擊關注不迷路 👉 點擊關注不迷路 👉 點擊關注不迷路 medical - pills.yaml 通常用于配置與醫學藥丸檢測任務相關的參數和信息 Objects365.yaml 用于配置與 Objects365 數據集相關信息的文件。Objects365 數據集包含 365 個不同的物體類別…

23種設計模式-行為型模式之策略模式(Java版本)

Java 策略模式(Strategy Pattern)詳解 🧠 什么是策略模式? 策略模式是一種行為型設計模式,它定義了一系列算法,把它們一個個封裝起來,并且使它們可以互相替換。策略模式讓算法獨立于使用它的客…

使用 AI Agent 改善師生互動的設計文檔

使用 AI Agent 改善師生互動的設計文檔 一、引言 1.1 研究背景 當前教育領域的師生互動存在諸多挑戰,如教師負擔過重、學生個體差異大導致難以滿足所有人的需求,以及信息傳遞延遲等問題。引入AI-Agent能夠有效緩解這些問題,通過自動化手段協…

2、Ubuntu 環境下安裝RabbitMQ

?. 安裝Erlang RabbitMqRabbitMq需要Erlang語?的?持,在安裝rabbitMq之前需要安裝erlang需要Erlang語?的?持,在安裝rabitMq之前需要安裝erlang。 安裝erlang # 更新軟件包 sudo apt-get update # 安裝 erlang sudo apt-get install erlang 查看er…

Node.js 操作 ElasticSearch 完整指南:從安裝到實戰

本文將手把手教你如何搭建 ElasticSearch 環境,并通過 Node.js 實現高效數據檢索。包含 10 個可直接復用的代碼片段,助你快速掌握搜索、聚合等核心功能! 環境搭建篇 1. ElasticSearch 安裝要點 下載 es下載連接 下載下來后,進…

硬核科普丨2025年安全、高效網絡準入控制系統深度解析

陽途網絡準入控制系統(Network Access Control,簡稱NAC)是當代網絡安全領域的重要工具,有效防止未經授權的訪問和數據泄露,保障網絡資源的安全性和完整性。本文將深入探討陽途網絡準入控制系統的的重要性和作用。 一、…

搜索二叉樹-key的搜索模型

二叉搜索樹(Binary Search Tree, BST)是一種重要的數據結構,它有兩種基本模型:Key模型和Key/Value模型。 一、Key模型 1.基本概念 Key模型是二叉搜索樹中最簡單的形式,每個節點只存儲一個鍵值(key),沒有額外的數據值(value)。這…

安卓四大組件之ContentProvider

目錄 實現步驟 代碼分析 onCreate insert query ContextHolder Cursor 作用與用法 基本步驟: 可能的面試題:為什么使用Cursor? 為什么使用Cursor 使用Cursor的好處 靜態內部類實現單例模式 AnndroidManifest.xml配置信息 注釋的…

【HTML】【Web開發】滑動條挑戰

最近在思考如何開發一些入門級的迷你游戲,于是抽空寫了個HTML的滑動條小游戲。 游戲規則如下: 在[0, 100]區間內隨機生成一個目標值,顯示為:X% 倒計時 3 秒過后,出現 10 秒的挑戰倒計時和【停止】按鈕 挑戰倒計時結…

面試踩過的坑

1、 “”和equals 的區別 “”是運算符,如果是基本數據類型,則比較存儲的值;如果是引用數據類型,則比較所指向對象的地址值。equals是Object的方法,比較的是所指向的對象的地址值,一般情況下,重…

專業軟件開發全流程實踐指南

作為一家擁有十余年行業積淀的專業軟件開發服務提供商,我們見證了太多項目從無到有的全過程。今天,我們就用最樸實的語言,跟大家聊聊一個軟件產品從構思到上線的完整歷程。這些經驗不僅適用于自建技術團隊的企業,對正在尋找軟件外…

聊透多線程編程-線程互斥與同步-12. C# Monitor類實現線程互斥

目錄 一、什么是臨界區? 二、Monitor類的用途 三、Monitor的基本用法 四、Monitor的工作原理 五、使用示例1-保護共享變量 解釋: 六、使用示例2-線程間信號傳遞 解釋: 七、注意事項 八、總結 在多線程編程中,線程之間的…

第R4周:LSTM-火災溫度預測

文章目錄 一、前期準備工作1.導入數據2. 數據集可視化 二、構建數據集1. 數據集預處理2. 設置X, y3. 劃分數據集 三、模型訓練1. 構建模型2. 定義訓練函數3. 定義測試函數4. 正式訓練模型 四、模型評估1. Loss圖片2. 調用模型進行預測3. R2值評估 總結: &#x1f36…

toCharArray作用

toCharArray() 是 Java 中 String 類的一個方法,其作用是將字符串對象轉換為一個字符數組。下面為你詳細介紹其用法、原理和示例。 方法定義 toCharArray() 方法在 java.lang.String 類里被定義,方法簽名如下 public char[] toCharArray() 此方法沒有…

STM32八股【6】-----CortexM3的雙堆棧(MSP、PSP)設計

STM32的線程模式(Thread Mode)和內核模式(Handler Mode)以及其對應的權級和堆棧指針 線程模式: 正常代碼執行時的模式(如 main 函數、FreeRTOS任務) 可以是特權級(使用MSP&#xff…

驅動支持的最高CUDA版本與實際安裝的Runtime版本

查看電腦上安裝的CUDA版本的多種方法,適用于不同系統和場景。 方法一:通過命令行工具 1. 查看CUDA Driver API版本(顯卡驅動支持的CUDA版本) 命令:nvidia-smi操作: 打開終端(Windows為CMD/Pow…

Python CT圖像預處理——基于ITK-SNAP

Python CT圖像預處理——nii格式讀取、重采樣、窗寬窗位設置_python讀取nii-CSDN博客 基于原文指出以下幾個問題:文件路徑設置模糊;nilabel里面使用的get_data() 方法已經過時;需要導入scikit-image,還要導入一個matplotlib。 一…

【MQ篇】RabbitMQ之消息持久化!

目錄 一、 交換機持久化 (Exchange Persistence)二、 隊列持久化 (Queue Persistence)三、 消息持久化 (Message Persistence)四、 持久化的“黃金三角” 🔱:三者缺一不可!五、 來,完整的代碼示例(整合持久化和確認機制…

[AI技術(二)]JSONRPC協議MCPRAGAgent

Agent概述(一) AI技術基礎(一) JSON-RPC 2.0 協議詳解 JSON-RPC 2.0 是一種基于 JSON 的輕量級遠程過程調用(RPC)協議,旨在簡化跨語言、跨平臺的遠程通信。以下從協議特性、核心結構、錯誤處理、批量請求等角度進行詳細解析: 一、協議概述 1. 設計原則 ? 簡單性:…