lwip 中tcp能与内网通信,但不能和外网通信的解决方法
来源:互联网 发布:漱口水 酒精 知乎 编辑:程序博客网 时间:2024/06/11 08:30
引言
笔者之前在做lwip TCP内网通信的时候,比较顺利。但最近要访问到外网(阿里云香港)的服务器的时候,TCP一直连接不上,在经过了检查程序是否有BUG,lwip协议栈是否有问题,ip地址问题,但都没有发现问题后,笔者开始怀疑设置的MAC地址是否会有问题。
MAC地址
在网上查阅了相关资料,发现了MAC地址是有相应的规范的,如下图所示:
MAC地址中,前24位为组织唯一标识符,后24位由厂家自行定义。也就是说前24位是有规定的,其中48位MAC中的前几位也是有着对应的含义的。MAC地址详细的介绍,大家可以在网上搜得到。
在这里笔者就怀疑可能是外网中某个节点,把我的包过滤了,因为之前笔者的MAC地址是随便写的,可能不符合规范。
解决办法
在发现有可能是我的MAC地址不合法后,我就直接使用我电脑的MAC地址做测试,因为我电脑的网卡是正规厂商生产的,MAC地址是符合规范的。
在电脑中的cmd中敲入ipconfig/all,可以查看得到电脑的MAC地址,我的地址如下图所示。
将我电脑中MAC地址的前24位作为开发板的MAC地址的前24位,即0x309C23,后24位我随便填,为0x564F12,再次和外网服务器进行TCP通信,就连接上了。
结语
最后在这里,验证了确实是我开发板MAC地址设置的问题,影响到了数据包在外网的传输,笔者在这里怀疑可能是外网某个节点做了过滤,将非法的mac地址的数据包给过滤了,也有可能是其他不明原因。
阅读全文
2 0
- lwip 中tcp能与内网通信,但不能和外网通信的解决方法
- 模拟的QQ可以在内网通信,为什么不能在外网通信,这需要NAT穿透内网与外网通信
- 内网和外网通信
- 不同内网通信
- NAT穿透内网通信
- 使用rdo配置answer.ini网桥,实现创建能与外网通信的网络
- 局域网与外网通信原理
- RAC 环境中 gc block lost 和私网通信性能问题的诊断
- RAC 环境中 gc block lost 和私网通信性能问题的诊断
- 谈谈对专网通信的理解
- Linux系统主机和虚拟机的外网通信、网络管理
- 配置内外网通信(虚拟机内网)
- 网通能看电影 不能上网
- 内网与外网通讯 socket
- 内网和外网通俗解释
- RAC 环境中 gc block lost 和私网通信性能问题的诊断 (文档 ID 1674865.1)
- RAC 环境中 gc block lost 和私网通信性能问题的诊断 (文档 ID 1674865.1)
- 基于Z301P摄像头 H.264OK6410的远程视频web监控 项目笔记3(与外网通信)
- RFC6902—JSON PATCH
- Android_对话框
- JavaWeb之servlet入门1
- 流畅的Python
- HRBUST
- lwip 中tcp能与内网通信,但不能和外网通信的解决方法
- 《剑指offer》字符流中第一个不重复的字符
- HDU5938+贪心+(2016年中国大学生程序设计竞赛(杭州))
- Edge(待定)
- mongo driver类加载导致的错误
- Emmagee app性能测试工具使用教程(转)
- 秒拍社招面经
- 利用IO流对文件进行分割和无损还原合并
- [Baltic2004]BZOJ 3916 friends