一、网络基础知识

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

访问流程:

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

相关推荐

  1. 网络基础知识

    2024-02-23 00:28:01       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 00:28:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 00:28:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 00:28:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 00:28:01       18 阅读

热门阅读

  1. springboot+vue项目基础开发(16)主页面布局

    2024-02-23 00:28:01       24 阅读
  2. 抖音半蓝V商家电话采集软件使用教程

    2024-02-23 00:28:01       124 阅读
  3. Linux ip route命令

    2024-02-23 00:28:01       29 阅读
  4. Linux C++ 字符编码转换 GBK与UTF8互转

    2024-02-23 00:28:01       29 阅读
  5. 【Spring Boot 3】【JPA】一对多单向关联

    2024-02-23 00:28:01       28 阅读
  6. 中标麒麟系统

    2024-02-23 00:28:01       29 阅读
  7. js 数组排序的方式

    2024-02-23 00:28:01       35 阅读