网络编程及相关概念

网络

概念:两台或多台设备通过一定物理设备连接起来构成了网络

根据网络的覆盖范围不同,对网络进行分类
局域网:覆盖范围最小,仅仅覆盖一片小区域。
城域网:覆盖范围较大,可以覆盖一个城市。
广域网:覆盖范围最大,可以覆盖全国,甚至全球。

网络编程

概述:Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java的本机安装系统里,由JVM进行控制。并且Java实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境

目的:直接或向接地通过网络协议与其它计算机实现数据交换,进行通讯。

要素
1、如何定位网络上一个或多台主机。
①IP
②端口号
2、规则(网络通信协议)。

IP地址

概念:用于唯一标识网络中的计算机(通信实体)

在java中用InetAddress类代表IP。

查看本机IP地址:i命令提示符中输入:ipconfig。

IP地址的表示形式:点分十进制xx.xx.xx.xx(每一个十进制数的范围:0~255)。

分类:IPV4和IPV6。

IPV4:四个字节(32位),一个字节的范围是0~255。

0~255 0~255 0~255 0~255

Ip地址的组成=网络地址+主机地址。例:192.168.16.69。

由于IPV4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPV6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。

域名

例:www.baidu.com

作用:为了方便记忆,解决记Ip困难的问题。

概念:将IP地址映射成域名,这里怎么映射上——>HTTP协议。

端口号

概念:用于标识计算机上某个特定的网络程序

表示形式:16位的整数,范围在0~65535(2个字节表示端口 0~2^16-1)。

0~1024已经被系统应用占用,最好别用。

常见的网络程序端口号:
tomcat:8080
mysql:3306
oracle:1521
......

端口号和IP地址组合出一个网络套接字:socket;

网络通信协议

协议(TCP/IP):
TCP/IP(Transmission Control Protocol / Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。

TCP和 UDP

TCP协议:传输控制协议

1、使用TCP协议前,须先建立TCP连接,形成传输数据通道。
2、传输前,采用“三次握手”方式,是可靠的
3、TCP协议进行通信的两个应用进程:客户端、服务端。
4、在连接中可进行大数据量的传输。
5、传输完毕,需释放已建立的连接,效率低。

UDP协议:用户数据协议

1、将数据、源、目的封装成数据包,不需要建立连接。
2、每个数据报的大小限制在64K内,不适合传输大量数据。
3、因无需连接,故是不可靠的。
4、发送数据结束时无需释放资源(因为不是面向连接的),速度快。
5、例:发短信。

你可能感兴趣的:(网络)