1 / 82
文档名称:

详细设计说明书示例.doc

格式:doc   大小:328KB   页数:82页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

详细设计说明书示例.doc

上传人:2072510724 2020/3/7 文件大小:328 KB

下载得到文件列表

详细设计说明书示例.doc

文档介绍

文档介绍:,以供编码人员具体实现及今后的维护工作。,主要遵循了以下几个原则:目标系统基本上完整地实现IPSec协议族,完全支持VPN的要求;目标系统的服务器端一定要建立在具有自主版权的内核操作系统之上;目标系统的客户端使用方便、界面友好、配置和管理简单灵活。:KLIPS模块――实现对进入或外出IP包的安全处理,如:加密、认证等(运行在内核空间)Pluto模块――实现IKE协议,完成安全联盟的协商(运行在用户空间)PF_KEY模块――实现pfkey2协议,,一部分是klips,它运行在操作系统内核空间,主要负责安全联盟和密钥的管理工作,以及对数据报的加密、解密的处理工作;一部分是pluto,它是一个运行在用户空间的守护进程,主要负责安全联盟的协商工作。下面分别是它们的文件组成:源文件目录|―――freeswan |――klips|――libdes|――pluto|――(内核IPsec)详细设计--―――klips ipsec的核心实现模块|――net|――ipsec|―― 登记模块,并初始化|――ipsec_tunnel. 数据包的处理并发送模块|―― 数据包接收并处理模块|―― 管理SA的模块|―― sha1实现模块,|―― |――|―― 路由表的radix数的实现模块|―― 对上个文件的改编|―― 实现PF_KEY2协议的模块|―― 对上个文件的改编|―― |――utils|―― 用户操作eroute表的模块|―― 用户操作SA库的模块|―― 同上|―― 用户操作虚接口的模块|――,以便于向内核空间中查询安全联盟和eoute表,以及虚接口的状况;初始化SA数据库(tdb链);初始化SPDB数据库(eroute表);初始化pf_key(PF_KEY套接口);: intipsec_init(void): intipsec_tdbinit(void): intipsec_radijinit(void): intpfkey_init(void),则内核就可以通过proc文件系统向应用程序提供一个安全的界面来存取如SA、eroute表等资料。structproc_dir_entryipsec_eroute;structproc_dir_entryipsec_spi;structproc_dir_entryipsec_spigrp;structproc_dir_entryipsec_tncfg;structproc_dir_entryipsec_spinew;structproc_dir_entryipsec_klipsdebug;:structnotifier_block{int(*notifier_call)(structnotifier_block*self,unsignedlong,void*);structnotifier_block*next;intpriority;};/core/,是这样的:device_notifier(structnotifier_block*nb){returnnotifier_chain_register(&netdev_chain,nb);}而notifier_chain_register函数在include/linux/,是这样的:extern__inline__intnotifier_chain_register(structnotifier_block**list,structnotifier_blo