网络通信的基本过程
以用户访问网站为例:
用户访问网站需经过三个步骤:
- 建立连接:客户端向服务器发送请求,双方建立连接。
- 传输数据:服务器将用户请求的数据发送给客户端。
- 释放连接:通信结束后,释放双方间的连接。
这个过程和打电话相似:拨号→通话→挂断。
数据传输过程
传输数据时并不是把数据直接发送出去,而是需要它添加一些控制信息,比如:传输地址、数据长度、校验等。这个过程称为“封装”。
封装的内容和格式由“协议”来指定。
协议有很多种,不同种类和用途的数据会使用不同的协议。
仍然以传输一个网页为例,它在传输时需经过多层封装:
- HTTP协议:指定数据的用途、状态、操作方式等。
- TCP协议:为数据传输实现连接管理、可靠性管理、流量控制等。
- IP协议:提供了数据传输的地址、大小等信息。
- 帧:提供了数据的物理地址、校验码等信息。
网络体系结构
OSI参考模型是国际标准化组织ISO提出的一个网络体系结构,该模型对于计算机网络的构建有着重要的指导意义。
OSI参考模型
物理层功能主要由硬件实现,应用层(含表示层、会话层)功能主要由软件实现,层级越高软件比例越高。
- 应用层(第7层):定义应用的种类和功能。如网站服务、文件传输、电子邮件等。
- 表示层(第6层):指定数据格式、压缩方式、加密方式等。
- 会话层(第5层):实现通信过程中的会话管理。
- 传输层(第4层):负责数据的传输控制、流量控制、拥塞控制。
- 网络层(第3层):为数据选择传输路径。
- 数据链路层(第2层):负责相邻节点间的数据传输控制,检测传输过程中是否出错。
- 物理层(第1层):定义信号、传输介质、物理接口等,实现数据的实际传输。
TCP/IP模型
TCP/IP模型对OSI模型进行了简化,是当前计算机网络中使用最广泛的体系结构。
在TCP/IP模型中,每层都定义有具体的协议,各层设备和软件都通过这些协议使用网络。
应用层
应用层是直接面向用户的工作层。应用层协议种类很多,不同种类的应用使用不同的应用层协议。
HTTP、HTTPS:超文本传输协议,用于传输网页数据。
FTP:文件传输协议,用于文件的上传和下载。
SMTP、POP3:用于传输电子邮件,构建电子邮箱。
DNS:用于域名解析。
DHCP:用于自动分配IP地址。
传输层
传输层为应用层数据提供了传输控制服务。
TCP协议:是一个可靠的、面向连接的端到端的传输层协议。
对可靠性要求高的应用会采用TCP协议,包括传输网页、传输文件、传输电子邮件等。
UDP协议:是一个不可靠的,面向无连接的传输层协议。
UDP协议不可靠,存在数据丢失的风险,但它的传输效率高、延迟小,用于对可靠性要求不高的场合,比如语音通话、视频直播等。
网络层
网络层负责数据的封装,为数据传输选择路径,进行网络探查等。
IP协议:为数据提供统一的封装方式,其中包含的IP地址是路径选择的主要依据。
IP协议是TCP/IP协议簇中的核心协议,大部分数据都需要用IP协议封装后才能在网络中传输。
ICMP协议:用于传递控制信息,包括网络通不通、主机是否可达、数据是否出错、数据是否丢失等。
ARP协议:用于根据IP地址探查设备的物理地址。
数据链路层、物理层
这两层和硬件密切相关,通常合称为网络接口层。
它们负责数据的发送与接收,并和网络传输介质对接,把数据编码后发送到传输介质上,并且从网络传输介质上接收数据。
网络接口层使用的协议和网络的类型密切相关,不同种类的网络使用的协议不同。
数据发送和接收过程(以传输网页为例)
- 应用层:软件将网页数据用HTTP协议进行封装。
- 传输层:由于网页传输有可靠性要求,使用TCP协议管理连接。
- 网络层:使用IP协议封装传输的数据,为数据报添加传输地址。
- 数据链路层:根据网络的种类把IP数据报封装为帧。
- 物理层:把数据以信号的方式发送到网络中进行实际传输。
接收数据的过程与发送数据的过程相反,接收端收到信号后,逐层取出里面的数据,直到获取其中的网页为止。
体系结构的意义
通过分层的体系结构可以把复杂的网络简单化、清晰化,方便实现网络的标准化,提高各种网络器件和设备的通用性。
体系结构的每一层都是相对独立的,功能是明确的。设计网络硬件和软件时,往往只要关心某一层的功能和协议即可,不需要涉及其它层的内容。
从设计者角度看,层与层间是对等通信的,只要遵循相关协议,不需要考虑所有各层的实现。
设备分类
数据在传输过程中往往会经过多个节点进行转发,节点设备通常只涉及数据链路层和网络层,据此可将设备分成两类:
- 二层设备:包括集线器、交换机等设备。这种设备工作在数据链路层,可作为网络内的转发节点。
- 三层设备:包括三层交换机、路由器等设备。这种设备工作在网络层,可作为网络间的转发节点。
另外,计算机、服务器、打印机等设备属于网络的终端设备,会处理每一层数据,可看做是七层设备。