B/S架构中省去了客户端的开发,是基于浏览器(Browser)与服务端完成数据的通信
网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。
网络即一种物理链接介质
通信是人与人之间通过某种媒体进行的信息交流与传递。
通信即数据与信息的传输
网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。
网络通信即计算机与计算机之间通过物理介质和某种协议进行的数据与信息的传输
了解了以上知识后我们就可以发现,计算机之间需要完成通信,必要的条件有两个:
物理链接介质我们这里不做深入研究,下面我们来学习一下互联网的通信协议。
OSI模型是由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。OSI协议根据功能不同,分工不同,被人为的分为七层协议。
实际中还有人划分为五层、四层协议
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
五层划分为:应用层、传输层、网络层、数据链路层、物理层。
四层划分为:应用层、传输层、网络层、网络接口层。
协议用来规定数据的组成格式,是的不同的计算机之间可以识别传输的数据。
主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0。在网络通信的过程中,物理层负责发送电信号。一组物理层数据称之为位。
我们知道单纯由0和1组成的电信号没有意义,无法进行识别,这时候我们需要物理链路层,它定义了电信号的分组方式。常见的物理链路层的协议有以太网协议(Ethernet)
以太网协议规定:
网络层走的是IP协议,主要用于划分广播域,每一个广播域需要通过网关将包转发到公网,网关走的是路由协议。
IP协议规定:
在网络层还有一个非常重要的协议ARP协议,ARP协议是地址解析协议,它是根据IP地址获取物理地址(mac地址)的一个TCP/IP协议。IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。
TCP/UDP协议是基于端口的一种协议,端口范围是0-65535,期中0-1023端口为系统占用端口。
有了tcp/udp协议后,我们可以通过ip+端口标识全世界范围内独一无二的一个基于网络通信的应用程序,但在基于tcp协议通信之前,必须建立一个双向通信的链接。一般通过三次握手建立一个双向通信的链接。
但在切断链接过程中是通过四次挥手进行切断。因为在切断链接的过程中有可能涉及到仍有一端再进行单向数据传输,只有当数据传输完成后这一向的链接才切断。
在应用层我们可以自定义协议,但自定义协议的工程过于庞大,软件开发中我们一般采用http、ftp等已存在的协议。应用层的协议也同样包含头部和数据两部分。