协议设计问题:这些协议如何设计出来?它们采用了哪些技术和方法来实现协议功能?了解协议设计原理对于已知协议分析和未知协议逆向分析都具有重要作用。
2.1 协议模型
(1)对于复杂协议,一般采用分层的方法进行设计。
(2)一个(n)实体向上一层所提供的服务由以下三部分构成:
1)(n)实体自己提供的某些功能;
2)从(n-1)层及其以下各层以及本地系统环境得到的服务;
3)通过与处在另一系统中的对等(n)实体通信而得到的服务;
(3)将(n)层对等实体间为实现该层协议所交换的信息单元称为协议数据单元(PDU)。PDU通常由两部分组成:用户数据和协议控制信息(PCI)。根据PDU中是否携带用户数据,可将其分为两类:数据PDU和控制PDU,后者不携带用户数据。
(4)同一系统中相邻两层的实体进行交互之处,通常称为服务访问点(SAP)。在进行交互时所要交换的一些必要信息称为服务原语,以表明需要本地或远端的对等实体做哪些事情。
(5)OSI将层与层之间交换的数据单元称为服务数据单元(SDU),SDU就是数据PDU中的用户数据,但不一定是一一对应关系。可以是多个SDU合成为一个PDU,也可以是将一个SDU划分成几个PDU。
(6)服务和协议区别:
协议的实现保证了能够向上一层提供服务;本层的服务用户只能看见服务而无法看见下面的协议,下面的协议对服务用户是透明的。
协议是“水平的“,协议是控制对等实体之间通信的规则;但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
2.2 协议设计的基本内容
2.2.1 协议的通信环境
1、n层中任意两个协议实体通过(n-1)SAP所形成的数据逻辑通路称为(n-1)层通道。用户要求、(n-1)层通道的性质以及n层协议运行时的操作系统和硬件环境构成了n层协议的通信环境。
2、根据通道容纳报文的数量,可以将通道分成3类:空通道、非缓冲通道和缓冲通道
3、通道的性质主要包括:
(1)通道的队列性质
(2)回程时延RTT。RTT是报文从n层

最低0.47元/天 解锁文章
5082

被折叠的 条评论
为什么被折叠?



