每日java:网络编程

网络编程的两个主要问题:
(1)准确定位网络上一台或多台主机;以及定位主机上的特定应用
(2)找到主机后如何可靠高效地进行数据传输

针对第一个问题:IP和端口号
针对第二个问题:提供网络通信协议:TCP/IP参考模型

IP

IP:用来唯一标识Internet上的计算机(通信实体)

在Java中使用InetAddress类来代表IP

InetAddress inet1=InetAddress.getByName("www.baidu.com");
//获取本地ip
InetAddress inet2=InetAddress.getLocalHost();

IP分类方式1:IPv4和IPv6

IPv4由4个字节组成,4个0-255,如192.168.0.1,一共大概42亿,30亿都在北美,2011年初用尽。

IPv6:128位(16个字节),写成8个无符号整数,每个整数用四个十六进制位表示,数之间用冒号分开,如3ffe:3201:1401:1280:c8ff:fe4d:db39:1984

IP分类方式2:万维网(公网地址)和局域网(私有地址)

192.168开头的就是私有地址,范围即为192.168.0.0–192.168.255.255,专门为组织机构内部使用

域名:www.baidu.com 通过DNS转化为IP地址

端口号

端口号标识正在计算机上运行的进程。:
不同的进程有不同的端口号,被规定为一个16位的整数0-65535

端口分类:
公认端口:0-1023。被预先定义的服务通信占用(如:HTTP占用端口80,FTP占用端口21,Telnet占用端口23)
注册端口:1024-49151。分配给用户进程或应用程序(如Tomcat占用端口8080,MySQL占用端口3306,Oracle占用端口1521等)
动态/私有端口:49152-65535

端口号与IP地址的组合得出一个网络套接字:Socket

网络通信协议

通信协议对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。

针对问题:指定源地址和目标地址、加密解密、压缩解压缩、差错控制、流量控制、路由控制。

猜你喜欢

转载自blog.csdn.net/weixin_49527334/article/details/113853082