网络软件

协议的层次结构

为了降低网络设计的复杂性,绝大多数网络都组织成一个层次栈(a stack of layer)或分级栈(a stack of level),每一层都建立在其下一层的基础之上。 协议(protocol)是指通信双方就如何进行通信的一种约定。层和协议的集合称为网络体系结构(network architecture)。 在每一对相邻层次之间的是接口(interface)

层次协议和接口

面向链接与无连接服务

  1. 面向连接的服务(connection-oriented service)是按照电话系统建模的。为了使用面 向连接的网络服务,服务用户首先必须建立一个连接,然后使用该连接传输数据,最后释 放该连接。这种连接最本质的方面在于它像一个管道:发送方把对象(数据位)压入管道 的一端,接收方在管道的另一端将它们取出来。在绝大多数情况下,数据位保持原来的顺 序,所以数据位都会按照发送的顺序到达。

  2. 无连接服务(conncetionless service),这是按照邮政系统建模的。每个报文(信件)都携带了完整的目标地址,每个报文都由系统中的中间节点路由,而且路由独立于后续报文。

服务与协议的关系

服务是指某一层向它上一层提供的一组原语(操作)。服务定义了该层准备代表其 用户执行哪些操作,但是它并不涉及如何实现这些操作。服务与两层之间的接口有关,低 层是服务提供者,而上层是服务用户。协议是一组规则,规定了同一层上对等实体之间所交换的数据包或者 报文的格式和含义。对等实体利用协议来实现它们的服务定义,它们可以自由地改变协议, 只要不改变呈现给它们用户的服务即可。

服务与协议之间的关系:

服务与协议之间的关系