pptp服务器代码分析

pptp服务器代码分析

ID:47403004

大小:112.80 KB

页数:13页

时间:2019-07-04

pptp服务器代码分析_第1页
pptp服务器代码分析_第2页
pptp服务器代码分析_第3页
pptp服务器代码分析_第4页
pptp服务器代码分析_第5页
资源描述:

《pptp服务器代码分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《PPTP服务器代码走读》本文以accel-pptp-0.8.5/pptpd-1.3.3代码为参考,主要介绍了PPTP服务器的初始化和工作流程。(416009467@qq.com)TableList表目录表1缩略语4表2slot数据项描述8表3pptp_header数据项描述9FigureList图目录图1模块初始化流程6图2PPTP服务器工作主流程7图3PPTP服务器与PPPD进程交互过程8图4数据包处理过程9Keywords关键词:PPTP服务器,PPPD,工作流程,进程调用关系Abstract摘要:本文详细介绍了PPTP服务器(accel-pptp-0.8.5/pptpd-1.3

2、.3/)的启动和工作流程。其中针对pptp数据包交互的处理过程进行了详细说明,并理清PPTPD进程启动PPPD进程处理LCP/NCP阶段数据包的过程。Listofabbreviations缩略语清单:表1缩略语Abbreviations缩略语Fullspelling英文全名Chineseexplanation中文解释VPNVirtualPrivateNetwork虚拟专用网PPTPPointToPointTunnelProtocol点对点隧道协议PNSPPTPNetworkServerPPTP网络服务器PACPPTPAccessConecentratorPPTP访问集中器Introdu

3、ction简介1.1Purpose目的本文档为PPTP-Server模块的详细设计说明,描述了PPTP服务器模块的主要处理流程及各分析处理的细节流程,用于指导下一阶段编码开发的进行。1.2Scope范围1.3Name软件名称PPTP服务器模块,所在目录:accel-pptp-0.8.5/pptpd-1.3.3/。1.4Functions软件功能本模块主要实现PPTP-Server功能的配置管理、运行流程控制、状态监控等。1.5Applications软件应用本模块应用于WAN端使用PPTP服务器方式进行处理连接请求的管理实现。1DetailedDesign详细设计1.1模块主流程1.1

4、.1模块初始化暂略1.1.2PPTP服务器工作主流程图1服务器工作主流程1.1.1PPTP服务器与PPPD进程交互过程图3服务器工作主流程2.1.4数据包处理过程图3PPTP数据包处理流程1.1业务处理1.1.1DataDescription数据描述1.slot数据结构描述:跟踪一个pptp连接的结构,一条连接对应一个实例,为一个数组结构。记录一条链接的两端的虚拟IP地址,还用于记录进程的pid。数据结构定义:structslot{pid_tpid;char*local;char*remote;}*slots;表2slot数据项描述数据类型数据项定义数据项描述Pid_tpidpptp_

5、manager中fork出处理链接请求的进程号Char*Local本地(server)ipChar*remote客户端ip1.pptp_header数据结构描述:pptp控制报文头。在pptpdefs.h中定义了各种pptp类型控制报文的结构,他们都包含该数据结构。数据结构定义:structpptp_header{u_int16_tlength;/*pptpmessagelengthinclheader*/u_int16_tpptp_type;/*pptpmessagetype*/u_int32_tmagic;/*magiccookie*/u_int16_tctrl_type;/*co

6、ntrolmessagetype*/u_int16_treserved0;/*reserved*/};表3pptp_header数据项描述:数据类型数据项定义数据项描述u_int16_tlength控制报文长度u_int16_tpptp_type恒为1,代表为PPTP控制报文u_int32_tmagic魔术,恒为0x1a2b3c4du_int16_tctrl_type控制报文类型(1-15)u_int16_tReserved0预留位默认填写01.1.2FunctionDescription函数描述标识:业务处理类型:一级概要设计功能概述:对pptp服务器工作流程中的主要函数进行走读。函

7、数调用关系:按调用顺序整理。1.main(accel-pptp-0.8.5/pptpd-1.3.3/pptpd.c)Function:mainDescription:pptp服务器主函数,Calls:getopt_long()slot_init()daemon()log_pid()pptp_manager()Input:pptpd的命令行参数Output:无Return:无Others:服务器进程pptpd由netctrl拉起,主工作流程如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。