网络功能简介及使用和开发指南答辩.docxVIP

网络功能简介及使用和开发指南答辩.docx

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
HelloX网络功能简介及使用和开发指南 HelloX网络功能简介 作为物联网操作系统,网络功能是必备的核心功能之一。按照规划,HelloX实现了两个不同类型的TCP/IP协议栈,一个面向资源受限的嵌入式应用,移植了业界成熟使用的lwIP协议栈。该协议栈简洁明了,功能相对简单,同时专门面向嵌入式领域进行设计和优化,对硬件资源要求很低。另外一个协议栈来自BSD操作系统的协议栈,面向复杂的网络功能丰富的应用场景,比如家庭网关,物联网网关等。为了适应HelloX本身的机制,对BSD协议栈做了一些更改和优化,当然,这是在BSD License允许的范围之内。 目前lwIP协议栈已经成熟稳定运行,面向复杂场景的BSD协议栈正在移植当中。不论采用哪个协议栈,都提供相同的,符合BSD规范的socket API,因此对应用程序来说,协议栈都是透明的。对网卡驱动来说,HelloX本身设计了一套网卡驱动机制,向上屏蔽了不同的IP协议栈之间的差异,因此不论安装的是lwIP协议栈还是BSD协议栈,网卡驱动也都是相同的。 本文对HelloX的网络功能的使用和开发方法,进行简单描述。 在虚拟机上使用网络功能 HelloX V1.78实现了一个PCNet Fast Ethernet III的网卡驱动程序(对应的网卡控制芯片是AMD的AM79C973)。大部分虚拟机都支持这个网卡,因此有比较广泛的通用性。如果您想试验其它的网卡驱动程序,则需要手工编写一个网卡驱动了。 以Virtual Box虚拟机为例,在虚拟机的“设置”界面中,选择“网络”,这时候会列举出四个网卡。选择“网卡1”,按下图所示进行配置: 注意,“连接方式”选择“桥接网卡”。如果选择其它连接类型,我没有试过,不知道行不行。选择桥接网卡的含义,就是把你的PC机的物理网卡,与虚拟机的“网卡1”,用二层的方式连接了起来。可以想象VirtualBox虚拟了一个以太网交换机,然后把你的电脑的物理网卡,以及虚拟机的网卡1,都连接在了这个虚拟的以太网交换机上。 “界面名称”中,选择你的计算机的物理网卡名称。注意,这个网卡一定是可以用的网卡,最好是你当前上网用的网卡,如果有多个网卡的话。 点开“高级”选项,“控制芯片”一行,按照上图所示进行选择。如果选择其它的控制芯片,就需要编写对应控制芯片的驱动程序了。这是一项很有意思的工作,只要拿到对应芯片的data sheet,基本很快就可以编写出来。如果你能够成功的编写一个网卡驱动,那么恭喜你,应聘任何一家通信类或者嵌入式开发类公司,保准可以通过。有兴趣的朋友可以试试。 点击确定之后,用最新的HelloX版本启动虚拟机即可。注意,缺省情况下,HelloX是通过DHCP方式获取IP地址的,因此与HelloX虚拟机关联的物理网卡,也必须是通过DHCP方式获取IP地址。 当然,如果不是DHCP获取IP地址,也可以手工配置,参考本文下面的network命令部分。 启动虚拟机之后,就可以用network程序,来查看和诊断网络了。比如,可以用iflist命令,来查看获取到的IP地址,用ping命令,来试试网络连接是否正常。下面是在我的计算机上的运行结果: 在这里,简单介绍一下用ping命令诊断网络连接是否正常的方法。这些方法,一般在《网络基础》课程里面都会涉及到。如果要考MCSE,CCNA等证书,这些内容是必考内容。 首先,ping一下环回地址,即。如果这个地址能ping通,说明TCP/IP协议栈已经正常工作了。如果ping不通,那么就是TCP/IP协议栈都没有起来; 如果环回地址ping通了,再ping一下网络接口的本地地址,也就是网卡地址。在上图中,是。如果这个地址能够ping通,说明网卡已经被TCP/IP协议栈成功识别和管理。如果这个地址都ping不通,那么说明网卡与IP协议栈没有关联起来; 在本地地址ping通的情况下,再ping缺省网关,在上图中,就是这个地址。如果这个地址能ping通,说明计算机与路由器之间的通信是正常的。后面如果有网络问题,基本上可以排除是本地计算机问题。如果ping不通,则说明本机与路由器没有正常通信,这时候需要检查网线等物理连接。 在缺省网关ping通的情况下,就可以ping目标服务器了。这时候如果ping通了,就万事大吉了。如果ping不通,那么很可能就是目标服务器的问题,或者是目标服务器与本地路由器之间的问题了。 HelloX的Network程序使用指南 HelloX实现了一个network字符界面应用程序,可以对网络功能进行调试。同时实现了一个抽象的以太网管理框架(Ethernet Framework),实现了一套标准的网络驱动程序接口,屏蔽了不同网络驱动程序之间的差异。这样,不同的硬件,其驱动代码是不同的,但是只要遵循这一套标准的接口规范,

文档评论(0)

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

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

1亿VIP精品文档

相关文档