测试,描述了程序的功能验证方案,测试场景,相关测试用例,对程序传递信息的效率、正 确率和隐蔽性进行了分析和评价。
第六章为结束语,首先对全文进行了总结,然后阐述了程序的不足以及对未来的展望。
第 4 页 本科毕业设计说明书
2 相关技术
本章节对本文所使用的主要技术做了必要部分的介绍。主要是对网络隐蔽信道基本模型 的介绍,对 P2P 网络结构的介绍,对 MFC 编程特点的介绍,对套接字基本知识的介绍以及 对多线程同步技术的介绍。
2。1 网络隐蔽信道的实现
网络隐蔽信道是借助一些非正常的通信方式传递隐蔽信息的通信信道[10]。本文在这里对 于隐蔽信道的发展和现状不再赘述,主要阐述隐蔽信道工作的基本模型和实现原理。
隐蔽信道的通信双方事先约定好隐藏隐秘信息以及提取隐秘信息的规则[5]。发送方可以在 发送前对秘密信息进行加密处理,以增强传输过程中的安全性。然后发送方按照约定的隐藏 算法对隐秘信息进行编码,接着将其隐藏在通信数据流中进行传输。接下来进行正常的数据 传输通信阶段。接收方收到数据后根据隐藏算法进行分离和解码,提取出相应的隐秘信息[7]。 这个过程既可以隐藏隐秘信息的内容也可以隐藏隐蔽通信的双方,从而建立了隐蔽通信。
2。2 P2P 协议
P2P 是英文 Peer to Peer 的缩写,含义是对等网络[10]。在 P2P 网络中,彼此相连的主机互 为对等方,处于对等的地位。每一个对等点既可以从相邻对等点处获取资源同时也可以为其 他对等点提供资源 [11]。这些对等点可以自由地加入或离开所在的 P2P 网络。
P2P 网络结构大致分为以下四种[12]:
1)集中式 P2P 网络,其中的代表是 Napster、QQ 等即时讯息应用程序。这种网络实际 上是一种 P2P 和客户机/服务器混合体系结构。在网络中有一个中央服务器负责记录共 享信息(索引信息)并应答对这些信息的查询[13]。查询到索引信息后,该查询节点就可 以直接向具有资源的对等方请求连接获取资源。
2)分布式非结构化 P2P 网络,该结构与集中式 P2P 网络对立,代表是 Gnutella 协议。 这种网络没有中心服务器,每个节点的地位和功能完全相同,信息查询所采用的是一 种完全分布式方法。查询方法是洪泛查询和随机转发机制[12]。
3)分布式结构化 P2P 网络,其中的代表是 Pastry、Tapestry、Chord、CAN[14]。该网络使 用 DHT(Distributed Hash Table 分布式散列表)路由算法作为搜索算法[15],加快了资源搜 索的速度。分布式散列表可以产生一个全分布式索引,将文件标识符映射到文件位置, 并且原则上允许用户获得资源的所有位置同时不会产生过量的搜索流量。
4) 混合式 P2P 网络,这种结构结合了集中式 P2P 网络和分布式非结构化 P2P 网络二者
本科毕业设计说明书 第 5 页
的优秀特征,其中的代表是 Skype[16]。该网络不使用专门的中央服务器来跟踪和索引 资源,但是在这个网络中并非所有的对等方地位都是平等的。它按照能力对用户节点 进行分类,比如说与网络高速连接并具有高可用性的节点就会被指派更多的任务。用 户节点分为普通用户节点,搜索节点以及索引节点三种[17]。搜索节点主要负责处理用 户节点的搜索请求,从自己的子节点中搜索请求的文件列表。速度快、内存大的节点 会被指派为索引节点,索引节点维护着正在共享的资源的标识符和所在位置等索引信 息,并且索引节点之间也需要互相建立连接,从而形成覆盖网络。当然,索引节点同 时也可以是搜索节点。普通用户节点则将以上两种节点作为自身父节点,普通用户几 点可以向其父节点请求资源信息但同时也需要提交它的资源共享列表。