網絡層(IP)

基本概念

在這里插入圖片描述

  • 子網和局域網是一個概念
  • 主機: 配有 IP 地址, 也能進行路由控制的設備;
  • 路由器: 即配有 IP 地址, 又能進行路由控制;
  • 節點: 路由器和主機的統稱。

背景

  1. 兩主機并不是直接連接的,路徑選擇問題?為什么? 由網絡層(IP)解決
  2. 怎么把數據交給路由器,怎么辦? 這是局域網通信的問題,兩主機是直連的,在同一個子網中,由數據鏈路層解決

深入理解IP

  • 公網IP在全球具有唯一性。
  • IP,比如 192.168.72.1,這是點分十進制的
  • IP地址 = 目的網絡 + 目的主機號

重談TCP和UDP

  • IP解決的核心問題是主機距離變長
    在這里插入圖片描述

網絡層報頭

在這里插入圖片描述

  • 4位首部長度:跟TCP報頭中的一樣
  • 16位總長度:報文的大小

  • 如何解包?封包?
    解包:固定的20字節,然后根據4位首部長度+16為總長度來解包
    封包:根據格式封包就可以了

  • 8位協議:表示上層協議類型(UDP,TCP…)

  • 如何分用?
    根據8位協議,就可以知道交給上層的哪個協議。


  • TTL(生存時間):報文的生存時間,每經過一個路由器都會 - -,可以防止報文在環路中一直滯留,占用資源的情況。

網段劃分

  • 是什么?為什么?怎么辦?

是什么?

  • 有了目的IP是不夠的,網路是被** 精心設計 (子網劃分)**的
    被誰設計的? 網路服務提供商

在這里插入圖片描述

  • 路由器有兩個IP,路由器的主機號大都為1
  • 子網是有網絡號的(比如xxx.xxx.xxx.0)
    在這里插入圖片描述
  • 子網內的IP地址,都是從哪里來的?誰給的?
    路由器有構建子網的能力
  • IP = 目標網絡號+目標主機號
  • IP報文被轉發:
    1. 根據目標網絡,將報文轉發到目標網絡
    2. 轉發到目標網絡后,將報文在內網進行轉發

為什么?

在這里插入圖片描述

  • 主機A將數據發送給主機B,但如何找到主機B?
  1. 線性遍歷全球的主機,效率很低
  2. 主機A知道主機B的IP,將主機B的IP與主機A的網絡號進行比較不相等,將數據交給路由器,路由器根據報文中目的IP查路由表,確定了主機B的網絡,將報文交給相應的路由器,最后進行內網轉發交給主機B。
  • 第二種方式效率高—>本質是查找—>本質是淘汰(淘汰效率高)
  • 在進入目標子網之前,不關心主機號—>報文在進行轉發過程中,在進入目標網絡之前,路由器只關心網絡號,之后就是內網轉發
  • 在進行路上路由時,路由的基本單位是網絡
  • 總結,根據上面知道了為什么? 支持網絡建設,提高了淘汰率。

怎么辦?

  • 以前劃分網絡號和主機號的方式
    在這里插入圖片描述

子網掩碼

  • 新的劃分方案CIDR(Classless Interdomain Routing)

在這里插入圖片描述

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

特殊IP

  • 將 IP 地址中的主機地址全部設為 0, 就成為了網絡號, 代表這個局域網;
  • 將 IP 地址中的主機地址全部設為 1, 就成為了廣播地址, 用于給同一個鏈路中
    相互連接的所有主機發送數據包;
  • 127.*的 IP 地址用于本機環回(loop back)測試,通常是 127.0.0.1
    在這里插入圖片描述

IP地址不夠用

  • 隨著網絡的發展,更多的設備需要入網,IP不夠用:
    1. 動態分配 IP 地址: 只給接入網絡的設備分配 IP 地址. 因此同一個 MAC 地址的設備, 每次接入互聯網中, 得到的 IP 地址不一定是相同的;
    2. NAT 技術(后面會重點介紹);
    3. IPv6: IPv6 并不是 IPv4 的簡單升級版. 這是互不相干的兩個協議, 彼此并不兼容; IPv6 用 16 字節 128 位來表示一個 IP 地址; 但是目前 IPv6 還沒有普及;

