我一直在使用C中的Raw Berkeley套接字,它允许程序员访问Internet协议套件的第2层(IP标头)。我想知道原始套接字如何处理第1层(链路层)上的传输,特别是无线局域网。原始套接字 - 网际协议层
例如,套接字如何知道将数据包发送到哪个网络接口(eth0或wlan0)?
如果我在无线路由器后面,我还应该使用我的LAN地址(192.168.1.1)还是我的路由器的Internet地址(74.125.226.68)来填充IP头的IP源地址?
如果我用我的局域网地址(192.168.1.1)来填充IP源地址,那么当IP头经过路由器时会发生变化,还是保持这种状态,以便数据包的接收端尝试将响应发送到其网络上的本地主机?
我将不胜感激这方面的任何见解。
谢谢澄清,nyi。 – Kokopelli