1 计算机网络体系的形成
相互通信的两个计算机系统必须高度协调工作才行,而这种协调是相当复杂的。
分层可以将庞大而复杂的问题转化为若干个较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
2 分层的基本原则
(1) 各层之间相互独立,每层只实现一种相对独立的功能。
(2) 每层之间界面自然清晰,易于理解,相互交流尽可能少。
(3) 结构上可分割开。每层都采用最合适的技术来实现。
(4) 保持下层对上层的独立性,上层单向使用下层提供的服务。
(5) 能促进标准化工作。
3 各层的功能
(1) 差错控制。使相应层次对等方的通信更加可靠。
(2) 流量控制。发送端的发送速率必须使接收端来得及接收、不要太快。
(3) 分段和重装。发送端将要发送的数据块划分为更小的单位,在接收端再进行还原。
(4) 复用和分用。发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
(5) 连接建立和释放。交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
各层需要实现其中的一个或几个功能。
4 OSI七层参考模型
OSI七层参考模型自上而下依次是:应用层、表示层、会话成、传输层、网络层、数据链路层、物理层。
OSI参考模型解释通信过程
注:上图中的中间系统省略
主机A与主机B通信的过程:假定主机A的应用进程向主机B的应用进程传送数据
(1) 主机A先将其数据交给本机的第7层(应用层)。第5层加上必要的控制信息H7就变成了下一层的数据单元。
(2)第6层(表示层)收到数据单元后,加上本层的控制信息H6就变成了下一层的控制信息,依次类推。
(3) 到了第2层(数据链路层)后,控制信息被分为两个部分,分被加到本层苏拒绝单元的首部(H2)和尾部(T2)。
(4) 到了第一层(物理层)由于是比特流的传送,所以不再加上控制信息。传送比特流时应从首部开始传送。
当这一串比特流离开主机A经网络的物理媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找到转发分组接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理媒体上把每一个比特发送出去。
当这一串比特流离开路由器达到目的站的主机B时,就从主机B的第1层按照上面讲过的方式,依次上升到第7层。最后,把主机A的应用进程发送的数交给目的站的应用进程。
5 实体、协议、服务和服务访问点
实体(entity):表示任何可以发送或接受信息的硬件或软件进程。同一层的实体称为对等实体。
网络协议(network protocol):简称协议,是为了进行网络中的数据交换而建立的规则、标准或约定。
协议的三要素:
语法:规定传输数据的格式。
语义:规定所要完成的功能。
同步:规定各种操作的顺序。
接口(访问服务点SAP):同一个系统中相邻两层的实体进行交互(即交换信息)的地方。
服务:下层为相邻上层提供的功能调用。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
仅仅在相邻间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
SDU服务数据单元:为完成用户所要求的功能而应传送到的数据。
PCI协议控制信息:控制协议操作的信息。
PDU协议数据单元:对等层次之间传送的数据单位。
每一层的PDU会作为下一层的SDU,然后和PCI组成该层的PDU,再作为下下层的SDU..........直到物理层。
6 五层协议结构 && TCP/IP的体系结构
TCP/IP的体系结构
TCP/IP的体系结构只有四层。
五层协议结构是综合OSI七层结构模型和TCP/IP体系结构两者的优点形成的。
(1) 应用层
应用层是体系结构的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用协议定义的是应用程程间通信和交互的规则。
应用层协议:域名系统DNS、支持万维网应用的HTTP协议、支持电子邮件的SMTP协议、FTP协议。
应用层交互的数据单元称为报文(message)。
(2) 运输层
运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。
应用层的协议:TCP协议、UDP协议。
传输控制协议TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
用户数据报协议UDP(User Datagram Protocol)——提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其传输的单位是用户数据报。
这里“通用的”是指不针对某个特定的网络应用,而是各种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用应用层进程可同时使用下面运输层的服务,分用就是运输层把收到的信息分别交付上面应用层的相应进程。
(3) 网络层
网络层负责为分组交换网上不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。
在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。
(4) 数据链路层
数据链路层简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要专门的链路层协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻节点间的链路传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始到哪个比特结束。
控制信息还使接收端能够检测到所收到的帧有误差错。如发现差错,就简单地丢弃这个差错的帧。
(5) 物理层
在物理层上所传的数据单位是比特。