自己如何编写tcp和ip层协议(200分)

  • 主题发起人 gale_qian
  • 开始时间
G

gale_qian

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要编写一个基于单片机于pc机通过网卡通讯的程序。实现点对点通讯。例如可以用通用
的windows下的tcp/ip接收程序实现彼此间的点对点收发。那位大虾可以提供tcp和ip协议的
工作范例或流程图及讲解。如果回答准确可以再加分
 
你是用c写吧,你可以看看tcp/ip详解卷一原理部分。至于你说的工作范例或是流程图,是不是
TCP/ip协议的实现原理,有的书就是专门讲怎么用C实现tcp/ip的,不过实在太复杂,我个人认为
你如果只是开发项目的话只要了解Tcp/ip的工作原理然后学一下socket编程就可以了。
 
我想用汇编实现。只要求点对点,所以tcp和ip中的分组、差错控制等复杂的部分可以免了
但由于我没看过tcp/ip的具体实现原理,所以不知道怎样实现将一个简化了的数据报让一个
标准的windows程序识别和正确接受pc机发来的数据
 
51单片机世界~~~~~
 
我大概懂你的意思了, 你是想编网卡通讯的程序来模拟TCP/IP协议的工作机制对不对?
这样的话一般只用到下两层协议,网络层往上的协议都用不到,不过就是这样,用汇编实现
的工作量也是很大的。
 
还是用C吧,用汇编实现TCP/IP,那简直太复杂了!

这里有好几个在单片机上实现TCP/IP的源代码:
http://www.driverdevelop.com/source.php
 
只要点对点能连通就行,不用通过网关,应用层协议也用不着,不知道有没有最简方式。
为什么用不着网络层以上的部分,tcp至少需要握手吧。那位老哥可以帮我从驱程开发网
的源代码部分下载51单片机实现tcpip的源码,不胜感激。我的注册码收不到。
gale_qian@etang.com
 
我这儿有,发给你了。
 
点对点网卡通讯实际上只要有通讯介质(物理层)和数据地址的封装(链路层)就可以实现了。
 
谢谢zw84611,邮件已收到。jinmen,我还想问一句,我要实现的一端是单片机,但另一端是
pc机windows系统,协议都是完整的,单片机端只用协议的一部分如何实现连接。
 
多人接受答案了。
 
顶部