1 / 87
文档名称:

详细设计说明书示例.docx

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

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

分享

预览

详细设计说明书示例.docx

上传人:我是开始 2020/10/18 文件大小:121 KB

下载得到文件列表

详细设计说明书示例.docx

相关文档

文档介绍

文档介绍:,以供编码人员具体实现及今后的维护工作。,主要遵循了以下几个原则:目标系统基本上完整地实现 IPSec协议族,完全支持VPN的要求;目标系统的服务器端一定要建立在具有自主的核操作系统之上;目标系统的客户端使用方便、界面友好、配置和管理简单灵活。:KLIPS模块一一实现对进入或外出IP包的安全处理,如:加密、认证等(运行在核空间)Plut。模块一一实现IKE协议,完成安全联盟的协商(运行在用户空间)PF_KEY莫块一一实现pfkey2协议,完成上述两个模块间关于 ,一部分是 klips,它运行在操作系统核空间,主要负责安全联盟和密钥的管理工作,以及对数据报的加密、解密的处理工作;一部分是 pluto,它是一个运行在用户空间的守护进程,主要负责安全联盟的协商工作。下面分别是它们的文件组成:源文件目录| freeswan| klips| libdes| pluto| utilsKLIPS(核IPseO详细设计klips| net| ipsec| | ipsec_tunnel.| | | | | | | | ,并初始化数据包的处理并发送模块数据包接收并处理模块管理SA的模块shal实现模块,| | | utils| | | | | proc文件,以便于向核空间中查询安全联盟和 eoute表,以及虚接口的状况;初始化SA数据库(tdb链);初始化SPDB数据库(eroute表);初始化pf_key(PF_KE作接口);: int ipsec_init(void): int ipsec_tdbinit(void): int ipsec_radijinit(void): intpfkey_init(void),则核就可以通过的界面来存取如 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;notifier_block结构structnotifier_block结构是在include/linux/: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_block*n)(while(*list)(if(n->priority>(*list)->priority)break;list=&((*list)->next);}n->next=*list;*l