公网IP和内网IP

局域网专用地址(内网地址,私有地址)

A类地址:10.0.0.0——10.255.255.255
由于A类地址的网络号位数是7位,主机号是24位,所以网段比较少(做多有2的7次方-2个网络),但每个网段的主机数都很大(每个网络有2的24次方-2台PC),因此A类地址一般用于大型的公司或厂家.

B类地址:172.16.0.0—-172.31.255.255
C类地址:192.168.0.0—192.168.255.255

—-内网也就是局域网,最直观的就是像网吧,公司内部的电脑用交换机,HUB,路由连起来的。再通过光纤,猫接入INTERNET的。

—-内网IP就是国际上分配ip的时候,留出一部分ip,不在internet上用,用于内部局域网等,虽然功能一样,但不能在internat上使用。属于非注册地址,专门为组织机构内部使用。

—-内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访Internet。 在互联网上,有一个叫做NAT的技术,是用来转换地址的,是为了解决公网IP不够用的问题而诞生的。
比如说,你的主机IP地址是192.168.12.1,这个就是一个私有的IP,这个IP是不能被路由的,也就是互联网是不认的,这个时候,你去ISP,比如电信,申请一个公网的IP,比如200.176.23.4,这个时候,你在路由器上做个NAT,把你的私有IP和你的公网IP做个映射,你就可以上网了,但是现在我们一般采用的是NAPT,就是端口映射的技术,但在IP地址规划时,内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。

特殊地址

一、0.0.0.0
严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。
二、255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。如果翻译成人类的语言,应该是这样:“这个房间里的所有人都注意了!”这个地址不能被路由器转发。
三、127.0.0.1
本机地址,主要用于测试。用汉语表示,就是“我自己”。在Windows系统中,这个地址有一个别名“Localhost”。寻址这样一个地址,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。
四、224.0.0.1
组播地址,注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。224.0.0.1特指所有主机, 224.0.0.2特指所有路由器。这样的地址多用于一些特定的程序以及多媒体程序。如果你的主机开启了IRDP(Internet路由发现协议,使用组播功能)功能,那么你的主机路由表中应该有这样一条路由。
五、169.254.x.x
如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,Wingdows系统会为你分配这样一个地址。如果你发现你的主机IP地址是一个诸如此类的地址,很不幸,十有八九是你的网络不能正常运行了。

公网地址

(0.0.0.0—-223.255.255.255)地址之间,除以上“局域网专用地址”和“特殊地址”以外的的地址即为公网地址。
我们已经知道IP地址包括公网和专用(私有)两种类型,公网IP地址又称为可全局路由的IP地址,是在Internet中使用的IP地址,目前对企业来说主要是ISP提供的一个或几个C类地址;是原理还是一样的,
说白了,公网IP是互联网上认识的,私有的IP是互联网上不认识的,只有你自己知道的。公网IP一般是网络运营商分配的。包括固定的和自动分配的。一般大点的单位都是专线接入,是用的固定IP,小单位或者家用的,大多是ADSL这种自动分配的IP的。一般一个入网点使用一个IP!通常是N个局域网IP,通过路由器用一个公网IP对外上网。路由器负责数据包的转发

A类地址:0.0.0.0——127.255.255.255
B类地址:128.0.0.0——191.255.255.255
C类地址:192.0.0.0——223.255.255.255
D类地址:224.0.0.0—–239.255.255.255
E类地址:240.0.0.0——255.255.255

这里写图片描述

类别
最大网络数
IP地址范围
最大主机数
私有IP地址范围
A
126(2^7-2)
1.0.0.0-127.255.255.255
2^24-2=16777214
10.0.0.0-10.255.255.255
B
16384(2^14)
128.0.0.0-191.255.255.255
2^16-2=65534
172.16.0.0-172.31.255.255
C
2097152(2^21)
192.0.0.0-223.255.255.255
256-2=254
192.168.0.0-192.168.255.255

https://wenku.baidu.com/view/0a03e7efe009581b6bd9eb4f.html

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中获取用户的公网IP内网IP需要进行不同的操作: 1. 获取公网IP 获取公网IP可以通过访问外部网站来获取,可以通过以下代码实现: ```java import java.net.InetAddress; import java.net.UnknownHostException; import java.io.IOException; public class PublicIP { public static void main(String[] args) { try { InetAddress addr = InetAddress.getByName("www.baidu.com"); System.out.println("Public IP: " + addr.getHostAddress()); } catch (UnknownHostException e) { e.printStackTrace(); } } } ``` 在上述代码中,我们通过访问百度网站来获取公网IP。 2. 获取内网IP 获取内网IP需要通过访问本地网络接口来获取,可以通过以下代码实现: ```java import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; public class LocalIP { public static void main(String[] args) { try { Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()){ NetworkInterface ni = interfaces.nextElement(); Enumeration<InetAddress> addresses = ni.getInetAddresses(); while (addresses.hasMoreElements()){ InetAddress addr = addresses.nextElement(); if (!addr.isLinkLocalAddress() && !addr.isLoopbackAddress() && addr.isSiteLocalAddress()){ System.out.println("Local IP: " + addr.getHostAddress()); } } } } catch (SocketException e) { e.printStackTrace(); } } } ``` 在上述代码中,我们通过遍历本地网络接口来获取内网IP。在获取到的IP地址中,排除了本地链路地址和回环地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值