IP協議深入理解

一、什么是ip協議?

1.1、ip協議是網絡層協議,ip協議的本質工作是提供一種能力,把數據可靠的跨網絡從主機A送到主機B;
1.2、什么是ip?

ip=目標網絡+目標主機;

畫圖圖解:

如圖,當主機A想要把數據發給主機B時,需經過主機A所在的網絡的路由器進入到網絡x,再由網絡x經過路由器進入網絡2,再從網絡2中找到主機B;

1.3 認識ip協議報頭

①4位版本

ip協議的版本號,對于ipv4來說就是4;

②4位首部長度:

4個bit位能表示的最大范圍是:[0000,1111]即[0 , 15] ,計算單位為4字節,即4個bit位能表示的字節范圍是0~60字節,因為ip的報頭總長度=固定長度為20字節+選項長度,所以整個報頭的長度范圍為:20~60字節,也就是選項的最大長度為40字節!

③8為服務類型:

4位 TOS分別表示: 最小延時, 最大吞吐量, 最高可靠性, 最小成本. 這四者相互沖突, 只能選擇一個!

④16位總長度:

ip數據報整體占多少字節!!也是就是報頭+選項+數據整體長度!!通過整體長度-選項-固定報頭長度=數據長度!!通過首部長度和總長度可以實現報頭跟有效載荷的分離!!!

⑤8位生存時間:

TTL,數據報文到達目的地的最大報文跳數,一般是64,每經過一個路由,TTL -1,當減到0還沒到達,丟棄這個報文!!

⑥8位協議:

用來決定ip的有載荷向上交個哪一個協議!

⑦32位源IP地址:

自己的IP地址,數據發送的出發地!

⑧32位目的IP地址:

對發方的ip地址,數據到達的目的地!

二、認識路由器

2.1、報文的中轉站

假設知道了目標ip但是進入不到對方所在的網絡,那么數據一樣發送不了給對方!

因此必須要有一個中轉站,這個中轉站就是連接內網跟外網的路由器!!

ip報文通過路由器進行不斷的轉發,就能實現跨網絡將數據從主機A送達至主機B!!

2.2、路由器的結構

路由器本質上也是內網里的一臺主機!!只是這臺主機同時存在于至少兩個子網內!!也就是說路由器可以同時存在兩個ip地址!!我們可以認為它存在多張網卡就行!

2.3、路由器的功能

路由器一般是子網中的第一臺設備,一般他的ip地址都是網絡號!

路由器除了有轉發ip的功能外,還有一個重要的作用就是構建子網!

DHCP:路由器自動給新增的主機分配ip地址,路由器相當于一臺DHCP服務器!!

2.4 所以其實我們數據傳輸是這樣的

三、網段劃分

3.1、IP地址劃分為網絡號+主機號

網絡號:保證相互連接的兩個網段具有不同的標識;
主機號: 同一網段內, 主機之間具有相同的網絡號, 但是必須有不同的主機號

圖解:

3.2、這些ip地址是怎么來的?

由一開始進行網絡基站建設的運營商聯合規定出來的ip地址劃分:

上圖是曾經的五種IP地址分類,這種分類方法會導致大多數的ip被浪費掉:

例如:

申請了一個B類地址, 理論上一個子網內能允許6萬5千多個主機. A類地址的子網內的主機數更多.?
然而實際網絡架設中, 不會存在一個子網內有這么多的情況. 因此大量的IP地址都被浪費掉了!

新的方案CIDR:

①、引入一個額外的子網掩碼(subnet mask)來區分網絡號和主機號;

②、子網掩碼是一個32位的正整數;

③、將ip地址和子網掩碼進行按位與操作得到的就是網絡號;

④、網絡號和主機號的劃分和這個IP地址是A、B、C。。類無關;

例1:

例2:

可見,IP地址與子網掩碼做與運算可以得到網絡號, 主機號從全0到全1就是子網的地址范圍;

IP地址和子網掩碼還有一種更簡潔的表示方法,例如140.252.20.68/24,表示IP地址為140.252.20.68, 子網掩碼的高 24位是1,也就是255.255.255.0?

3.3、特殊的ip地址

網絡號:子網地址范圍中首個地址

廣播號:子網地址范圍中最后一個地址

