网络通信之三要素

实现网络编程关键的三要素:

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

端口:应用程序在设备中唯一的标识

协议:数据在网络中传输的规则,常见的协议有UDP协议和TCP协议

IP地址:

IP(internet protocol):全称“互联网协议地址”,是分配给上网设备的唯一标志

常见的IP分类为:IPv4和IPv6 

 IP地址形式:

公网地址和私有地址(局域网使用)

192.168.开头的就是常见的局域网地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用。

IP常用命令:

ipconfig:查看本机ip地址

 特殊IP地址:

本机IP:127.0.0.1或者localhost:称为回送地址也可以称本地回环地址,只会寻找当前所在本机。

86d90085bc68498bb972fc20e9093cf1.png

import java.net.InetAddress;

public class 网络通信_IP {
    public static void main(String[] args) throws Exception {
        //获取本机地址对象
        InetAddress ip1=InetAddress.getLocalHost();
        System.out.println(ip1.getHostName());//获取本机名字
        System.out.println(ip1.getHostAddress());//获取本机IP地址

        //获取域名IP对象
        InetAddress ip2=InetAddress.getByName("www.baidu.com");
        System.out.println(ip2.getHostName());//获取域名名字
        System.out.println(ip2.getHostAddress());//获取域名IP地址

        //获取公网IP对象
        InetAddress ip3=InetAddress.getByName("112.80.248.75");
        //可能会卡一段时间,因为在联网查询
        System.out.println(ip3.getHostName());//获取公网名字
        System.out.println(ip3.getHostAddress());//获取公网IP地址

        //判断能否通:ping 6s之前测试是否可通(判断是否联网)
        System.out.println(ip3.isReachable(6000));//ping的通则为true,反之为false

    }
}

端口号:

标识正在计算机设备上运行的进程(程序),被规定为一个16位的二进制,范围是0-65535

端口类型:

周知端口:0-1023,被预先定义的知名应用占用(如:HTTP占用80,FTP占用21)

注册端口:1024-49151,分配给用户进程或某些应用程序(如Tomcat占用8080,MySQL占用3306)。

动态端口:49152到65535,之所以称为动态端口,是因为它一般不固定分配某种进程,而是动态分配。

注意:我们自己开发的程序应选择注册端口,且一个设备中不能出现两个程序的端口号一样,否则会出错。

ec670fc7eb4045a5a7a54cedc4a6714e.png

 传输层的2个常见协议:

TCP(Transmission Control Protocol):传输控制协议。

UDP(User Datagram Protocol):用户数据报协议。

TCP协议特点:

1、使用TCP协议,必须双方先建立连接,它是一种面向连接的可靠通信协议。

2、传输前,采用“三次握手”方式建立连接,所以是可靠的。

3、在连接中可进行大数据量的传输。

4、连接、发送数据都需要确认,且传输完毕后,还需释放已建立的连接,通信效率较低。

TCP协议通信场景:

对信息安全要求较高的场景,例如:文件下载、金融等数据通信。

db454af9e73d45529c6f29214e017d05.png

796acc5ff72c4719b3d68c49bb8e2c1a.png

 UDP协议:

UDP是一种无连接、不可靠传输的协议。

将数据源IP、目的地IP和端口封装成数据包,不需要建立连接

每个数据包的大小限制在64KB内

发送不管对方是否准备好,接收方收到也不确认,所以是不可靠的

可以广播发送,发送数据结束时无需释放资源,开销小,速度快

UDP协议通信场景:

语音通话,视频会话等。

讲完这些,我不禁想要问一下学习本文的读者们两个问题:

一、通信协议是什么?

计算机网络中,连接和通信数据的规则被称为网络通信协议

二、TCP通信协议的特点是什么样的?

1、 它是一种面向连接的可靠通信协议

2、传输前,采用“三次握手”方式建立连接,点对点的通信,所以可靠

3、在连接中可进行大数据量的传输

4、通信效率较低 

猜你喜欢

转载自blog.csdn.net/qq_62731133/article/details/124531679