该篇博客用于记忆网络体系结构基础。
网络体系结构
计算机网络的各层及其协议的集合就是网络的体系结构(architecture)。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。
五层协议的体系结构
OSI的七层协议体系结构概念清楚,理论完整,但复杂且不实用。
TCP/IP体系结构是一个四层的体系结构,包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。
五层协议为综合OSI和TCP/IP优点的折中办法。
(1) 应用层(application layer)
应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。
在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等。
应用层交互的数据单元称为报文(message)。
(2) 运输层(transport layer)/传输层
运输层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。
由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务;分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。
运输层主要使用两种协议:
传输控制协议TCP(Transmission Control Protoclol):提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
用户数据报协议UDP(User Datagram Protocol):提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位时用户数据报。
(3) 网络层(network layer)
网络层的任务是负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据包,或简称为数据报。
(4) 数据链路层(data link layer)
简称为链路层。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装程帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、交错控制等)。
在接受数据时,控制信息使接受端能够知道一个帧从哪个比特开始和到哪个比特结束。这样数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个帧,以免继续传送浪费资源。如果需要改正数据在传输时出现的差错,那么就要采用可靠传输协议来纠正出现的差错,这种方法会使数据链路层的协议复杂些。
(5) 物理层(physical layer)
在物理层上所传数据的单位是比特。物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接,解释比特所代表的意思并不是物理层的任务。
注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等并不在物理层协议之内,而是在物理层协议的下面,因此也有人把物理层下面的物理媒体当作第0层。
数据传递过程
该图说明的是应用进程的数据在各层之间的传递过程中所经历的变化(环境为简单的两台主机通过一台路由器连接)。
TCP/IP体系结构
现在的互联网使用的TCP/IP体系结构有时已经演变为如上图所示,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的网络接口层。
如上图所示,是分层次画出具体的协议来表示TCP/IP协议族,其特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。
该种TCP/IP协议族表明:
TCP/IP协议可以为各式各样的应用提供服务,同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行,也可看出IP协议在互联网种的核心作用。
该篇博客至此结束,若后续过程有额外内容再进行补偿。