本地環回測試地址:127.0.0.1

3.4、面對ip地址不足的解決方法

① 動態分配IP地址,只給入網設備分配IP地址,退網回收ip;

②NAT技術

③IPV6,16字節128位表示一個ip地址

四、公有IP地址和私有IP地址

4.1、一般我們平時使用的都是私有ip,只有向云服務器、運營商用到的才是公網ip地址;

如圖:

①、一個路由器可以配置兩個IP地址,一個為WAN口,一個為LAN口ip(子網ip);

②、連接LAN口的主機從屬于這個路由器的子網中;

③、同一子網不可能出現相同IP地址,不同子網的ip地址可能出現相同;

④、一個內網的ip地址是不可能出現在公網中,所以子網內的主機想要訪問公網時,路由器會將ip地址進行替換,目標地址保持不變,源ip地址替換為路由器的WAN口ip地址,,這樣逐級替換就能訪問到公網了,這種技術稱為NAT技術

好了今天分享到這里,如果對你有所幫助記得點贊收藏+關注哦!!謝謝!!!

咱下期見!!!

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

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

相關文章

接收表單數據:serialize()函數解析

一、form-serialize作用與引入 作用: form-serialize可以快速收集表單數據,按照使用者意愿轉化為對象或字符串輸出,以便于提交至服務器。 引入: form-serialize不是瀏覽器自帶的JS方法,而是第三方工具庫。可以直接通過…

vc配置使用預編譯

預編譯原理 stdafx.h中加入系統文件,減少cpp中對這些文件的解析,提高速度 stdafx.h 會把編譯的文件生成pch,后續解析頭文件直接調用pch里面的數據 配置 新建stdafx.h和stdafx.cpp文件 配置stdafx.cpp文件為/Yc 創建預編譯文件整個項目設置/Yc…

反射機制的登錄系統

一、實體層(po層) //UserInfo package com.hugeyurt.po;import java.sql.ResultSet; import java.sql.SQLException;public class UserInfo {private String userID;private String name;private int count;private Long errorTime;private String pwd;p…

裝飾器模式及優化

裝飾器模式(Decorator Pattern)是一種結構型設計模式,它允許向一個現有的對象添加新的功能,同時又不改變其結構。這種模式創建了一個裝飾器類,用來包裝原有的類,并在保持類方法簽名完整性的前提下&#xff…

共指消解技術全解析:從語言學規則到深度學習(附論文精讀)

精讀威斯康星大學綜述《Coreference Resolution: A Survey》,揭秘NLP中"實體鏈接"的核心技術一、什么是共指消解?為什么它是NLP的基石?共指消解(Coreference Resolution) 旨在識別文本中指向同一實體的不同表述。例如:t…

git配置git commit -m “fix 11,22: 修改bugid為11,22“

文章目錄前言一、報錯提示二、實現1.commitlint.config.js規范配置2. **修改正則表達式**:3. **移除 scope-case 規則**:4. **增強自定義規則邏輯**:測試結果:正則表達式詳解:前言 提示:正常的配置git規范…

nastools繼任者?極空間部署影視自動化訂閱系統『MediaMaster』

nastools繼任者?極空間部署影視自動化訂閱系統『MediaMaster』 哈嘍小伙伴們好,我是Stark-C~ 對于我們NAS玩家來說,觀影總是大家繞不開的一個執念,并且為觀影的折騰大家也都是樂此不疲~ 曾經有一個非常絕絕子的觀影神器擺在我們…

題解:CF1690G Count the Trains

思路: 首先我們可以理清一下各種情況:1)m可能為02)一次操作時,只需要考慮每節火車的車頭。3)當一節火車的速度降低時,只會影響它及它后面的車廂當m0時,我們可以記錄上一節車頭的速度…

CCF編程能力等級認證GESP—C++3級—20250628

