本人做了一块电路板,MCU控制网卡芯片,软件做了ARP、IP、UDP协议和网卡芯片的驱动程序,在公司的局域网内能够通信(向网内任何一台PC发送ARP请求包都能够收到正确的ARP应答包),但是不能实现局域网外的其它互联网设备通信,好像路由器根本没有转发我的数据包,请问有经验的朋友:这可能是什么原因?谢谢! 我在发送ARP请求包时,目的IP地址、源IP地址和子网掩码进行运算(dest_ipaddr^source_ipaddr)&subnet_mark),如果结果是0则说明两个设备在同一个网上,那么就把目的物理地址设置为广播地址并发送出去;如果计算结果不是0,则说明两个设备不在同一个网上,那么把目的物理地址设置为路由器物理地址并把数据包发送出去。这样做有没有问题?
|