【发布时间】:2012-05-19 17:10:12
【问题描述】:
我一直在使用 C 语言中的原始伯克利套接字,它允许程序员访问 Internet 协议套件的第 2 层(IP 标头)。我想知道原始套接字如何处理第 1 层(链路层)上的传输,特别是关于无线局域网。
例如,套接字如何知道将数据包发送到哪个网络接口(eth0 或 wlan0)?
如果我在无线路由器后面,是否仍应使用我的 LAN 地址 (192.168.1.1) 或路由器的互联网地址 (74.125.226.68) 填写我的 IP 标头的 IP 源地址?
如果我用我的 LAN 地址 (192.168.1.1) 填充 IP 源地址,IP 标头在通过路由器时是否会更改,还是保持不变,以便数据包的接收端尝试将响应发送到其网络上的本地主机?
我将不胜感激这方面的任何见解。
【问题讨论】:
标签: c raw-sockets