我一直在使用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