公網IP和私有IP

  • 網絡可以分為局域網和公網

  • 私有IP(只能用來組建局域網,私有IP不能出現在公網中)

    1. 10.*,前 8 位是網絡號,共 16,777,216 個地址
    2. 172.16.到 172.31.,前 12 位是網絡號,共 1,048,576 個地址
    3. 192.168.*,前 16 位是網絡號,共 65,536 個地址
  • 公網IP不能重復

  • 在網絡架設時,在內網,公網,在統一采用各自的子網掩碼的方式,進行網絡建設。

在這里插入圖片描述

運營商

基本網絡情況

  • 申請IP,無論公網,內網,網絡建設工作—>由運營商來做

  • 家庭路由器有構建子網的功能

  • 局域網—>不僅我們自己在做,運營商也在做

  • 路由器:有家庭的,也有企業的
    在這里插入圖片描述

  • 路由器有兩個IP:LAN口IP(對內),WAN口IP(對外)
    在這里插入圖片描述

  • 家庭路由器出去的報文到想到達公網,需要先到運營商構建的一個更大的子網中。

  • 為什么交錢給運營商?
    我們的報文必須經過運營商的轉發才能到達公網。
    運營商可以因為你欠費不讓你入公網
    訪問非法目標地址,會被攔截

  • 科技上網的本質就是騙過運營商,不讓運營商識別出來。

內網–>公網

在這里插入圖片描述

  • 如果目的IP不在該子網中,會向上交付(交付給更大的子網)。

公網–>內網?(數據鏈路層會講)


NAT技術

  • NAT技術為什么緩解了IP不足的問題?
    單獨切分了一部分IP,只用它來做內網,這樣IP地址就可以重復利用了。

全球網絡

在這里插入圖片描述

  • 公網就是對全球公網IP進行劃分的過程
  • 在路由表條目中找不到目的網路號時,就會將報文交給缺省路由

路由

  • 路由器,一定盡可能幫助我們
    1. 配置默認路由
    2. 怎么走
    3. 到達入口路由器—>之后就是根據目標主機進行內網轉發
      以上都是根據目標網絡進行路由
  • 路由表信息,查看路由表信息的指令是 route
  • 路由表的信息有路由表生成算法來維護
    在這里插入圖片描述

  • IP報文的轉發過程本質就是進行各個子網之間的轉發
  • IP解決的核心問題:路徑選擇,淘汰其他子網
    1. 根據目的網絡進行路由
    2. 內網轉發

分片和組裝

  • 為什么不把滑動窗口的數據打成一個報文呢?而是一個又一個的段報文?
    規定:數據鏈路層單次發送的數據幀不能超過MTU(1500)
    在這里插入圖片描述

  • IP報文太長,IP報文會分片—>網絡層自己和對方分別進行分片和組裝

  • 分片好不好?

    1. 分片和組裝,上層傳輸層不關心
    2. 分片為更多的報文,任意一個丟包,組裝就是不完整的—>分片之后丟包的概率增加,所以分片不能作為網絡發送的主流
  • 如何不分片?
    傳輸層不能發過大的報文,所以滑動窗口的數據會被分為一段一段的數據


如果分片,如何分片?

在這里插入圖片描述
16 位標識(id): 唯一的標識主機發送的報文. 如果 IP 報文在數據鏈路層被分片
了, 那么每一個片里面的這個 id 都是相同的.
3 位標志字段: 第一位保留(保留的意思是現在不用, 但是還沒想好說不定以后要
用到). 第二位置為 1 表示禁止分片, 這時候如果報文長度超過 MTU, IP 模塊就會丟棄報文. 第三位表示**“更多分片”**, 如果分片了的話, 最后一個分片置為 0, 其他是 1. 類
似于一個結束標記.
13 位分片偏移(framegament offset): 是分片相對于原始 IP 報文開始處的偏移. 其實就是在表示當前分片在原報文中處在哪個位置. 實際偏移的字節數是這個值 除以 8 得到的. 因此, 除了最后一個報文之外(之前如果都是 8 的整數倍,最后一片的偏移量也一定是 8 的整數倍), 其他報文的長度必須是 8 的整數倍(否則報文就不連續了).

