一、網絡基礎知識

1、IP地址和端口號

1.1、IP地址

  • 定義:用于在網絡中唯一標識設備的地址。
  • 格式:通常由四個數字組成,以點分十進制表示,例如:192.168.0.1。(IPv4)
  • 作用:允許網絡中的設備相互通信,通過IP地址可以定位到特定的設備。

1.2、端口號

  • 定義:用于標識設備上特定進程的數字。
  • 范圍:從0到65535。其中,0到1023為系統保留端口,用于特定的網絡服務(如HTTP、HTTPS等);其他端口可由用戶自定義,用于不同的應用程序或服務。
  • 作用:在網絡通信中,與IP地址結合使用,用于指定發送或接收數據的特定進程。確保數據能夠準確地到達目標服務或應用程序。

1.3、總結

????????IP地址和端口號共同構成了網絡通信的基礎。IP地址負責定位到網絡中的設備,而端口號則負責定位到設備上的特定服務或進程。在進行網絡通信時,發送方需要知道接收方的IP地址和端口號,以確保數據能夠正確地到達目的地。

????????此外,端口還可以分為物理端口和邏輯端口。物理端口是實際存在的硬件接口,如計算機的USB接口、網絡接口等。而邏輯端口則是邏輯上用于區分不同服務的端口,它們不對應物理設備上的具體接口,而是用于在網絡通信中區分和識別不同的服務。

示例1:

示例2:

2、公網IP和局域網IP

????????公網IP和局域網IP(內網IP)是兩種不同類型的IP地址,它們在網絡通信中各有其特定的作用。

2.1、公網IP(Public IP)

  • 定義:公網IP地址是由Internet網絡信息中心(Inter NIC)負責分配,并分配給注冊并向Inter NIC提出申請的組織機構。這些IP地址是全球唯一的,用于在Internet上直接訪問和識別設備。
  • 特點:
    • 唯一性:每個公網IP地址在全球范圍內都是唯一的,不會分配給兩個不同的設備。
    • 數量限制:公網IP地址是有限的,不能無限制地分配給所有用戶。通常,它們遵循先到先得的原則進行分配。

2.2、局域網IP(Local IP或私有IP)

  • 定義:局域網IP地址屬于非注冊地址,專門為組織機構的內部網絡使用。這些地址通常用于局域網內的設備間通信,而不是用于在Internet上進行通信。
  • 特點:
    • 非唯一性:局域網IP地址在內部網絡中是唯一的,但在Internet上不是唯一的。不同的內部網絡可以使用相同的局域網IP地址范圍,而不會發生沖突。
    • 數量限制:局域網IP地址在理論上可以是無限的,因為它們是專門為內部網絡設計的,不需要全球唯一性。

2.3、總結

????????公網IP地址用于Internet上的設備識別和通信,具有全球唯一性和訪問權限。而局域網IP地址用于內部網絡的通信,具有非唯一性和內部訪問權限。兩者在網絡通信中各自扮演著重要的角色,確保設備能夠在不同的網絡環境中進行通信和連接。

3、局域網IP如何訪問Internet

3.1、訪問原理

??????? 局域網IP不能直接訪問Internet,但可以借助具有公網IP的設備進行中轉。如下圖所示:

  • 在家里,在公司里,只有路由器才有公網IP
  • 其他電腦只有局域網IP,比如192.18.x.x
  • 家里的電腦,公司的電腦,IP都是192.168.0.100,但是它們并沒有沖突:因為它們處于不用的局域網
  • 局域網里的電腦要訪問公網,怎么辦?要路由器幫忙!

3.2、訪問流程

(1)通過路由器訪問公網IP流程:

  • 主機A的局域網IP是10.1.1.100,它使用端口1025,去訪問公網211.100.7.34
  • 但是它沒有公網IP,跟路由器說:哥們,幫幫忙
  • 路由器就把數據包里的(10.1.1.100:1025)改成自己的IP和端口(162.105.176.65:16384),發出偽造的數據包
  • 服務器收到后,返回數據給路由器(162.105.176.65:16384)
  • 路由器收到數據后查表:
    • 這是主機A要我取的數據
    • 于是把數據包里的目的(162.105.176.65:16384)改為(10.1.1.100:1025)
    • 并發給主機A
  • 主機A收到數據

