关于公共IP地址(公网ip):您需要知道的

目录:
? 什么是公共ip地址?
? 私有IP与公共IP地址
? 公共IP地址范围
? 如何查找您的公共IP地址
? 动态ip
? 隐藏您的公共IP地址

什么是公共ip地址?

公共IP地址是您的家庭或企业路由器从ISP接收的IP地址。任何可公开访问的网络硬件都需要公共IP地址,例如家庭路由器以及托管网站的服务器。
公共IP地址是插入公共互联网的所有设备的不同之处。每个访问互联网的设备都使用唯一的IP地址。实际上,公共IP地址有时被称为Internet IP。

这是每个互联网服务提供商用于将互联网请求转发到特定家庭或企业的地址,就像运送工具如何使用您的实际地址将包裹转发到您家中一样。
将您的公共IP地址视为您拥有的任何其他地址。例如,您的电子邮件地址和家庭地址对您来说都是完全独一无二的,这就是为什么将邮件发送到这些地址可确保他们真正找到您而不是其他人。

相同的排他性适用于您的IP地址,因此您的数字请求将发送到您的网络,而不是其他人的。

私有IP与公共IP地址

一个私有IP地址,在很多方面,同样的事情,作为一个公网IP地址。它是路由器或其他提供IP地址的设备后面的所有设备的唯一标识符。
但是,与公共IP地址不同,家中的设备可以拥有与邻居设备完全相同的私有IP地址,也可以拥有全世界其他任何设备。这是因为专用地址是不可路由的 - 因特网上的硬件设备,被编程为防止具有专用IP地址的设备,直接与他们所连接的路由器之外的任何其他IP通信。

由于这些私有地址被限制无法访问互联网,因此您需要一个可以到达世界其他地方的地址,这就是需要公共IP地址的原因。这种类型的设置使家庭网络中的所有设备只使用一个地址(公共IP地址)在路由器和ISP之间来回传递信息。
另一种看待这种情况的方法是将家中的路由器视为您自己的Internet服务提供商。当您的路由器为私有连接到路由器后面的设备提供私有IP地址时,您的ISP会将公共IP地址提供给公共连接到Internet的设备。

私有和公共地址都用于通信,但该通信的范围基于所使用的地址而受到限制。
当您尝试从计算机打开网站时,请求将作为私有IP地址从您的计算机发送到路由器,之后您的路由器将使用分配给您网络的公共IP地址从您的ISP请求网站。一旦请求完成,操作就会反转 - ISP将网站的地址发送到您的路由器,路由器将地址转发给要求它的计算机。

公共IP地址范围

某些IP地址保留供公众使用,其他IP地址供私人使用。这使私有IP地址无法到达公共互联网,因为除非它们存在于路由器后面,否则它们甚至无法正常通信。
Internet Assigned Numbers Authority(IANA)保留以下范围以用作私有IPv4地址:
? 10.0.0.0至10.255.255.255
? 172.16.0.0至172.31.255.255
? 192.168.0.0到192.168.255.255
排除上述地址,公共IP地址范围为1到191。

所有192.xxx地址都未公开注册,这意味着它们只能在路由器后面用作私有IP地址。此范围是大多数私有IP地址下降的原因,这就是大多数Linksys,D-Link,Cisco和NETGEAR路由器的默认IP地址是此集合中的IP的原因。

IPv6地址空间如此之大,以至于不需要私有IP。但是,有一个特殊的独特单播IP范围fc00 :: / 7。但这个范围仍然是全球性的。

如何查找您的公共IP地址

您不需要在大多数时间都知道您的公共IP地址,但有些情况下,重要甚至是必要的,例如当您需要访问您的网络或其中的计算机时,远离家乡或您的商业。

最基本的例子是当你使用远程访问程序时。例如,如果您在上海的酒店房间,但需要“远程”到您家中的计算机,您需要知道可通过互联网访问的IP地址(公众)您的家庭路由器正在使用的IP地址),因此您可以指示该软件连接到正确的位置。

找到您的公共IP地址非常容易。事实上,您可以使用我们自己的Lifewire系统信息工具轻松查看您的内容:

虽然它不如使用我们的工具单击一样简单,但您通常也可以通过路由器的管理页面找到您的公共IP。如果你不知道那是什么,它通常是你默认网关的IP地址。
假设您出于远程访问原因而在此信息之后,两种方法的捕获是您需要从家用计算机/设备执行此操作。如果你已经离开,你必须有一个朋友或同事为你做。您还可以使用DDNS服务,其中一些甚至是免费的。No-IP 就是一个例子,但还有其他一些例子。

动态ip
大多数公共IP地址都会发生变化。任何类型的IP地址都会更改,称为动态IP地址。
当ISP是新事物时,用户只会在很短的时间内连接到互联网,然后断开连接。然后,一个客户正在使用的IP地址将被另一个需要连接到互联网的IP地址打开。

这种分配IP地址的方式意味着ISP不需要购买如此大量的IP地址。即使我们大多数人总是连接到互联网,这个一般过程仍然在使用。

但是,大多数托管网站的网络都具有静态IP地址,因为他们希望确保用户可以持续访问其服务器。拥有更改的IP地址会破坏目的,因为 一旦IP更改,DNS记录就需要更新,这可能会导致不必要的停机时间。

