JAVA基础——网络编程之网络基础

每天进步一点点,大家好,我是大龄码农。

今天是2024年6月7日,高考的第一天,祝所有的考生至少要发挥出正常的水平,愿你们能龙腾虎跃。每到这个时候,大龄码农就感慨万分,当年的外部环境、第一次的主场、那两天的遭遇。虽然种种遗憾,但是我仍要说,高考不是终点,是人生又一起点的重合而已。学习是自己的事情,贵在坚持,君子慎独!

好了,说回来,今天开始讲解网络编程,生活中我们使用各种不同的途径浏览互联网上的信息,这里以使用电脑浏览器的方式举例:当我们想要浏览“央视网”的网站信息时,我们首先打开浏览器,在地址栏中输入网址,点击回车后,就能看到网站首页的信息了(根据网速快慢不同,等待时间也不同)

 

名词通俗解释

1、IP地址

互联网为每一台设备分配的唯一的地址,和现实生活一样,有了地址就能定位一个设备的位置

2、 端口

设备与外界通讯交流的出口,在这里是一种虚拟出口,如果将IP地址比作楼房,那么端口可以理解为某一室。

3、 DNS

域名系统,简单理解就是域名和IP地址的相互映射关系

4、网络连接

把网络两端连接起来,如果把网络连接比作是打电话,如果连接上了就是拨通电话,如果无法连接就是电话一直不通

5、网络协议

网络上为了能进行通信而建立的一种标准的规则

6、客户端

主动向目标建立网络连接的一方

7、服务端

接收并响应客户端请求的一方

我们来看看,上面访问网站这么一个简单的操作,计算机在背后主要干了些什么:

1、获取本机的IP地址

通过DHCP(动态主机配置协议)分配内网IP地址,再通过NAT(网络地址转换)将内网IP地址转换为外网IP地址

2、获取服务端的IP地址

通过DNS,解析服务端的域名,转换为IP地址

3、建立网络连接

访问服务端的IP地址与端口号,当网络协议是http时,端口号80可以省略不写,当网络协议是https时,端口号443可以省略不写

4、客户端请求

由浏览器发送一个请求

5、服务端处理

接收并处理客户端的请求,将结果返回给客户端。

6、客户端解析

浏览器接收并解析服务端返回的结果,显示在浏览器上

在实际生活中,网络的使用状况千差万别,比如,通信媒介不一样(有线和无线)、操作系统不一样(Windows和Linux等)、应用环境不一样(电脑、PAD、手机等)。为了满足各种的不同,就一定要有一个必须遵守的相同,这个相同就是一系列的行为规则,就是使用分层的网络体系结构,将复杂的大问题拆分成若干个单一的小问题,在不同的层上解决

OSI七层参考模型

说明:图片来源于网络。

OSI参考模型将网络体系结构按照不同功能划分为7层,由高到低依次为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

划分层次依据以下五个原则:

1、网络中各节点具有相同的层次

2、网络中各节点同等层次功能相同

3、同一节点内相邻层通过接口通信

4、同一节点内底层向高层提供服务

5、网络中各节点同层通过协议通信

简单描述一下,就是下层为上层提供服务,上层使用下层提供的服务,各层之间是严格单向依赖。当设备A与设备B在网络通信时,它们不会在应用层上直接通信,而是设备A先将数据通过从应用层到物理层各层进行包装,再将数据通过网络以二进制流的方式发送到设备B上,设备B通过从物理层到应用层各层对数据进行拆解,最后到达设备B的应用层,获得设备A发来的数据信息。

虽然OSI七层参考模型层次清晰,但是由于过于复杂难以完全实现,再加上各层功能具有一定的重复性,导致效率较低,只存在于一种理论知识。而TCP/IP协议简化了层次设计,后来慢慢发展成为计算机之间最常用的网络协议

 

说明:图片来源于网络。每一层是一个模块,用于完成某种功能,并具有自己的通信协议

下面我们讲几个常见的网络协议

一、TCP

TCP在传输层,传输控制协议,是面向连接的协议,它的主要特点:

  • 必须先建立连接,在传送数据完毕后,必须释放已经建立的连接
  • 每一条TCP连接必须是一对一的
  • 通过TCP连接传送的数据都能安全到达,所谓安全是指按顺序、无差错、不丢失、不重复
  • TCP允许通信双方在任何时候都能相互发送数据
  • TCP面向字节流

TCP最有名的当数三次握手连接和四次挥手断开

让我们举个生活中的例子

1、三次握手连接:

客户端:在吗?

服务端:在

客户端:出来玩

2、四次挥手断开

客户端:我想回家了

服务端:好吧

服务端:下次什么时候再出来玩

客户端:再约吧

二、UDP

UDP在传输层,用户数据报协议,是面向报文的协议,提供不可靠服务,它的主要特点:

  • UDP不需要像TCP那样建立连接
  • 一个UDP发送端可以对应多个接收端
  • 通过UDP传送的数据不保证可靠,能容忍一些数据的丢失,但是不能允许有较长的延时
  • UDP速度较TCP快

三、HTTP

HTTP在应用层,超文本传输协议,运行在TCP之上,用于从服务器传输超文本数据到本地浏览器的传输协议。超文本数据包括文字、图片、音频、视频等

  • 使用明文传输
  • 是一个无状态的协议,每次请求都是独立的

四、HTTPS

HTTPS在应用层,超文本传输安全协议,运行在TCP之上,它就是添加了加密和认证机制的HTTP

五、FTP

FTP在应用层,文件传输协议,运行在TCP之上,主要用于传输文件,其传输效率非常高

综上,无论使用哪种协议,网络传输的本质就是数据交换,在实际的生产环境中,根据不同的业务场景,选择合适的网络协议。

    总结:

1、介绍了关于网络的一些相关名词

2、介绍了网络体系结构的两种模型

3、介绍了一些常见的网络协议

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90824.html

(0)
guozi's avatarguozi
上一篇 2024年6月7日 上午11:14
下一篇 2024年6月7日 上午11:18

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注