前端开发基础——网络通信
1. 网络的概念
我们如今处于网络时代,我们口中所说的上网的网到底指的是什么呢?首先我们给出网络的概念,网络是由若干结点和连接这些结点的链路组成。结点包括路由器,交换机,计算机等。而因特网这个名词我们也很熟悉,它是世界上最大的互连网络,是由一个个网络通过路由器连接起来的更大的网络。所以我们经常所说的上网其实是上Internet网。
2. 网络体系结构
说到网络,我们不得不说说网络体系结构。计算机网络是一个非常庞大、复杂的系统。别看我们现在使用操作电脑很简单,其实计算机需要进行许多复杂的操作,只是我们看不见而已。为了解决计算机通信的复杂性,就有人提出了分层的思想,分层就是将庞大复杂的问题,转化为若干较小的局部问题,然后我们对这些问题进行研究处理。
于是国际标准化组织(ISO)就提出了开放系统互连基本参考模型 OSI/RM,简称OSI。目的是让全世界任何一个地方的电脑,只要遵循这个标准就可以进行通信。但是由于OSI实现协议过于复杂,制定周期长,有些层次划分不合理,所以只是取得了理论成果,市场化失败。随着互联网的快速发展,TCP/IP模型成为被广泛运用的标准。下面我们说说OSI七层体系结构与TCP/IP体系结构:
OSI体系结构 | TCP/IP体系结构 | 五层体系结构 |
应用层 | 应用层 |
应用层 |
表示层 | ||
会话层 | ||
运输层 | 运输层 | 运输层 |
网络层 | 网际层 | 网络层 |
数据链路层 | 网络接口层 |
数据链路层 |
物理层 | 物理层 |
为了便于我们学习网络通信的原理,我们常常使用的是五层体系结构。
应用层
应用层是体系结构的最高层。它的主要任务是通过应用进程的交互完成网络应用。这其实就是我们用户所能接触的一层,如我们常常访问互联网用的HTTP协议,发邮件用的SMTP协议,文件传输的FTP协议。它的交互数据单元是报文。
应用层的协议:HTTP,HTTPS,FTP,POP3、SMTP等。
运输层
运输层的任务就是负责两台主机进程之间的通信提供传输服务,其实就是利用该层的服务传输应用层的报文。这里就有我们常常听说的两种协议:传输控制协议TCP、用户数据报协议UDP。
运输层常用的协议:
1)TCP:面向连接的、可靠的数据传输,数据传输单位是报文段。
2)UDP:面向无连接的、尽最大努力的数据传输,不保证可靠性,数据传输单元是用户数据报。
网络层
网络层是负责不同主机通信服务。它是把运输层产生的报文段或用户数据报封装成分组或包进行传送。分组,也就是数据传输单元称为IP数据报。
网络层的协议:IP协议、ICMP、IGMP、ARP等。
数据链路层
数据链路层负责在主机之间进行通信的过程中,有很多段链路,相邻结点之间传输数据服务。数据链路层将网络层交下来的IP数据报组装成帧,在相邻结点进行传送。数据传输单元就是帧,包括数据和控制信息。
网络层的协议:PPP协议、CSMA/CD协议等。
物理层
物理层负责在物理介质上面的传输任务。数据传输单元是比特。所用的物理媒介包括光缆、双绞线、无线通信、同轴电缆等。
3. 几个重要的概念
网络协议
网络协议是为了进行网络中数据交换所建立的规则。它包括三个要素:语法(数据和控制信息的格式和结构)、语义(规定了怎么做、做什么、什么时候做)、同步(完成任务的顺序说明)。
实体
实体是可发送或接受信息的硬件或软件进程。协议正是控制实体之间进行通信的规则。
分层
在网络体系结构中,分层思想体现的淋漓尽致,这也给我们以后解决复杂问题有着很多启示。如我们的程序开发分前后端,后端代码又分controller、service、dao等等,我们都用到了。分层思想有很多好处:灵活性好,易于实现和维护,能促成标准化工作。
- 点赞
- 收藏
- 关注作者
评论(0)