另一方面,家庭网络几乎总是被分配动态IP地址,原因相反。如果ISP为您的网络提供了不变的地址,则可能更有可能被在家中托管网站的客户滥用,或者***可能会一遍又一遍地尝试使用相同的IP地址直到他们破坏您的网络。
这就是为什么静态IP地址比拥有动态IP地址更昂贵的一个原因。我们之前提到过的DDNS服务在某种程度上解决了这个问题。
大多数网络具有更改的公共IP地址的另一个原因是因为静态IP地址需要更多管理,因此通常比具有动态IP地址的客户花费更多。

例如,如果您要移动到几公里之外的新位置,但使用相同的ISP,则分配动态IP地址只会意味着您将获得另一个可从地址池中获得的IP地址。使用静态地址的网络必须重新配置以应用于其新位置。

隐藏您的公共IP地址
您无法从ISP隐藏您的公共IP地址,因为您的所有流量必须在到达互联网上的任何其他内容之前通过它们。但是,您可以通过虚拟专用网络(VN)过滤所有数据,从您访问的网站隐藏您的IP地址,以及加密所有数据传输(从而隐藏来自ISP的流量)。
例如,假设您希望从谷歌隐藏您的IP地址。通常,访问谷歌的网站时,他们可以看到您的特定公共IP地址已请求查看其网站。从上面快速搜索其中一个IP查找网站会告诉他们您的ISP是谁。由于您的ISP知道已分配给您的IP地址,具体而言,这意味着您对谷歌的访问可以直接固定给您。

在您打开Google网站之前,使用VN服务会在您的请求结束时添加另一个ISP。
一旦连接到V
N,就会发生与上述相同的过程,只有这一次,而不是谷歌看到您的ISP分配给您的IP地址,他们会看到VN分配的IP地址。*

原文地址:https://blog.51cto.com/12629636/2415669

时间: 2024-10-10 09:20:32

关于公共IP地址(公网ip):您需要知道的的相关文章

如何判断本地路由器IP是否公网IP?

如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址. 有这么一种情况:拉的联通的带宽,分配的IP只能在联通内部访问,移动网络不能访问.这个IP最多只能算是"联通内的公网IP",不是真的公网IP. 有多种方法都可以判断本地(路由)IP是否公网IP,以下一一罗列以供小伙伴们参考. 一,经验法: 1,一般电信adsl带宽在未升级大带宽前是(动态)公网IP.如果花费很少的钱给你升级为100M光纤上网,99.99%是内网IP,那0.01%是我还没有发现过案例. 2,代理网

C#获取本机局域网ip和公网ip

1.获取局域网ip IPAddress ipAddr = Dns.Resolve(Dns.GetHostName()).AddressList[0];//获得当前IP地址string ip=ipAddr.ToString() ; 2.获取公网ip private static string GetIP() { string tempip = ""; try { WebRequest wr = WebRequest.Create("http://www.ip138.com/ip

域名查询IP及公网IP地址地理位置查询

#!/bin/bash printf "本脚本包含ip地理位置查询及已知域名查询IP \n" printf "###################################### \n" printf "/tmp/dns.txt 需要查询的域名列表目录 \n" printf "/tmp/dns_ip.txt 存放查询后的域名及IP对应目录 \n" printf "#######################

Java 判断IP地址为内网IP还是公网IP

tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 那么,直接上代码吧: public static boolean internalIp(String ip) { byte[] addr = IPAddressUtil.textToNu

python之IP地址或IP段处理模块-ipaddr

python处理IP和IP段的模块基本有两个:IPy与ipaddr IPy基本处理8位.16位.24位掩码的网段,其他的网段处理起来就会出现问题. ipaddr是google出的一个模块,很好的可以处理模块IPy不能解决这个问题,所以建议使用模块ipaddr! 模块地址:http://pythonhosted.org/ipaddr/ 使用介绍: Class总共分为:BaseIP.IPv4.IPv6 ipaddr.IPv4Network()    ipv4网段对象建立 ipaddr.IPv6Net

思科交换机 查看某个端口下的IP地址 及 IP查交换机端口

交换机端口 查IP地址 1.进入交换机特权模式  查 F0/10 端口的 MAC地址 #:show mac-address-table interface F0/17 Mac Address Table ------------------------------------------- Vlan    Mac Address       Type        Ports ----    -----------       --------    ----- 200    2857.be99

Java 如何获得本机IP 或者 公网IP

public static void main(String[] args) throws Exception {   //    URL url = new URL("http://www.ip138.com/ip2city.asp");   URLConnection conn = url.openConnection();   conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U

获取ip地址&&测试ip地址

# request# 动态页面加载 Selenium# request# 响应类型为 json# import json # json.loads(str) # 将str转化为dict# json.dumps(dict) # 将dict转化为 str #获取ip地址开始import requestsfrom fake_useragent import UserAgent #代理from lxml.etree import HTML #获取htmlimport time,pickle #包#常见的

[Swift]LeetCode93. 复原IP地址 | Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations. Example: Input: "25525511135" Output: ["255.255.11.135", "255.255.111.35"] 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入:

[Swift]LeetCode468. 验证IP地址 | Validate IP Address

Write a function to check whether an input string is a valid IPv4 address or IPv6 address or neither. IPv4 addresses are canonically represented in dot-decimal notation, which consists of four decimal numbers, each ranging from 0 to 255, separated by