每天进步一点点,大家好,我是大龄码农。
今天是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