注意:片偏移(13 位)表示本片數據在它所屬的原始數據報數據區中的偏移量**(以 8 字節為單位)**

在這里插入圖片描述

  • 如何判斷是否是分片
    在這里插入圖片描述
  • 是否將分片收全?
    在這里插入圖片描述
  • 如何組裝?
    組裝,就說明了已經收全了,根據片偏移量就可以了。

  • 如何分片?
  1. 對IP報文的有效載荷進行分片
  2. 片偏移量(必須是8的整數倍)是數據相對于有效載荷的偏移量
  3. 分片之后,每一片就是一個IP報文
    在這里插入圖片描述
  • 分片和組裝不一定只有在通信兩端才會進行,在網絡中也有可能進行

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

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

相關文章

JMeter性能問題

性能測試中TPS上不去的幾種原因 性能測試中TPS上不去的幾種原因_tps一直上不去-CSDN博客 網絡帶寬 連接池 垃圾回收機制 壓測腳本 通信連接機制 數據庫配置 硬件資源 壓測機 業務邏輯 系統架構 CPU過高什么原因 性能問題分析-CPU偏高 - 西瓜汁拌面 - 博客園 US C…

創建型模式 - 建造者模式 (Builder Pattern)

創建型模式 - 建造者模式 (Builder Pattern) 建造者模式是一種創建型設計模式,它將一個復雜對象的構建與表示分離,使得同樣的構建過程可以創建不同的表示。 需求描述 在游戲開發中,創建一個復雜的游戲角色,角色具有多種屬性&…

代碼隨想錄第二十天|二叉樹part08--669.修建二叉搜索樹、108.將有序數組轉換為二叉搜索樹、538.把二叉搜索樹轉換為累加樹

刷題小記: 上期學習了二叉搜索樹的插入和刪除操作,這次學習如何按區間修剪二叉搜索樹。還有兩題,關于借助二叉搜索樹的有序特性進行轉換。 669.修剪二叉搜索樹(669.修剪二叉搜索樹) 題目分析: 給定一個…

Fisher信息矩陣(Fisher Information Matrix,簡稱FIM)

Fisher信息矩陣簡介 Fisher信息矩陣(Fisher Information Matrix,簡稱FIM)是統計學和信息理論中的一個重要概念,廣泛應用于參數估計、統計推斷和機器學習領域。它以統計學家羅納德費希爾(Ronald Fisher)的名…

【初階數據結構】鏈表的柔光之美

目錄 一、為什么需要鏈表? 二、鏈表與數組的對比 三、鏈表節點定義 四、鏈表基本操作 1. 創建鏈表 2. 插入節點 頭插法(時間復雜度O(1)) 尾插法(時間復雜度O(n)) 3. 刪除節點 4. 遍歷鏈表 五、進階操作 1. 反…

《論湖倉一體架構及其應用》審題技巧 - 系統架構設計師

軟考論文寫作框架 一、考點概述 “湖倉一體架構及其應用”這一論題,主要考察了考生對現代數據管理系統中湖倉一體架構的理解、應用及問題解決能力。隨著5G、大數據、人工智能、物聯網等技術的快速發展,企業數據的管理需求正發生深刻變化。傳統的數據管…

MybatisPlus-擴展功能-枚舉處理器

在Mybatis里有一個叫TypeHandler的類型處理器,我們常見的PO當中的這些成員變量的數據類型,它都有對應的處理器,因此它就能自動實現這些Java數據類型與數據庫類型的相互轉換。 它里面還有一個叫EnumOrdinalTypeHandler的枚舉處理器&#xff0…

北京大學第二彈《DeepSeek提示詞工程和落地場景》

大家好,我是吾鳴。 之前給大家分享過北京大學出品的DeepSeek教程《DeepSeek與AIGC應用》,今天吾鳴發現北京大學又出第二版教程了,教程的名稱叫做《DeepSeek提示詞工程和落地場景》,在此分享給大家。文末有完整版PDF下載地址。 教程…

