java基础之网络协议(IP地址、InetAddress、端口)

670 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第15天,点击查看活动详情

1.1 IP地址

  • IP地址:是网络中设备的唯一标识

  • IP地址分为两大类

    • IPv4:是给每个连接在网络上的主机分配一个32bit地址。 按照TCP/IP规定,IP地址用二进制来表示, 每个P地址长32bit,也就是4个字节。例如一个采用I进制形式的IP地址是11000000 101010000000001 01000010" ,这么长的地址,处理起来也太费劲了。为了方便使用,IP地址经常被写成+进制的形式,中间使用符号"分隔不同的字节。于是,. 上面的IP地址可以表示为"192168. 1.66" . IP地址的这种表示法叫做"盼+进制表示法”, 这显然比1和0容易记忆得多

    • IPv6:由于互联网的蓬勃发展, IP地址的需求量愈来愈大,但是网络地址资源有限,使得IP的分配越发紧张。为了扩大地址空间,通过IPv6重新定义地址空间,采用128位地址长度,每16个字节-组,分成8组十六进制数,这样就解决了网络地址资源数量不够的问题

  • 常用命令

    • ipconfig: 查看本机P地址
    • ping IP地址:检查网络是否连通
  • 特殊IP地址==127.0.0.1==:是回送地址,可以代表本机地址,一般用来测试使用

1.2 InetAddress的使用

  • 为了方便我们对IP地址的获取和操作, Java提供了一个类InetAddress供我们使用

  • InetAddress:此类表示Internet协议(IP) 地址

  • 导包:import java.net.InetAddress

方法名说明
static InetAddress getByName(String host)确定主机名称的IP地址。 主机名称可以是机器名称,也可以是IP地址
String getHostName()获取此IP地址的主机名
String getHostAddress()返回文本显示中的IP地址字符串
  • 范例
package test;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Demo {
    public static void main(String[] args) throws UnknownHostException {
        //1,static InetAddress getByName(String host) 	确定主机名称的IP地址。 主机名称可以是机器名称,也可以是IP地址
//        InetAddress address = InetAddress.getByName("YM");
        InetAddress address = InetAddress.getByName("192.168.128.1"); //推荐使用
        System.out.println(address); //YM/192.168.128.1

        //2,String getHostName() 	获取此IP地址的主机名
        String hostName = address.getHostName();
        System.out.println(hostName); //YM

        //3,String getHostAddress() 	返回文本显示中的IP地址字符串
        String hostAddress = address.getHostAddress();
        System.out.println(hostAddress); //192.168.128.1
    }
}

1.3 端口

  • 端口:设备上应用程序的唯一标识
  • 端口号:用两个字节表示的整数,它的取值范围是065535。其中, 0 1023之间的端口号用于些知名的网络服务和应用,普通的应用程序需要使用1024以上的端口号。如果端口号被另外一个服务或应用所占用,会导致当前程序启动失败