| 2025-02-25
局域网共享上网,是让局域网内多台设备共用一个网络连接访问互联网的技术。其核心原理是通过网络地址转换(NAT)等技术,实现内网与外网的通信。
1、NAT 的定义与作用:在 TCP/IP 协议体系中,规定了三类局域网保留 IP 地址,分别是 10.x.x.x、172.16.x.x、192.168.x.x(X 在 0 - 255 之间,实际使用时网络号部分不能为全 0 或全 1) 。这些 IP 地址只能在局域网内部使用,若要连接到 Internet,需要将内网 IP 地址转换为合法的外网 IP 地址,这一过程就是网络地址转换(Network Address Translation,简称 NAT) 。NAT 技术的主要作用有两个:一是节省合法的公网 IP 地址,因为公网 IP 地址资源有限,通过 NAT 可以让多个内网设备共享一个或少数几个公网 IP 地址访问互联网;二是隐藏内网上主机的真实 IP 地址,从而提高网络的安全性,降低内网设备直接暴露在公网下遭受攻击的风险 。
2、NAT 的工作过程:以一个简单的场景为例,假设连接外网的路由器或主机通过固定或动态获取得到了一个合法的公网 IP 地址,如 219.254.38.180,同时它还有一个内网地址,比如 192.168.0.1,作为局域网内其他设备的网关 。局域网内部有一台电脑,其 IP 地址是 192.168.0.2:4000(4000 是它的端口号),当这台电脑想要访问 Internet 上的某个主机时,它的请求会先传到网关 192.168.0.1 上 。网关会将这个内网 IP 地址和端口号转换为合法的公网 IP 地址和一个新的端口号,比如 219.254.38.180:9000 。然后以转换后的 IP 地址和端口号向 Internet 上的目标主机发出请求 。当目标主机回应时,数据流会传回给 219.254.38.180:9000 。网关接收到数据后,会根据之前建立的映射关系,查找与 9000 这个端口号相关联的内部 IP 地址和端口号,当发现是 192.168.0.2:4000 后,就把数据传给这台内部电脑,这样就完成了一次数据的传输和 IP 地址的转换 。
1、内网设备发起请求:当局域网内的设备(如电脑、手机等)需要访问外网资源时,会根据自身的路由表,将数据包发送到默认网关,也就是连接外网的路由器或主机 。在这个过程中,数据包包含了源 IP 地址(内网设备的 IP 地址)、目的 IP 地址(外网服务器的 IP 地址)以及其他相关的协议头部信息 。
2、网关处理数据包:网关(路由器或主机)接收到内网设备发来的数据包后,首先会检查数据包的合法性 。然后根据 NAT 规则,对数据包的源 IP 地址和端口号进行转换,将内网 IP 地址转换为公网 IP 地址,并为其分配一个可用的端口号 。同时,网关会在 NAT 表中记录下这种转换关系,以便后续将返回的数据包正确转发给内网设备 。
3、数据包在公网传输:经过转换后的数据包,以新的源 IP 地址(公网 IP 地址)和端口号在公网中传输 。公网中的路由器根据数据包的目的 IP 地址,通过路由算法查找最佳路径,将数据包转发到目标服务器 。
4、目标服务器回应:目标服务器接收到数据包后,处理请求并生成回应数据包 。回应数据包的源 IP 地址是目标服务器的 IP 地址,目的 IP 地址是之前转换后的公网 IP 地址和端口号 。
5、网关转发回应数据包:公网中的路由器将目标服务器的回应数据包转发回网关 。网关接收到回应数据包后,根据之前记录在 NAT 表中的转换关系,将数据包的目的 IP 地址和端口号还原为内网设备的 IP 地址和端口号 。然后将还原后的数据包转发给对应的内网设备 。
6、内网设备接收回应:内网设备接收到网关转发的回应数据包后,根据数据包中的协议头部信息,将数据传递给相应的应用程序进行处理 。这样,内网设备就完成了一次对外网资源的访问 。
1、硬件方式(以路由器为例):路由器是实现局域网共享上网的常见硬件设备 。它具有多个网络接口,一个接口连接外网(如宽带调制解调器),获取公网 IP 地址;其他接口连接内网设备,为内网设备分配内网 IP 地址 。路由器内置了 NAT 功能和路由表 。当内网设备发送数据包时,路由器根据 NAT 规则进行地址转换,并根据路由表将数据包转发到外网 。当外网回应数据包时,路由器再根据 NAT 表和路由表,将数据包正确转发给内网设备 。蒲公英路由器支持多种上网方式,包括动态 IP、静态 IP、PPPoE 等,能适应不同的网络环境,实现高效的局域网共享上网 。
2、软件方式(以 Windows Internet 连接共享为例):在 Windows 系统中,可以通过启用 Internet 连接共享(ICS)功能来实现局域网共享上网 。启用 ICS 功能的电脑需要有两个网络连接,一个连接外网(如宽带连接),另一个连接内网(如通过网卡连接到局域网) 。启用 ICS 后,这台电脑会自动为内网设备分配一个 192.168.0.x 的 IP 地址段,并充当内网设备的网关 。当内网设备发送数据包时,这台电脑会将内网 IP 地址转换为公网 IP 地址,并通过外网连接将数据包发送出去 。当外网回应数据包时,再将数据包转发给内网设备 。
通过以上原理和方式,实现了局域网内设备的共享上网,让多个设备能够高效、安全地访问互联网 。在实际应用中,可根据网络规模、需求和预算等因素,选择合适的共享上网方式 。
1. 什么是端口号:端口号是 TCP/IP 协议中的一个概念,用于标识计算机中不同的应用程序或服务,范围是 0 - 65535,通过端口号,操作系统可以将接收到的数据准确地传递给对应的应用程序 。
2. 动态 NAT 和静态 NAT 的区别:静态 NAT 是将一个固定的内网 IP 地址映射到一个固定的公网 IP 地址,一对一的映射关系;动态 NAT 是从一个公网 IP 地址池中动态地为内网 IP 地址分配公网 IP 地址,多对多的映射关系 。
3. 路由器的路由表是如何工作的:路由器的路由表包含目的网络、子网掩码和下一跳地址等信息,当路由器接收到数据包时,根据数据包的目的 IP 地址,结合子网掩码在路由表中查找匹配的条目,然后将数据包转发到下一跳地址对应的下一跳路由器 。