网络研发之我见

一、摘要

  最近一段时间完成了对网络的研发,涉及到下位机的网络通信及上位机端的网络通信,有一点感触写出来分享一下。

 

二、研发前的准备工作及常用工具

2.1 研发前的准备工作

  (1) 在做网络研发之前,先要准备一根交叉网线,网线不宜过长,2~3米为宜;检查网线正常与否,可以用网线连接2台电脑,查看网口灯,如果网卡灯亮,则说明网线正常。

  (2) IP的分配,即为客户端和服务器端分配IP,根据不同的传输协议分两种情况,UDP协议时,可以不用分配在一个IP段,TCP传输协议时,要分配在同一个IP段。

  (3) 端口号,除了设定IP外,还需要为网络设定端口号,除了一些特定的不能设置外,其余的端口号可以任意设置。

2.2 抓包工具及常用命令

  (1) 抓包工具:为了能够在PC端方便的观察网络传输的数据是否正常,使用抓包工具是必要的,这里推荐一款抓包工具wireshark。可以方便的看到网络数据包,用来计算传输速度和查看数据包内容。

  (2) 常用命令:这里是指PC端DOS下的一些命令,如ping,telnet命令等等,以检测网络是否通畅及远程登录等等。

 

三、基于下位机的网络研发

3.1 网络芯片部分的硬件设计

  这里需要有3点注意的:

(1) 网络芯片的电源线要尽量的粗,这里保证网络芯片供电正常,有时候在PC端ping板子的时候,时好时坏,多半与电源不稳定有关。

(2) TD+、RD+和TD-、RD-应采用差分对走线,并且要尽量的缩短和RJ45之间的路径。

(3) 网络芯片周围应有独立铺铜,属性为网络芯片相关的地,以提升抗干扰能力。

  具体实现可参看网络芯片的datasheet。

3.2 网络芯片的驱动

  不管采用什么协议实现,网络芯片的驱动是必不可少的。有能力的可以参看网络芯片的应有手册,并结合相关协议,自行编写驱动程序;为了缩短开发周期,推荐使用现成的驱动程序。如果不是特别的网络芯片,网络上应该都有现成的驱动程序。

3.3 网络芯片的调试

  网络芯片的调试工作,可由简至难的流程。如先测试网络芯片的初始化是否成功,RJ45的网卡灯是否点亮,之后再做复杂协议的调试。这里也可以根据相关参考程序进行调试,但步骤应该遵循由简至难的原则。

  需要说明的是,在做TCP传输协议的时候,PC端的ping命令是一个检查网络是否通畅的很方便的办法。

  另外,在网络调试通畅之后,采用wireshark抓包工具来观察网络数据包,可以方便的看到数据包的正确与否。

  总之,熟练的使用这些辅助工具可以大大的降低下位机的网络研发难度,增快研发速度。

 

四、基于上位机的网络研发

  上位机端实现网络研发可有多种工具和多种语言,且调试工具也很丰富。这里也不再赘述。

  推荐的开发流程是:为了研发方便,一般在同一台电脑上先后编写服务器端程序和客户端程序,通过"127.0.0.1"这个IP地址来同时调试服务器端和客户端程序。这样可以提高开发效率。

 

五、下位机和上位机的联合调试

  在保证下位机和上位机网络程序同时正常的情况下,进行二者的联合调试。

  用交叉网线连接PC和开发板,设定好IP和端口号,进行逐步调试。

  此时,抓包工具及相应的命令依然可以作为调试助手,来查看收发的数据是否正确。

 

 

 

 

 

posted @ 2012-08-16 20:35  sunev  阅读(1404)  评论(1编辑  收藏  举报