一、网络基础知识

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,它更适合物联网。

访问流程:

  • 手机发送数据包给服务器
  • 开发板访问服务器拿到数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/403767.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

期货量化001:获取玉米主连的数据到execel表中

用efinance库: import efinance as ef import pandas as pd# 获取期货基本信息 futures_info ef.futures.get_futures_base_info()# 根据名称找到玉米主力的行情ID corn_quote_id futures_info[futures_info[期货名称] 玉米主连][行情ID].values[0]# 获取玉米的…

【这个词(Sequence-to-Sequence)在深度学习中怎么解释,有什么作用?】

🚀 作者 :“码上有前” 🚀 文章简介 :深度学习笔记 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Sequence-to-Sequence(Seq2Seq) Sequence-to-Sequence(Seq2Seq…

【机器学习】数据清洗——基于Pandas库的方法删除重复点

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

华为OD机试真题C卷-篇4

200分值题 可以处理的最大任务员工派遣快递员的烦恼符号运算伐木工反射计数分披萨推荐多样性贪心的歌手螺旋数组矩阵(100) 可以处理的最大任务 有一个tasks任务列表&#xff0c;需要处理其中的任务&#xff1b;tasks[i] [si, ei]&#xff0c;该任务可以在si<day<ei之间…

网络安全-nc(Netcat)工具详解

经常在反弹shell的时候使用nc命令&#xff0c;但是从来没有了解过&#xff0c;今天翻书看到了&#xff0c;准备记录一下。 nc全称Netcat&#xff0c;是TCP/IP连接的瑞士军刀。哈哈我最喜欢瑞士军刀了。 有一个比较偏的知识点&#xff0c;nc还可以探测目标的端口是否开放&…

Flink中的双流Join

1. Flink中双流Join介绍 Flink版本Join支持类型Join API1.4innerTable/SQL1.5inner,left,right,fullTable/SQL1.6inner,left,right,fullTable/SQL/DataStream Join大体分为两种&#xff1a;Window Join 和 Interval Join 两种。 Window Join又可以根据Window的类型细分为3种…

【王道数据结构】【chapter6图】【P234t5】

假设图用邻接表表示&#xff0c;设计一个算法&#xff0c;输出从顶点vi到顶点vj的所有简单路径 #include <iostream>] #include <string.h> #define maxsize 10 typedef struct node{int data;struct node *next; }node ,*pnode;pnode buynode(int x) {pnode tmp(p…

【Linux取经路】文件系统之缓冲区

文章目录 一、先看现象二、用户缓冲区的引入三、用户缓冲区的刷新策略四、为什么要有用户缓冲区五、现象解释六、结语 一、先看现象 #include <stdio.h> #include <string.h> #include <unistd.h>int main() {const char* fstr "Hello fwrite\n"…

电路设计(26)——速度表的multisim仿真

1.设计要求 设计一款电路&#xff0c;能够实时显示当前速度。 用输入信号模拟行驶的汽车&#xff0c;信号频率的1hz代表汽车速度的1m/s。最后速度显示&#xff0c;以km/h为单位。 2.电路设计 当输入信号频率为40HZ时&#xff0c;显示的速度应该为144KM/h&#xff0c;仿真结果为…

petalinux_zynq7 驱动DAC以及ADC模块之一:建立IP

0. 环境 - ubuntu18 - vivado 2018.3 - mizar z7010 ada106模块 1. vivado 1.1 创建vivado工程 运行vivado source /tools/Xilinx/Vivado/2018.3/settings64.sh vivado& 创建vivado工程 Vivado -> Create Project -> Next -> -> Project name: …

OpenCV中图像的HSV色彩空间

在HSV 色彩空间中H, S, V 这三个通道分别代表着色相(Hue)&#xff0c;饱和度(Saturation)和明度(Value)&#xff0c; 原本输出的HSV 的取值范围分别是0-360, 0-1, 0-1; 但是为了匹配目标数据类型OpenCV 将每个通道的取值范围都做了修改,于是就变成了0-180, 0-255, 0-255 impo…

人机交互新研究:MIT开发了结合脑电和眼电的新式眼镜,与机器狗交互

还记得之前的AI读心术吗&#xff1f;最近&#xff0c;「心想事成」的能力再次进化&#xff0c; ——人类可以通过自己的想法直接控制机器人了&#xff01; 来自麻省理工的研究人员发表了Ddog项目&#xff0c;通过自己开发的脑机接口&#xff08;BCI&#xff09;设备&#xff…

设置墙、楼板每层的厚度和材质——群问题整理003

你好&#xff0c;这里是BIM的乐趣&#xff0c;我是九哥~ 今天分享的是设置墙、楼板等每层的厚度和材质。 我们都知道&#xff0c;Revit中墙、板这类系统族&#xff0c;厚度设置和普通族是不太一样的&#xff0c;他的厚度参数可读&#xff0c;但是并不可设置&#xff0c;因为我…

flannel网络拓扑

测试环境创建 在k8s中部署flannel网络插件 https://blog.csdn.net/weixin_64124795/article/details/128894411 参考文章部署k8s集群和flannel网络插件 我的k8s集群物理环境 我的集群中只有两个节点master和node1节点 [rootmaster sjs]# kubectl get node NAME STATU…

MySQL 索引原理以及 SQL 优化

索引 索引&#xff1a;一种有序的存储结构&#xff0c;按照单个或者多个列的值进行排序。索引的目的&#xff1a;提升搜索效率。索引分类&#xff1a; 数据结构 B 树索引&#xff08;映射的是磁盘数据&#xff09;hash 索引&#xff08;快速锁定内存数据&#xff09;全文索引 …

华为OD机试真题-查找接口成功率最优时间段-2023年OD统一考试(C卷)--Python3--开源

题目&#xff1a; 考察内容&#xff1a; for 时间窗口list(append, sum, sort) join 代码&#xff1a; """ 题目分析&#xff1a;最长时间段 且平均值小于等于minLost同时存在多个时间段&#xff0c;则输出多个&#xff0c;从大到小排序未找到返回 NULL 输入…

PostgreSQL 的实体化视图介绍

PostgreSQL 实体化视图提供一个强大的机制&#xff0c;通过预先计算并将查询结果集存储为物理表来提高查询性能。本教程将使用 DVD Rental Database 数据库作为演示例子&#xff0c;指导你在 PostgreSQL中创建实体化视图。 了解实体化视图 实体化视图是查询结果集的快照&…

T-Dongle-S3开发笔记——分区表

参考&#xff1a; ESP32之 ESP-IDF 教学&#xff08;十三&#xff09;—— 分区表_esp32分区表-CSDN博客 分区表 - ESP32 - — ESP-IDF 编程指南 latest 文档 (espressif.com) 分区表是 ESP32 划分内部 flash 闪存的清单&#xff0c;它将 flash 划分为多个不同功能的区域用于…

【前端素材】推荐优质后台管理系统inspina平台模板(附源码)

一、需求分析 后台管理系统是一个集成了多种功能模块的系统&#xff0c;通过这些模块的协同工作&#xff0c;实现对网站、应用程序或系统的全面管理和控制。管理员通过后台管理系统可以高效地管理用户、内容、数据、权限等方面的工作&#xff0c;确保系统的正常运行和安全性。…