一种在Windows CE操作系统下更改MTU的方法技术方案

技术编号:3779155 阅读:274 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种在Windows CE操作系统下更改MTU的方法,属于一种更改MTU的方法,在计算机内的Windows CE操作系统下更改MTU,首先要确定影响MTU的动态链接库文件,然后通过修改这个动态链接库文件中的MTU的二进制数值,来达到修改MTU的目的。本发明专利技术的一种在Windows CE操作系统下更改MTU的方法和现有技术相比,使用本方法更改MTU后,在数据传送中就可以减少丢包,且提高了传输速度;本发明专利技术减少对微软源代码的依赖,不再需要微软提供全部源代码,就可以对MTU进行修改,提高了产品的自主可控性。

【技术实现步骤摘要】

本专利技术涉及一种更改MTU的方法,具体地说是一种在Windows CE操作系 统下更改MTU的方法。
技术介绍
Windows CE是微软公司专门为嵌入设备推出的一款嵌入式操作系统。它具 有高可靠性、高实时性、功能强大、界面友好的特点,已经广泛应川于军事、 工控、民用等领域。MTU是Maximum Transmission Unit的縮写,意思是网络上传送的最大数 据包。MTU的单位是字节。如果本机的MTU比网关的MTU大,大的数据包就会 被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把 本机的MTU修改为比网关的MTU小或相同,就可以减少丢包。以往在Windows CE下修改MTU的方法, 一般倾向于采用编译内核源代码 的方式。但由于微软提供的源代码并不完整,所以一般很难完成MTU模块的重 新编译操作。
技术实现思路
本专利技术的技术任务是提供一种对微软源代码依赖性小,可靠性高的一种在 Windows CE操作系统下更改MTU的方法。本专利技术的技术任务是按以下方式实现的,包括计算机,在计算机内的 Windows CE操作系统下更改MTU,首先要确定影响MTU的动态链接库文件,然 后通过修改这个动态链接库文件中的MTU的二进制数值,来修改MTU。确定影响MTU的动态链接库文件的具体步骤为6(1) 、首先新建Platform [程(PlatformBuilder), BSP中选腦LATOR —Mobile handheld,编译环境选EMULATOR:x86—Debug,编译并生成NK文件;(2) 、然/i:i选择f ileview选项卡,在private\wince()s\ppp2\ppp\APP\ ip一]ntf. c中找到SLIP 一Default—MTU的位置并打上断点,启动Debug;(3) 、系统启动后建立SL.iP连接,Debug会停在MTU的位置,读MTU当 前在内存中的数值(默认为1006),将其修改其为296;(4) 、最后,如果能够建立连接成功,则断点设置成功,确定其作用域为 PPP. DLL文件;修改动态链接库文件中的MTU的二进制数值的具体步骤为(1) 、首先,使用UltraEdit打开上面建立的Platform工程里RelDir \Emulator—x86J)ebu目录下的PPP. DLL文件,进行分析;(2) 、然后查找0xEE03(程序代码1006的小端模式),经过进行上位机和 下位机的联调,来确定是否需要修改,需要修改的修改位置为0x2801 (程序代 码296的小端模式);(3) 、然后,在Platform工程中build OS中选Make進-time Image, 生成新的NK文件;(4) 、最后,进行EMULATOR调试,直接建立SLIP连接后,若发现数据已 按296自动分包,即MTU的值己成功被修改为296;若不能按296自动分包, 则返回PPP.DLL文件,进行分析。工p一intf. c中的关键代码如下 voidLinkUpIndication( PPP—CONTEXT *pppContext ) IXIPMTUChange mtuchange;pppSession一t氺s一p 二 (pppSession一t氺)pppContext一〉Session;PLXPContextlcp—p = (PIXPContext) s一p-"lcpCntxt;B00i bAddWorked; DEB1:GMSG (ZONE—FUNCTION, (TEXT(〃PPP: LinkUpInch: cation ( %s ) \n" , pppContext-〉AdapterName )); ASSERT ( pppContext ); if (s—p-〉blsServer)pppContext-〉f0pen 二 TRUE; // Unlock the session for calls into TCP/IP module pppUnLock( s—p );DE跳CHK(s—p-〉SesCritSec. OwnerThread! =HANDLE)GetCurrentTh// Register the new interface with IP bAddWorked 二 PPPAddlnterface (pppContext) , if (bAddWorked)// Notify upper layer of MTU change according to Mode switch( s—p-〉Mode )case PPPMODE—PPP:SetPPPPeerIPAddress(pppContext);// Use the negotiated peer MTUmtuchange. lmc—mtu = lcp一p-〉peer. MRU;break; case PPPMODE—SLIP: case PPPMODE CSLIP:readld ());8mtuchange. lmc—mtu = SLIP—DEFAULT—MTU; break; default: ASSERT( 0 );// Indicate MTU change to IPii' (pppContext-〉f0pen && pppContext->IPContext)IPStatus( pppContext->IPContext, LLIP—STATUS—MTU—CHANGE, &mtuchange,sizeof( LLIPMTUChange ), NULL);pppLock (s—p); if (!bAddWorked)// Unable to register with IP!!!// IP may be unable to register the interface because the IP address// is invalid or in use, or there was insufficient memory. //If this happens, we need to terminate the PPP connection. DEBUGMSG(ZONE—ERROR, (TEXT("PPP: ERROR - Unable t。 register interface %s with IP\n"), pppContext-〉AdapterName)); // Request 1XP terminate link9pppLcp—Close (lcp_p, NULL' NULL);DEBUGMSG(ZONE—FUNCTION, (TEXT(〃PPP:-LinkUpIndication( %s )\n〃)pppContext-〉Ad邵terName ));其中,BSP为板级支持包(board support package),是介于主板硬件和操作系统中驱动层程序之间的一层,-一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行与硬件主板本文档来自技高网...

【技术保护点】
一种在Windows CE操作系统下更改MTU的方法,包括计算机,其特征在于在计算机内的Windows CE操作系统下更改MTU,首先要确定影响MTU的动态链接库文件,然后通过修改这个动态链接库文件中的MTU的二进制数值,来修改MTU。

【技术特征摘要】

【专利技术属性】
技术研发人员:崔凯陈乃阔牛玉峰边守华孙中
申请(专利权)人:山东超越数控电子有限公司
类型:发明
国别省市:88[中国|济南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1