Windows平台下TCPIP协议的设计与实现汇.docVIP

Windows平台下TCPIP协议的设计与实现汇.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows平台下TCPIP协议的设计与实现汇

目 录 1. 引言 1 2. TCP/IP协议概述 1 3.TCP/IP协议的系统设计 2 4.TCP/IP协议的系统实现 3 5. 结论 11 6. 详细设计代码 12 Windows平台下TCP/IP协议的设计与实现 1. 引言 本文背景基于一个TCP/IP协议改进项目,项目要求通过改进TCP/IP协议拥塞控制算法 来提高无线网络环境下的数据吞吐量。目前的TCP协议在无线网络环境下无法区分出拥塞 丢包与误码丢包,根据这两种不同的丢包原因需要对TCP的窗口进行不同的调整,因此需 要对现有的TCP/IP协议进行改进。针对这个需求提供的一个解决方案就是自己开发出一套 TCP/IP协议以替代系统TCP/IP协议,但是并不需要实现整个TCP/IP协议族,重点实现TCP 与IP协议即可。 2. TCP/IP协议概述 TCP/IP协议是Internet的技术基础。Internet是一个广域网,是目前联通世界上绝大多 数国家和地区的全球性信息系统。在Internet上,可以实现低成本、高速率、交互式的信息 查询、信息发布、通讯联络以及协同作业等等现代化的工作、学习和生活。 TCP/IP协议族通常分为四个层次,应用层、传输层、网络层和链路层。如图1所示: 应用层(FTP, SMTP等) 传输层(TCP,UDP等) 网络层(IP, ICMP等) 链路层(网卡驱动等) 图1 TCP/IP协议族四层结构 应用层向用户提供一组常用的应用程序,比如电子邮件(SMTP)、文件传输访问(FTP)、 远程登录(Telnet)等。 传输层提供进程间端到端的通信。在TCP/IP协议族中,主要有两种不同的传输协议: 传输控制协议(TCP)和用户数据报协议(UDP)。TCP提供面向連接的、可靠的(没有数据重复 或丢失),全双エ的数据流传输服务。而UDP则提供的是不可靠的面向无连接的数据传输服 务,其可靠性应由上层应用程序来支持。 网络层,主要负责数据包的分组及路由选择。在TCP/IP协议族中,网络层协议包括网际协议IP、互连网控制报文协议ICMP、地址转换协议ARP和反向地址转换协议RARR。 链路层处于四层结构的最低层,负责接收IP数据报并通过网络发送之,或从网络上接 收物理帧,抽出IP数据报,交给IP层。通常包括网络设备驱动程序及网络接口卡等。 3.TCP/IP协议的系统设计 以Windows网络体系结构为基础,参照Windows DDK中关于网络协议驱动与传输驱 动接口 (TDI)的相关资料,以及考虑到与原有系统TCP/IP兼容,提出的设计方案如图2所示。 图2 TCP/IP协议设计框图 应用程序也就是根据协议开发的特定应用。这里是针对开发的TCP/IP协议编写的一个 FTP小应用程序,用来测试开发的协议。应用程序通过Wm32 API[3]接口将其操作转化成相 应的请求提交给TDI客户。 传输驱动程序接口(TDI)客户是核心态的驱动程序。它的主要功能是完成上层应用 程序的请求,或者根据该请求产生相应的TDI操作,并将该操作传递给下层的TDI传输器。 TDI传输提供者(TDI Transport Provider)又称为TDI传输器,NDIS协议驱动程序,以及协议驱动程序,是工作在核心态的协议驱动程序。其中TCP协议,IP协议,ARP协议 等都是在这个模块中实现。它通过TDI接口与上层的TDI客户进行交互;通过NDIS接口 与下层微端口驱动进行交互。 NDIS下层微端口驱动程序是工作在核心态的驱动程序,它负责将TDI传输器接入至特 定的网络适配器。它通过NDIS接口与上下层进行交互。 4.TCP/IP协议的系统实现 由图2中可以看出,整个系统可分为四部分,应用程序、TDI客户、TDI传输器和下层 微端口驱动。事实上对于下层微端口驱动并不需要考虑,因为可以直接调用NDIS库函数将 数据转发到这层,处于这层上的驱动会自动将数据送出网络适配器。因此真正需要开发的也 就是上面三个部分。应用程序是用来实现简単文件传输的,因此考虑开发两个小应用程序, 一个为服务器端,一个为客户端,服务器端用来监听和处理来自客户端的连接请求。客户端 主要是向服务器端请求连接和发送数据。TDI客户负责将来自应用程序的请求进行相应的处 理之后转发给下层的TDI传输驱动。CreateFile 和DeviceIoControl CreateFile 函数原型: HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposi

文档评论(0)

liwenhua11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档