(2)由以上流程可知:

  • 局域網的電腦,借助路由器,可以訪問公網
  • 需要局域網內的電腦主動發起網絡連接
  • 公網無法主動訪問局域網內的電腦:
    • 公網主動訪問路由器時
    • 路由器:你訪問誰呢?在路由器里都沒有記錄,丟掉
    • 這可以保護局域網內的電腦,比如前兩年爆發的勒索病毒

4、不同局域網內的設備通信

(1)假設在局域網內有開發板,另一個局域網內有手機,兩者均連接可上網的路由器。如下圖所示:

(2)請問手機怎么才能訪問到開發板?

  • 硬件上:中間需要加上服務器,如下圖所示。
  • 協議上:有很多選擇,例如MQTT,它更適合物聯網。

訪問流程:

  • 手機發送數據包給服務器
  • 開發板訪問服務器拿到數據

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

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

相關文章

Python 數據可視化之密度散點圖 Density Scatter Plot

🍉 CSDN 葉庭云:https://yetingyun.blog.csdn.net/ 密度散點圖(Density Scatter Plot),也稱為密度點圖或核密度估計散點圖,是一種數據可視化技術,主要用于展示大量數據點在二維平面上的分布情況…

Swift基礎知識:24.Swift可選鏈

在 Swift 中,可選鏈(Optional Chaining)是一種用于調用可選類型屬性、方法或下標的安全方式。可選鏈允許我們在調用鏈中的任何一個屬性、方法或下標返回 nil 時,整個調用鏈仍然可以繼續執行,而不會因為其中的任何一個可…

一樣的代碼不同項目跳轉頁面報404的解決辦法

今天收到實施反饋的一個問題,點項目名稱跳轉項目詳情頁面時,有的頁面跳轉顯示正常,有的頁面跳轉報404錯誤。錯誤如下: 發現報錯的項目都有一個共性就是有特殊字符“[ ]” , 解決的辦法就是把帶有特殊字符的字段 用 encodeURI()…

Java SE 入門到精通—4.抽象類與接口【Java】

抽象類 同接口一樣,用來約束子類,限制子類必須擁有某些方法,比普通類多了個抽象方法,用抽象方法該類必為抽象類 概念 沒有具體的對象,具體的方法的一個類 abstract關鍵字聲明為抽象類/方法 一個類中有抽象方法則該…

統計前端傳過來的Req的非空屬性個數的工具類

背景 日常開發中,我們通常會根據前端傳過來的實體類的屬性個數去做邏輯判斷,下面的是判斷屬性個數的工具類。 工具類 public static Integer nonNullFieldCount(Req req) {if (req null) {return 0;}int nonNullFieldCount 0;Field[] fields req.ge…

【Django】Django自定義后臺表單——對一個關聯外鍵對象同時添加多個內容

以官方文檔為例: 一個投票問題包含多個選項,基本的表單設計只能一個選項一個選項添加,效率較低,如何在表單設計中一次性添加多個關聯選項? 示例代碼: from django.contrib import adminfrom .models impo…

Java中的關鍵字有哪些?它們各自的作用是什么?請詳細說明?Java中的訪問修飾符有哪些?它們的訪問權限是怎樣的?

1、Java中的關鍵字有哪些?它們各自的作用是什么?請詳細說明? Java中的關鍵字是預先定義好的,具有特殊含義的標識符,用于表示數據類型、程序結構或控制流程等。以下是Java中的一些常用關鍵字及其作用: abs…

【軟件架構】02-復雜度來源

1、性能 1)單機 受限于主機的CPU、網絡、磁盤讀寫速度等影響 在多線程的互斥性、并發中的同步數據狀態等; 擴展:硬件資源、增大線程池 2)集群 微服務化拆分,導致調用鏈過長,網絡傳輸的消耗過多。 集…

嵌入式Qt 計算器核心算法_3

一.后綴表達式實現算數運算思路 二.算法實現 #include "QCalculatorDec.h"QCalculatorDec::QCalculatorDec() {m_exp "";m_result ""; }QCalculatorDec::~QCalculatorDec() {}bool QCalculatorDec::isDigitOrDot(QChar c) {return ((0 < c)…