deepseek自動化代碼生成

使用流程 效果第一步:注冊生成各種大模型的API第二步:注冊成功后生成API第三步:下載vscode在vscode中下載agent,這里推薦使用cline 第四步:安裝完成后,設置模型信息第一步選擇API provider: Ope…

322.零錢兌換

class Solution(object):def coinChange(self, coins, amount):""":type coins: List[int]:type amount: int:rtype: int"""n len(coins) dp [float(inf)]*(amount 1) # 初始值為正無窮大dp[0] 0 # 一定要初始化為0if amount 0:return 0 …

ARM Cortex-M處理器中的MSP和PSP

在ARM Cortex-M系列處理器中,MSP(主堆棧指針)和PSP(進程堆棧指針)是兩種不同的堆棧指針,主要用于實現堆棧隔離和提升系統可靠性。以下是它們的核心區別和應用場景: 1. 基本定義 MSP(…

交換機與路由器連接方式

交換機和路由器連接的三種主要方式如下: 一、直連連接 這是最簡單直接的連接方式。通過一根網線將交換機的一個端口與路由器的一個LAN端口相連。這種連接方式適用于小型網絡,其中交換機負責局域網內部的數據交換,而路由器則負責將內部網絡連接…

Python代碼片段-Excel導入到MongoDB

有一次遇到一個需求,需要把Excel的數據導入到MongoDB中,表面上感覺就是導入數據很簡單,但實際操作后,發現是比較麻煩的一個事情,一般圖形化的工具對于MongoDB而言,導入選項都是json的,根本沒有E…

axios幾種請求類型的格式

Axios 是一個基于 Promise 的 HTTP 客戶端,廣泛用于瀏覽器和 Node.js 中發送 HTTP 請求。它支持多種請求格式,包括 GET、POST、PUT、DELETE 等。也叫RESTful 目錄 一、axios幾種請求類型的格式 1、get請求 2、post請求 3、put請求 4、delete請求 二…

手寫系列——MoE網絡

參考: MOE原理解釋及從零實現一個MOE(專家混合模型)_moe代碼-CSDN博客 MoE環游記:1、從幾何意義出發 - 科學空間|Scientific Spaces 深度學習之圖像分類(二十八)-- Sparse-MLP(MoE)網絡詳解_sparse moe…

Linux的基礎指令和環境部署,項目部署實戰(下)

目錄 上一篇:Linxu的基礎指令和環境部署,項目部署實戰(上)-CSDN博客 1. 搭建Java部署環境 1.1 apt apt常用命令 列出所有的軟件包 更新軟件包數據庫 安裝軟件包 移除軟件包 1.2 JDK 1.2.1. 更新 1.2.2. 安裝openjdk&am…

【藍橋杯】第十五屆省賽大學真題組真題解析

【藍橋杯】第十五屆省賽大學真題組真題解析 一、智能停車系統 1、知識點 (1)flex-wrap 控制子元素的換行方式 屬性值有: no-wrap不換行wrap伸縮容器不夠則自動往下換行wrap-reverse伸縮容器不夠則自動往上換行 (2&#xff0…

flink operator v1.10對接華為云對象存儲OBS

1 概述 flink operator及其flink集群,默認不直接支持華為云OBS,需要在這些java程序的插件目錄放一個jar包,以及修改flink配置后,才能支持集成華為云OBS。 相關鏈接參考: https://support.huaweicloud.com/bestpracti…

免費PDF工具

Smallpdf.com - A Free Solution to all your PDF Problems Smallpdf - the platform that makes it super easy to convert and edit all your PDF files. Solving all your PDF problems in one place - and yes, free. https://smallpdf.com/#rappSmallpdf.com-解決您所有PD…

去中心化技術P2P框架

中心化網絡與去中心化網絡 1. 中心化網絡 在傳統的中心化網絡中,所有客戶端都通過一個中心服務器進行通信。這種網絡拓撲結構通常是一個星型結構,其中服務器作為中心節點,每個客戶端只能與服務器通信。如果客戶端之間需要通信,必須…