什么是IP地址?
IP地址(英语:IP Address,全称Internet Protocol Address),又译为网际协议地址、互联网协议地址。是网际协议中用于标识发送或接收数据报的设备的一串数字。
当设备连接网络,设备将被分配一个IP地址,用作标识。通过IP地址,设备间可以互相通讯,如果没有IP地址,我们将无法知道哪个设备是发送方,无法知道哪个是接收方。 IP地址有两个主要功能:标识设备或网络和寻址。
常见的IP地址分为IPv4与IPv6两大类,IP地址由一串数字组成。IPv4为32位长,通常书写时以四组十进制数字组成,并以点分隔,如:172.16.254.1
;IPv6为128位长,通常书写时以八组十六进制数字组成,以冒号分割,如:2001:db8:0:1234:0:567:8:1
。
IP地址有两个主要的功能:
- 标识主机:更具体地说,标识其网络接口,并且提供主机在网络中的位置。
- 网络寻址:网际协议(缩写:IP)的一个重要机制就是网络寻址(英语:internet address)。该功能的目的是将数据报从一个网络模块送到目的地。在发送的整个过程,IP地址(address)充当着目的地的位置,域名(name)意味着我们要找什么,路由(route)代表着如何到达目的地的这个过程。 每个IP数据包的标头包含了发送主机的IP地址和目的主机的IP地址。
Java 查询IP的方法:
package com.example.demo;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IpAddress {
public static void main(String[] args) throws UnknownHostException {
//查询本机地址
InetAddress intAddress = InetAddress.getByName("192.168.1.4");
System.out.println(intAddress);
InetAddress intAddress1 = InetAddress.getByName("localhost");
System.out.println(intAddress1);
InetAddress intAddress2 = InetAddress.getLocalHost();
System.out.println(intAddress2);
//查询网站IP
InetAddress intAddress3 = InetAddress.getByName("www.baidu.com");
System.out.println("百度ip地址"+intAddress3);
//常用方法
System.out.println(intAddress.getCanonicalHostName());//规范的名字
System.out.println(intAddress.getHostAddress());//ip
System.out.println(intAddress.getHostName());//域名,或者自己电脑的名称
}
}
什么是端口?
端口(英语:port),又称为连接端口、通讯埠、协议端口(protocol port)在电脑网络中是一种经由软件创建的服务,在一个电脑操作系统中扮演通信的端点(endpoint)。每个端口都会与主机的IP地址及通信协议关联。端口以16比特数字来表示,这被称为端口编号(port number)。
位于传输层的通信协议通常需要指定端口号,例如在TCP/IP协议族之下的TCP与UDP协议。在应用层中,使用主从式架构的通信协议,在每个端口上提供多路复用服务(multiplexing service)。经由公认端口号(well-known port numbers),通常可以辨认出这个连线使用的通信协议,其中具代表性的是最基础的1024个公认端口号(well-known port numbers),例如Telnet协议默认使用23端口来连线,Secure Shell协议默认使用22端口,HTTP协议默认使用80端口,HTTPS协议默认使用443端口。
可以参考一篇文章深入了解端口: https://zhuanlan.zhihu.com/p/225777212