一、网络基础知识

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.mzph.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">…