基于SpringBoot的景區旅游管理系統

項目介紹 本期給大家介紹一個 景區旅游管理 系統.。主要模塊有首頁&#xff0c;旅游路線&#xff0c;旅行攻略&#xff0c;在線預定。管理員可以登錄管理后臺對用戶進行管理&#xff0c;可以添加酒店&#xff0c;景區&#xff0c;攻略&#xff0c;路線等信息。整體完成度比較高…

一文搞懂match、match_phrase與match_phrase_prefix的檢索過程

一、在開始之前&#xff0c;完成數據準備&#xff1a; # 創建映射 PUT /tehero_index {"settings": {"index": {"number_of_shards": 1,"number_of_replicas": 1}},"mappings": {"_doc": {"dynamic": …

探索氣膜球幕影院:未來的電影體驗

氣膜球幕影院作為一種新興的電影放映方式&#xff0c;正逐漸成為人們關注的焦點。它采用了充氣式膜結構&#xff0c;可以為觀眾帶來 360 度全景的觀影體驗&#xff0c;讓人仿佛置身于電影之中。本文將介紹氣膜球幕影院的特點、技術原理以及未來的發展前景。 傳說在古代&#x…

Linux系統運維命令:使用 tail,grep組合命令(包括wc,sort,awk,sed等),可以方便的查閱和操作正在改變的日志文件的具體內容

一、命令介紹 1、tail命令 tail命令是Linux系統中常用的命令之一&#xff0c;用于查看文件的末尾內容。它具有許多有用的選項&#xff0c;可以幫助用戶輕松地查找并顯示文件中的信息。 它默認顯示文件的最后10行&#xff0c;但可以通過各種選項來定制輸出的行數、字節數等。ta…

十四、圖像幾何形狀繪制

項目功能實現&#xff1a;矩形、圓形、橢圓等幾何形狀繪制&#xff0c;并與原圖進行相應比例融合 按照之前的博文結構來&#xff0c;這里就不在贅述了 一、頭文件 drawing.h #pragma once#include<opencv2/opencv.hpp>using namespace cv;class DRAWING { public:void…

Python筆記-super().init(root)的作用

假設我們有一個名為Animal的父類&#xff0c;它有一個屬性color&#xff0c;在其構造函數__init__中被初始化&#xff1a; class Animal:def __init__(self, color):self.color color現在&#xff0c;我們想創建一個Animal的子類&#xff0c;名為Dog。Dog類有自己的屬性name&…

QPaint繪制自定義儀表盤組件01

網上抄別人的&#xff0c;只是放這里自己看一下&#xff0c;看完就刪掉 ui Dashboard.pro QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomm…

【xss跨站漏洞】xss漏洞前置知識點整理

xss漏洞成因 xss漏洞是一種前端javascript產生的漏洞。 我們網站基本都是會用到javascript編寫一些東西&#xff0c;瀏覽器也能直接識別javascript。 如果有一個地方能夠輸入文字&#xff0c;但是他又沒有過濾你的輸入&#xff0c;那么自己或者他人看到你輸入的javascript代…

JVM知識——安全點

安全點是JVM要準備進行垃圾回收時&#xff0c;選定一些特定的位置&#xff0c;當應用程序線程執行到這些位置時&#xff0c;安全的先暫停下來&#xff0c;以便JVM執行GC線程進行垃圾回收。 JVM在字節碼指令中會選取一些指令作為安全點&#xff0c;安全點的選取一般是循環結束、…

課時42:表達式_運算符_bc計算

3.1.5 bc計算 學習目標 這一節&#xff0c;我們從 基礎知識、簡單實踐、小結 三個方面來學習。 基礎知識 簡介 bc是一種任意精度的計算語言&#xff0c;提供了語法結構&#xff0c;比如條件判斷、循環等&#xff0c;功能是很強大的&#xff0c;還能進行進制轉換。常見參數-…

week04day02(爬蟲02)

<span>: 通常用于對文本的一部分進行樣式設置或腳本操作。<a>: 定義超鏈接&#xff0c;用于創建鏈接到其他頁面或資源的文本。<img>: 用于插入圖像。<br>: 用于插入換行。 姓名&#xff1a;<input type"text" value"lisi">…