CCF編程能力等級認證GESP—C3級—20250628單選題(每題 2 分,共 30 分)判斷題(每題 2 分,共 20 分)編程題 (每題 25 分,共 50 分)奇偶校驗分糖果單選題(每題 2 分,共 30 分…

2G和3G網絡關閉/退網狀態(截止2025年7月)

從能打語音電話的2G,到能發彩信、聊QQ的3G,這兩項陪伴了我們數十年的通信技術,正在悄然退出歷史舞臺。近日,全球移動供應商協會(GSA)發布的《2025年7月2G和3G網絡關閉報告》顯示,全球已有超百個…

Day06_C語言網絡編程20250718mobus重點

01.思維導圖1 什么是 modbus他是一個在工控領域非常好用的通信寫 modbus協議本質上是一個 基于 tcp 協議二次封裝的一個協議 什么叫做基于tcp二次封裝的協議:我們自己寫的pack_t(無論靜態還是動態),都是屬于二次封裝的協議modbus協議是一種 “主從問答式…

比亞迪古德伍德亮相:從技術突破到文化對話

近日,比亞迪攜騰勢Z9GT、方程豹豹5、騰勢D9亮相英國古德伍德速度節——全球最具聲望的汽車文化盛典。方程豹豹5搭載全球首個 DMO電驅越野平臺,在爬山賽道上展現出媲美性能跑車的動力響應與精準控制,徹底打破“越野必靠大排量燃油機”的西方傳…

UniApp TabBar 用戶頭像方案:繞過原生限制的實踐

需求場景: 在 UniApp 項目中,需要將 TabBar 首頁項 (index) 的圖標替換為當前用戶的網絡圖片,并實現: 放大且圓形顯示。點擊該圖標時,頁面滾動回頂部。切換到其他分類時,首頁 Tab 項恢復為普通首頁圖標。 嘗…

如何閱讀Spring源碼

如何閱讀Spring源碼 簡介 最近有許多人問我如何閱讀Spring源碼,那我便在這給出閱讀源碼的方法,能夠保證本地能夠讓源碼能夠運行起來。 Spring 源碼環境本地編譯 Gradle下載地址 通過網盤分享的文件:gradle-6.4.1-all.zip 鏈接: https://pan.b…

Excel導出實戰:從入門到精通 - 構建專業級數據報表的完整指南

文章目錄Excel導出實戰:從入門到精通 - 構建專業級數據報表的完整指南引言:ExcelJSFileSaver如何映射到Excel操作一、ExcelJS核心架構解析 - 從文件結構理解1. 工作簿(Workbook)模型 - 相當于整個Excel文件2. 工作表(Worksheet)配置 - 相當于單個工作表設…

PyTorch圖像預處理全解析(transforms)

1. 引言在深度學習計算機視覺任務中,數據預處理和數據增強是模型訓練的關鍵步驟,直接影響模型的泛化能力和最終性能表現。PyTorch 提供的 torchvision.transforms 模塊,封裝了豐富的圖像變換方法,能夠高效地完成圖像標準化、裁剪、…

slam中的eskf觀測矩陣推導

在之前的《slam中的eskf推導》一文中,沒有寫觀測矩陣 H 矩陣的過程,現在補上這部分。前置列舉幾個等下推導需要用到的一些點:平面特征點構造觀測矩陣例如在 fastlio 中,是利用平面特征點到擬合平面的距離來構造觀測方程&#xff0…

Python_2

邏輯判斷 首先得首先&#xff0c;我們想判斷一個邏輯的正確與否&#xff0c;一定是需要一個能夠表現出邏輯的詞 如果我只說一個1 2&#xff0c;那么大家都不知道我在說什么但是如果我說1<2,那么大家就能判斷這個語句的正確與否了 下面是幾個常用的邏輯詞 < 小于>大于&…

Liunx-Lvs配置項目練習

1.實驗環境配置Lvs調度器有兩塊網卡 一塊僅主機和一塊nat網卡&#xff0c;客戶端nat模式&#xff0c;兩臺服務器為僅主機模式2.集群和分布式簡介集群與分布式系統簡介集群 (Cluster)集群是指將多臺計算機(通常為同構的)通過高速網絡連接起來&#xff0c;作為一個整體對外提供服…

T5(Text-to-Text Transfer Transformer) 模型

下面是對 T5&#xff08;Text-to-Text Transfer Transformer&#xff09; 模型的詳細介紹&#xff0c;包括其原理、架構、訓練方式、優勢與局限&#xff0c;以及與其他模型&#xff08;如 BERT、GPT&#xff09;的對比。一、T5 是什么&#xff1f;T5&#xff08;Text-to-Text T…