赞
踩
这段时间研究TCP/IP协议,用于单片机通信。昨天为止,基本实现了基础通信(ARP,UDP,ICMP_Ping,TCP)。
1,ARP主动,被动可以实现,但是要知道一般基于路由器下的主机,无论ARP谁都是“假象”,因为路由器帮你ARP对方之后,无论对方MAC是什么,路由器自己知道了,但是回应给你的数据的MAC始终都是路由器自己的,无论你的IP是谁。不过也好理解,局域网的主机知道对方MAC也没有用,因为你没有与之联系,都是路由器代劳的,直接接触的是他们。哈哈
2,基于UDP的倒好说,只管发送不涉及任何问题。哪怕需要验证机制,在应用层函数里自己实现。
3,ICMP有很多信息,不过现在没需要知道各种网络状态,发不出去知道也解决不了(当然你可以返回用于研究或者其他处理)。所以实现了被动Ping。最近马航发动机Ping卫星,我觉得没有成功,但是Ping了就会被记录下来也挺不错的,可以之后研究顶多占一点硬盘和带宽。
3,TCP这个握手就很麻烦了,麻烦在哪里呢?都知道三次握手,四次断开。真要实现起来,还是挺费劲的,涉及到ACK,SYN,PSH,FIN,RST,主要是这五个标志,而且跟本地主机状态有关,每次响应要判断到底是那一状态下的包。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。