在Java编程开发中,网络通信的开发是很重要的一部分,它是两台或多台计算机进行网络的基础,网络程序编写的目的也就是为了与其他计算机之间进行网络通信,所以今天大灰狼就来和大家分享一下Java网络通信中要的知道的一些知识。
其实在Java的发展过程中,为了更加方便的进行网络通信,开发者逐渐的将网络编程中所需要的一些内容封装成了不同的类,用户在进行网络编程时,只需要创建相应类的对象,并且调用相应的方法即可。
首先我们来了解一下网络的通信结构。
局域网和因特网
在网络通信中,两台计算机的信息传输可以使用如下的网络线路来表示:
其中服务器是指提供信息的计算机或程序,
客户端是指请求信息的计算机或程序,
两者之间通过网络进行连接并且实现相互的通信,
那么我们所了解的局域网和因特网又有哪些区别的呢?
局域网(LAN)从名字上我们大概就可以了解,它是在一定区域内由一定数量的计算机互相连接而成的网络,它可以是两台,也可以是同一个区域内的上千台计算机构成,当一个局域网的范围继续进行扩大,它也就形成了广域网(WAN)。
而我们所熟知的因特网(Internet)就是由无数个局域网和广域网连接而成的,它是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协定相连,形成逻辑上的单一巨大国际网络。这种将计算机网络互相联接在一起的方法可称作“网络互联”,在这基础上发展出覆盖全世界的全球性互联网络称“互联网”,即是“互相连接一起的网络”。
那么我们接下来就来聊一聊这些网络之间到底具备哪些协议?
网络协议
网络协议规定了计算机之间连接的物理、机械、电器等特征,计算机之间的相互寻址规则,数据发送冲突的解决方式,长数据如何分段传送和接收等内容。这就像在世界上不同的国家之间,有不同的法律是一样的,目前在互联网中的网络协议也有很多种,其中最常见的就是IP协议和TCP以及UDP协议。
大灰狼来简单的和大家介绍一下以上这三种协议的基本内容
IP协议
IP是internetprotocol的简称,是网络协议中的一种,internet网络采用的协议是TCP/IP协议,但是这个协议是绝对不可以小视的,因特网依靠TCP/IP协议在全球范围内实现了不同硬件结构、不同操作系统、不同网络系统之间的互联。在intertet网络中,存在着数以亿计的主机,每一台主机都用网络为其分配的intertete地址来代表自己主机本身,这个地址就是IP地址,所以我们也可以说IP地址就是某一台计算机的身份证号码。
到目前为止呢,IP地址用四个字节来表示,也就是32位的二进制数来表示,这也是我们通常最常见的IPV4地址,为了方便使用呢,我们通常取每个字节的十进制数,并且在每个字节之间用圆点隔开来表示IP地址,如最常见的192.168.1.1,当然肯定还有小伙伴在电脑上也发现有用16个字节来表示的IP地址,这种IP地址是属于IPV6地址
并且TCP/IP模式是一种层次结构,一共有四层,分别为应用层,传输层互联网层和网络层,他们每一层都有自己所特定的功能,提供特定的服务和对应的访问接口,并且拒一定的独立性,这四层的关系如下图所示